On Sat, 27 Apr 2024 at 07:28, linke li <lilinke99@xxxxxx> wrote: > > In efi_crash_gracefully_on_page_fault(), efi_rts_work.efi_rts_id can by > changed by other thread from the comment. Mark possible data race on > efi_rts_work.efi_rts_id as benign using READ_ONCE. > > This patch is aimed at reducing the number of benign races reported by > KCSAN in order to focus future debugging effort on harmful races. > > Signed-off-by: linke li <lilinke99@xxxxxx> > --- > arch/x86/platform/efi/quirks.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c > index f0cc00032751..4acb81700caf 100644 > --- a/arch/x86/platform/efi/quirks.c > +++ b/arch/x86/platform/efi/quirks.c > @@ -751,7 +751,7 @@ void efi_crash_gracefully_on_page_fault(unsigned long phys_addr) > * because this case occurs *very* rarely and hence could be improved > * on a need by basis. > */ > - if (efi_rts_work.efi_rts_id == EFI_RESET_SYSTEM) { > + if (READ_ONCE(efi_rts_work.efi_rts_id) == EFI_RESET_SYSTEM) { > pr_info("efi_reset_system() buggy! Reboot through BIOS\n"); > machine_real_restart(MRR_BIOS); > return; Why is this the only reference that needs an annotation?