2008-03-03 15:24:55

by Holger Kiehl

[permalink] [raw]
Subject: sysfs: duplicate filename '74' can not be created

Hello

I get this approx. 4 hours after booting into 2.6.24.3 (2.6.23.16 worked
fine). This system has 4 CPU's (single core) and 8GB ram. Here some more
details:


Mar 3 13:36:56 helena -- MARK --
Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1
Mar 3 13:50:01 helena kernel:
Mar 3 13:50:01 helena kernel: Call Trace:
Mar 3 13:50:01 helena kernel: [<ffffffff802b8640>] sysfs_add_one+0x54/0xbd
Mar 3 13:50:01 helena kernel: [<ffffffff802b8bc4>] create_dir+0x4f/0x87
Mar 3 13:50:01 helena kernel: [<ffffffff802b8c31>] sysfs_create_dir+0x35/0x4a
Mar 3 13:50:01 helena kernel: [<ffffffff802eafc5>] kobject_get+0x12/0x17
Mar 3 13:50:01 helena kernel: [<ffffffff802eb4ff>] kobject_add+0xf3/0x1a7
Mar 3 13:50:01 helena kernel: [<ffffffff80234513>] user_kobject_create+0x77/0xa7
Mar 3 13:50:01 helena kernel: [<ffffffff80234914>] alloc_uid+0xc8/0x148
Mar 3 13:50:01 helena kernel: [<ffffffff80237e40>] set_user+0x25/0xa8
Mar 3 13:50:01 helena kernel: [<ffffffff80239b6a>] sys_setresuid+0xf0/0x18a
Mar 3 13:50:01 helena kernel: [<ffffffff8020b61e>] system_call+0x7e/0x83
Mar 3 13:50:01 helena kernel:
Mar 3 13:50:01 helena kernel: kobject_add failed for 74 with -EEXIST, don't try to register things with the same name in the same directory.
Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1
Mar 3 13:50:01 helena kernel:
Mar 3 13:50:01 helena kernel: Call Trace:
Mar 3 13:50:01 helena kernel: [<ffffffff802eb57e>] kobject_add+0x172/0x1a7
Mar 3 13:50:01 helena kernel: [<ffffffff80234513>] user_kobject_create+0x77/0xa7
Mar 3 13:50:01 helena kernel: [<ffffffff80234914>] alloc_uid+0xc8/0x148
Mar 3 13:50:01 helena kernel: [<ffffffff80237e40>] set_user+0x25/0xa8
Mar 3 13:50:01 helena kernel: [<ffffffff80239b6a>] sys_setresuid+0xf0/0x18a
Mar 3 13:50:01 helena kernel: [<ffffffff8020b61e>] system_call+0x7e/0x83
Mar 3 13:50:01 helena kernel:

A short while latter I was getting this message:

Mar 3 13:54:05 helena kernel: general protection fault: 0000 [1] SMP
Mar 3 13:54:05 helena kernel: CPU 3
Mar 3 13:54:05 helena kernel: Modules linked in: w83627hf lm63 lm85 hwmon_vid i2c_amd756_s4882 bonding nf_conntrack_ftp nf_conntrack_netbios_ns ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack xt_tcpudp iptable_filter ip_tables x_tables binfmt_misc video output ac floppy nvram ohci_hcd i2c_amd756 k8temp i2c_core button usbcore
Mar 3 13:54:05 helena kernel: Pid: 23587, comm: vsftpd Not tainted 2.6.24.3 #1
Mar 3 13:54:05 helena kernel: RIP: 0010:[<ffffffff80279170>] [<ffffffff80279170>] __kmalloc_track_caller+0x85/0xb9
Mar 3 13:54:05 helena kernel: RSP: 0018:ffff8101dad09da8 EFLAGS: 00010002
Mar 3 13:54:05 helena kernel: RAX: 0000000000000000 RBX: 00000000000000d0 RCX: fffffffffffffffa
Mar 3 13:54:05 helena kernel: RDX: 205347414c465f43 RSI: 00000000000000d0 RDI: ffffffff80554e38
Mar 3 13:54:05 helena kernel: RBP: 0000000000000286 R08: 0000000000000000 R09: ffffffff80554e38
Mar 3 13:54:05 helena kernel: R10: 0000000000000002 R11: 0000000000000246 R12: ffff810200026800
Mar 3 13:54:05 helena kernel: R13: ffffffff802b876b R14: 00000000000041ed R15: ffffffff805d6900
Mar 3 13:54:05 helena kernel: FS: 00002ab9d3d12000(0000) GS:ffff81027e30c300(0000) knlGS:00000000ad97aba0
Mar 3 13:54:05 helena kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Mar 3 13:54:05 helena kernel: CR2: 000055555556bb2d CR3: 00000001fa9ec000 CR4: 00000000000006e0
Mar 3 13:54:05 helena kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Mar 3 13:54:05 helena kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Mar 3 13:54:05 helena kernel: Process vsftpd (pid: 23587, threadinfo ffff8101dad08000, task ffff8101faafa000)
Mar 3 13:54:05 helena kernel: Stack: ffff81027da4b7d0 0000000000000005 ffff81027da4b7d0 0000000000000000
Mar 3 13:54:05 helena kernel: 0000000000000001 ffffffff802620ef 0000003000000018 0000000000000000
Mar 3 13:54:05 helena kernel: ffff81027da4b7d0 ffffffff802b876b 0000000000000007 00002ab9d31ca7e0
Mar 3 13:54:05 helena kernel: Call Trace:
Mar 3 13:54:05 helena kernel: [<ffffffff802620ef>] kstrdup+0x2a/0x3f
Mar 3 13:54:05 helena kernel: [<ffffffff802b876b>] sysfs_new_dirent+0x29/0xfe
Mar 3 13:54:05 helena kernel: [<ffffffff802b8ba2>] create_dir+0x2d/0x87
Mar 3 13:54:05 helena kernel: [<ffffffff80276571>] get_partial_node+0x15/0x7e
Mar 3 13:54:05 helena kernel: [<ffffffff80277fc8>] __slab_alloc+0xc3/0x390
Mar 3 13:54:05 helena kernel: [<ffffffff802b8c31>] sysfs_create_dir+0x35/0x4a
Mar 3 13:54:05 helena kernel: [<ffffffff802eafc5>] kobject_get+0x12/0x17
Mar 3 13:54:05 helena kernel: [<ffffffff802eb4ff>] kobject_add+0xf3/0x1a7
Mar 3 13:54:05 helena kernel: [<ffffffff80234513>] user_kobject_create+0x77/0xa7
Mar 3 13:54:05 helena kernel: [<ffffffff80234914>] alloc_uid+0xc8/0x148
Mar 3 13:54:05 helena kernel: [<ffffffff80237e40>] set_user+0x25/0xa8
Mar 3 13:54:05 helena kernel: [<ffffffff802399e8>] sys_setuid+0x4a/0xdc
Mar 3 13:54:05 helena kernel: [<ffffffff8020b61e>] system_call+0x7e/0x83
Mar 3 13:54:05 helena kernel:
Mar 3 13:54:05 helena kernel:
Mar 3 13:54:05 helena kernel: Code: 48 8b 04 c2 49 89 04 24 55 9d 31 c0 c1 eb 0f 48 85 d2 0f 95
Mar 3 13:54:05 helena kernel: RIP [<ffffffff80279170>] __kmalloc_track_caller+0x85/0xb9
Mar 3 13:54:05 helena kernel: RSP <ffff8101dad09da8>
Mar 3 13:54:05 helena kernel: ---[ end trace b8695bfb4832866d ]---

I was getting more and more of these and things become so bad that I had
to reset after about 20 minutes because ftp was no longer working and no
logins where possible.

Any idea what is causing this? Kernel 2.6.23.* seems to be fine.

Holger


PS: Please CC me I am not on the list.


2008-03-03 15:50:20

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On 3/3/08, Holger Kiehl <[email protected]> wrote:
> I get this approx. 4 hours after booting into 2.6.24.3 (2.6.23.16 worked
> fine). This system has 4 CPU's (single core) and 8GB ram. Here some more
> details:
>
>
> Mar 3 13:36:56 helena -- MARK --
> Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be
> created
> Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()

> Mar 3 13:54:05 helena kernel: Code: 48 8b 04 c2 49 89 04 24 55 9d 31 c0
> c1 eb 0f 48 85 d2 0f 95
> Mar 3 13:54:05 helena kernel: RIP [<ffffffff80279170>]
> __kmalloc_track_caller+0x85/0xb9
> Mar 3 13:54:05 helena kernel: RSP <ffff8101dad09da8>
> Mar 3 13:54:05 helena kernel: ---[ end trace b8695bfb4832866d ]---

> Any idea what is causing this? Kernel 2.6.23.* seems to be fine.

Turn CONFIG_USER_SCHED off.

I'll look at why oops happened.

2008-03-03 16:05:38

by Holger Kiehl

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Mon, 3 Mar 2008, Alexey Dobriyan wrote:

> On 3/3/08, Holger Kiehl <[email protected]> wrote:
>> I get this approx. 4 hours after booting into 2.6.24.3 (2.6.23.16 worked
>> fine). This system has 4 CPU's (single core) and 8GB ram. Here some more
>> details:
>>
>>
>> Mar 3 13:36:56 helena -- MARK --
>> Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be
>> created
>> Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
>
>> Mar 3 13:54:05 helena kernel: Code: 48 8b 04 c2 49 89 04 24 55 9d 31 c0
>> c1 eb 0f 48 85 d2 0f 95
>> Mar 3 13:54:05 helena kernel: RIP [<ffffffff80279170>]
>> __kmalloc_track_caller+0x85/0xb9
>> Mar 3 13:54:05 helena kernel: RSP <ffff8101dad09da8>
>> Mar 3 13:54:05 helena kernel: ---[ end trace b8695bfb4832866d ]---
>
>> Any idea what is causing this? Kernel 2.6.23.* seems to be fine.
>
> Turn CONFIG_USER_SCHED off.
>
I think you mean CONFIG_FAIR_USER_SCHED?

> I'll look at why oops happened.
>
If it helps I can send you all the oopses. I just posted this one.

Thanks,
Holger

2008-03-03 16:14:17

by Holger Kiehl

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Mon, 3 Mar 2008, Holger Kiehl wrote:

> On Mon, 3 Mar 2008, Alexey Dobriyan wrote:
>
>> On 3/3/08, Holger Kiehl <[email protected]> wrote:
>>> I get this approx. 4 hours after booting into 2.6.24.3 (2.6.23.16 worked
>>> fine). This system has 4 CPU's (single core) and 8GB ram. Here some more
>>> details:
>>>
>>>
>>> Mar 3 13:36:56 helena -- MARK --
>>> Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be
>>> created
>>> Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424
>>> sysfs_add_one()
>>
>>> Mar 3 13:54:05 helena kernel: Code: 48 8b 04 c2 49 89 04 24 55 9d 31 c0
>>> c1 eb 0f 48 85 d2 0f 95
>>> Mar 3 13:54:05 helena kernel: RIP [<ffffffff80279170>]
>>> __kmalloc_track_caller+0x85/0xb9
>>> Mar 3 13:54:05 helena kernel: RSP <ffff8101dad09da8>
>>> Mar 3 13:54:05 helena kernel: ---[ end trace b8695bfb4832866d ]---
>>
>>> Any idea what is causing this? Kernel 2.6.23.* seems to be fine.
>>
>> Turn CONFIG_USER_SCHED off.
>>
> I think you mean CONFIG_FAIR_USER_SCHED?
>
>> I'll look at why oops happened.
>>
> If it helps I can send you all the oopses. I just posted this one.
>
I forgot to mention that ALL oopses where always on CPU3.

Holger

2008-03-03 16:17:18

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On 3/3/08, Holger Kiehl <[email protected]> wrote:
> On Mon, 3 Mar 2008, Alexey Dobriyan wrote:
>
> > On 3/3/08, Holger Kiehl <[email protected]> wrote:
> >> I get this approx. 4 hours after booting into 2.6.24.3 (2.6.23.16 worked
> >> fine). This system has 4 CPU's (single core) and 8GB ram. Here some more
> >> details:
> >>
> >>
> >> Mar 3 13:36:56 helena -- MARK --
> >> Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be
> >> created
> >> Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424
> sysfs_add_one()
> >
> >> Mar 3 13:54:05 helena kernel: Code: 48 8b 04 c2 49 89 04 24 55 9d 31 c0
> >> c1 eb 0f 48 85 d2 0f 95
> >> Mar 3 13:54:05 helena kernel: RIP [<ffffffff80279170>]
> >> __kmalloc_track_caller+0x85/0xb9
> >> Mar 3 13:54:05 helena kernel: RSP <ffff8101dad09da8>
> >> Mar 3 13:54:05 helena kernel: ---[ end trace b8695bfb4832866d ]---
> >
> >> Any idea what is causing this? Kernel 2.6.23.* seems to be fine.
> >
> > Turn CONFIG_USER_SCHED off.
> >
> I think you mean CONFIG_FAIR_USER_SCHED?

Yep, I looked at current kernel.

> > I'll look at why oops happened.
> >
> If it helps I can send you all the oopses. I just posted this one.

Thanks, but no thanks. :-) This one should be enough.

2008-03-04 16:10:28

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

[Cc'ing /sys/kernel/uids guys]

> Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
> Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
> Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1

I see only one suspicious place: KOBJ_ADD is sent even if sysfs file
creation failed and kobject is happily removed. But this almost
certainly separate bug.



You can try this debugging patch. Post several first consecutive messages.
[crosses fingers]

--- a/kernel/user.c
+++ b/kernel/user.c
@@ -179,8 +179,11 @@ static int user_kobject_create(struct user_struct *up)
goto done;

error = sysfs_create_file(kobj, &up->user_attr.attr);
- if (error)
+ if (error) {
+ printk("%s: %p->uid = %d\n", __func__, up, up->uid);
+ WARN_ON(1);
kobject_del(kobj);
+ }

kobject_uevent(kobj, KOBJ_ADD);

@@ -363,6 +366,7 @@ struct user_struct * alloc_uid(struct user_namespace *ns, uid_t uid)
}

if (sched_create_user(new) < 0) {
+ WARN_ON(1);
key_put(new->uid_keyring);
key_put(new->session_keyring);
kmem_cache_free(uid_cachep, new);
@@ -371,6 +375,7 @@ struct user_struct * alloc_uid(struct user_namespace *ns, uid_t uid)
}

if (user_kobject_create(new)) {
+ WARN_ON(1);
sched_destroy_user(new);
key_put(new->uid_keyring);
key_put(new->session_keyring);
@@ -386,6 +391,10 @@ struct user_struct * alloc_uid(struct user_namespace *ns, uid_t uid)
spin_lock_irq(&uidhash_lock);
up = uid_hash_find(uid, hashent);
if (up) {
+#ifdef CONFIG_FAIR_USER_SCHED
+ printk("%s: %p->uid = %d\n", __func__, up, up->uid);
+ WARN_ON(1);
+#endif
/* This case is not possible when CONFIG_FAIR_USER_SCHED
* is defined, since we serialize alloc_uid() using
* uids_mutex. Hence no need to call
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
index 7af90fc..3479c55 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
@@ -32,6 +32,8 @@ static struct user_namespace *clone_user_ns(struct user_namespace *old_ns)
struct user_struct *new_user;
int n;

+ printk("%s: ENTER\n", __func__);
+
ns = kmalloc(sizeof(struct user_namespace), GFP_KERNEL);
if (!ns)
return ERR_PTR(-ENOMEM);

2008-03-04 16:39:14

by Dhaval Giani

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Tue, Mar 04, 2008 at 07:09:40PM +0300, Alexey Dobriyan wrote:
> [Cc'ing /sys/kernel/uids guys]
>

[Also adding gregkh to the cc :)]

> > Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
> > Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
> > Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1
>
> I see only one suspicious place: KOBJ_ADD is sent even if sysfs file
> creation failed and kobject is happily removed. But this almost
> certainly separate bug.
>
>
>
> You can try this debugging patch. Post several first consecutive messages.
> [crosses fingers]
>
> --- a/kernel/user.c
> +++ b/kernel/user.c
> @@ -179,8 +179,11 @@ static int user_kobject_create(struct user_struct *up)
> goto done;
>
> error = sysfs_create_file(kobj, &up->user_attr.attr);
> - if (error)
> + if (error) {
> + printk("%s: %p->uid = %d\n", __func__, up, up->uid);
> + WARN_ON(1);
> kobject_del(kobj);
> + }
>
> kobject_uevent(kobj, KOBJ_ADD);
>
> @@ -363,6 +366,7 @@ struct user_struct * alloc_uid(struct user_namespace *ns, uid_t uid)
> }
>
> if (sched_create_user(new) < 0) {
> + WARN_ON(1);
> key_put(new->uid_keyring);
> key_put(new->session_keyring);
> kmem_cache_free(uid_cachep, new);
> @@ -371,6 +375,7 @@ struct user_struct * alloc_uid(struct user_namespace *ns, uid_t uid)
> }
>
> if (user_kobject_create(new)) {
> + WARN_ON(1);
> sched_destroy_user(new);
> key_put(new->uid_keyring);
> key_put(new->session_keyring);
> @@ -386,6 +391,10 @@ struct user_struct * alloc_uid(struct user_namespace *ns, uid_t uid)
> spin_lock_irq(&uidhash_lock);
> up = uid_hash_find(uid, hashent);
> if (up) {
> +#ifdef CONFIG_FAIR_USER_SCHED
> + printk("%s: %p->uid = %d\n", __func__, up, up->uid);
> + WARN_ON(1);
> +#endif
> /* This case is not possible when CONFIG_FAIR_USER_SCHED
> * is defined, since we serialize alloc_uid() using
> * uids_mutex. Hence no need to call
> diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
> index 7af90fc..3479c55 100644
> --- a/kernel/user_namespace.c
> +++ b/kernel/user_namespace.c
> @@ -32,6 +32,8 @@ static struct user_namespace *clone_user_ns(struct user_namespace *old_ns)
> struct user_struct *new_user;
> int n;
>
> + printk("%s: ENTER\n", __func__);
> +
> ns = kmalloc(sizeof(struct user_namespace), GFP_KERNEL);
> if (!ns)
> return ERR_PTR(-ENOMEM);

--
regards,
Dhaval

2008-03-04 19:52:30

by Greg KH

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Tue, Mar 04, 2008 at 10:03:39PM +0530, Dhaval Giani wrote:
> On Tue, Mar 04, 2008 at 07:09:40PM +0300, Alexey Dobriyan wrote:
> > [Cc'ing /sys/kernel/uids guys]
> >
>
> [Also adding gregkh to the cc :)]
>
> > > Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
> > > Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
> > > Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1

What kernel version is this? 2.6.24 had lots of "issues" with the uids
code, I'm amazed it worked at all :)

2.6.25-rc should have this all fixed up, if not, please let me know.

thanks,

greg k-h

2008-03-05 08:59:50

by Dhaval Giani

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Tue, Mar 04, 2008 at 11:24:36AM -0800, Greg KH wrote:
> On Tue, Mar 04, 2008 at 10:03:39PM +0530, Dhaval Giani wrote:
> > On Tue, Mar 04, 2008 at 07:09:40PM +0300, Alexey Dobriyan wrote:
> > > [Cc'ing /sys/kernel/uids guys]
> > >
> >
> > [Also adding gregkh to the cc :)]
> >
> > > > Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
> > > > Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
> > > > Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1
>
> What kernel version is this? 2.6.24 had lots of "issues" with the uids
> code, I'm amazed it worked at all :)
>

:). Seems to be a stable series kernel (2.6.24.3). Can you please tell
me some of the issues, so that I can try to go fix it up.

thanks,
--
regards,
Dhaval

2008-03-06 06:12:11

by Greg KH

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Wed, Mar 05, 2008 at 02:29:22PM +0530, Dhaval Giani wrote:
> On Tue, Mar 04, 2008 at 11:24:36AM -0800, Greg KH wrote:
> > On Tue, Mar 04, 2008 at 10:03:39PM +0530, Dhaval Giani wrote:
> > > On Tue, Mar 04, 2008 at 07:09:40PM +0300, Alexey Dobriyan wrote:
> > > > [Cc'ing /sys/kernel/uids guys]
> > > >
> > >
> > > [Also adding gregkh to the cc :)]
> > >
> > > > > Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
> > > > > Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
> > > > > Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1
> >
> > What kernel version is this? 2.6.24 had lots of "issues" with the uids
> > code, I'm amazed it worked at all :)
> >
>
> :). Seems to be a stable series kernel (2.6.24.3). Can you please tell
> me some of the issues, so that I can try to go fix it up.

Ick, there were a lot of them. Take a look at the changes to
kernel/user.c (I think that was the file). A lot of the work was
reworking it due to the kobject changes, but at the same time lots of
code was fixed.

It is a harmless warning, everything should still work properly, right?

thanks,

greg k-h

2008-03-06 09:16:15

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Wed, Mar 05, 2008 at 10:00:38PM -0800, Greg KH wrote:
> On Wed, Mar 05, 2008 at 02:29:22PM +0530, Dhaval Giani wrote:
> > On Tue, Mar 04, 2008 at 11:24:36AM -0800, Greg KH wrote:
> > > On Tue, Mar 04, 2008 at 10:03:39PM +0530, Dhaval Giani wrote:
> > > > On Tue, Mar 04, 2008 at 07:09:40PM +0300, Alexey Dobriyan wrote:
> > > > > [Cc'ing /sys/kernel/uids guys]
> > > > >
> > > >
> > > > [Also adding gregkh to the cc :)]
> > > >
> > > > > > Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
> > > > > > Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
> > > > > > Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1
> > >
> > > What kernel version is this? 2.6.24 had lots of "issues" with the uids
> > > code, I'm amazed it worked at all :)
> > >
> >
> > :). Seems to be a stable series kernel (2.6.24.3). Can you please tell
> > me some of the issues, so that I can try to go fix it up.
>
> Ick, there were a lot of them. Take a look at the changes to
> kernel/user.c (I think that was the file). A lot of the work was
> reworking it due to the kobject changes, but at the same time lots of
> code was fixed.
>
> It is a harmless warning, everything should still work properly, right?

The whole existence of uids_mutex should guarantee that duplicate name
can't happen, and that logic with async kobject removal is still in
place. And there was an oops afterwards:
http://marc.info/?l=linux-kernel&m=120455796407423&w=2

2008-03-07 07:24:37

by Holger Kiehl

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Tue, 4 Mar 2008, Alexey Dobriyan wrote:

> [Cc'ing /sys/kernel/uids guys]
>
>> Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
>> Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
>> Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1
>
> I see only one suspicious place: KOBJ_ADD is sent even if sysfs file
> creation failed and kobject is happily removed. But this almost
> certainly separate bug.
>
>
>
> You can try this debugging patch. Post several first consecutive messages.
> [crosses fingers]
>
Applied the patch and this time it oopsed immediatly. I just got one:

Mar 7 07:09:04 helena kernel: general protection fault: 0000 [1] SMP
Mar 7 07:09:04 helena kernel: CPU 3
Mar 7 07:09:04 helena kernel: Modules linked in: lm85 hwmon_vid i2c_amd756_s4882 bonding nf_conntrack_ftp nf_conntrack_netbios_ns ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack xt_tcpudp iptable_filter ip_tables x_tables binfmt_misc video output ac floppy nvram ohci_hcd k8temp i2c_amd756 i2c_core button usbcore
Mar 7 07:09:04 helena kernel: Pid: 2983, comm: modprobe Not tainted 2.6.24.3-alexey #3
Mar 7 07:09:04 helena kernel: RIP: 0010:[<ffffffff8027931d>] [<ffffffff8027931d>] __kmalloc_node+0x95/0xc9
Mar 7 07:09:04 helena kernel: RSP: 0018:ffff81017d571de8 EFLAGS: 00010046
Mar 7 07:09:04 helena kernel: RAX: 0000000000000000 RBX: 00000000000080d0 RCX: ffffffff8026d2b1
Mar 7 07:09:04 helena kernel: RDX: ffff007265776f70 RSI: 00000000000080d0 RDI: ffffffff80554e38
Mar 7 07:09:04 helena kernel: RBP: ffff810200026800 R08: 00000000005184b0 R09: ffffffff80554e38
Mar 7 07:09:04 helena kernel: R10: 0000000000000000 R11: 0000000000000002 R12: 0000000000000286
Mar 7 07:09:04 helena kernel: R13: 00000000ffffffff R14: 00000000ffffffff R15: 00000000005184b0
Mar 7 07:09:04 helena kernel: FS: 00002b66d114c6f0(0000) GS:ffff81027e30e300(0000) knlGS:0000000000000000
Mar 7 07:09:04 helena kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Mar 7 07:09:04 helena kernel: CR2: 0000003254acc030 CR3: 000000017d530000 CR4: 00000000000006e0
Mar 7 07:09:04 helena kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Mar 7 07:09:04 helena kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Mar 7 07:09:04 helena kernel: Process modprobe (pid: 2983, threadinfo ffff81017d570000, task ffff81017df3d5c0)
Mar 7 07:09:04 helena kernel: Stack: ffff81027d2fb740 ffffc200017e39a8 ffff81027d2fba00 00000000000000d0
Mar 7 07:09:04 helena kernel: ffffc200017e33e8 ffffffff8026d2b1 0000000000000163 ffffc200017e39a8
Mar 7 07:09:04 helena kernel: 0000000000000018 ffffc200017e39a8 0000000000000018 ffffc200017e2f80
Mar 7 07:09:04 helena kernel: Call Trace:
Mar 7 07:09:04 helena kernel: [<ffffffff8026d2b1>] __vmalloc_area_node+0x71/0x185
Mar 7 07:09:04 helena kernel: [<ffffffff80248ec0>] sys_init_module+0x94d/0x1872
Mar 7 07:09:04 helena kernel: [<ffffffff8020b61e>] system_call+0x7e/0x83
Mar 7 07:09:04 helena kernel:
Mar 7 07:09:04 helena kernel:
Mar 7 07:09:04 helena kernel: Code: 48 8b 04 c2 48 89 45 00 41 54 9d 31 c0 c1 eb 0f 48 85 d2 0f
Mar 7 07:09:04 helena kernel: RIP [<ffffffff8027931d>] __kmalloc_node+0x95/0xc9
Mar 7 07:09:04 helena kernel: RSP <ffff81017d571de8>
Mar 7 07:09:04 helena kernel: ---[ end trace 82b7eaeeb11c3ab5 ]---

After this the system was no longer reachable. Note, as before it always
happens on CPU3.

Holger

2008-03-07 07:32:33

by Holger Kiehl

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Tue, 4 Mar 2008, Greg KH wrote:

> On Tue, Mar 04, 2008 at 10:03:39PM +0530, Dhaval Giani wrote:
>> On Tue, Mar 04, 2008 at 07:09:40PM +0300, Alexey Dobriyan wrote:
>>> [Cc'ing /sys/kernel/uids guys]
>>>
>>
>> [Also adding gregkh to the cc :)]
>>
>>>> Mar 3 13:50:01 helena kernel: sysfs: duplicate filename '74' can not be created
>>>> Mar 3 13:50:01 helena kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
>>>> Mar 3 13:50:01 helena kernel: Pid: 21911, comm: sshd Not tainted 2.6.24.3 #1
>
> What kernel version is this? 2.6.24 had lots of "issues" with the uids
> code, I'm amazed it worked at all :)
>
If that is so, would it not be better to disable this code in the stable
branch, at least don't set it as default? Or maybe mark this as experimental?

Holger

2008-03-07 07:57:22

by Holger Kiehl

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Fri, 7 Mar 2008, Holger Kiehl wrote:

> On Tue, 4 Mar 2008, Alexey Dobriyan wrote:
>
>> You can try this debugging patch. Post several first consecutive messages.
>> [crosses fingers]
>>
> Applied the patch and this time it oopsed immediatly. I just got one:
>
> Mar 7 07:09:04 helena kernel: general protection fault: 0000 [1] SMP
> Mar 7 07:09:04 helena kernel: CPU 3
> Mar 7 07:09:04 helena kernel: Modules linked in: lm85 hwmon_vid
> i2c_amd756_s4882 bonding nf_conntrack_ftp nf_conntrack_netbios_ns ipt_REJECT
> nf_conntrack_ipv4 xt_state nf_conntrack xt_tcpudp iptable_filter ip_tables
> x_tables binfmt_misc video output ac floppy nvram ohci_hcd k8temp i2c_amd756
> i2c_core button usbcore
> Mar 7 07:09:04 helena kernel: Pid: 2983, comm: modprobe Not tainted
> 2.6.24.3-alexey #3
> Mar 7 07:09:04 helena kernel: RIP: 0010:[<ffffffff8027931d>]
> [<ffffffff8027931d>] __kmalloc_node+0x95/0xc9
> Mar 7 07:09:04 helena kernel: RSP: 0018:ffff81017d571de8 EFLAGS:
> 00010046
> Mar 7 07:09:04 helena kernel: RAX: 0000000000000000 RBX: 00000000000080d0
> RCX: ffffffff8026d2b1
> Mar 7 07:09:04 helena kernel: RDX: ffff007265776f70 RSI: 00000000000080d0
> RDI: ffffffff80554e38
> Mar 7 07:09:04 helena kernel: RBP: ffff810200026800 R08: 00000000005184b0
> R09: ffffffff80554e38
> Mar 7 07:09:04 helena kernel: R10: 0000000000000000 R11: 0000000000000002
> R12: 0000000000000286
> Mar 7 07:09:04 helena kernel: R13: 00000000ffffffff R14: 00000000ffffffff
> R15: 00000000005184b0
> Mar 7 07:09:04 helena kernel: FS: 00002b66d114c6f0(0000)
> GS:ffff81027e30e300(0000) knlGS:0000000000000000
> Mar 7 07:09:04 helena kernel: CS: 0010 DS: 0000 ES: 0000 CR0:
> 000000008005003b
> Mar 7 07:09:04 helena kernel: CR2: 0000003254acc030 CR3: 000000017d530000
> CR4: 00000000000006e0
> Mar 7 07:09:04 helena kernel: DR0: 0000000000000000 DR1: 0000000000000000
> DR2: 0000000000000000
> Mar 7 07:09:04 helena kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0
> DR7: 0000000000000400
> Mar 7 07:09:04 helena kernel: Process modprobe (pid: 2983, threadinfo
> ffff81017d570000, task ffff81017df3d5c0)
> Mar 7 07:09:04 helena kernel: Stack: ffff81027d2fb740 ffffc200017e39a8
> ffff81027d2fba00 00000000000000d0
> Mar 7 07:09:04 helena kernel: ffffc200017e33e8 ffffffff8026d2b1
> 0000000000000163 ffffc200017e39a8
> Mar 7 07:09:04 helena kernel: 0000000000000018 ffffc200017e39a8
> 0000000000000018 ffffc200017e2f80
> Mar 7 07:09:04 helena kernel: Call Trace:
> Mar 7 07:09:04 helena kernel: [<ffffffff8026d2b1>]
> __vmalloc_area_node+0x71/0x185
> Mar 7 07:09:04 helena kernel: [<ffffffff80248ec0>]
> sys_init_module+0x94d/0x1872
> Mar 7 07:09:04 helena kernel: [<ffffffff8020b61e>] system_call+0x7e/0x83
> Mar 7 07:09:04 helena kernel:
> Mar 7 07:09:04 helena kernel:
> Mar 7 07:09:04 helena kernel: Code: 48 8b 04 c2 48 89 45 00 41 54 9d 31
> c0 c1 eb 0f 48 85 d2 0f
> Mar 7 07:09:04 helena kernel: RIP [<ffffffff8027931d>]
> __kmalloc_node+0x95/0xc9
> Mar 7 07:09:04 helena kernel: RSP <ffff81017d571de8>
> Mar 7 07:09:04 helena kernel: ---[ end trace 82b7eaeeb11c3ab5 ]---
>
This could maybe be not what you are looking for. It oopsed immediatly
when lm_sensors was started. I have now disabled lm_sensors and am
currently running a second test.

Holger

2008-03-13 07:33:34

by Holger Kiehl

[permalink] [raw]
Subject: Re: sysfs: duplicate filename '74' can not be created

On Fri, 7 Mar 2008, Holger Kiehl wrote:

> On Fri, 7 Mar 2008, Holger Kiehl wrote:
>
>> On Tue, 4 Mar 2008, Alexey Dobriyan wrote:
>>
>>> You can try this debugging patch. Post several first consecutive messages.
>>> [crosses fingers]
>>>
>> Applied the patch and this time it oopsed immediatly. I just got one:
>>
>> Mar 7 07:09:04 helena kernel: general protection fault: 0000 [1] SMP
>> Mar 7 07:09:04 helena kernel: CPU 3
>> Mar 7 07:09:04 helena kernel: Modules linked in: lm85 hwmon_vid
>> i2c_amd756_s4882 bonding nf_conntrack_ftp nf_conntrack_netbios_ns
>> ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack xt_tcpudp iptable_filter
>> ip_tables x_tables binfmt_misc video output ac floppy nvram ohci_hcd k8temp
>> i2c_amd756 i2c_core button usbcore
>> Mar 7 07:09:04 helena kernel: Pid: 2983, comm: modprobe Not tainted
>> 2.6.24.3-alexey #3
>> Mar 7 07:09:04 helena kernel: RIP: 0010:[<ffffffff8027931d>]
>> [<ffffffff8027931d>] __kmalloc_node+0x95/0xc9
>> Mar 7 07:09:04 helena kernel: RSP: 0018:ffff81017d571de8 EFLAGS:
>> 00010046
>> Mar 7 07:09:04 helena kernel: RAX: 0000000000000000 RBX:
>> 00000000000080d0 RCX: ffffffff8026d2b1
>> Mar 7 07:09:04 helena kernel: RDX: ffff007265776f70 RSI:
>> 00000000000080d0 RDI: ffffffff80554e38
>> Mar 7 07:09:04 helena kernel: RBP: ffff810200026800 R08:
>> 00000000005184b0 R09: ffffffff80554e38
>> Mar 7 07:09:04 helena kernel: R10: 0000000000000000 R11:
>> 0000000000000002 R12: 0000000000000286
>> Mar 7 07:09:04 helena kernel: R13: 00000000ffffffff R14:
>> 00000000ffffffff R15: 00000000005184b0
>> Mar 7 07:09:04 helena kernel: FS: 00002b66d114c6f0(0000)
>> GS:ffff81027e30e300(0000) knlGS:0000000000000000
>> Mar 7 07:09:04 helena kernel: CS: 0010 DS: 0000 ES: 0000 CR0:
>> 000000008005003b
>> Mar 7 07:09:04 helena kernel: CR2: 0000003254acc030 CR3:
>> 000000017d530000 CR4: 00000000000006e0
>> Mar 7 07:09:04 helena kernel: DR0: 0000000000000000 DR1:
>> 0000000000000000 DR2: 0000000000000000
>> Mar 7 07:09:04 helena kernel: DR3: 0000000000000000 DR6:
>> 00000000ffff0ff0 DR7: 0000000000000400
>> Mar 7 07:09:04 helena kernel: Process modprobe (pid: 2983, threadinfo
>> ffff81017d570000, task ffff81017df3d5c0)
>> Mar 7 07:09:04 helena kernel: Stack: ffff81027d2fb740 ffffc200017e39a8
>> ffff81027d2fba00 00000000000000d0
>> Mar 7 07:09:04 helena kernel: ffffc200017e33e8 ffffffff8026d2b1
>> 0000000000000163 ffffc200017e39a8
>> Mar 7 07:09:04 helena kernel: 0000000000000018 ffffc200017e39a8
>> 0000000000000018 ffffc200017e2f80
>> Mar 7 07:09:04 helena kernel: Call Trace:
>> Mar 7 07:09:04 helena kernel: [<ffffffff8026d2b1>]
>> __vmalloc_area_node+0x71/0x185
>> Mar 7 07:09:04 helena kernel: [<ffffffff80248ec0>]
>> sys_init_module+0x94d/0x1872
>> Mar 7 07:09:04 helena kernel: [<ffffffff8020b61e>]
>> system_call+0x7e/0x83
>> Mar 7 07:09:04 helena kernel:
>> Mar 7 07:09:04 helena kernel:
>> Mar 7 07:09:04 helena kernel: Code: 48 8b 04 c2 48 89 45 00 41 54 9d 31
>> c0 c1 eb 0f 48 85 d2 0f
>> Mar 7 07:09:04 helena kernel: RIP [<ffffffff8027931d>]
>> __kmalloc_node+0x95/0xc9
>> Mar 7 07:09:04 helena kernel: RSP <ffff81017d571de8>
>> Mar 7 07:09:04 helena kernel: ---[ end trace 82b7eaeeb11c3ab5 ]---
>>
> This could maybe be not what you are looking for. It oopsed immediatly
> when lm_sensors was started. I have now disabled lm_sensors and am
> currently running a second test.
>
So far there have been no further oopses, I have gone back to 2.6.23 since
this system is now in operational use. The above oops is the only one I was
able to get, is this of any use?

Holger