From: Prashant Singh <singhpra@juniper.net>
To: <bigeasy@linutronix.de>
Cc: <ardb@kernel.org>, <jk@ozlabs.org>, <clrkwllms@kernel.org>,
<rostedt@goodmis.org>, <corbet@lwn.net>,
<skhan@linuxfoundation.org>, <rdunlap@infradead.org>,
<lgoncalv@redhat.com>, <93sam@debian.org>,
<linux-efi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-doc@vger.kernel.org>, <linux-rt-devel@lists.linux.dev>
Subject: Re: [PATCH v4] efivarfs: add nostatfs mount option to skip QueryVariableInfo()
Date: Wed, 30 Sep 2026 18:20:11 -0700 [thread overview]
Message-ID: <20261001012011.30525-1-singhpra@juniper.net> (raw)
In-Reply-To: <20260930063217.eWGJ_JpZ@linutronix.de>
Thanks Ard and Sebastian for the comments.
>Yeah you can trim it a bit but git commit log space is cheap and
>only people that care about the patch will read it anyway.
Will do.
>As for the docs and code comment changes themselves, please make
>those a bit more to the point. People can go and find the commit
>that introduced/updated them to know more about the background.
Will do.
>> used/ available. Disabling it skips the EFI runtime
>> service call, which might block the CPU for a few milliseconds,
>
>might block all CPUs for a few milliseconds.
>
>> reporting 0 for used and capacity. Enabled by default on
>
>Instead, report 0/0 for used/available.
Will take care of this.
>AFAICT, that would potentially leave KCSAN instrumentation on the reboot
>path, which might trigger and interfere with the reboot. So instead,
>I'd like to put this in efi_reboot_required if we can. If it is needed
>in more places to address an actual KCSAN splat, I don't mind. If it is
>just to make Sashiko happy, then we shouldn't bother.
Could you please clarify what you mean by efi_reboot_required here? nostatfs
is only read in efivarfs_statfs(), efivarfs_show_options() and
efivarfs_init_fs_context(), none of which run on the reboot path, so I'm
not sure how it would apply.
On the annotation itself: an internal review flagged a potential KCSAN
data race rather than an observed splat -- statfs() can run concurrently
with a remount updating the flag, so it is a genuine (benign) concurrent
access. I ran concurrent statfs/remount loops on separate CPUs under
KCSAN and didn't trigger a report in a bounded run, which could be
expected given KCSAN samples accesses, so it doesn't disprove the race.
Since KCSAN only needs one side of the pair marked, data_race() on the
write covers both readers and the reads stay plain. I'm happy to drop it
entirely if you'd prefer to keep the benign race unannotated.
>Please keep this description _here_ where you have it. Once this is
>merged, you could send another patch, extending the documentation with
>the statfs option (I think the workqueue change is in).
Sure -- I'll keep it in Documentation/filesystems/efivarfs.rst for now
and send a follow-up extending Documentation/core-api/real-time/hardware.rst
once this is merged.
>You still have the problem that someone reading the variable leads to
>the same problem but this requires a privileged user. And if I am not
>mistaken, someone sent patches to have efi-runtime runtime disabled/
>enabled.
Agreed -- the variable-read path is the same, but needs a privileged
user unlike the unprivileged statfs()/df trigger.
Thanks,
Prashant
next prev parent reply other threads:[~2026-10-01 1:21 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-28 20:34 [PATCH v4] efivarfs: add nostatfs mount option to skip QueryVariableInfo() Prashant Singh
2026-09-28 20:47 ` sashiko-bot
2026-09-29 6:32 ` Ard Biesheuvel
2026-09-29 7:43 ` Sebastian Andrzej Siewior
2026-09-29 12:22 ` Ard Biesheuvel
2026-09-29 15:14 ` Sebastian Andrzej Siewior
2026-09-30 1:35 ` Prashant Singh
2026-09-30 6:09 ` Ard Biesheuvel
2026-09-30 6:32 ` Sebastian Andrzej Siewior
2026-10-01 1:20 ` Prashant Singh [this message]
2026-10-04 7:58 ` Ard Biesheuvel
2026-10-04 14:43 ` MaeeFilho FL
2026-10-05 23:35 ` Prashant Singh
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=20261001012011.30525-1-singhpra@juniper.net \
--to=singhpra@juniper.net \
--cc=93sam@debian.org \
--cc=ardb@kernel.org \
--cc=bigeasy@linutronix.de \
--cc=clrkwllms@kernel.org \
--cc=corbet@lwn.net \
--cc=jk@ozlabs.org \
--cc=lgoncalv@redhat.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=rdunlap@infradead.org \
--cc=rostedt@goodmis.org \
--cc=skhan@linuxfoundation.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.