public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] JFFS: drop kernel lock on exit from garbage collecting thread
@ 2005-10-28 11:20 Sergei Shtylylov
  0 siblings, 0 replies; only message in thread
From: Sergei Shtylylov @ 2005-10-28 11:20 UTC (permalink / raw)
  To: linux-mtd; +Cc: Konstantin Baidarov

[-- Attachment #1: Type: text/plain, Size: 340 bytes --]

Hello.

    JFFS forgets to drop a kernel lock it grabs in the garbage collecting 
thread when that thread is killed by jffs_put_user(). This causes a couple of 
BUG messages and a call trace to be printed out on unmounting JFFS with the 
alternate spinlock implemetation which checks for the kernel lock state 
consistency...

WBR, Sergei

[-- Attachment #2: JFFS-GC-drop-kernel-lock.patch --]
[-- Type: text/plain, Size: 666 bytes --]

Signed-off-by: Konstantin Baidarov <kbaidarov@ru.mvista.com>
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>

Index: fs/jffs/intrep.c
===================================================================
RCS file: /home/cvs/mtd/fs/jffs/intrep.c,v
retrieving revision 1.105
diff -a -u -p -r1.105 intrep.c
--- fs/jffs/intrep.c	2 Jul 2003 20:39:55 -0000	1.105
+++ fs/jffs/intrep.c	28 Oct 2005 11:09:06 -0000
@@ -3442,6 +3442,7 @@ jffs_garbage_collect_thread(void *ptr)
 			case SIGKILL:
 				D1(printk("jffs_garbage_collect_thread(): SIGKILL received.\n"));
 				c->gc_task = NULL;
+				unlock_kernel();
 				complete_and_exit(&c->gc_thread_comp, 0);
 			}
 		}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-10-28 11:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-28 11:20 [PATCH] JFFS: drop kernel lock on exit from garbage collecting thread Sergei Shtylylov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox