Re: [PATCH V8 0/2] printk: hash addresses printed with %p

From: Sergey Senozhatsky
Date: Thu Nov 02 2017 - 04:23:57 EST


On (11/01/17 10:35), Tobin C. Harding wrote:
[..]
> Yes. The question has been raised will we be here again in 6 years time
> trying to fix all the uses of %x. And there are already 29K uses of
> %[xX] in tree, which of these are leaking addresses? This is why Linus'
> has commented that really effort should be directed at finding the leaks
> as they happen (in procfs, sysfs, dmesg) instead of fixing this in
> the code.

got it. thanks.

> So far I haven't been able to come up with any meaningful way
> to do this on 32 bit machines. There is a patch adding a script to catch
> leaks on 64 bit machines in flight.

who is expected to run that script?

BTW, can BPF/eBPF printk addresses?

> This patch needs to be a small part of a continued effort to stop the
> leaks if we want to have any hope of stopping them.
>
> If you have any suggestions on dealing with %x please do say. We have
> code changes, compiler warnings, and checkpatch - none of which
> immediately seem great.

hm... just a huge pile of if's

if (is_vmalloc_addr(addr))
do_hashing(addr);
else if (__module_address(addr))
do_hashing(addr);
else if (is_kernel(addr) || is_kernel_inittext(addr))
...

but that's going to be really messy and "iffy".

-ss