On (21/01/19 01:47), Matthew Wilcox wrote: [..] > > > So maybe DUMP_PREFIX_UNHASHED can do the unhashed dump only when > > CONFIG_DEBUG_KERNEL=y and fallback to DUMP_PREFIX_ADDRESS otherwise? > > Distros enable CONFIG_DEBUG_KERNEL. Oh, I see. > If you want to add CONFIG_DEBUG_LEAK_ADDRESSES, then that's great, > and you won't even have to change users, you can just change how %p > behaves. I like the name. config dependent behaviour of %p wouldn't be new, well, to some extent, e.g. XFS does something similar (see below). I don't think Linus will be sold on this, however. fs/xfs/xfs_linux.h: /* * Starting in Linux 4.15, the %p (raw pointer value) printk modifier * prints a hashed version of the pointer to avoid leaking kernel * pointers into dmesg. If we're trying to debug the kernel we want the * raw values, so override this behavior as best we can. */ #ifdef DEBUG # define PTR_FMT "%px" #else # define PTR_FMT "%p" #endif And then they just use it as xfs_alert(mp, "%s: bad inode magic number, dip = "ptr_fmt", dino bp = "ptr_fmt", ino = %ld", __func__, dip, bp, in_f->ilf_ino); -ss