Messages in this thread | | | Date | Fri, 23 Oct 2015 09:54:31 -0700 | Subject | Re: [PATCH 1/2] pstore: check PSTORE_FLAGS_FRAGILE in pstore_unregister | From | Kees Cook <> |
| |
On Fri, Oct 23, 2015 at 7:56 AM, Geliang Tang <geliangtang@163.com> wrote: > When PSTORE_FLAGS_FRAGILE flag is set, only kmsg is registered in > pstore_register. So, under these circumstances, only kmsg needs to > be unregistered in pstore_unregister. > > Signed-off-by: Geliang Tang <geliangtang@163.com>
Would it make more sense to have the pstore_unregister_* calls be defensive, like kfree() is? In other words, it would be safe to call them, even if they hadn't been registered?
Either way, I'm fine with this. Good catch!
-Kees
> --- > fs/pstore/platform.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c > index 0aab920..7ad2038 100644 > --- a/fs/pstore/platform.c > +++ b/fs/pstore/platform.c > @@ -496,9 +496,12 @@ EXPORT_SYMBOL_GPL(pstore_register); > > void pstore_unregister(struct pstore_info *psi) > { > - pstore_unregister_pmsg(); > - pstore_unregister_ftrace(); > - pstore_unregister_console(); > + if ((psi->flags & PSTORE_FLAGS_FRAGILE) == 0) { > + pstore_unregister_pmsg(); > + pstore_unregister_ftrace(); > + pstore_unregister_console(); > + } > + > pstore_unregister_kmsg(); > > free_buf_for_compression(); > -- > 2.5.0 > >
-- Kees Cook Chrome OS Security
| |