diff options
author | Rasmus Villemoes <linux@rasmusvillemoes.dk> | 2015-11-06 19:30:29 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-06 20:50:42 -0500 |
commit | 707cc7280f452a162c52bc240eae62568b9753c2 (patch) | |
tree | d0d32718d956868c4111a1926ca6067d14e2e51f /lib/Kconfig.debug | |
parent | 80c9eb46fa7236c1236ec695bfa2403c10cb8645 (diff) |
test_printf: test printf family at runtime
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: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Kees 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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r-- | lib/Kconfig.debug | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 1d1521c26302..16bf3bc25e3e 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -1686,6 +1686,9 @@ config TEST_STRING_HELPERS | |||
1686 | config TEST_KSTRTOX | 1686 | config TEST_KSTRTOX |
1687 | tristate "Test kstrto*() family of functions at runtime" | 1687 | tristate "Test kstrto*() family of functions at runtime" |
1688 | 1688 | ||
1689 | config TEST_PRINTF | ||
1690 | tristate "Test printf() family of functions at runtime" | ||
1691 | |||
1689 | config TEST_RHASHTABLE | 1692 | config TEST_RHASHTABLE |
1690 | tristate "Perform selftest on resizable hash table" | 1693 | tristate "Perform selftest on resizable hash table" |
1691 | default n | 1694 | default n |