From 959217c84c2765434cd2cbf3d7ffdc09e90834f9 Mon Sep 17 00:00:00 2001 From: Li Pengcheng Date: Sat, 5 Nov 2016 10:15:59 +0800 Subject: [PATCH] pstore: Actually give up during locking failure Without a return after the pr_err(), dumps will collide when two threads call pstore_dump() at the same time. Signed-off-by: Liu Hailong Signed-off-by: Li Pengcheng Signed-off-by: Li Zhong [kees: improved commit message] Signed-off-by: Kees Cook --- fs/pstore/platform.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index 14984d902a99..60e6db6f5da2 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -493,6 +493,7 @@ static void pstore_dump(struct kmsg_dumper *dumper, if (!is_locked) { pr_err("pstore dump routine blocked in %s path, may corrupt error record\n" , in_nmi() ? "NMI" : why); + return; } } else { spin_lock_irqsave(&psinfo->buf_lock, flags);