• Rasmus Villemoes's avatar
    test_printf: test printf family at runtime · 707cc728
    Rasmus Villemoes authored
    This adds a simple module for testing the kernel's printf facilities.
    Previously, some %p extensions have caused a wrong return value in case
    the entire output didn't fit and/or been unusable in kasprintf().  This
    should help catch such issues.  Also, it should help ensure that changes
    to the formatting algorithms don't break anything.
    
    I'm not sure if we have a struct dentry or struct file lying around at
    boot time or if we can fake one, but most %p extensions should be
    testable, as should the ordinary number and string formatting.
    
    The nature of vararg functions means we can't use a more conventional
    table-driven approach.
    
    For now, this is mostly a skeleton; contributions are very
    welcome. Some tests are/will be slightly annoying to write, since the
    expected output depends on stuff like CONFIG_*, sizeof(long), runtime
    values etc.
    Signed-off-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Martin Kletzander <mkletzan@redhat.com>
    Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    707cc728
test_printf.c 7.97 KB