From: Mark Lord <kernel@teksavvy.com>
To: Ted Ts'o <tytso@mit.edu>,
Linux Kernel <linux-kernel@vger.kernel.org>,
linux-ext4@vger.kernel.org
Subject: Re: ext4 crash on 2.6.37: NULL ptr in ext4_discard_preallocations
Date: Sun, 20 Feb 2011 00:05:27 -0500 [thread overview]
Message-ID: <4D60A117.8090604@teksavvy.com> (raw)
In-Reply-To: <4D609E87.5000903@teksavvy.com>
On 11-02-19 11:54 PM, Mark Lord wrote:
> On 11-02-19 07:05 PM, Ted Ts'o wrote:
>> On Sat, Feb 19, 2011 at 05:37:20PM -0500, Mark Lord wrote:
>>> 32-bit x86 system, 2.6.37 SMP kernel, Core2duo, 3.3GB RAM, no swap.
>>>
>>> The system just suddenly switched to fbconsole and dumped a traceback.
>>> Here's the screen-shot photo: http://rtr.ca/ext4_crash.jpg
>>>
>>> Is this a known bug that got fixed in 2.6.37.1 ?
>>
>> No, this looks like a new one.
>>
>> And I can't make the Code: line make sense. Can you send me the
>> fs/ext4/mballoc.s file after running the command "make
>> fs/ext4/mballoc.s" in your build tree where you built this kernel?
>
> Sent. And here's an extract:
>
> .globl ext4_discard_preallocations
> .type ext4_discard_preallocations, @function
> ext4_discard_preallocations:
> pushl %ebp #
> pushl %edi #
> leal -136(%eax), %edi #, ei
> pushl %esi #
> pushl %ebx #
> subl $80, %esp #,
> movl 172(%eax), %esi # <variable>.i_sb, sb
> movl $0, 76(%esp) #, group
> movzwl 122(%eax), %edx # <variable>.i_mode, tmp85
> andl $61440, %edx #, tmp85
> cmpl $32768, %edx #, tmp85
> jne .L875 #,
> leal 68(%esp), %edx #, tmp86
> leal 380(%eax), %ebx #, D.45176
> movl %edx, 68(%esp) # tmp86, list.next
> addl $372, %eax #,
> movl %edx, 72(%esp) # tmp86, list.prev
> movl %eax, 28(%esp) #, %sfp
> .L876:
> movl %ebx, %eax # D.45176,
> call _raw_spin_lock #
> jmp .L861 #
> .L867:
> cmpl %ebx, 60(%ebp) # D.45176, <variable>.pa_obj_lock
> je .L862 #,
> #APP
> # 3810 "fs/ext4/mballoc.c" 1
> 1: ud2
>
> I wonder if the 003c offset is that "cmpl %ebx, 60(%ebp)" line?
I suppose it must be, as there's no other 0x3c offset in that function.
Which means it's probably this line that's crashing:
BUG_ON(pa->pa_obj_lock != &ei->i_prealloc_lock);
...which could only happen if "pa" was NULL there.
I wonder how that happened ?
next prev parent reply other threads:[~2011-02-20 5:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-19 22:37 ext4 crash on 2.6.37: NULL ptr in ext4_discard_preallocations Mark Lord
2011-02-20 0:05 ` Ted Ts'o
2011-02-20 4:54 ` Mark Lord
2011-02-20 5:05 ` Mark Lord [this message]
2011-02-20 6:15 ` Ted Ts'o
2011-02-20 13:55 ` Mark Lord
2011-02-20 14:39 ` Mark Lord
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=4D60A117.8090604@teksavvy.com \
--to=kernel@teksavvy.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tytso@mit.edu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.