From: Gabriel C <nix.or.die@googlemail.com>
To: Satyam Sharma <satyam.sharma@gmail.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Christoph Lameter <clameter@sgi.com>,
htejun@gmail.com, gregkh@suse.de
Subject: Re: Oops while modprobing phy fixed module
Date: Mon, 16 Jul 2007 17:41:27 +0200 [thread overview]
Message-ID: <469B91A7.909@googlemail.com> (raw)
In-Reply-To: <a781481a0707160819w1be9128cxb3cdd06ba068b20d@mail.gmail.com>
Satyam Sharma wrote:
> Hi Gabriel,
>
> On 7/16/07, Gabriel C <nix.or.die@googlemail.com> wrote:
>
>
>> ( http://194.231.229.228/Oops.txt )
>>
>
>
>> I cannot reproduce this on plain 2.6.22 so I've started to bisect the
>> problem.
>>
>
> Could you reproduce this oops at will at the "bad" points? [ Note that
> git-bisect isn't quite applicable to bugs that are not 100% reproducible.
> The ones that passed as "good" may have passed only because the
> bug didn't get triggered on that particular test. Also, a perfectly good
> commit could get unnecessarily marked "bad" because the bug
> happened to get triggered for it ... so it's not quite trust-worthy for
> your case. ]
>
Yes all marked 'bad' ponts have the Oops , at least here.
>
>> Here the bisect result:
>>
>> 3007e997de91ec59af39a3f9c91595b31ae6e08b is first bad commit
>> commit 3007e997de91ec59af39a3f9c91595b31ae6e08b
>> Author: Tejun Heo <htejun@gmail.com>
>> Date: Thu Jun 14 04:27:23 2007 +0900
>>
>> sysfs: use sysfs_mutex to protect the sysfs_dirent tree
>>
>> As kobj sysfs dentries and inodes are gonna be made reclaimable,
>> i_mutex can't be used to protect sysfs_dirent tree. Use sysfs_mutex
>> globally instead. As the whole tree is protected with sysfs_mutex,
>> there is no reason to keep sysfs_rename_sem. Drop it.
>>
>> While at it, add docbook comments to functions which require
>> sysfs_mutex locking.
>>
>> Signed-off-by: Tejun Heo <htejun@gmail.com>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
>>
>> :040000 040000 9deba7887752bc343cc4f5dea2dac70e895ea8b6
>> 75340b6e18c1ada500bb1a2b99ee88fd93ebae8c M fs
>>
>
> Hmm, I don't see why this one could introduce an oops in SLUB,
> but it's doing some locking-related stuff, and if it didn't get it right,
> the resulting races /could/ lead to some oops. But ... a recently
> posted patch (http://lkml.org/lkml/2007/7/16/204) from Akinobu
> Mita does point to an oops that was introduced by commit
> 0c096b507f15397da890051ee73de4266d3941fb that belongs to the
> same patchset -- kmem_cache_free(NULL) is illegal and so will oops.
> A curious coincidence is that you do see sysfs_new_dirent() in the
> stack trace there, but the oops there is in kmem_cache_free(), not
> kmem_cache_zalloc() as your dmesg output indicated.
>
> Try that patch anyway, but I don't think that'll solve your problem --
> if it was, you would've been seeing "unable to handle kernel NULL
> pointer dereference" but what you've been posting is "unable to
> handle kernel paging request at virtual address <non_null_ptr>" ...
>
I will try this patch and look whatever it helps.
> Gaah.
>
> And the worst thing about it all is that we're not able to trigger the
> oops with debugging options -- that backtrace is horrible, so I'd
> suggest CONFIG_FRAME_POINTER, at the very least. And also
> perhaps DEBUG_INFO while we're at it -- that'll make later
> analysis easier, if nothing else.
>
I will enable DEBUG option and reproduce in a bit.
> [ BTW I couldn't even get my compiler to generate the same
> "Code:" as we saw in your dmesg (I suspect all the oopsen
> have occurred with DEBUG=n, yes?) so my earlier analysis
> that suspected SLUB's page->lockless_freelist in slab_alloc()
> as the source of that invalid kernel address was actually
> based on some human-work rather than simple tools doing
> their thing. Gaah, again! ]
>
My original report ( also first Oops posted here ) was with DEBUG_KERNEL=y
but as I said I will reproduce in a bit with all the DEBUG options you
suggested.
Shall I enable DEBUG_PAGEALLOC too ?
> I'm thoroughly mystified ... Christoph? Tejun? Someone?
>
> Satyam
>
>
Gabriel
next prev parent reply other threads:[~2007-07-16 15:42 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-14 12:18 Oops while modprobing phy fixed module Gabriel C
2007-07-14 12:44 ` Gabriel C
2007-07-15 5:39 ` Satyam Sharma
2007-07-15 17:42 ` Gabriel C
2007-07-15 20:32 ` Gabriel C
2007-07-15 21:14 ` Satyam Sharma
2007-07-15 22:19 ` Gabriel C
2007-07-16 12:17 ` Gabriel C
2007-07-16 15:19 ` Satyam Sharma
2007-07-16 15:41 ` Gabriel C [this message]
2007-07-16 16:18 ` Gabriel C
2007-07-16 16:54 ` Gabriel C
2007-07-16 18:23 ` Tejun Heo
2007-07-16 18:32 ` Gabriel C
2007-07-16 19:11 ` Gabriel C
2007-07-16 19:13 ` Gabriel C
2007-07-18 5:51 ` Tejun Heo
2007-07-23 19:53 ` Christoph Lameter
2007-07-24 6:35 ` Tejun Heo
2007-07-18 7:14 ` [PATCH] sysfs: kill an extra put in sysfs_create_link() failure path Tejun Heo
2007-07-18 7:38 ` [PATCH] sysfs: cosmetic clean up on node creation failure paths Tejun Heo
2007-07-18 11:40 ` Cornelia Huck
2007-07-18 11:16 ` [PATCH] sysfs: kill an extra put in sysfs_create_link() failure path Cornelia Huck
2007-07-18 14:29 ` Miles Lane
2007-07-18 14:48 ` Satyam Sharma
2007-07-18 14:57 ` Tejun Heo
2007-07-18 15:16 ` Satyam Sharma
2007-07-18 15:30 ` Satyam Sharma
2007-07-18 15:53 ` Tejun Heo
2007-07-18 16:08 ` Satyam Sharma
2007-07-18 16:20 ` Tejun Heo
2007-07-18 15:43 ` Tejun Heo
2007-07-18 16:06 ` Satyam Sharma
2007-07-18 16:30 ` Tejun Heo
2007-07-18 16:36 ` Satyam Sharma
2007-07-18 16:41 ` Tejun Heo
2007-07-18 16:49 ` Satyam Sharma
2007-07-18 16:59 ` Miles Lane
2007-07-23 19:52 ` Oops while modprobing phy fixed module Christoph Lameter
2007-07-16 17:43 ` Vitaly Bordug
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=469B91A7.909@googlemail.com \
--to=nix.or.die@googlemail.com \
--cc=clameter@sgi.com \
--cc=gregkh@suse.de \
--cc=htejun@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--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