Re: [PATCH] fix sysfs_readdir oops (was Re: sysfs reclaim crash)

2007-04-07 Thread Tejun Heo
Hello, Maneesh. Maneesh Soni wrote: > o sysfs_d_iput() is invoked in dentry reclaim path under memory pressure. This > happens without i_mutex. It also nullifies s_dentry to indicate that > the associated dentry is evicted. sysfs_readdir() accesses the s_dentry, > and gets the inode number f

Re: [PATCH] fix sysfs_readdir oops (was Re: sysfs reclaim crash)

2007-04-03 Thread Ethan Solomita
Maneesh Soni wrote: > I have modified the previous patch (which was dropped from -mm) and now > keeping > the statement making s_dentry as NULL in sysfs_d_iput(), so this should > _safely_ fix sysfs_readdir() oops. > If you could find some additional places in sysfs code to add new BUG()

[PATCH] fix sysfs_readdir oops (was Re: sysfs reclaim crash)

2007-04-03 Thread Maneesh Soni
On Sat, Mar 24, 2007 at 08:35:35AM +0530, Maneesh Soni wrote: > On Fri, Mar 23, 2007 at 12:43:27PM -0700, Ethan Solomita wrote: > > I ran stress testing overnight and came up with a similar failure > > (s_dentry == NULL) but in a different location. A NULL pointer > > dereference happened in sy

Re: sysfs reclaim crash

2007-03-27 Thread Maneesh Soni
On Tue, Mar 27, 2007 at 11:27:14AM -0700, Ethan Solomita wrote: > Hi Maneesh -- I will start testing with the patch you provided. If > you come up with any further issues please let me know. Also, if you > could > suggest some additional BUG() lines that I could insert I would > app

Re: sysfs reclaim crash

2007-03-27 Thread Ethan Solomita
Hi Maneesh -- I will start testing with the patch you provided. If you come up with any further issues please let me know. Also, if you could suggest some additional BUG() lines that I could insert I would appreciate it. Since the bug is hard to reproduce, it may be easier to catch a race cond

Re: sysfs reclaim crash

2007-03-23 Thread Maneesh Soni
On Fri, Mar 23, 2007 at 12:43:27PM -0700, Ethan Solomita wrote: > I ran stress testing overnight and came up with a similar failure > (s_dentry == NULL) but in a different location. A NULL pointer > dereference happened in sysfs_readdir(): > > |if (next->s_dentr