• Guilherme G. Piccoli's avatar
    efi: pstore: Allow dynamic initialization based on module parameter · a28655c3
    Guilherme G. Piccoli authored
    The efi-pstore module parameter "pstore_disable" warrants that users
    are able to deactivate such backend. There is also a Kconfig option
    for the default value of this parameter. It was originally added due
    to some bad UEFI FW implementations that could break with many variables
    written.
    
    Some distros (such as Arch Linux) set this in their config file still
    nowadays. And once it is set, even being a writable module parameter,
    there is effectively no way to make use of efi-pstore anymore.
    If "pstore_disable" is set to true, the init function of the module exits
    early and is never called again after the initcall processing.
    
    Let's switch this module parameter to have a callback and perform the
    pstore backend registration again each time it's set from Y->N (and
    vice-versa). With this, the writable nature of the parameter starts to
    make sense, given that users now can switch back to using efi-pstore
    or not during runtime by writing into it.
    Signed-off-by: default avatarGuilherme G. Piccoli <gpiccoli@igalia.com>
    Link: https://lore.kernel.org/r/20240103184053.226203-1-gpiccoli@igalia.comSigned-off-by: default avatarKees Cook <keescook@chromium.org>
    a28655c3
efi-pstore.c 7.2 KB