Hi Kees, Daniel, On Mon, Jun 19, 2017 at 10:26 PM, Kees Cook <keesc...@chromium.org> wrote: > From: Daniel Micay <danielmi...@gmail.com> > > 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/20170526095404.20439-1-danielmi...@gmail.com > Signed-off-by: Daniel Micay <danielmi...@gmail.com> > Acked-by: Kees Cook <keesc...@chromium.org> > Cc: Mark Rutland <mark.rutl...@arm.com> > Cc: Daniel Axtens <d...@axtens.net> > Cc: Rasmus Villemoes <li...@rasmusvillemoes.dk> > Cc: Andy Shevchenko <andriy.shevche...@linux.intel.com> > Cc: Chris Metcalf <cmetc...@ezchip.com> > Cc: Thomas Gleixner <t...@linutronix.de> > Cc: "H. Peter Anvin" <h...@zytor.com> > Cc: Ingo Molnar <mi...@elte.hu> > Signed-off-by: Andrew Morton <a...@linux-foundation.org> > [kees: move from -mm, add ARCH_HAS_FORTIFY_SOURCE, tweak Kconfig help] > Signed-off-by: Kees Cook <keesc...@chromium.org> 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 -- ge...@linux-m68k.org 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