• Stephen Boyd's avatar
    vsprintf: fix %ps on non symbols when using kallsyms · 4796dd20
    Stephen Boyd authored
    Using %ps in a printk format will sometimes fail silently and print the
    empty string if the address passed in does not match a symbol that
    kallsyms knows about.  But using %pS will fall back to printing the full
    address if kallsyms can't find the symbol.  Make %ps act the same as %pS
    by falling back to printing the address.
    
    While we're here also make %ps print the module that a symbol comes from
    so that it matches what %pS already does.  Take this simple function for
    example (in a module):
    
    	static void test_printk(void)
    	{
    		int test;
    		pr_info("with pS: %pS\n", &test);
    		pr_info("with ps: %ps\n", &test);
    	}
    
    Before this patch:
    
     with pS: 0xdff7df44
     with ps:
    
    After this patch:
    
     with pS: 0xdff7df44
     with ps: 0xdff7df44
    Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    4796dd20
vsprintf.c 47.7 KB