Message ID | 152420067500.31037.2795727017934578072.stgit@jupiter.in.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | powerpc/fadump: Improvements and fixes for firmware-assisted dump. | expand |
On Fri, 20 Apr 2018 10:34:35 +0530 Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com> wrote: > From: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> > > 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. Is this a bug fix that should go to previous kernels as well? > > Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> > --- > arch/powerpc/kernel/fadump.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c > index 43bfa535d0ea..16b3e8c5cae0 100644 > --- a/arch/powerpc/kernel/fadump.c > +++ b/arch/powerpc/kernel/fadump.c > @@ -1276,6 +1276,9 @@ void fadump_cleanup(void) > /* Invalidate the registration only if dump is active. */ > if (fw_dump.dump_active) { > fadump_invalidate_dump(fdm_active); > + } else if (fw_dump.dump_registered) { > + /* Un-register Firmware-assisted dump if it was registered. */ > + fadump_unregister_dump(&fdm); > } > } > >
On 04/22/2018 07:28 AM, Nicholas Piggin wrote: > On Fri, 20 Apr 2018 10:34:35 +0530 > Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com> wrote: > >> From: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> >> >> 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. > > Is this a bug fix that should go to previous kernels as well? Yes. > >> >> Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> >> --- >> arch/powerpc/kernel/fadump.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c >> index 43bfa535d0ea..16b3e8c5cae0 100644 >> --- a/arch/powerpc/kernel/fadump.c >> +++ b/arch/powerpc/kernel/fadump.c >> @@ -1276,6 +1276,9 @@ void fadump_cleanup(void) >> /* Invalidate the registration only if dump is active. */ >> if (fw_dump.dump_active) { >> fadump_invalidate_dump(fdm_active); >> + } else if (fw_dump.dump_registered) { >> + /* Un-register Firmware-assisted dump if it was registered. */ >> + fadump_unregister_dump(&fdm); >> } >> } >> >> >
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c index 43bfa535d0ea..16b3e8c5cae0 100644 --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c @@ -1276,6 +1276,9 @@ void fadump_cleanup(void) /* Invalidate the registration only if dump is active. */ if (fw_dump.dump_active) { fadump_invalidate_dump(fdm_active); + } else if (fw_dump.dump_registered) { + /* Un-register Firmware-assisted dump if it was registered. */ + fadump_unregister_dump(&fdm); } }