Messages in this thread | | | Subject | Re: [PATCH v8 4/4] vsprintf: Add command line option debug_boot_weak_hash | From | Randy Dunlap <> | Date | Wed, 20 Jun 2018 16:38:05 -0700 |
| |
On 06/20/2018 04:22 PM, Tobin C. Harding wrote: > On Wed, Jun 20, 2018 at 03:36:44PM -0700, Randy Dunlap wrote: >> On 06/20/2018 03:30 PM, Tobin C. Harding wrote: >>> On Wed, Jun 20, 2018 at 09:09:49AM -0700, Randy Dunlap wrote: >>>> On 06/19/2018 09:20 PM, Tobin C. Harding wrote: >>>>> Currently printing [hashed] pointers requires enough entropy to be >>>>> available. Early in the boot sequence this may not be the case >>>>> resulting in a dummy string '(____ptrval____)' being printed. This >>>>> makes debugging the early boot sequence difficult. We can relax the >>>>> requirement to use cryptographically secure hashing during debugging. >>>>> This enables debugging while keeping development/production kernel >>>>> behaviour the same. >>>>> >>>>> If new command line option debug_boot_weak_hash is enabled use >>>>> cryptographically insecure hashing and hash pointer value immediately. >>>>> >>>>> Signed-off-by: Tobin C. Harding <me@tobin.cc> >>>>> Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org> >>>>> --- >>>>> Documentation/admin-guide/kernel-parameters.txt | 9 +++++++++ >>>>> lib/vsprintf.c | 17 +++++++++++++++++ >>>>> 2 files changed, 26 insertions(+) >>>>> >>>>> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt >>>>> index 638342d0a095..a116fc0366b0 100644 >>>>> --- a/Documentation/admin-guide/kernel-parameters.txt >>>>> +++ b/Documentation/admin-guide/kernel-parameters.txt >>>>> @@ -748,6 +748,15 @@ >>>>> >>>>> debug [KNL] Enable kernel debugging (events log level). >>>>> >>>>> + debug_boot_weak_hash >>>>> + [KNL] Enable printing pointers early in the boot >>>>> + sequence. If enabled, we use a weak hash instead of >>>>> + siphash to hash pointers. Use this option if you need >>>>> + to see pointer values during early boot (i.e you are >>>> >>>> maybe: >>>> to see hashed pointer values >>>> i.e., not raw pointers. >>> >>> You cannot see 'raw pointers' anyways? >> >> only if using %px ? >> >> Maybe it's just terminology. I don't consider a hashed value as a pointer value. >> It's just a key or handle or some other number, but it's not a pointer. >> >>>> >>>>> + seeing instances of '(___ptrval___)'). >>>>> + Cryptographically insecure, please do not use on >>>>> + production kernels. >>> >>> thanks for the review, I don't quiet see how to use your suggestion to >>> make the text clearer. If you still feel this change is needed perhaps >>> you could write so I understand i.e 'Use this option if ...' >> >> >> OK, if you are good with it, I am too. :) > > I get you know. I agree, how about this > > [KNL] Enable printing pointers early in the boot > sequence. If enabled, we use a weak hash instead of > siphash to hash pointers. Use this option if you need > to print pointers with %px during early boot > (i.e you are seeing instances of '(___ptrval___)'). > Cryptographically insecure, please do not use on > production kernels.
Sorry, I'm still confused by this paragraph. It seems to say two different things.
(a) If [this option] is enabled, we use a weak hash instead of siphash. (b) Use this option to print pointers with %px [during early boot].
Maybe they aren't contradictory? Is (b) in effect until there is enough entropy, then (a) takes over?
and nit: s/i.e/i.e./
thanks, -- ~Randy
| |