* [PATCH] affs: fix missing unlocks in affs_remove_link
@ 2008-05-09 10:35 Christoph Hellwig
2008-05-21 12:38 ` Christoph Hellwig
0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2008-05-09 10:35 UTC (permalink / raw)
To: Roman Zippel; +Cc: linux-fsdevel
In two error cases affs_remove_link doesn't call affs_unlock_dir to
release the i_hash_lock semaphore.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Index: linux-2.6/fs/affs/amigaffs.c
===================================================================
--- linux-2.6.orig/fs/affs/amigaffs.c 2008-04-29 17:15:30.000000000 +0200
+++ linux-2.6/fs/affs/amigaffs.c 2008-04-29 17:16:15.000000000 +0200
@@ -179,14 +179,18 @@ affs_remove_link(struct dentry *dentry)
affs_lock_dir(dir);
affs_fix_dcache(dentry, link_ino);
retval = affs_remove_hash(dir, link_bh);
- if (retval)
+ if (retval) {
+ affs_unlock_dir(dir);
goto done;
+ }
mark_buffer_dirty_inode(link_bh, inode);
memcpy(AFFS_TAIL(sb, bh)->name, AFFS_TAIL(sb, link_bh)->name, 32);
retval = affs_insert_hash(dir, bh);
- if (retval)
+ if (retval) {
+ affs_unlock_dir(dir);
goto done;
+ }
mark_buffer_dirty_inode(bh, inode);
affs_unlock_dir(dir);
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] affs: fix missing unlocks in affs_remove_link
2008-05-09 10:35 [PATCH] affs: fix missing unlocks in affs_remove_link Christoph Hellwig
@ 2008-05-21 12:38 ` Christoph Hellwig
2008-08-10 23:47 ` Christoph Hellwig
0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2008-05-21 12:38 UTC (permalink / raw)
To: Roman Zippel; +Cc: linux-fsdevel
ping?
On Fri, May 09, 2008 at 12:35:29PM +0200, Christoph Hellwig wrote:
> In two error cases affs_remove_link doesn't call affs_unlock_dir to
> release the i_hash_lock semaphore.
>
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
>
> Index: linux-2.6/fs/affs/amigaffs.c
> ===================================================================
> --- linux-2.6.orig/fs/affs/amigaffs.c 2008-04-29 17:15:30.000000000 +0200
> +++ linux-2.6/fs/affs/amigaffs.c 2008-04-29 17:16:15.000000000 +0200
> @@ -179,14 +179,18 @@ affs_remove_link(struct dentry *dentry)
> affs_lock_dir(dir);
> affs_fix_dcache(dentry, link_ino);
> retval = affs_remove_hash(dir, link_bh);
> - if (retval)
> + if (retval) {
> + affs_unlock_dir(dir);
> goto done;
> + }
> mark_buffer_dirty_inode(link_bh, inode);
>
> memcpy(AFFS_TAIL(sb, bh)->name, AFFS_TAIL(sb, link_bh)->name, 32);
> retval = affs_insert_hash(dir, bh);
> - if (retval)
> + if (retval) {
> + affs_unlock_dir(dir);
> goto done;
> + }
> mark_buffer_dirty_inode(bh, inode);
>
> affs_unlock_dir(dir);
---end quoted text---
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] affs: fix missing unlocks in affs_remove_link
2008-05-21 12:38 ` Christoph Hellwig
@ 2008-08-10 23:47 ` Christoph Hellwig
2008-09-08 17:36 ` Christoph Hellwig
0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2008-08-10 23:47 UTC (permalink / raw)
To: Roman Zippel; +Cc: linux-fsdevel
ping?
On Wed, May 21, 2008 at 02:38:21PM +0200, Christoph Hellwig wrote:
> ping?
>
> On Fri, May 09, 2008 at 12:35:29PM +0200, Christoph Hellwig wrote:
> > In two error cases affs_remove_link doesn't call affs_unlock_dir to
> > release the i_hash_lock semaphore.
> >
> >
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
> >
> > Index: linux-2.6/fs/affs/amigaffs.c
> > ===================================================================
> > --- linux-2.6.orig/fs/affs/amigaffs.c 2008-04-29 17:15:30.000000000 +0200
> > +++ linux-2.6/fs/affs/amigaffs.c 2008-04-29 17:16:15.000000000 +0200
> > @@ -179,14 +179,18 @@ affs_remove_link(struct dentry *dentry)
> > affs_lock_dir(dir);
> > affs_fix_dcache(dentry, link_ino);
> > retval = affs_remove_hash(dir, link_bh);
> > - if (retval)
> > + if (retval) {
> > + affs_unlock_dir(dir);
> > goto done;
> > + }
> > mark_buffer_dirty_inode(link_bh, inode);
> >
> > memcpy(AFFS_TAIL(sb, bh)->name, AFFS_TAIL(sb, link_bh)->name, 32);
> > retval = affs_insert_hash(dir, bh);
> > - if (retval)
> > + if (retval) {
> > + affs_unlock_dir(dir);
> > goto done;
> > + }
> > mark_buffer_dirty_inode(bh, inode);
> >
> > affs_unlock_dir(dir);
> ---end quoted text---
---end quoted text---
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] affs: fix missing unlocks in affs_remove_link
2008-08-10 23:47 ` Christoph Hellwig
@ 2008-09-08 17:36 ` Christoph Hellwig
0 siblings, 0 replies; 4+ messages in thread
From: Christoph Hellwig @ 2008-09-08 17:36 UTC (permalink / raw)
To: Roman Zippel; +Cc: linux-fsdevel
ping^3?
On Mon, Aug 11, 2008 at 01:47:08AM +0200, Christoph Hellwig wrote:
> ping?
>
> On Wed, May 21, 2008 at 02:38:21PM +0200, Christoph Hellwig wrote:
> > ping?
> >
> > On Fri, May 09, 2008 at 12:35:29PM +0200, Christoph Hellwig wrote:
> > > In two error cases affs_remove_link doesn't call affs_unlock_dir to
> > > release the i_hash_lock semaphore.
> > >
> > >
> > > Signed-off-by: Christoph Hellwig <hch@lst.de>
> > >
> > > Index: linux-2.6/fs/affs/amigaffs.c
> > > ===================================================================
> > > --- linux-2.6.orig/fs/affs/amigaffs.c 2008-04-29 17:15:30.000000000 +0200
> > > +++ linux-2.6/fs/affs/amigaffs.c 2008-04-29 17:16:15.000000000 +0200
> > > @@ -179,14 +179,18 @@ affs_remove_link(struct dentry *dentry)
> > > affs_lock_dir(dir);
> > > affs_fix_dcache(dentry, link_ino);
> > > retval = affs_remove_hash(dir, link_bh);
> > > - if (retval)
> > > + if (retval) {
> > > + affs_unlock_dir(dir);
> > > goto done;
> > > + }
> > > mark_buffer_dirty_inode(link_bh, inode);
> > >
> > > memcpy(AFFS_TAIL(sb, bh)->name, AFFS_TAIL(sb, link_bh)->name, 32);
> > > retval = affs_insert_hash(dir, bh);
> > > - if (retval)
> > > + if (retval) {
> > > + affs_unlock_dir(dir);
> > > goto done;
> > > + }
> > > mark_buffer_dirty_inode(bh, inode);
> > >
> > > affs_unlock_dir(dir);
> > ---end quoted text---
> ---end quoted text---
---end quoted text---
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-09-08 17:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-09 10:35 [PATCH] affs: fix missing unlocks in affs_remove_link Christoph Hellwig
2008-05-21 12:38 ` Christoph Hellwig
2008-08-10 23:47 ` Christoph Hellwig
2008-09-08 17:36 ` Christoph Hellwig
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).