AnsweredAssumed Answered

Kernel 3.10.53 JFSS2 crash

Question asked by Sheldon Rucker on Oct 19, 2015

Hello All,

 

We're in the process of porting from Jellybean to Lollipop.  One step in the process was to upgrade from kernel 3.0.35 to 3.10.53.  During the upgrade we started to see occasional crashes which we managed to track down to accessing our SPI-NOR via a jffs2 mount.  Sometimes when mounting a partition on the SPI-NOR device we receive the following kernel error, "jffs2: error: (10723) jffs2_do_read_inode_internal: CRC failed for read_inode of inode 2 at physical location 0x7e00c".  This error then results in a kernel panic as shown below.

 

Unable to handle kernel NULL pointer dereference at virtual address 00000001                                                                                                                                   

pgd = c6040000                                                                

[00000001] *pgd=00000000                                                                    

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

Modules linked in:                                                                           

CPU: 0 PID: 10805 Comm: python Not tainted 3.10.53-00034-g3c666b2-dirty #38                                             

task: cbc19900 ti: cb784000 task.ti: cb784000                                                     

PC is at kmem_cache_alloc+0x54/0x118                                                   

LR is at kmem_cache_alloc+0x38/0x118                                                                

pc : [<800d9c50>]    lr : [<800d9c34>]    psr: 200f0013                                                                       

sp : cb785e48  ip : ffffffff  fp : 00000001                                                 

r10: 0009d9ec  r9 : cb784000  r8 : 01f42000                                                                    

r7 : 000080d0  r6 : cb784000  r5 : ca001f00  r4 : 00000001                                                                           

Unable to handle kernel NULL pointer dereference at virtual address 00000014                                                                           

pgd = 80004000                                                                                   

[00000014] *pgd=00000000                                                                                  

r3 : 00000000  r2 : 00000001  r1 : 000080d0  r0 : 00000000                      

Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user                                                                                    

Control: 10c53c7d  Table: 5604004a  DAC: 00000015

 

This problem was not present in the 3.0.35 kernel.

 

Our flash is located on the SPI1 bus and the device tree setup is shown below.

 

&ecspi1 {

  fsl,spi-num-chipselects = <1>;

  cs-gpios = <&gpio3 19 0>;

  pinctrl-names = "default";

  pinctrl-0 = <&pinctrl_ecspi1_1>;

  status = "okay";

 

 

  flash: m25p80@0 {

  compatible = "sst,sst25vf016b";

  spi-max-frequency = <20000000>;

  reg = <0>;

  #address-cells = <1>;

  #size-cells = <1>;

  mtd0@000000 {

  label = "U-Boot";

  reg = <0x0 0x100000>;

  };

  mtd0@100000 {

  label = "kernel";

  reg = <0x100000 0x80000>;

  };

  mtd0@180000 {

  label = "user";

  reg = <0x180000 0x80000>;

  };

  };

};

 

Any ideas on what could be causing this failure?

 

Thank you,

 

Sheldon

Outcomes