public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dhaval Giani <dhaval@linux.vnet.ibm.com>
To: Alexey Dobriyan <adobriyan@sw.ru>
Cc: Holger Kiehl <Holger.Kiehl@dwd.de>,
	linux-kernel@vger.kernel.org, vatsa@linux.vnet.ibm.com,
	mingo@elte.hu, gregkh@suse.de
Subject: Re: sysfs: duplicate filename '74' can not be created
Date: Tue, 4 Mar 2008 22:03:39 +0530	[thread overview]
Message-ID: <20080304163339.GA11160@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080304160940.GC19059@localhost.sw.ru>

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

  reply	other threads:[~2008-03-04 16:39 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-04 16:09 sysfs: duplicate filename '74' can not be created Alexey Dobriyan
2008-03-04 16:33 ` Dhaval Giani [this message]
2008-03-04 19:24   ` Greg KH
2008-03-05  8:59     ` Dhaval Giani
2008-03-06  6:00       ` Greg KH
2008-03-06  9:15         ` Alexey Dobriyan
2008-03-07  7:32     ` Holger Kiehl
2008-03-07  7:24 ` Holger Kiehl
2008-03-07  7:56   ` Holger Kiehl
2008-03-13  7:33     ` Holger Kiehl
  -- strict thread matches above, loose matches on Subject: below --
2008-03-03 14:58 Holger Kiehl
2008-03-03 15:50 ` Alexey Dobriyan
2008-03-03 16:05   ` Holger Kiehl
2008-03-03 16:14     ` Holger Kiehl
2008-03-03 16:17     ` Alexey Dobriyan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080304163339.GA11160@linux.vnet.ibm.com \
    --to=dhaval@linux.vnet.ibm.com \
    --cc=Holger.Kiehl@dwd.de \
    --cc=adobriyan@sw.ru \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=vatsa@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox