Re: [PATCH 2.6.24-rc7 2/2] sysfs: fix bugs in sysfs_rename/move_dir()

2008-01-16 Thread Al Viro
On Wed, Jan 16, 2008 at 04:23:13PM +0900, Tejun Heo wrote: > The two posted patches are bug fixes for apparent bugs which can be > triggered by the current two users of the interface. AFAICS, locking > there is weird but correct for the current two users. If you can find > any problem there, ple

Re: [PATCH 2.6.24-rc7 2/2] sysfs: fix bugs in sysfs_rename/move_dir()

2008-01-16 Thread Cornelia Huck
On Wed, 16 Jan 2008 15:47:11 +0900, Tejun Heo <[EMAIL PROTECTED]> wrote: > Linus Torvalds wrote: > > > > On Wed, 16 Jan 2008, Tejun Heo wrote: > >> * sysfs_move_dir() has an extra dput() on success path. > > > > Are you sure? How did this ever work? > > I'm pretty sure. I've seen dentry blowin

Re: [PATCH 2.6.24-rc7 2/2] sysfs: fix bugs in sysfs_rename/move_dir()

2008-01-16 Thread Tejun Heo
Hello. Al Viro wrote: > No ACK is coming until we get something resembling analysis of locking > scheme. Which won't happen until we at least get the "what callers are > allowed to do" written down, damnit. I agree that sysfs needs further clean up. As I wrote in the earlier thread, sysfs has b

Re: [PATCH 2.6.24-rc7 2/2] sysfs: fix bugs in sysfs_rename/move_dir()

2008-01-15 Thread Tejun Heo
Linus Torvalds wrote: > > On Wed, 16 Jan 2008, Tejun Heo wrote: >> * sysfs_move_dir() has an extra dput() on success path. > > Are you sure? How did this ever work? I'm pretty sure. I've seen dentry blowing up due to early release && compared it with older code. It was my mistake during restru

Re: [PATCH 2.6.24-rc7 2/2] sysfs: fix bugs in sysfs_rename/move_dir()

2008-01-15 Thread Al Viro
On Tue, Jan 15, 2008 at 07:41:58PM -0800, Linus Torvalds wrote: > and wonder what happen sif old_parent == new_parent. Is that trying to > avoid an ABBA deadlock? Normally you'd do it by ordering the locks, or by > taking a third lock to guarantee serialization at a higher level (ie the > "s_vf

Re: [PATCH 2.6.24-rc7 2/2] sysfs: fix bugs in sysfs_rename/move_dir()

2008-01-15 Thread Linus Torvalds
On Wed, 16 Jan 2008, Tejun Heo wrote: > > * sysfs_move_dir() has an extra dput() on success path. Are you sure? How did this ever work? Also, looking at this, I think the "how did this ever work" question is answered by "it didn't", but I also think there are still serious problems there. Loo

[PATCH 2.6.24-rc7 2/2] sysfs: fix bugs in sysfs_rename/move_dir()

2008-01-15 Thread Tejun Heo
sysfs_rename/move_dir() have the following bugs. * On dentry lookup failure, kfree() is called on ERR_PTR() value. * sysfs_move_dir() has an extra dput() on success path. Fix them. Signed-off-by: Tejun Heo <[EMAIL PROTECTED]> --- fs/sysfs/dir.c |4 +++- 1 file changed, 3 insertions(+), 1 de