From: "Serge E. Hallyn" <serge@hallyn.com>
To: Adriano Cordova <adrianox@gmail.com>
Cc: Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
linux-security-module@vger.kernel.org
Subject: Re: [PATCH] security: commoncap: clarify CAP_FS_SET comment in cap_task_fix_setuid()
Date: Sun, 20 Sep 2026 11:17:44 -0500 [thread overview]
Message-ID: <arAHKMq3yF3uHcTZ@hallyn.com> (raw)
In-Reply-To: <20260919130112.849932-1-adrianox@gmail.com>
On Sat, Sep 19, 2026 at 10:01:12AM -0300, Adriano Cordova wrote:
> CAP_FS_SET is defined as exactly the capabilities an fsuid of 0
> historically granted (see CAP_FS_MASK in include/linux/capability.h),
> so dropping it when fsuid leaves 0 is correct by construction, not
> "too harsh". Replace the stale FIXME with this explanation.
>
> Signed-off-by: Adriano Cordova <adrianox@gmail.com>
Thanks, but,
> ---
> security/commoncap.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/security/commoncap.c b/security/commoncap.c
> index 3399535808fe..e0a2f386c556 100644
> --- a/security/commoncap.c
> +++ b/security/commoncap.c
> @@ -1169,11 +1169,13 @@ int cap_task_fix_setuid(struct cred *new, const struct cred *old, int flags)
> break;
>
> case LSM_SETID_FS:
> - /* juggle the capabilities to follow FSUID changes, unless
> - * otherwise suppressed
> + /* Juggle the capabilities to follow FSUID changes, unless
> + * otherwise suppressed.
> *
> - * FIXME - is fsuser used for all CAP_FS_MASK capabilities?
> - * if not, we might be a bit too harsh here.
> + * CAP_FS_SET is exactly the set of capabilities that an
> + * fsuid of 0 historically granted (see CAP_FS_MASK in
> + * <linux/capability.h>), so dropping that set when fsuid
> + * leaves 0 is intentional rather than too harsh.
"rather than too harsh" seems like arguing against the past comment. Just
make it something like:
+ * CAP_FS_SET is exactly the set of capabilities that an
+ * fsuid of 0 historically granted (see CAP_FS_MASK in
+ * <linux/capability.h>), so we drop that set when fsuid
+ * leaves 0.
or
+ /* Juggle the capabilities to follow FSUID changes, unless
+ * otherwise suppressed. We drop the CAP_FS_SET when uid leaves
+ * 0, since that is the set of capabilities that an fsuid of 0
+ * historically granted.
or even shorter.
> */
> if (!issecure(SECURE_NO_SETUID_FIXUP)) {
> kuid_t root_uid = make_kuid(old->user_ns, 0);
> --
> 2.51.0
prev parent reply other threads:[~2026-09-20 16:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-19 13:01 [PATCH] security: commoncap: clarify CAP_FS_SET comment in cap_task_fix_setuid() Adriano Cordova
2026-09-19 13:03 ` sashiko-bot
2026-09-20 16:17 ` Serge E. Hallyn [this message]
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=arAHKMq3yF3uHcTZ@hallyn.com \
--to=serge@hallyn.com \
--cc=adrianox@gmail.com \
--cc=jmorris@namei.org \
--cc=linux-security-module@vger.kernel.org \
--cc=paul@paul-moore.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.