]> git.baikalelectronics.ru Git - kernel.git/commit
pstore: Avoid duplicate call of persistent_ram_zap()
authorPeng Wang <wangpeng15@xiaomi.com>
Tue, 30 Oct 2018 07:52:34 +0000 (15:52 +0800)
committerKees Cook <keescook@chromium.org>
Tue, 4 Dec 2018 00:52:35 +0000 (16:52 -0800)
commitddd4aa0b89b6fe6e92f346b21fe2858bcdbf960d
tree2ccb5d56ff8945abd6d2a85bb70e8804ba6bef9c
parent7be6d948434bd7ff736dc6a88a822f21e4437c6b
pstore: Avoid duplicate call of persistent_ram_zap()

When initialing a prz, if invalid data is found (no PERSISTENT_RAM_SIG),
the function call path looks like this:

ramoops_init_prz ->
    persistent_ram_new -> persistent_ram_post_init -> persistent_ram_zap
    persistent_ram_zap

As we can see, persistent_ram_zap() is called twice.
We can avoid this by adding an option to persistent_ram_new(), and
only call persistent_ram_zap() when it is needed.

Signed-off-by: Peng Wang <wangpeng15@xiaomi.com>
[kees: minor tweak to exit path and commit log]
Signed-off-by: Kees Cook <keescook@chromium.org>
fs/pstore/ram.c
fs/pstore/ram_core.c
include/linux/pstore_ram.h