On Wed, 21 Jun 2023 at 01:46, Linux regression tracking (Thorsten Leemhuis) regressions@leemhuis.info wrote:
Jason, in that case it seems this is something for you. For the initial report, see here:
I'll just revert it for now. Writing EFI variables has always been fraught with danger - more so than just reading them - and this one just looks horrible anyway.
Calling execute_with_initialized_rng() can end up having the callback done under a spinlock with interrupts disabled, which is probably why it then has that odd double indirection through a one-time work. And in no situation should we start writing to EFI variables during early subsystem initialization, I feel.
It also probably shouldn't use the "set_variable" function at all, but the non-blocking one, and who knows if it should try to do some serialization with efi/vars.c.
I think it would be better off done in user space, but if we can't trust user space to do the right thing, at least do it much much later.
Linus