[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201912301402.DAA6ED9A0@keescook>
Date: Mon, 30 Dec 2019 14:02:45 -0800
From: Kees Cook <keescook@...omium.org>
To: Sargun Dhillon <sargun@...gun.me>
Cc: LKML <linux-kernel@...r.kernel.org>,
Christian Brauner <christian.brauner@...ntu.com>,
Aleksa Sarai <cyphar@...har.com>,
Tycho Andersen <tycho@...ho.ws>
Subject: Re: [PATCH] selftests/seccomp: Test kernel catches garbage on
SECCOMP_IOCTL_NOTIF_RECV
On Mon, Dec 30, 2019 at 12:38:11PM -0800, Sargun Dhillon wrote:
> This adds to the user_notification_basic to set a field of seccomp_notif
> to an invalid value to ensure that the kernel returns EINVAL if any of the
> seccomp_notif fields are set to invalid values.
>
> Signed-off-by: Sargun Dhillon <sargun@...gun.me>
> Suggested-by: Christian Brauner <christian.brauner@...ntu.com>
> Cc: Kees Cook <keescook@...omium.org>
Thanks! Applied. :)
-Kees
> ---
> tools/testing/selftests/seccomp/seccomp_bpf.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c
> index f53f14971bff..393578a78dbc 100644
> --- a/tools/testing/selftests/seccomp/seccomp_bpf.c
> +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c
> @@ -3158,6 +3158,13 @@ TEST(user_notification_basic)
> EXPECT_GT(poll(&pollfd, 1, -1), 0);
> EXPECT_EQ(pollfd.revents, POLLIN);
>
> + /* Test that we can't pass garbage to the kernel. */
> + memset(&req, 0, sizeof(req));
> + req.pid = -1;
> + EXPECT_EQ(-1, ioctl(listener, SECCOMP_IOCTL_NOTIF_RECV, &req));
> + EXPECT_EQ(EINVAL, errno);
> +
> + req.pid = 0;
> EXPECT_EQ(ioctl(listener, SECCOMP_IOCTL_NOTIF_RECV, &req), 0);
>
> pollfd.fd = listener;
> --
> 2.20.1
>
--
Kees Cook
Powered by blists - more mailing lists