Hello, Ard, all, > > Wouldn't it be easier to pass a var_data_size stack variable into > > efivar_entry_get(), and only update the value in 'var' if it is <= > > 1024? > > > > I was thinking about this approach, but this way we still do not protect > var from a concurrent access. For example, efivar_data_read() can race > with itself: Oh, indeed, this race is not possible the way you sugget with a var_data_size stack variable. Unfortunately, AFAIU, the read/write race stays: > ... efivar read functions still can race with the write function > efivar_store_raw(). Surely, the race window is much smaller but it is there. > I strongly believe we need to protect all data accesses here with a lock. Best regards, Vladis Dronov | Red Hat, Inc. | The Core Kernel | Senior Software Engineer