diff options
author | Geliang Tang <geliangtang@163.com> | 2015-11-07 07:43:48 +0300 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2016-06-02 21:25:31 +0300 |
commit | cae7316708c45e4cfdc586c2e0a02eaea398e246 (patch) | |
tree | ac468d6fef2a23230823f88f276eb769006efb35 /drivers | |
parent | 52d210d961a62a9662e27f14d6505d6741b2fb02 (diff) | |
download | linux-cae7316708c45e4cfdc586c2e0a02eaea398e246.tar.xz |
efi-pstore: implement efivars_pstore_exit()
The original efivars_pstore_exit() is empty. I
1) add a bufsize check statement.
2) call pstore_unregister as it is defined now.
3) free the memory and set bufsize to 0.
Signed-off-by: Geliang Tang <geliangtang@163.com>
Acked-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/firmware/efi/efi-pstore.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/firmware/efi/efi-pstore.c b/drivers/firmware/efi/efi-pstore.c index d5903ea77238..30a24d09ea6c 100644 --- a/drivers/firmware/efi/efi-pstore.c +++ b/drivers/firmware/efi/efi-pstore.c @@ -399,6 +399,13 @@ static __init int efivars_pstore_init(void) static __exit void efivars_pstore_exit(void) { + if (!efi_pstore_info.bufsize) + return; + + pstore_unregister(&efi_pstore_info); + kfree(efi_pstore_info.buf); + efi_pstore_info.buf = NULL; + efi_pstore_info.bufsize = 0; } module_init(efivars_pstore_init); |