linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] 2.4.7-ac4/ac5 dies due to double unlock
@ 2001-08-04 21:56 Petr Vandrovec
  2001-08-04 22:59 ` Alexander Viro
  0 siblings, 1 reply; 2+ messages in thread
From: Petr Vandrovec @ 2001-08-04 21:56 UTC (permalink / raw)
  To: alan; +Cc: linux-kernel, viro

Hi Alan,
  double-unlock on sb_lock in try_to_sync_unused inodes when 
try_to_sync_unused_list() returns 0... It is reliably
triggered by xmms loading mp3 tags from vfat...

  Originally from 2.4.7-ac4, but still unfixed in -ac5.
					Thanks,
						Petr Vandrovec
						vandrove@vc.cvut.cz

diff -urdN linux/fs/inode.c linux/fs/inode.c
--- linux/fs/inode.c	Sat Aug  4 00:02:18 2001
+++ linux/fs/inode.c	Sat Aug  4 17:37:50 2001
@@ -412,7 +412,7 @@
 			continue;
 		spin_unlock(&sb_lock);
 		if (!try_to_sync_unused_list(&sb->s_dirty))
-			break;
+			return;
 		spin_lock(&sb_lock);
 	}
 	spin_unlock(&sb_lock);




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] 2.4.7-ac4/ac5 dies due to double unlock
  2001-08-04 21:56 [PATCH] 2.4.7-ac4/ac5 dies due to double unlock Petr Vandrovec
@ 2001-08-04 22:59 ` Alexander Viro
  0 siblings, 0 replies; 2+ messages in thread
From: Alexander Viro @ 2001-08-04 22:59 UTC (permalink / raw)
  To: Petr Vandrovec; +Cc: alan, linux-kernel



On Sat, 4 Aug 2001, Petr Vandrovec wrote:

> Hi Alan,
>   double-unlock on sb_lock in try_to_sync_unused inodes when 
> try_to_sync_unused_list() returns 0... It is reliably
> triggered by xmms loading mp3 tags from vfat...
> 
>   Originally from 2.4.7-ac4, but still unfixed in -ac5.

Thanks for spotting. Hell knows where that break; had come from - in
namespaces-patch we do return; in that place and that what should've
been in the splitup that went into -ac. My apologies...

> diff -urdN linux/fs/inode.c linux/fs/inode.c
> --- linux/fs/inode.c	Sat Aug  4 00:02:18 2001
> +++ linux/fs/inode.c	Sat Aug  4 17:37:50 2001
> @@ -412,7 +412,7 @@
>  			continue;
>  		spin_unlock(&sb_lock);
>  		if (!try_to_sync_unused_list(&sb->s_dirty))
> -			break;
> +			return;
>  		spin_lock(&sb_lock);
>  	}
>  	spin_unlock(&sb_lock);

Yup. Alan, apply it, please.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-08-04 22:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-04 21:56 [PATCH] 2.4.7-ac4/ac5 dies due to double unlock Petr Vandrovec
2001-08-04 22:59 ` Alexander Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).