From: Ryan Lee <ryan.lee@canonical.com>
To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
apparmor@lists.ubuntu.com, linux-security-module@vger.kernel.org,
selinux@vger.kernel.org
Cc: "Ryan Lee" <ryan.lee@canonical.com>,
"Alexander Viro" <viro@zeniv.linux.org.uk>,
"Christian Brauner" <brauner@kernel.org>,
"Jan Kara" <jack@suse.cz>,
"John Johansen" <john.johansen@canonical.com>,
"Paul Moore" <paul@paul-moore.com>,
"James Morris" <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
"Mickaël Salaün" <mic@digikod.net>,
"Günther Noack" <gnoack@google.com>,
"Stephen Smalley" <stephen.smalley.work@gmail.com>,
"Ondrej Mosnacek" <omosnace@redhat.com>,
"Casey Schaufler" <casey@schaufler-ca.com>,
"Kentaro Takeda" <takedakn@nttdata.co.jp>,
"Tetsuo Handa" <penguin-kernel@I-love.SAKURA.ne.jp>
Subject: [RFC PATCH 2/6] apparmor: explicitly skip mediation of O_PATH file descriptors
Date: Wed, 12 Mar 2025 14:21:42 -0700 [thread overview]
Message-ID: <20250312212148.274205-3-ryan.lee@canonical.com> (raw)
In-Reply-To: <20250312212148.274205-1-ryan.lee@canonical.com>
Previously, we saw O_PATH fds only when mediating fd inheritance on exec,
but because they would have no request associated with them, we would
unconditionally let them be inherited. Until we have better handling of
O_PATH fds, preserve the existing behavior of unconditionally allowing
them.
Signed-off-by: Ryan Lee <ryan.lee@canonical.com>
---
security/apparmor/lsm.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 11ace667cbbf..2349a1dd41f4 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -647,6 +647,16 @@ static int apparmor_file_open(struct file *file)
return 0;
}
+ /*
+ * Preserve the behavior of O_PATH fd creation not being mediated.
+ *
+ * TODO: we weren't handling O_PATH fds in aa_inherit_files anyways
+ * (all-zero request -> fds unconditionally inherited), so proper
+ * mediation of those will require changes in multiple places.
+ */
+ if (file->f_flags & O_PATH)
+ return 0;
+
label = aa_get_newest_cred_label_condref(file->f_cred, &needput);
if (!unconfined(label)) {
struct mnt_idmap *idmap = file_mnt_idmap(file);
--
2.43.0
base-kernel: v6.14-rc6
next prev parent reply other threads:[~2025-03-12 21:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-12 21:21 [RFC PATCH 0/6] fs, lsm: mediate O_PATH fd creation in file_open hook Ryan Lee
2025-03-12 21:21 ` [RFC PATCH 1/6] fs: invoke LSM file_open hook in do_dentry_open for O_PATH fds as well Ryan Lee
2025-03-12 21:37 ` Al Viro
2025-03-13 8:50 ` Christian Brauner
2025-03-14 1:28 ` Paul Moore
2025-03-12 21:21 ` Ryan Lee [this message]
2025-03-12 21:21 ` [RFC PATCH 3/6] landlock: explicitly skip mediation of O_PATH file descriptors Ryan Lee
2025-03-12 21:21 ` [RFC PATCH 4/6] selinux: " Ryan Lee
2025-03-12 21:21 ` [RFC PATCH 5/6] smack: " Ryan Lee
2025-03-12 23:12 ` Casey Schaufler
2025-03-12 21:21 ` [RFC PATCH 6/6] tomoyo: " Ryan Lee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250312212148.274205-3-ryan.lee@canonical.com \
--to=ryan.lee@canonical.com \
--cc=apparmor@lists.ubuntu.com \
--cc=brauner@kernel.org \
--cc=casey@schaufler-ca.com \
--cc=gnoack@google.com \
--cc=jack@suse.cz \
--cc=jmorris@namei.org \
--cc=john.johansen@canonical.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mic@digikod.net \
--cc=omosnace@redhat.com \
--cc=paul@paul-moore.com \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=selinux@vger.kernel.org \
--cc=serge@hallyn.com \
--cc=stephen.smalley.work@gmail.com \
--cc=takedakn@nttdata.co.jp \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®