linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/6] some compile- and run-time format checking
@ 2017-11-08 22:30 Rasmus Villemoes
  2017-11-08 22:30 ` [RFC 1/6] plugins: implement format_template attribute Rasmus Villemoes
                   ` (7 more replies)
  0 siblings, 8 replies; 31+ messages in thread
From: Rasmus Villemoes @ 2017-11-08 22:30 UTC (permalink / raw)
  To: kernel-hardening; +Cc: linux-kernel, Andrew Morton, Kees Cook, Rasmus Villemoes

Consider these strictly RFC/POC.

I tried resurrecting my format_template plugin from two years ago, and
it rebased pretty cleanly. It also compiles with gcc 6.3, and has the
expected effect when one tries to trigger it, so it seems to work ok
(I think there was some build bot issue back then, maybe there still
is).

The last four patches are something I threw together rather quickly.
They compile and the few test cases pass, but I obviously need to find
some places to actually use fmtcheck() to see if it's worth adding.

Rasmus Villemoes (6):
  plugins: implement format_template attribute
  compiler.h: add __format_template
  compiler.h: add __attribute__((format_arg)) shorthand
  lib/vsprintf.c: add fmtcheck utility
  kernel.h: implement fmtmatch() wrapper around fmtcheck()
  lib/test_printf.c: add a few fmtcheck() test cases

 arch/Kconfig                                 |  18 ++
 drivers/hwmon/applesmc.c                     |   2 +-
 drivers/staging/speakup/spk_types.h          |   2 +-
 include/linux/compiler-gcc.h                 |   1 +
 include/linux/compiler.h                     |  10 +
 include/linux/kernel.h                       |  13 ++
 include/linux/smpboot.h                      |   2 +-
 include/linux/usb.h                          |   2 +-
 lib/test_printf.c                            |  41 ++++
 lib/vsprintf.c                               |  63 +++++
 scripts/Makefile.gcc-plugins                 |   2 +
 scripts/gcc-plugins/format_template_plugin.c | 331 +++++++++++++++++++++++++++
 12 files changed, 483 insertions(+), 4 deletions(-)
 create mode 100644 scripts/gcc-plugins/format_template_plugin.c

-- 
2.11.0

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2019-01-09 10:57 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-08 22:30 [RFC 0/6] some compile- and run-time format checking Rasmus Villemoes
2017-11-08 22:30 ` [RFC 1/6] plugins: implement format_template attribute Rasmus Villemoes
2017-11-08 22:30 ` [RFC 2/6] compiler.h: add __format_template Rasmus Villemoes
2017-11-08 22:30 ` [RFC 3/6] compiler.h: add __attribute__((format_arg)) shorthand Rasmus Villemoes
2017-11-08 22:30 ` [RFC 4/6] lib/vsprintf.c: add fmtcheck utility Rasmus Villemoes
2017-11-09  1:08   ` Kees Cook
2017-11-08 22:30 ` [RFC 5/6] kernel.h: implement fmtmatch() wrapper around fmtcheck() Rasmus Villemoes
2017-11-08 22:30 ` [RFC 6/6] lib/test_printf.c: add a few fmtcheck() test cases Rasmus Villemoes
2017-11-09  1:11 ` [RFC 0/6] some compile- and run-time format checking Kees Cook
2017-11-09 14:08   ` Rasmus Villemoes
2018-10-26 23:24 ` [RFC PATCH 0/7] runtime format string checking Rasmus Villemoes
2018-10-26 23:24   ` [RFC PATCH 1/7] compiler_attributes.h: add __attribute__((format_arg)) shorthand Rasmus Villemoes
2018-10-27 12:06     ` Miguel Ojeda
2018-10-29 10:20       ` Rasmus Villemoes
2018-10-29 19:17         ` Miguel Ojeda
2018-11-02 10:36       ` Miguel Ojeda
2018-11-02 10:43         ` Rasmus Villemoes
2019-01-09 10:57           ` Miguel Ojeda
2018-10-26 23:24   ` [RFC PATCH 2/7] lib/vsprintf.c: add fmtcheck utility Rasmus Villemoes
2018-10-26 23:24   ` [RFC PATCH 3/7] kernel.h: implement fmtmatch() wrapper around fmtcheck() Rasmus Villemoes
2018-10-26 23:24   ` [RFC PATCH 4/7] lib/test_printf.c: add a few fmtcheck() test cases Rasmus Villemoes
2018-10-26 23:24   ` [RFC PATCH 5/7] kernel/kthread.c: do runtime check of format string in kthread_create_on_cpu() Rasmus Villemoes
2018-10-26 23:24   ` [RFC PATCH 6/7] nfs: use fmtcheck() in root_nfs_data Rasmus Villemoes
2018-10-26 23:24   ` [RFC PATCH 7/7] drivers: hwmon: add runtime format string checking Rasmus Villemoes
2018-10-27 17:44     ` Guenter Roeck
2018-10-30 20:58   ` [RFC PATCH 0/7] " Kees Cook
2018-11-01 22:06     ` Rasmus Villemoes
2018-11-01 22:57       ` Kees Cook
2018-11-02 20:09         ` Rasmus Villemoes
2018-11-02 20:46           ` Kees Cook
2018-11-05  9:33         ` Rasmus Villemoes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).