Subject: Re: [PATCH] seccomp, s390: fix build for syscall type change

From: Heiko Carstens <[email-masked]>
Date: Mon, 17 Dec 2018 13:41:54 +0100

On Thu, Dec 13, 2018 at 04:50:06PM -0800, Kees Cook wrote:
> On Thu, Dec 13, 2018 at 12:10 PM Tycho Andersen <[email-masked]> wrote:
> >
> > A recent patch landed in the security tree [1] that changed the type of the
> > seccomp syscall. Unfortunately, I didn't quite get every instance of the
> > forward declarations, and thus there is a build failure. Here's the last
> > one that I could find, for s390. It should go through the security tree,
> > although hopefully some s390 people can check and make sure it looks
> > reasonable?
> >
> > The only oddity is the trailing semicolon; some lines around this patch
> > have it, and some lines don't. I've left this one as-is.
> >
> > [1]: https://lore.kernel.org/lkml/20181212231630.GA31584@beast/T/#u
> >
> > Signed-off-by: Tycho Andersen <[email-masked]>
> 
> Thanks! Added to my -next tree.
> 
> -Kees

Hi Kees,

did you forget to push your tree? At least today's linux-next kernel
fails to compile on s390 because of this missing patch.

> >  arch/s390/kernel/compat_wrapper.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/s390/kernel/compat_wrapper.c b/arch/s390/kernel/compat_wrapper.c
> > index 2ce28bf0c5ec..48c4ce668244 100644
> > --- a/arch/s390/kernel/compat_wrapper.c
> > +++ b/arch/s390/kernel/compat_wrapper.c
> > @@ -164,7 +164,7 @@ COMPAT_SYSCALL_WRAP3(finit_module, int, fd, const char __user *, uargs, int, fla
> >  COMPAT_SYSCALL_WRAP3(sched_setattr, pid_t, pid, struct sched_attr __user *, attr, unsigned int, flags);
> >  COMPAT_SYSCALL_WRAP4(sched_getattr, pid_t, pid, struct sched_attr __user *, attr, unsigned int, size, unsigned int, flags);
> >  COMPAT_SYSCALL_WRAP5(renameat2, int, olddfd, const char __user *, oldname, int, newdfd, const char __user *, newname, unsigned int, flags);
> > -COMPAT_SYSCALL_WRAP3(seccomp, unsigned int, op, unsigned int, flags, const char __user *, uargs)
> > +COMPAT_SYSCALL_WRAP3(seccomp, unsigned int, op, unsigned int, flags, void __user *, uargs)
> >  COMPAT_SYSCALL_WRAP3(getrandom, char __user *, buf, size_t, count, unsigned int, flags)
> >  COMPAT_SYSCALL_WRAP2(memfd_create, const char __user *, uname, unsigned int, flags)
> >  COMPAT_SYSCALL_WRAP3(bpf, int, cmd, union bpf_attr *, attr, unsigned int, size);