lkml.org 
[lkml]   [2009]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH] Kbuild: Disable the -Wformat-security gcc flag
    From
    Hi!

    On Wed, Feb 4, 2009 at 5:28 PM, Floris Kraak <randakar@gmail.com> wrote:
    > 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
    > the
    > 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
    > individual
    > warning.
    >
    > See also:
    > http://kerneltrap.org/mailarchive/linux-kernel/2008/11/20/4215134
    >
    > *) The ubuntu manpage for gcc states:
    >
    >      -Wformat-security
    >          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
    > -Wformat-nonliteral.)
    >
    >          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 <randakar@gmail.com>
    > ---
    > 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
    >  KBUILD_AFLAGS   := -D__ASSEMBLY__
    >
    >  # Read KERNELRELEASE from include/config/kernel.release (if it exists)

    Is there a reason this patch was not merged? Yes, it's clearly a
    distro problem but apparently there's no easy way to turn it off.

    Pekka
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-05-15 12:25    [W:3.907 / U:0.604 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site