| From: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> |
| Date: Fri, 27 Apr 2018 11:53:18 +0530 |
| Subject: powerpc/fadump: Unregister fadump on kexec down path. |
| |
| commit 722cde76d68e8cc4f3de42e71c82fd40dea4f7b9 upstream. |
| |
| Unregister fadump on kexec down path otherwise the fadump registration |
| in new kexec-ed kernel complains that fadump is already registered. |
| This makes new kernel to continue using fadump registered by previous |
| kernel which may lead to invalid vmcore generation. Hence this patch |
| fixes this issue by un-registering fadump in fadump_cleanup() which is |
| called during kexec path so that new kernel can register fadump with |
| new valid values. |
| |
| Fixes: b500afff11f6 ("fadump: Invalidate registration and release reserved memory for general use.") |
| Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> |
| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| arch/powerpc/kernel/fadump.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/arch/powerpc/kernel/fadump.c |
| +++ b/arch/powerpc/kernel/fadump.c |
| @@ -1025,6 +1025,9 @@ void fadump_cleanup(void) |
| init_fadump_mem_struct(&fdm, |
| fdm_active->cpu_state_data.destination_address); |
| fadump_invalidate_dump(&fdm); |
| + } else if (fw_dump.dump_registered) { |
| + /* Un-register Firmware-assisted dump if it was registered. */ |
| + fadump_unregister_dump(&fdm); |
| } |
| } |
| |