public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [OOPS 2.6.21-rc7-mm1] kernel BUG at fs/sysfs/inode.c:272 (sysfs_drop_dentry)
@ 2007-04-24 15:20 Vincent Vanackere
  2007-04-24 16:33 ` Tejun Heo
  0 siblings, 1 reply; 6+ messages in thread
From: Vincent Vanackere @ 2007-04-24 15:20 UTC (permalink / raw)
  To: linux kernel mailing list, Greg KH, Tejun Heo, Andrew Morton

Hi,

I'm getting the following oops at boot with the latest -mm kernel :
---------------------------------------------------------------
kernel BUG at fs/sysfs/inode.c:272
...
EIP is at sysfs_drop_dentry+0x139/0x165

Call trace :
remove_dir
__sysfs_remove_dir
dput
kobject_del
device_del
...
------------------------------------------------------------------

A screenshot of the oops is available at request...

Best regards,

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OOPS 2.6.21-rc7-mm1] kernel BUG at fs/sysfs/inode.c:272 (sysfs_drop_dentry)
  2007-04-24 15:20 [OOPS 2.6.21-rc7-mm1] kernel BUG at fs/sysfs/inode.c:272 (sysfs_drop_dentry) Vincent Vanackere
@ 2007-04-24 16:33 ` Tejun Heo
  2007-04-24 17:33   ` Andrew Morton
  0 siblings, 1 reply; 6+ messages in thread
From: Tejun Heo @ 2007-04-24 16:33 UTC (permalink / raw)
  To: Vincent Vanackere; +Cc: linux kernel mailing list, Greg KH, Andrew Morton

Vincent Vanackere wrote:
> Hi,
> 
> I'm getting the following oops at boot with the latest -mm kernel :
> ---------------------------------------------------------------
> kernel BUG at fs/sysfs/inode.c:272

Known problem.  Working on it.  Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OOPS 2.6.21-rc7-mm1] kernel BUG at fs/sysfs/inode.c:272 (sysfs_drop_dentry)
  2007-04-24 16:33 ` Tejun Heo
@ 2007-04-24 17:33   ` Andrew Morton
  2007-04-24 17:51     ` Tejun Heo
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2007-04-24 17:33 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Vincent Vanackere, linux kernel mailing list, Greg KH

On Wed, 25 Apr 2007 01:33:59 +0900 Tejun Heo <htejun@gmail.com> wrote:

> Vincent Vanackere wrote:
> > Hi,
> > 
> > I'm getting the following oops at boot with the latest -mm kernel :
> > ---------------------------------------------------------------
> > kernel BUG at fs/sysfs/inode.c:272
> 
> Known problem.  Working on it.  Thanks.
> 

If it had been known by me I wouldn't have released known-buggy code to
people who need to be able to test other people's code too. (argh)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OOPS 2.6.21-rc7-mm1] kernel BUG at fs/sysfs/inode.c:272 (sysfs_drop_dentry)
  2007-04-24 17:33   ` Andrew Morton
@ 2007-04-24 17:51     ` Tejun Heo
  2007-04-24 17:58       ` Andrew Morton
  0 siblings, 1 reply; 6+ messages in thread
From: Tejun Heo @ 2007-04-24 17:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Vincent Vanackere, linux kernel mailing list, Greg KH

Andrew Morton wrote:
> On Wed, 25 Apr 2007 01:33:59 +0900 Tejun Heo <htejun@gmail.com> wrote:
> 
>> Vincent Vanackere wrote:
>>> Hi,
>>>
>>> I'm getting the following oops at boot with the latest -mm kernel :
>>> ---------------------------------------------------------------
>>> kernel BUG at fs/sysfs/inode.c:272
>> Known problem.  Working on it.  Thanks.
>>
> 
> If it had been known by me I wouldn't have released known-buggy code to
> people who need to be able to test other people's code too. (argh)
> 

It's the problem Cornelia reported in the thread the patch was posted.
Okay, somehow it's missing lkml on cc list.  I included everybody
related but missed lkml.  A lot of screw ups lately.  My apologies.
Currently, known problems are...

1. new sysfs_drop_dentry() not allowing drop of parent when it's not
empty.  Reported by Cornelia and this thread reports the same problem.
I'm working on it now.

2. using sysfs_dirent pointer as sysfs inode number doesn't work because
ino_t is smaller than ulong on some archs.  It's also broken for 32bit
apps on 64bit archs.  Updated patch just submitted for review.

3. Sysfs rename doesn't work.  I broke it during the first series of
sysfs updates.  Will fix in a few days.

Again, sorry for all the troubles.  I'll be more careful.

-- 
tejun

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OOPS 2.6.21-rc7-mm1] kernel BUG at fs/sysfs/inode.c:272 (sysfs_drop_dentry)
  2007-04-24 17:51     ` Tejun Heo
@ 2007-04-24 17:58       ` Andrew Morton
  2007-04-24 20:15         ` Tejun Heo
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2007-04-24 17:58 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Vincent Vanackere, linux kernel mailing list, Greg KH

On Wed, 25 Apr 2007 02:51:43 +0900 Tejun Heo <htejun@gmail.com> wrote:

> Andrew Morton wrote:
> > On Wed, 25 Apr 2007 01:33:59 +0900 Tejun Heo <htejun@gmail.com> wrote:
> > 
> >> Vincent Vanackere wrote:
> >>> Hi,
> >>>
> >>> I'm getting the following oops at boot with the latest -mm kernel :
> >>> ---------------------------------------------------------------
> >>> kernel BUG at fs/sysfs/inode.c:272
> >> Known problem.  Working on it.  Thanks.
> >>
> > 
> > If it had been known by me I wouldn't have released known-buggy code to
> > people who need to be able to test other people's code too. (argh)
> > 
> 
> It's the problem Cornelia reported in the thread the patch was posted.

Is there a workaround?  What might happen if we just delete that BUG_ON()?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OOPS 2.6.21-rc7-mm1] kernel BUG at fs/sysfs/inode.c:272 (sysfs_drop_dentry)
  2007-04-24 17:58       ` Andrew Morton
@ 2007-04-24 20:15         ` Tejun Heo
  0 siblings, 0 replies; 6+ messages in thread
From: Tejun Heo @ 2007-04-24 20:15 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Vincent Vanackere, linux kernel mailing list, Greg KH

On Tue, Apr 24, 2007 at 10:58:44AM -0700, Andrew Morton wrote:
> On Wed, 25 Apr 2007 02:51:43 +0900 Tejun Heo <htejun@gmail.com> wrote:
> 
> > Andrew Morton wrote:
> > > On Wed, 25 Apr 2007 01:33:59 +0900 Tejun Heo <htejun@gmail.com> wrote:
> > > 
> > >> Vincent Vanackere wrote:
> > >>> Hi,
> > >>>
> > >>> I'm getting the following oops at boot with the latest -mm kernel :
> > >>> ---------------------------------------------------------------
> > >>> kernel BUG at fs/sysfs/inode.c:272
> > >> Known problem.  Working on it.  Thanks.
> > >>
> > > 
> > > If it had been known by me I wouldn't have released known-buggy code to
> > > people who need to be able to test other people's code too. (argh)
> > > 
> > 
> > It's the problem Cornelia reported in the thread the patch was posted.
> 
> Is there a workaround?  What might happen if we just delete that BUG_ON()?

Okay, here's the workaround.  It leaks dentries and inodes if parent
is deleted first but other than that it should be okay.

diff --git a/fs/sysfs/inode.c b/fs/sysfs/inode.c
index eea50a5..b466671 100644
--- a/fs/sysfs/inode.c
+++ b/fs/sysfs/inode.c
@@ -212,8 +212,11 @@ static struct dentry *sysfs_lookup_sd(struct sysfs_dirent *sd)
 	depth = sysfs_path_depth(sd);
 
 	while (depth--) {
-		/* negative intermediate node is a BUG */
-		BUG_ON(!dentry->d_inode);
+		/* XXX */ /* negative intermediate node is a BUG */
+		/* XXX */ /* BUG_ON(!dentry->d_inode); */
+		if (!dentry->d_inode)
+			return NULL;
+		/* XXX */
 
 		for (cur = sd, i = 0; i < depth; i++)
 			cur = cur->s_parent;
@@ -269,7 +272,7 @@ void sysfs_drop_dentry(struct sysfs_dirent *sd)
 	}
 
 	if (isdir) {
-		BUG_ON(!simple_empty(dentry));
+		/* XXX */ /* BUG_ON(!simple_empty(dentry)); */
 		drop_nlink(dir);
 		/* unpin if directory */
 		dput(dentry);

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-04-24 20:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-24 15:20 [OOPS 2.6.21-rc7-mm1] kernel BUG at fs/sysfs/inode.c:272 (sysfs_drop_dentry) Vincent Vanackere
2007-04-24 16:33 ` Tejun Heo
2007-04-24 17:33   ` Andrew Morton
2007-04-24 17:51     ` Tejun Heo
2007-04-24 17:58       ` Andrew Morton
2007-04-24 20:15         ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox