mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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

      reply	other threads:[~2026-10-01  1:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-28 20:34 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]

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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®