public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Cc: Satyam Sharma <satyam.sharma@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	rdunlap@xenotime.net, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [broken-out-2007-07-20-00-22] kernel bug at kernel/params:570
Date: Fri, 20 Jul 2007 18:02:57 -0700	[thread overview]
Message-ID: <20070721010257.GA9561@suse.de> (raw)
In-Reply-To: <6bffcb0e0707201728u6deeccd1j453ff89d0767dccc@mail.gmail.com>

On Sat, Jul 21, 2007 at 02:28:52AM +0200, Michal Piotrowski wrote:
>  On 21/07/07, Satyam Sharma <satyam.sharma@gmail.com> wrote:
> > Oh, which means ...
> >
> >
> > On 7/21/07, Satyam Sharma <satyam.sharma@gmail.com> wrote:
> > > On 7/21/07, Greg KH <gregkh@suse.de> wrote:
> > > > On Fri, Jul 20, 2007 at 03:59:12PM -0700, Andrew Morton wrote:
> > > > > On Fri, 20 Jul 2007 15:50:47 -0700
> > > > > Greg KH <gregkh@suse.de> wrote:
> > > > >
> > > > > > On Fri, Jul 20, 2007 at 06:32:21PM +0200, Michal Piotrowski wrote:
> > > > > > >  Hi Greg,
> > > > > > >
> > > > > > >  This looks like a sysfs bug
> > > > > > >  http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/
> > > > > > >  broken-out-2007-07-20-00-22/00003.jpg
> > > > > > >
> > > > > > >  l *kernel_param_sysfs_setup+0x75
> > > > > > >  0xc13c0894 is in kernel_param_sysfs_setup (kernel/params.c:570).
> > > > > > >  565             mk->mod = THIS_MODULE;
> > > > > > >  566             kobj_set_kset_s(mk, module_subsys);
> >
> > > > > > >  567             kobject_set_name(&mk->kobj, name);
> >
> > Shouldn't the return of kobject_set_name() be checked here?
> >
> > [ Looking at code, and realizing that kobject_set_name() manages to
> > succeed even when given a null string! ]
> >
> > > > > > >  568             kobject_init(&mk->kobj);
> > > > > > >  569             ret = kobject_add(&mk->kobj);
> > > > > > >  570             BUG_ON(ret < 0);
> > > > > > >  571             param_sysfs_setup(mk, kparam, num_params, 
> > name_skip);
> > > > > > >  572             kobject_uevent(&mk->kobj, KOBJ_ADD);
> > > > > > >  573     }
> > > > > > >  574
> > > > > > >
> > > > > > >  http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/
> > > > > > >  broken-out-2007-07-20-00-22/mm-config
> > > > > >
> > > > > > What kernel version is this happening on?  The -mm tree?  Can you 
> > try
> > > > > > Linus's tree instead?
> > > > > >
> > > > > > It looks like there was some needed information right before the 
> > first
> > > > > > stack dump, showing exactly what kobject was trying to be added 
> > that was
> > > > > > already present.  Odds are this is a kernel parameter with the same 
> > name
> > > > > > as a duplicate one within the same module,
> > >
> > > I don't think that's an -EEXIST.
> > >
> > > I think what we have here is kobject_add() exiting with -EINVAL.
> > > (kobject attempted to be registered with no name!)
> > >
> > > [ The first trace on that screen shows: kobject_shadow_add+0x5b/0x189.
> > > That's the WARN_ON(1) at lib/kobject.c:176. If it was a EEXIST case,
> > > we would've seen an offset in kobject_shadow_add closer to 0x189,
> > > because the dump_stack() for EEXIST is barely 4 instructions before
> > > we return from that function. ]
> > >
> > > > > > but the trick is going to be
> > > > > > trying to figure out what module is causing this.
> > >
> > > So I'd guess we want to search for a module that's passing a kobject *
> > > to kobject_add() such that !kobj->k_name is true.
> >
> > Oh, that's kernel_param_sysfs_setup itself. So we actually need to
> > search for a built-in module in Michal's config that ... has an ... empty
> > "" modname !?
> 
>  I'll try to figure out this

Try the patch below to help you boot and figure out what went wrong.

Post the kernel log results and I'll try to help you out.

thanks,

greg k-h

---
 kernel/params.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

--- a/kernel/params.c
+++ b/kernel/params.c
@@ -567,7 +567,11 @@ static void __init kernel_param_sysfs_se
 	kobject_set_name(&mk->kobj, name);
 	kobject_init(&mk->kobj);
 	ret = kobject_add(&mk->kobj);
-	BUG_ON(ret < 0);
+	if (ret) {
+		printk(KERN_ERR "module '%s' failed to be added to sysfs, "
+			"the system will be unstable now.\n", name);
+		return;
+	}
 	param_sysfs_setup(mk, kparam, num_params, name_skip);
 	kobject_uevent(&mk->kobj, KOBJ_ADD);
 }


  reply	other threads:[~2007-07-21  1:03 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-20 16:32 [broken-out-2007-07-20-00-22] kernel bug at kernel/params:570 Michal Piotrowski
2007-07-20 22:50 ` Greg KH
2007-07-20 22:59   ` Andrew Morton
2007-07-20 23:10     ` Greg KH
2007-07-20 23:37       ` Randy Dunlap
2007-07-20 23:43       ` Satyam Sharma
2007-07-21  0:03         ` Satyam Sharma
2007-07-21  0:28           ` Michal Piotrowski
2007-07-21  1:02             ` Greg KH [this message]
2007-07-21  1:37               ` Andrew Morton
2007-07-21  1:44                 ` Greg KH
2007-07-21  3:21                   ` Satyam Sharma
2007-07-21  3:57                     ` Satyam Sharma
2007-07-21  6:00                       ` Satyam Sharma
2007-07-21  6:39                         ` [BUG] " Satyam Sharma
2007-07-21  8:11                         ` Michal Piotrowski
2007-07-21  8:00                       ` Michal Piotrowski
2007-07-21  8:36                         ` Satyam Sharma
2007-07-21  8:41                           ` Michal Piotrowski
2007-07-21 16:00                           ` Michal Piotrowski
2007-07-21 16:41                             ` Andi Kleen
2007-07-21 16:52                               ` Michal Piotrowski
2007-07-21 16:55                                 ` Michal Piotrowski
2007-07-21 18:11                               ` Michal Piotrowski
2007-07-21 18:24                                 ` Andi Kleen
2007-07-22 17:51                                   ` Satyam Sharma
2007-07-21 19:13                                 ` Andrew Morton
2007-07-21 19:31                                   ` Michal Piotrowski

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=20070721010257.GA9561@suse.de \
    --to=gregkh@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.k.k.piotrowski@gmail.com \
    --cc=rdunlap@xenotime.net \
    --cc=satyam.sharma@gmail.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