From: Mimi Zohar <zohar@linux.ibm.com>
To: Frederick Lawler <fred@cloudflare.com>,
Andreas Hindborg <a.hindborg@kernel.org>,
Breno Leitao <leitao@debian.org>,
Roberto Sassu <roberto.sassu@huawei.com>,
Dmitry Kasatkin <dmitry.kasatkin@gmail.com>,
Eric Snowberg <eric.snowberg@oracle.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>
Cc: linux-kernel@vger.kernel.org, linux-integrity@vger.kernel.org,
linux-security-module@vger.kernel.org,
kernel-team@cloudflare.com,
syzbot+448c2e24b1ceff13ed2a@syzkaller.appspotmail.com
Subject: Re: [PATCH 2/2] ima: don't measure/appraise files on configfs
Date: Wed, 19 Aug 2026 14:39:28 -0400 [thread overview]
Message-ID: <314a73301c4120744d35a20d4e3676b394c35ec3.camel@linux.ibm.com> (raw)
In-Reply-To: <20260818-configfs-v1-2-a2329043cf86@cloudflare.com>
On Tue, 2026-08-18 at 14:35 -0500, Frederick Lawler wrote:
> When IMA appraises/measures a file configfs, it has an opportunity to
> hold onto the ima_iint_mutex while another file from a different file
> system is attempting to appraise/measure. This may cause a cyclical
> lock dependency.
The locking description is off a bit.
Suggested patch desciption from AI:
IMA measurement of a configfs file causes process_measurement() to hold iint-
>mutex while performing a kernel_read() to hash it, which re-enters configfs's
own file locking (buffer->mutex, frag_sem).
Separately, opening any file with O_TRUNC now causes ima_file_truncate() to take
iint->mutex to reset the cached action flags, while sb_writers is already held
for that mount.
When a configfs-backed nvmet namespace is involved, these two independent lock
chains combine into a cycle:
iint->mutex -> configfs locks -> subsys->lock -> sb_writers -> iint->mutex
Add configfs to the builtin don't measure/appraise rules, similarly to other
pseudo file systems, so IMA never takes iint->mutex for configfs file in the
first place.
>
> Add configfs to the default don't measure/appraise lists, similarly to
> other pseudo file systems.
>
> Reported-by: syzbot+448c2e24b1ceff13ed2a@syzkaller.appspotmail.com
> Link: https://lore.kernel.org/all/6a77c7cd.b50370da.49fe0.0031.GAE@google.com/
> Suggested-by: Mimi Zohar <zohar@linux.ibm.com>
> Signed-off-by: Frederick Lawler <fred@cloudflare.com>
Sashiko is now enabled for the linux-integrity mailing list -
https://sashiko.dev/#/?list=org.kernel.vger.linux-integrity. Please address
Sashiko's 2/2 review.
thanks,
Mimi
> ---
> security/integrity/ima/ima_policy.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c
> index f79d07bb63c6fc4ba6fe594140de8d59f57e4f0b..68d9a5e6c232ea0678e9f51f105cebecccccb43e 100644
> --- a/security/integrity/ima/ima_policy.c
> +++ b/security/integrity/ima/ima_policy.c
> @@ -165,7 +165,10 @@ static struct ima_rule_entry dont_measure_rules[] __ro_after_init = {
> {.action = DONT_MEASURE, .fsmagic = CGROUP2_SUPER_MAGIC,
> .flags = IMA_FSMAGIC},
> {.action = DONT_MEASURE, .fsmagic = NSFS_MAGIC, .flags = IMA_FSMAGIC},
> - {.action = DONT_MEASURE, .fsmagic = EFIVARFS_MAGIC, .flags = IMA_FSMAGIC}
> + {.action = DONT_MEASURE, .fsmagic = EFIVARFS_MAGIC,
> + .flags = IMA_FSMAGIC},
> + {.action = DONT_MEASURE, .fsmagic = CONFIGFS_MAGIC,
> + .flags = IMA_FSMAGIC}
> };
>
> static struct ima_rule_entry original_measurement_rules[] __ro_after_init = {
> @@ -211,6 +214,8 @@ static struct ima_rule_entry default_appraise_rules[] __ro_after_init = {
> {.action = DONT_APPRAISE, .fsmagic = EFIVARFS_MAGIC, .flags = IMA_FSMAGIC},
> {.action = DONT_APPRAISE, .fsmagic = CGROUP_SUPER_MAGIC, .flags = IMA_FSMAGIC},
> {.action = DONT_APPRAISE, .fsmagic = CGROUP2_SUPER_MAGIC, .flags = IMA_FSMAGIC},
> + {.action = DONT_APPRAISE, .fsmagic = CONFIGFS_MAGIC,
> + .flags = IMA_FSMAGIC},
> #ifdef CONFIG_IMA_WRITE_POLICY
> {.action = APPRAISE, .func = POLICY_CHECK,
> .flags = IMA_FUNC | IMA_DIGSIG_REQUIRED},
prev parent reply other threads:[~2026-08-19 18:40 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 19:35 [PATCH 0/2] ima: don't measure/appraise files on configfs Frederick Lawler
2026-08-18 19:35 ` [PATCH 1/2] configfs: move CONFIGFS_MAGIC definition to magic.h Frederick Lawler
2026-08-19 9:21 ` Breno Leitao
2026-08-19 14:39 ` Frederick Lawler
2026-08-18 19:35 ` [PATCH 2/2] ima: don't measure/appraise files on configfs Frederick Lawler
2026-08-19 18:39 ` Mimi Zohar [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=314a73301c4120744d35a20d4e3676b394c35ec3.camel@linux.ibm.com \
--to=zohar@linux.ibm.com \
--cc=a.hindborg@kernel.org \
--cc=dmitry.kasatkin@gmail.com \
--cc=eric.snowberg@oracle.com \
--cc=fred@cloudflare.com \
--cc=jmorris@namei.org \
--cc=kernel-team@cloudflare.com \
--cc=leitao@debian.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=paul@paul-moore.com \
--cc=roberto.sassu@huawei.com \
--cc=serge@hallyn.com \
--cc=syzbot+448c2e24b1ceff13ed2a@syzkaller.appspotmail.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.