Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3824734pxj; Mon, 24 May 2021 16:07:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJybjreP5iu7E71raUu/lV2PPxk+OcDor44I0FkPrkeMyvroq0MerV7HyNMPpF7l1UKYf3d0 X-Received: by 2002:a50:d589:: with SMTP id v9mr29008737edi.126.1621897663635; Mon, 24 May 2021 16:07:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621897663; cv=none; d=google.com; s=arc-20160816; b=ffe8nYV3fV1HFGuQCEVz0q6reNk90bjJkqXP9yQ1xxk+nMvcjWxSpifYHPLvZ/zTYE JN+LqqlTqgxD5rc0fJ6M88526lMKt+KRYqi1CP0D5RIk0HyybLL+92ovu49kdDwWonbv vgA177krR3FJFs1kPselEXFovdHanLo2N2lGp8rTOj/U/NlCdJR1OetAVIWq+IQdFCes COqOZqlNRMn8LUOjPzMNBbaM0myRjYvJpVzt5P/k4HwVfmHXdSW/vA9fdb/9RNZl7nC2 DiH3GhEFjsBSKSrJ68hzaTRTE5d0+rrl2mfnA7wrtu2Ocf8DZkuB+PsTH7ETaujjWdFg E0Og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=uHnwU/8zVxK9/bfw4gLk9ClQH8SbH6WwTZFdoRwbAtE=; b=KPqWeT8C/sjdQDU5hxN+TCswzb+BHl0+zhpbV+HVE0onUCAAeQbRPk2PUmpPz/5x17 ObrFlJX+zz5QEIivwpqAklIv3dSqawo8nSPXiFTBfLNIb+VEj6a5w7wLPmj76KYJgj7Q uCCITRFptXKcrBJ+zvygx/PQcGa05aMRrQ0uhe9XxkiGa9ekXHqebJQ+Mm9MniEEmDnZ +GvNv+0EWcUgI2zc/iObhctSppDbo2mjMDDGQl4Iv6Mxh/7bjYe4waD0SIwHznIOcUyK vREA5S6Dn8DzDS2YiIPYwOchhHE887ZVK8lazmBdFTzcyr+KKqlOweGgvbX+Nbl5scQU kc4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@paul-moore-com.20150623.gappssmtp.com header.s=20150623 header.b=QQB024vh; 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 z25si13856535edq.31.2021.05.24.16.07.20; Mon, 24 May 2021 16:07:43 -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; dkim=pass header.i=@paul-moore-com.20150623.gappssmtp.com header.s=20150623 header.b=QQB024vh; 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 S229652AbhEXXFt (ORCPT + 99 others); Mon, 24 May 2021 19:05:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229540AbhEXXFt (ORCPT ); Mon, 24 May 2021 19:05:49 -0400 Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com [IPv6:2a00:1450:4864:20::632]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3FBA1C06138C for ; Mon, 24 May 2021 16:04:20 -0700 (PDT) Received: by mail-ej1-x632.google.com with SMTP id p24so43000856ejb.1 for ; Mon, 24 May 2021 16:04:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paul-moore-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=uHnwU/8zVxK9/bfw4gLk9ClQH8SbH6WwTZFdoRwbAtE=; b=QQB024vhpmn4hq25e6Gkh0zhdrnh3KHdtxH6hg6RDKH7CnpR3mYJd6drz35kPPn+vq h6264Me+UgyGvlpwu30FVPeTMz+AEc12Q0M+XUT2JohzSMatCOapVMLXEXEiejzFf7ti ktfb2nZNhIlo275VOb2O2BOnbc3ySbclEou9yYwi6+PYR4gUlNFMkKIpexQj+R7biYK9 xXDP+mzIofYbIEFKZVe3ZXLMSxK2QP8MWFHo5cfoJS3ZJay5Rqyq5UdBp1+zLKULS08J lwUq6hGqLZp80Ar+2xFbnq6NvtyQI7K0uQTTZPi/naCAAye6mC44N7eH6EQPj41saYzr cNUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=uHnwU/8zVxK9/bfw4gLk9ClQH8SbH6WwTZFdoRwbAtE=; b=mMIOpJC6xNX7oV8pUzhcU+lweLwfl+VxewwChfiHWpMOZi6wP6Q0NfNhG4HHbrFAdx wWj/8Ww8C1IlNMW3khy/PYqGfcfzJtfzcSOZQ3drmbteLRm6w1JGXGNW8tXghyXIuhpZ 9o8JfTeazJZ2MIJuFwUlz75cGuIcumAA/HtI3Q8n0jZmLSXHKKsDSayrdslG7JF4Fo58 xvbK7pg9XymC2nJho6GzXd3mCiSdOieKHJRmfovOzYqtW+E7LL6pQv6meplvgA/EUxqw /QeUXx6CGARveLDzCTn5+tRMGt7BGLi3uqD8pPN7sRvbM0kGEFPRxc4RqMzt72I1wZcV Ybhw== X-Gm-Message-State: AOAM533aOhc61kTirIy83piDGKYcGAcleKfKki6wSR70XQmAJk1GmkH7 eUoBKroSL8JVaOU1fNQilx+gVy5Mihw4Z7Xh+XCe X-Received: by 2002:a17:907:10d8:: with SMTP id rv24mr25356059ejb.542.1621897458726; Mon, 24 May 2021 16:04:18 -0700 (PDT) MIME-Version: 1.0 References: <20210520075842.vnbwbw6yffkybk6z@wittgenstein> In-Reply-To: <20210520075842.vnbwbw6yffkybk6z@wittgenstein> From: Paul Moore Date: Mon, 24 May 2021 19:04:07 -0400 Message-ID: Subject: Re: [PATCH v4 2/3] audit: add support for the openat2 syscall To: Christian Brauner Cc: Richard Guy Briggs , Linux-Audit Mailing List , LKML , linux-fsdevel@vger.kernel.org, Eric Paris , Steve Grubb , Alexander Viro , Eric Paris , x86@kernel.org, linux-alpha@vger.kernel.org, linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, Aleksa Sarai , Arnd Bergmann Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 20, 2021 at 3:58 AM Christian Brauner wrote: > On Wed, May 19, 2021 at 04:00:21PM -0400, Richard Guy Briggs wrote: > > The openat2(2) syscall was added in kernel v5.6 with commit fddb5d430ad9 > > ("open: introduce openat2(2) syscall") > > > > Add the openat2(2) syscall to the audit syscall classifier. > > > > Link: https://github.com/linux-audit/audit-kernel/issues/67 > > Signed-off-by: Richard Guy Briggs > > Link: https://lore.kernel.org/r/f5f1a4d8699613f8c02ce762807228c841c2e26f.1621363275.git.rgb@redhat.com > > --- > > arch/alpha/kernel/audit.c | 2 ++ > > arch/ia64/kernel/audit.c | 2 ++ > > arch/parisc/kernel/audit.c | 2 ++ > > arch/parisc/kernel/compat_audit.c | 2 ++ > > arch/powerpc/kernel/audit.c | 2 ++ > > arch/powerpc/kernel/compat_audit.c | 2 ++ > > arch/s390/kernel/audit.c | 2 ++ > > arch/s390/kernel/compat_audit.c | 2 ++ > > arch/sparc/kernel/audit.c | 2 ++ > > arch/sparc/kernel/compat_audit.c | 2 ++ > > arch/x86/ia32/audit.c | 2 ++ > > arch/x86/kernel/audit_64.c | 2 ++ > > include/linux/auditsc_classmacros.h | 1 + > > kernel/auditsc.c | 3 +++ > > lib/audit.c | 4 ++++ > > lib/compat_audit.c | 4 ++++ > > 16 files changed, 36 insertions(+) ... > > diff --git a/kernel/auditsc.c b/kernel/auditsc.c > > index d775ea16505b..3f59ab209dfd 100644 > > --- a/kernel/auditsc.c > > +++ b/kernel/auditsc.c > > @@ -76,6 +76,7 @@ > > #include > > #include > > #include > > +#include > > > > #include "audit.h" > > > > @@ -196,6 +197,8 @@ static int audit_match_perm(struct audit_context *ctx, int mask) > > return ((mask & AUDIT_PERM_WRITE) && ctx->argv[0] == SYS_BIND); > > case AUDITSC_EXECVE: > > return mask & AUDIT_PERM_EXEC; > > + case AUDITSC_OPENAT2: > > + return mask & ACC_MODE((u32)((struct open_how *)ctx->argv[2])->flags); > > That's a lot of dereferncing, casting and masking all at once. Maybe a > small static inline helper would be good for the sake of legibility? Sm > like: > > static inline u32 audit_openat2_acc(struct open_how *how, int mask) > { > u32 flags = how->flags; > return mask & ACC_MODE(flags); > } > > but not sure. Just seems more legible to me. > Otherwise. I'm on the fence about this. I understand Christian's concern, but I have a bit of hatred towards single caller functions like this. Since this function isn't really high-touch, and I don't expect that to change in the near future, let's leave the casting mess as-is. -- paul moore www.paul-moore.com