[lkml]   [2009]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH] Kbuild: Disable the -Wformat-security gcc flag
Some distributions have enabled the gcc flag -Wformat-security by default.*
This results in a number of warnings about format arguments to
functions, sometimes in cases where fixing the warning is not likely
to actually fix a bug.
Instead of hand patching a dozens of places (possibly more) that
produce warnings that get ignored anyway we just turn off the flag in
the Makefile.

Note: Regardless of any discussion surrounding the value of this
particular type of warning, having this show up in a few distributions
but not in the
vast majority of them means that this warning won't be seen by most of
the developers who introduce the new warnings in the first place. If
kernel decides it cares about format arguments it should do so
globally regardless of distribution. In which case I'd gladly whip up
a patch to do
the reverse thing and turn this thing on by default. However, such a
patch would have to produce a follow up patch(set) which fixes each

See also:

*) The ubuntu manpage for gcc states:

If -Wformat is specified, also warn about uses of format
functions that represent possible security problems. At present, this
warns about
calls to "printf" and "scanf" functions where the format
string is not a string literal and there are no format arguments, as
in "printf
(foo);". This may be a security hole if the format string
came from untrusted input and contains %n. (This is currently a
subset of what
-Wformat-nonliteral warns about, but in future warnings may
be added to -Wformat-security that are not included in

NOTE: In Ubuntu 8.10 and later versions this option is
enabled by default for C, C++, ObjC, ObjC++. To disable, use
-Wno-format-security, or
disable all format warnings with -Wformat=0. To make format
security warnings fatal, specify -Werror=format-security.

Signed-off-by: Floris Kraak <>
diff --git a/Makefile b/Makefile
index 7715b2c..9ee766c 100644
--- a/Makefile
+++ b/Makefile
@@ -346,7 +346,8 @@ KBUILD_CPPFLAGS := -D__KERNEL__

KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common \
- -Werror-implicit-function-declaration
+ -Werror-implicit-function-declaration \
+ -Wno-format-security

# Read KERNELRELEASE from include/config/kernel.release (if it exists)
"They that give up essential liberty to obtain temporary safety,
deserve neither liberty nor safety."
-- Ben Franklin
"The course of history shows that as a government grows, liberty
-- Thomas Jefferson

 \ /
  Last update: 2009-02-04 15:31    [W:0.135 / U:1.612 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site