From: sashiko-bot@kernel.org
To: selinux@vger.kernel.org
Subject: Re: [PATCH v2 2/5] selinux: restore the context string on -ESTALE retry
Date: Mon, 09 Nov 2026 15:43:08 +0000 [thread overview]
Message-ID: <sashiko-outbox-205170@kernel.org> (raw)
In-Reply-To: <20261109153802.76176-1-cgoettsche@seltendoof.de>
> From: Christian Göttsche <cgzones@googlemail.com>
>
> security_context_to_sid_core() retries the conversion when
> sidtab_context_to_sid() returns -ESTALE because a policy reload froze
> the sidtab in the meantime. The retry passes scontext2 to
> string_to_context_struct() again, but that function mutates its input:
> it replaces the ':' separators with NUL bytes while parsing. On the
> second pass the user field is followed by a NUL instead of a ':', so the
> parse fails with -EINVAL for any context, including a perfectly valid
> one.
>
> Without force this makes the caller see -EINVAL for a valid context.
> With force the (pristine) saved copy gets stored as an uninterpreted,
> unmapped context, so a valid context is treated as unlabeled until the
> next policy reload.
>
> Restore scontext2 from the caller's buffer before retrying, as
> services_convert_context() already does for the same reason. The
> buffer was allocated by kmemdup_nul() with scontext_len + 1 bytes and
> the parser never writes past the terminating NUL, so copying
> scontext_len bytes restores it exactly.
>
> Fixes: 9ad6e9cb39c6 ("selinux: fix race between old and new sidtab")
> Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261109153802.76176-5-cgoettsche@seltendoof.de?part=2
prev parent reply other threads:[~2026-11-09 15:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-09 15:37 [PATCH v2 2/5] selinux: restore the context string on -ESTALE retry Christian Göttsche
2026-11-09 15:37 ` [PATCH v2 3/5] selinux: prevent stale AVC insertions after policy changes Christian Göttsche
2026-11-09 15:46 ` sashiko-bot
2026-11-09 15:38 ` [PATCH v2 4/5] selinux: keep pending boolean values across policy loads Christian Göttsche
2026-11-09 15:44 ` sashiko-bot
2026-11-09 15:38 ` [PATCH v2 5/5] selinux: do not cache permissive grants after enabling enforcing mode Christian Göttsche
2026-11-09 15:46 ` sashiko-bot
2026-11-09 15:38 ` [PATCH v2 1/5] selinux: zero-initialize permission name array in masked av dump Christian Göttsche
2026-11-09 15:42 ` sashiko-bot
2026-11-09 17:53 ` Stephen Smalley
2026-11-09 15:43 ` sashiko-bot [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=sashiko-outbox-205170@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=selinux@vger.kernel.org \
/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.