On Fri, 20 Nov 2020 11:44:12 -0500 Alan Stern <[email protected]> wrote:
> To the VSPRINTF maintainers: > > Documentation/core-api/printk-formats.rst lists a large number of format > specifiers for pointers of various sorts. Yet as far as I can see, > there is no specifier meant for use with __user pointers. > > The security implications of printing the true, unmangled value of a > __user pointer are minimal, since doing so does not leak any kernel > information. So %px would work, but tools like checkpatch.pl don't like > it. > > Should a new specifier be added? If not, should we simply use %px? There's currently no user of '%pu' (although there is a '%pus'. Perhaps we should have a '%pux'? I would even state that if it is used, that if makes sure that the value is indeed a user space pointer (goes through the same checks as accessing user space), before its printed, otherwise it shows "(fault)" or something. -- Steve

