Hi Kees, Daniel, On Mon, Jun 19, 2017 at 10:26 PM, Kees Cook <[email protected]> wrote: > From: Daniel Micay <[email protected]> > > This adds support for compiling with a rough equivalent to the glibc > _FORTIFY_SOURCE=1 feature, providing compile-time and runtime buffer > overflow checks for string.h functions when the compiler determines the > size of the source or destination buffer at compile-time. Unlike glibc, > it covers buffer reads in addition to writes.
[...] > Link: http://lkml.kernel.org/r/[email protected] > Signed-off-by: Daniel Micay <[email protected]> > Acked-by: Kees Cook <[email protected]> > Cc: Mark Rutland <[email protected]> > Cc: Daniel Axtens <[email protected]> > Cc: Rasmus Villemoes <[email protected]> > Cc: Andy Shevchenko <[email protected]> > Cc: Chris Metcalf <[email protected]> > Cc: Thomas Gleixner <[email protected]> > Cc: "H. Peter Anvin" <[email protected]> > Cc: Ingo Molnar <[email protected]> > Signed-off-by: Andrew Morton <[email protected]> > [kees: move from -mm, add ARCH_HAS_FORTIFY_SOURCE, tweak Kconfig help] > Signed-off-by: Kees Cook <[email protected]> This is now commit 6974f0c4555e285a upstream. > --- a/include/linux/string.h > +++ b/include/linux/string.h > @@ -187,4 +187,204 @@ static inline const char *kbasename(const char *path) > return tail ? tail + 1 : path; > } > > +#define __FORTIFY_INLINE extern __always_inline __attribute__((gnu_inline)) With gcc-4.1.2, I now get zillions of: include/linux/string.h:439: warning: ‘gnu_inline’ attribute directive ignored This attribute seems to be supported as of gcc 4.2? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds

