From: "Satyam Sharma" <satyam.sharma@gmail.com>
To: "Greg KH" <gregkh@suse.de>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
"Michal Piotrowski" <michal.k.k.piotrowski@gmail.com>,
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: Sat, 21 Jul 2007 09:27:09 +0530 [thread overview]
Message-ID: <a781481a0707202057q23a0ea6by97ee9b40e9fc5a0b@mail.gmail.com> (raw)
In-Reply-To: <a781481a0707202021r977ae5fg9655dd2881836f13@mail.gmail.com>
On 7/21/07, Satyam Sharma <satyam.sharma@gmail.com> wrote:
> Hopefully this bug should be 100% reproducible at boot time anyway.
> Don't care much for XFS and unionfs, but hoping deselecting ATA from
> the config doesn't change the variables much in this equation. ]
Gargh! My system obviously cannot boot without libata. Guess it's
time to go through git log and see how to fix that build breakage
myself ...
Michal, how did you even manage to build / boot this kernel!
> On 7/21/07, Greg KH <gregkh@suse.de> wrote:
> > On Fri, Jul 20, 2007 at 06:37:33PM -0700, Andrew Morton wrote:
> > > On Fri, 20 Jul 2007 18:02:57 -0700 Greg KH <gregkh@suse.de> wrote:
> > >
> > > > --- 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;
> > > > + }
> > >
> > > It would be nice to print the value of `ret' too.
>
>
> What I'm surprised about is that %eax doesn't seem to contain the
> return value `ret' of kobject_add(). It's 1, which is funny, given:
>
> ret = kobject_add(&mk->kobj);
> BUG_ON(ret < 0);
>
> One wouldn't expect BUG() -- or the corresponding exception handler --
> to clobber registers, that would be a sad day.
But I cracked this one alright. His .config has CONFIG_PROFILE_LIKELY=y
which replaces unlikely() / likely() with do_check_likely() and forces
gcc to clobber %eax with the condition itself, which in our case was
(ret < 0) == TRUE, and thus, the "1" value we saw in %eax in the
register dumps.
We should probably document somewhere that CONFIG_PROFILE_LIKELY
is not good for debugging.
Hmmm ... thinking out aloud here, but probably I don't need to fix that
libata breakage at all. I'll just put the BUG_ON(ret < 0) back in the
code, deselect PROFILE_LIKELY, and this time we _will_ have the
return of kobject_add() in %eax ...
That'll at least clear up the EEXIST vs EINVAL mystery, that'll be a
good data point, yes.
Anyway, I guess I must stop my running commentary -- will only post
after this is cleared up now :-)
Satyam
next prev parent reply other threads:[~2007-07-21 3:57 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-20 16:32 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
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 [this message]
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=a781481a0707202057q23a0ea6by97ee9b40e9fc5a0b@mail.gmail.com \
--to=satyam.sharma@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.k.k.piotrowski@gmail.com \
--cc=rdunlap@xenotime.net \
/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
all inboxes | Powered by JetHome®