]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
UBUNTU: SAUCE: bcache: prevent crash on changing writeback_running
authorStefan Bader <stefan.bader@canonical.com>
Thu, 21 Aug 2014 12:19:27 +0000 (14:19 +0200)
committerTim Gardner <tim.gardner@canonical.com>
Fri, 26 Feb 2016 02:44:02 +0000 (19:44 -0700)
BugLink: http://bugs.launchpad.net/bugs/1357295
commit a664d0f05a2ec02c8f042db536d84d15d6e19e81
    bcache: fix crash on shutdown in passthrough mode

added a safeguard in the shutdown case. At least while not being
attached it is also possible to trigger a kernel bug by writing into
writeback_running. This change  adds the same check before trying to
wake up the thread for that case.

BugLink: http://bugs.launchpad.net/bugs/1357295
(sent upstream and accepted into developer tree but not, yet Linus)
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
drivers/md/bcache/writeback.h

index 0a9dab187b79c7ef0a4429c4616a6985d320b964..073a042aed243b2660f6b70a380d0647c709aa65 100644 (file)
@@ -63,7 +63,8 @@ static inline bool should_writeback(struct cached_dev *dc, struct bio *bio,
 
 static inline void bch_writeback_queue(struct cached_dev *dc)
 {
-       wake_up_process(dc->writeback_thread);
+       if (!IS_ERR_OR_NULL(dc->writeback_thread))
+               wake_up_process(dc->writeback_thread);
 }
 
 static inline void bch_writeback_add(struct cached_dev *dc)