Messages in this thread | | | Date | Thu, 21 Jun 2018 13:15:05 +1000 | From | "Tobin C. Harding" <> | Subject | Re: [PATCH v8 4/4] vsprintf: Add command line option debug_boot_weak_hash |
| |
On Wed, Jun 20, 2018 at 04:38:05PM -0700, Randy Dunlap wrote: > 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.
My bad, I got totally confused myself. After all this time you would think I knew which specifier hashed and which didn't. My apologies, how about this:
[KNL] Enable printing [hashed] pointers early in the boot sequence. If enabled, we use a weak hash instead of siphash to hash pointers. Use this option if you are seeing instances of '(___ptrval___)') and need to see a value (hashed pointer) instead. Cryptographically insecure, please do not use on production kernels.
thanks for your patience, Tobin.
| |