Pankaj Gupta
Pankaj Gupta

Reputation: 309

understanding kernel oops error code

in kernel oops of ARM following logs are printed in kernel logs -

<1>[ 4205.112835] I[0:swapper/0:0] [c0] Unable to handle kernel paging request at virtual address ff898580 
<1>[ 4205.112874] I[0:swapper/0:0] [c0] pgd = ec3c4000 
<1>[ 4205.112901] I[0:swapper/0:0] [c0] [ff898580] *pgd=00000000 
<0>[ 4205.112939] I[0:swapper/0:0] [c0] Internal error: Oops: 80000005 #1] PREEMPT SMP ARM

Sometimes the oops this code is -

Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP ARM

and in most of the logs it is -

Internal error: Oops: 5 [#1] PREEMPT SMP ARM

Can someone explain the purpose of this code and its meaning?

Upvotes: 9

Views: 12153

Answers (1)

Michael
Michael

Reputation: 1373

The information you provided is quite few.

As in arch/arm/kernel/traps.c

You will find

printk(KERN_EMERG "Internal error: %s: %x [#%d]" S_PREEMPT S_SMP S_ISA "\n", str, err, ++die_counter);

Actually whole stack trace will be much more helpful, you will find bug location and by disassembling to find real place in code.

Just guessing, you touched a NULL pointer ==

Upvotes: 2

Related Questions