From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:43800 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755194AbdERJdx (ORCPT ); Thu, 18 May 2017 05:33:53 -0400 Subject: Patch "pstore: Shut down worker when unregistering" has been added to the 4.9-stable tree To: keescook@chromium.org, gregkh@linuxfoundation.org Cc: , From: Date: Thu, 18 May 2017 11:33:33 +0200 Message-ID: <1495100013103210@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled pstore: Shut down worker when unregistering to the 4.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: pstore-shut-down-worker-when-unregistering.patch and it can be found in the queue-4.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From 6330d5534786d5315d56d558aa6d20740f97d80a Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Mon, 6 Mar 2017 12:42:12 -0800 Subject: pstore: Shut down worker when unregistering From: Kees Cook commit 6330d5534786d5315d56d558aa6d20740f97d80a upstream. When built as a module and running with update_ms >= 0, pstore will Oops during module unload since the work timer is still running. This makes sure the worker is stopped before unloading. Signed-off-by: Kees Cook Signed-off-by: Greg Kroah-Hartman --- fs/pstore/platform.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -704,6 +704,7 @@ int pstore_register(struct pstore_info * if (psi->flags & PSTORE_FLAGS_PMSG) pstore_register_pmsg(); + /* Start watching for new records, if desired. */ if (pstore_update_ms >= 0) { pstore_timer.expires = jiffies + msecs_to_jiffies(pstore_update_ms); @@ -726,6 +727,11 @@ EXPORT_SYMBOL_GPL(pstore_register); void pstore_unregister(struct pstore_info *psi) { + /* Stop timer and make sure all work has finished. */ + pstore_update_ms = -1; + del_timer_sync(&pstore_timer); + flush_work(&pstore_work); + if (psi->flags & PSTORE_FLAGS_PMSG) pstore_unregister_pmsg(); if (psi->flags & PSTORE_FLAGS_FTRACE) @@ -825,7 +831,9 @@ static void pstore_timefunc(unsigned lon schedule_work(&pstore_work); } - mod_timer(&pstore_timer, jiffies + msecs_to_jiffies(pstore_update_ms)); + if (pstore_update_ms >= 0) + mod_timer(&pstore_timer, + jiffies + msecs_to_jiffies(pstore_update_ms)); } module_param(backend, charp, 0444); Patches currently in stable-queue which might be from keescook@chromium.org are queue-4.9/fs-xattr.c-zero-out-memory-copied-to-userspace-in-getxattr.patch queue-4.9/pstore-shut-down-worker-when-unregistering.patch queue-4.9/pstore-fix-flags-to-enable-dumps-on-powerpc.patch