Re: [PATCH] affs: fix missing unlocks in affs_remove_link

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxx>
> > > 
> > > 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---
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux