lkml.org 
[lkml]   [2004]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectBUG: Problem with your patches for sysfs from 2 weeks ago
Maneesh:

I've been tracing a problem with sysfs that starting showing up just
recently, and it seems likely to have originated with your patches from a
couple of weeks ago. I can't tell exactly what's wrong or fix it because
I don't understand the filesystem layer well enough.

The problem I found (there may be others) shows up when trying to delete a
nonexistent symlink -- presumably trying to delete a nonexistent file
would have a similar result. The code in sysfs_hash_and_remove() does a
lookup on the nonexistent name and sysfs_get_dentry() returns a
newly-allocated dentry. Creating the new entry increments the parent
directory's d_count, of course. But at the end of the routine, when
dput() is called for the new dentry, the parent's d_count does _not_ get
decremented. The new dentry is placed on the dentry_unused list and the
parent is left with an anomalously large d_count. This doesn't ever seem
to get resolved, and when the directory's kobject is deleted the reference
you added doesn't get dropped.

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.326 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site