• Petr Mladek's avatar
    vsprintf: Consolidate handling of unknown pointer specifiers · 0b74d4d7
    Petr Mladek authored
    There are few printk formats that make sense only with two or more
    specifiers. Also some specifiers make sense only when a kernel feature
    is enabled.
    
    The handling of unknown specifiers is inconsistent and not helpful.
    Using WARN() looks like an overkill for this type of error. pr_warn()
    is not good either. It would by handled via printk_safe buffer and
    it might be hard to match it with the problematic string.
    
    A reasonable compromise seems to be writing the unknown format specifier
    into the original string with a question mark, for example (%pC?).
    It should be self-explaining enough. Note that it is in brackets
    to follow the (null) style.
    
    Note that it introduces a warning about that test_hashed() function
    is unused. It is going to be used again by a later patch.
    
    Link: http://lkml.kernel.org/r/20190417115350.20479-8-pmladek@suse.com
    To: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: "Tobin C . Harding" <me@tobin.cc>
    Cc: Joe Perches <joe@perches.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
    Cc: linux-kernel@vger.kernel.org
    Reviewed-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
    Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
    0b74d4d7
vsprintf.c 77.6 KB