Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 479
Pankaj Gupta Avatar asked Sep 16 '14 14:09

Pankaj Gupta


1 Answers

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 ==

like image 98
Michael Avatar answered Sep 17 '22 12:09

Michael