Re: [PATCH] seccomp: add compat_ioctl for seccomp notify

From: Kees Cook
Date: Wed Mar 11 2020 - 16:06:38 EST


On Tue, Mar 10, 2020 at 01:33:32PM +0100, Sven Schnelle wrote:
> Hi,
>
> executing the seccomp_bpf testsuite with 32 bit userland (both s390 and x86)
> doesn't work because there's no compat_ioctl handler defined. Is that something
> that is supposed to work? Disclaimer: I don't know enough about seccomp to judge
> whether there would be some adjustments required in the compat ioctl handler.
> Just setting it to seccomp_notify_ioctl() makes the testsuite pass, but i'm not
> sure whether that's correct.
>
> Signed-off-by: Sven Schnelle <svens@xxxxxxxxxxxxx>

Whoops! Yes, running a mixed environment (64-bit kernel and 32-bit
userspace) shows this as broken. I'll tweak the commit log a bit and
apply it. Thanks!

-Kees

> ---
> kernel/seccomp.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/kernel/seccomp.c b/kernel/seccomp.c
> index b6ea3dcb57bf..683c81e4861e 100644
> --- a/kernel/seccomp.c
> +++ b/kernel/seccomp.c
> @@ -1221,6 +1221,7 @@ static const struct file_operations seccomp_notify_ops = {
> .poll = seccomp_notify_poll,
> .release = seccomp_notify_release,
> .unlocked_ioctl = seccomp_notify_ioctl,
> + .compat_ioctl = seccomp_notify_ioctl,
> };
>
> static struct file *init_listener(struct seccomp_filter *filter)
> --
> 2.17.1
>

--
Kees Cook