On 10/02/2017 05:49 AM, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > The patch below does not apply to the 4.4-stable tree. > If someone wants it applied there, or to any other stable or longterm > tree, then please email the backport, including the original git commit > id to <stable@xxxxxxxxxxxxxxx>. > > thanks, > > greg k-h Hi Kees, Could you please send a patch for 4.4 stable if this fix is applicable > > ------------------ original commit in Linus's tree ------------------ > >>From 10859f3855db4c6f10dc7974ff4b3a292f3de8e0 Mon Sep 17 00:00:00 2001 > From: Kees Cook <keescook@xxxxxxxxxxxx> > Date: Thu, 7 Sep 2017 16:32:46 -0700 > Subject: [PATCH] selftests/seccomp: Support glibc 2.26 siginfo_t.h > > The 2.26 release of glibc changed how siginfo_t is defined, and the earlier > work-around to using the kernel definition are no longer needed. The old > way needs to stay around for a while, though. > > Reported-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> > Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> > Cc: Will Drewry <wad@xxxxxxxxxxxx> > Cc: Shuah Khan <shuah@xxxxxxxxxx> > Cc: linux-kselftest@xxxxxxxxxxxxxxx > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > Tested-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> > Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> > > diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c > index 4d6f92a9df6b..19cd272c234d 100644 > --- a/tools/testing/selftests/seccomp/seccomp_bpf.c > +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c > @@ -6,10 +6,18 @@ > */ > > #include <sys/types.h> > -#include <asm/siginfo.h> > -#define __have_siginfo_t 1 > -#define __have_sigval_t 1 > -#define __have_sigevent_t 1 > + > +/* > + * glibc 2.26 and later have SIGSYS in siginfo_t. Before that, > + * we need to use the kernel's siginfo.h file and trick glibc > + * into accepting it. > + */ > +#if !__GLIBC_PREREQ(2, 26) > +# include <asm/siginfo.h> > +# define __have_siginfo_t 1 > +# define __have_sigval_t 1 > +# define __have_sigevent_t 1 > +#endif > > #include <errno.h> > #include <linux/filter.h> > @@ -676,7 +684,7 @@ TEST_F_SIGNAL(TRAP, ign, SIGSYS) > syscall(__NR_getpid); > } > > -static struct siginfo TRAP_info; > +static siginfo_t TRAP_info; > static volatile int TRAP_nr; > static void TRAP_action(int nr, siginfo_t *info, void *void_context) > { > thanks, -- Shuah