Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1403748ybt; Sat, 11 Jul 2020 09:03:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyiP1WbdZwFxMO9rxhw0vsJZhOUCYD4AB0IGHnSoBTe+LIOgWrTu2eGeDmRXpRjq5Qs9A2I X-Received: by 2002:a50:ee84:: with SMTP id f4mr80612569edr.183.1594483436222; Sat, 11 Jul 2020 09:03:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594483436; cv=none; d=google.com; s=arc-20160816; b=eZUpRwh2RH9rq1gKnBrweHiqt97hIDrPIUaabGAreML/bxTbdq7zW/hsP/meEqT2qn sG7GH9CpgTLG/XRXIO8Y5VfCqL5LXxlAu2xx3vTi0bJVX4CBfs1KqKtkgR58bjZNashN P/0iLAEXbpr0JiYToDudR73XjHTeGY6sAZt9oTS0OBD2Y2Tg1azv2ZXpEfJeve4jEamj RSqPiqsP+kzT2RPUG2EGtxeCrOyDYlOj7uWLGbcSF/87ZB02959CJt6Tfrnr/hsL5UQz 61RS9ZPFAZnwP6cvZ5I4gVWNAYCdRzajJAX4VpDMobrGP6as1dA7ShgriuHb8UQ6+3ln oDkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=qOpcJ0ZRhPzYxmZHwg7bCYgw4K2Ub3LoH+LzPps6Zho=; b=vGjQ4xlOW6KCsvQggKV5E1Tcompfj/g06LVs8Q+YqYIhuQsiNicxdrAyaH7Ok8houL +Cc83qPH8dx5pKu9tHMd7to3aJfCDblAGu81UQHyh7VyUHJqNp0/INOmTWI0JnXhcS7Y UXuwCPkM0clRmqG98n0WXSo4/5MHn/BEo0w2JQ5uongJbK6BnWxRaMkI4fHne6pJYPr/ a4O4RsEWlYwpSwhIMUGhuVddb4GDcOueR1amvVztxt/hGjzXjpa9I4Qv8qimioi1VfPR lWilSQjwOMwPSRx4sLSsEQLXM1o8G5iMU8JNSHokfNwgnV5zDi7T9h7hZ4Wb01Hrxy5x x4Rg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bo4si6127101ejb.279.2020.07.11.09.03.32; Sat, 11 Jul 2020 09:03:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728510AbgGKQB1 (ORCPT + 99 others); Sat, 11 Jul 2020 12:01:27 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:54020 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728412AbgGKQB1 (ORCPT ); Sat, 11 Jul 2020 12:01:27 -0400 Received: from ip5f5af08c.dynamic.kabel-deutschland.de ([95.90.240.140] helo=wittgenstein) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1juHwK-00005T-1N; Sat, 11 Jul 2020 16:01:24 +0000 Date: Sat, 11 Jul 2020 18:01:23 +0200 From: Christian Brauner To: Kees Cook Cc: Will Deacon , Tycho Andersen , Shuah Khan , Andy Lutomirski , Will Drewry , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH for-next/seccomp v2 1/2] selftests/seccomp: Add SKIPs for failed unshare() Message-ID: <20200711160123.eqqrkiz6olc4ofly@wittgenstein> References: <20200710230107.2528890-1-keescook@chromium.org> <20200710230107.2528890-2-keescook@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20200710230107.2528890-2-keescook@chromium.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 10, 2020 at 04:01:06PM -0700, Kees Cook wrote: > Running the seccomp tests as a regular user shouldn't just fail tests > that require CAP_SYS_ADMIN (for getting a PID namespace). Instead, > detect those cases and SKIP them. Additionally, gracefully SKIP missing > CONFIG_USER_NS (and add to "config" since we'd prefer to actually test > this case). > > Signed-off-by: Kees Cook > --- Just a comment, otherwise: Acked-by: Christian Brauner > tools/testing/selftests/seccomp/config | 1 + > tools/testing/selftests/seccomp/seccomp_bpf.c | 10 ++++++++-- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/seccomp/config b/tools/testing/selftests/seccomp/config > index db1e11b08c8a..64c19d8eba79 100644 > --- a/tools/testing/selftests/seccomp/config > +++ b/tools/testing/selftests/seccomp/config > @@ -1,2 +1,3 @@ > CONFIG_SECCOMP=y > CONFIG_SECCOMP_FILTER=y > +CONFIG_USER_NS=y > diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c > index c0aa46ce14f6..14b038361549 100644 > --- a/tools/testing/selftests/seccomp/seccomp_bpf.c > +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c > @@ -3439,7 +3439,10 @@ TEST(user_notification_child_pid_ns) > struct seccomp_notif req = {}; > struct seccomp_notif_resp resp = {}; > > - ASSERT_EQ(unshare(CLONE_NEWUSER | CLONE_NEWPID), 0); > + ASSERT_EQ(unshare(CLONE_NEWUSER | CLONE_NEWPID), 0) { > + if (errno == EINVAL) > + SKIP(return, "kernel missing CLONE_NEWUSER support"); That would be either CLONE_NEWUSER or CLONE_NEWPID, right? :) Maybe just do: "kernel misses necessary namespace support" > + }; > > listener = user_trap_syscall(__NR_getppid, > SECCOMP_FILTER_FLAG_NEW_LISTENER); > @@ -3504,7 +3507,10 @@ TEST(user_notification_sibling_pid_ns) > } > > /* Create the sibling ns, and sibling in it. */ > - ASSERT_EQ(unshare(CLONE_NEWPID), 0); > + ASSERT_EQ(unshare(CLONE_NEWPID), 0) { > + if (errno == EPERM) > + SKIP(return, "CLONE_NEWPID requires CAP_SYS_ADMIN"); > + } > ASSERT_EQ(errno, 0); > > pid2 = fork(); > -- > 2.25.1 >