From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
To: Song Liu <songliubraving@meta.com>,
"viro@zeniv.linux.org.uk" <viro@zeniv.linux.org.uk>
Cc: Song Liu <song@kernel.org>,
"paul@paul-moore.com" <paul@paul-moore.com>,
"jmorris@namei.org" <jmorris@namei.org>,
"serge@hallyn.com" <serge@hallyn.com>,
"brauner@kernel.org" <brauner@kernel.org>,
"jack@suse.cz" <jack@suse.cz>,
"john.johansen@canonical.com" <john.johansen@canonical.com>,
"stephen.smalley.work@gmail.com" <stephen.smalley.work@gmail.com>,
"omosnace@redhat.com" <omosnace@redhat.com>,
"mic@digikod.net" <mic@digikod.net>,
"gnoack@google.com" <gnoack@google.com>,
"takedakn@nttdata.co.jp" <takedakn@nttdata.co.jp>,
"herton@canonical.com" <herton@canonical.com>,
Kernel Team <kernel-team@meta.com>,
"selinux@vger.kernel.org" <selinux@vger.kernel.org>,
"apparmor@lists.ubuntu.com" <apparmor@lists.ubuntu.com>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"linux-security-module@vger.kernel.org"
<linux-security-module@vger.kernel.org>
Subject: Re: [PATCH 6/7] tomoyo: Convert from sb_mount to granular mount hooks
Date: Sun, 22 Mar 2026 19:46:10 +0900 [thread overview]
Message-ID: <33abcf34-13e2-4a37-83f3-78bb27ecbc11@I-love.SAKURA.ne.jp> (raw)
In-Reply-To: <4DF5C4A8-7C92-4F76-9B34-2262089E7289@meta.com>
On 2026/03/22 10:06, Song Liu wrote:
>>> @@ -70,6 +70,7 @@ static bool tomoyo_check_mount_acl(struct tomoyo_request_info *r,
>>> * @dir: Pointer to "struct path".
>>> * @type: Name of filesystem type.
>>> * @flags: Mount options.
>>> + * @dev_path: Pre-resolved device/source path. Maybe NULL.
>>
>> I guess that we can avoid passing maybe-NULL dev_name if Al Viro can accept
>> resolving maybe-NULL dev_path argument before calling LSM hooks.
>
> If I understand the code correctly, tomoyo records requested_dev_name for
> new mount. namespace.c, OTOH, does NOT do kern_path() for new mount. This
> is why we keep the maybe-NULL dev_name here. I personally think this is
> the best approach without changing tomoyo behavior.
Well, namespace.c does kern_path() for new mount, but it happens a bit later after
security_mount_new() was called.
do_new_mount_fc() => fc_mount() => vfs_get_tree() => fc->ops->get_tree() == e.g. ext4_get_tree()
=> get_tree_bdev() => get_tree_bdev_flags() => lookup_bdev() => kern_path()
@@ -3835,6 +3855,9 @@ static int do_new_mount(const struct path *path, const char *fstype,
err = parse_monolithic_mount_data(fc, data);
if (!err && !mount_capable(fc))
err = -EPERM;
+
+ if (!err)
+ err = security_mount_new(fc, path, mnt_flags, flags, data);
if (!err)
err = do_new_mount_fc(fc, path, mnt_flags);
Since not all filesystems need to resolve dev_name argument, conversion from dev_name
to "struct path" is up to individual filesystem. If we can use a flag like FS_REQUIRES_DEV
that tells whether that filesystem will resolve dev_name argument, I think we can resolve
the dev_name argument before security_mount_new() is called (and can avoid TOCTOU).
next prev parent reply other threads:[~2026-03-22 10:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-18 18:43 [PATCH 0/7] lsm: Replace security_sb_mount with granular mount hooks Song Liu
2026-03-18 18:43 ` [PATCH 1/7] lsm: Add granular mount hooks to replace security_sb_mount Song Liu
2026-03-18 18:43 ` [PATCH 2/7] apparmor: Remove redundant MS_MGC_MSK stripping in apparmor_sb_mount Song Liu
2026-03-18 18:43 ` [PATCH 3/7] apparmor: Convert from sb_mount to granular mount hooks Song Liu
2026-03-18 18:43 ` [PATCH 4/7] selinux: " Song Liu
2026-03-18 18:43 ` [PATCH 5/7] landlock: " Song Liu
2026-03-18 18:43 ` [PATCH 6/7] tomoyo: " Song Liu
2026-03-21 12:54 ` Tetsuo Handa
2026-03-22 1:06 ` Song Liu
2026-03-22 10:46 ` Tetsuo Handa [this message]
2026-03-23 3:32 ` Song Liu
2026-03-23 10:16 ` Christian Brauner
2026-03-23 10:32 ` Tetsuo Handa
2026-03-23 19:31 ` Song Liu
2026-03-24 6:12 ` Tetsuo Handa
2026-03-24 7:46 ` Song Liu
2026-03-24 9:58 ` Tetsuo Handa
2026-03-24 19:03 ` Song Liu
2026-03-25 1:01 ` Tetsuo Handa
2026-03-25 1:35 ` Song Liu
2026-03-18 18:44 ` [PATCH 7/7] lsm: Remove security_sb_mount and security_move_mount Song Liu
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=33abcf34-13e2-4a37-83f3-78bb27ecbc11@I-love.SAKURA.ne.jp \
--to=penguin-kernel@i-love.sakura.ne.jp \
--cc=apparmor@lists.ubuntu.com \
--cc=brauner@kernel.org \
--cc=gnoack@google.com \
--cc=herton@canonical.com \
--cc=jack@suse.cz \
--cc=jmorris@namei.org \
--cc=john.johansen@canonical.com \
--cc=kernel-team@meta.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mic@digikod.net \
--cc=omosnace@redhat.com \
--cc=paul@paul-moore.com \
--cc=selinux@vger.kernel.org \
--cc=serge@hallyn.com \
--cc=song@kernel.org \
--cc=songliubraving@meta.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