fadump is registered in panic_notifier_list and gets triggered
before kmsg_dump_desc() in the panic path. As a result,
kmsg_dumpers (e.g. pstore) are not executed.

Invoke kmsg_dump_desc() from the fadump handler to ensure
kmsg_dumpers are called during panic.

Cc: Hari Bathini <[email protected]>
Cc: Madhavan Srinivasan <[email protected]>
Cc: Mahesh Salgaonkar <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Ritesh Harjani (IBM) <[email protected]>
Reported-by: Shirisha G <[email protected]>
Suggested-by: Sourabh Jain <[email protected]>
Signed-off-by: Shivang Upadhyay <[email protected]>
---
 arch/powerpc/kernel/setup-common.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/powerpc/kernel/setup-common.c 
b/arch/powerpc/kernel/setup-common.c
index b1761909c23f..c329b071643d 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -68,6 +68,7 @@
 #include <asm/kasan.h>
 #include <asm/mce.h>
 #include <asm/systemcfg.h>
+#include <linux/kmsg_dump.h>
 
 #include "setup.h"
 
@@ -748,6 +749,8 @@ static int ppc_panic_fadump_handler(struct notifier_block 
*this,
         * If firmware-assisted dump has been registered then trigger
         * its callback and let the firmware handles everything else.
         */
+       kmsg_dump_desc(KMSG_DUMP_PANIC, (char *)ptr);
+
        crash_fadump(NULL, ptr);
 
        return NOTIFY_DONE;
-- 
2.53.0


Reply via email to