Bug 9125 - Unable to handle kernel paging request at virtual address 40783384
Summary: Unable to handle kernel paging request at virtual address 40783384
Status: REJECTED INVALID
Alias: None
Product: Platform Specific/Hardware
Classification: Unclassified
Component: ARM (show other bugs)
Hardware: All Linux
: P1 blocking
Assignee: Russell King
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-05 01:39 UTC by AaronTseng
Modified: 2008-05-17 15:19 UTC (History)
0 users

See Also:
Kernel Version: 2.6.15
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
screen shot of kernel fault (43 bytes, text/plain)
2007-10-07 21:58 UTC, Aaron Tseng
Details

Description AaronTseng 2007-10-05 01:39:16 UTC
Most recent kernel where this bug did not occur: Not try yet

Distribution: Linux 2.6.15 from www.kernel.org

Hardware Environment: ARM v4t with SATA interface and Gigabit MAC

Software Environment: samba-3.0.25a with sendfile enabled

Problem Description:
     Got kernel fault after do copy/compile from samba for a whil

Steps to reproduce:
      Coonnect 8 PCs with the board and do copy/compare files, after a lot of time system got crash.

Unable to handle kernel paging request at virtual address 40783384
pgd = c2980000
[40783384] *pgd=00d81031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: g_file_storage
CPU: 0
PC is at 0x40322aec
LR is at 0x403229bc
pc : [<40322aec>]    lr : [<403229bc>]    Not tainted
sp : be8301cc  ip : 003395ac  fp : 00216050
r10: 003392dc  r9 : fee1dead  r8 : 00209384
r7 : be83028c  r6 : 00000018  r5 : 40783384  r4 : be83028c
r3 : 00000006  r2 : 00000006  r1 : 40783384  r0 : be83028c
Flags: Nzcv  IRQs on  FIQs on  Mode USER_32  Segment user
Control: 397F  Table: 02980000  DAC: 00000015
Process smbd (pid: 946, stack limit = 0xc232a194)
Stack: (0xbe8301cc to 0xc232c000)
01c0:                            be83028c 00398de8 00000018 be83028c 

After I trace into kernel and found it is caused by
./linux/arch/arm/mm/fault.c

int do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
{
        if(in_interrupt() || !mm)
        {
                goto no_context;
        }       
}
and check the preempt_count(), it is 256, means software interrupt is on

Any advice is welcome.
Comment 1 Russell King 2007-10-05 01:52:52 UTC
Need the full kernel messages, including the *entire* oops dump.
Comment 2 Aaron Tseng 2007-10-07 21:58:14 UTC
Created attachment 13074 [details]
screen shot of kernel fault
Comment 3 Aaron Tseng 2007-10-07 22:11:25 UTC
If you can not get the attachment, please login to our ftp server
www.stormsemi.com
ID: linuxkernel
password: kernelteam5678

.config - configuration of linux 2.6.15
kernelfault.log.bz2 - log file for oops
linux2.6.15.bz2 - disassembly of vmlinux
System.map - map file of linux 2.6.15
Comment 4 Aaron Tseng 2007-10-14 19:08:11 UTC
This bug is caused by our cache operation, we have found it and fixed it, please
close this bug.
Comment 5 Natalie Protasevich 2007-11-13 12:19:28 UTC
Thanks.
Comment 6 Natalie Protasevich 2007-11-13 12:23:29 UTC
Oops, Russell did I jump the gun? seems like panic report, should the reporter provide some data? The screen shot provided in #2 is not accessible.
Comment 7 Russell King 2008-05-17 15:19:19 UTC
Rejecting bug because:
- reporter asked for it to be closed.
- I closed it.
- someone decided to randomly re-open it without reading the comments.

Note You need to log in before you can comment on or make changes to this bug.