KERNEL: vmlinux DUMPFILE: /home/fedora/vmcore [PARTIAL DUMP] CPUS: 192 LOAD AVERAGE: 0.05, 0.09, 0.12 TASKS: 2445 RELEASE: 3.10.0-327.18.2.el7.ppc64le VERSION: #1 SMP Fri Apr 8 05:10:45 EDT 2016 MACHINE: ppc64le (3525 Mhz) MEMORY: 256 GB PANIC: "Unable to handle kernel paging request for data at address 0x00000000" PID: 39485 COMMAND: "rsync" TASK: c0000022787bd220 [THREAD_INFO: c000001f06fc0000] CPU: 69 STATE: TASK_RUNNING (PANIC) -------------------------------------------------------------------------------------------------- crash> gdb l*(__d_lookup_rcu+0x150) 0xc000000000327f00 is in __d_lookup_rcu (fs/dcache.c:182). 177 #else 178 179 static inline int dentry_string_cmp(const unsigned char *cs, const unsigned char *ct, unsigned tcount) 180 { 181 do { 182 if (*cs != *ct) 183 return 1; 184 cs++; 185 ct++; 186 tcount--; -------------------------------------------------------------------------------------------------- crash>dis -l __d_lookup_rcu ... /usr/src/debug/kernel-3.10.0-327.18.2.el7/linux-3.10.0-327.18.2.el7.ppc64le/fs/dcache.c: 212 0xc000000000327edc <__d_lookup_rcu+300>: ld r9,32(r31) 0xc000000000327ee0 <__d_lookup_rcu+304>: addi r9,r9,-1 0xc000000000327ee4 <__d_lookup_rcu+308>: b 0xc000000000327f00 <__d_lookup_rcu+336> 0xc000000000327ee8 <__d_lookup_rcu+312>: nop 0xc000000000327eec <__d_lookup_rcu+316>: nop 0xc000000000327ef0 <__d_lookup_rcu+320>: nop 0xc000000000327ef4 <__d_lookup_rcu+324>: nop 0xc000000000327ef8 <__d_lookup_rcu+328>: nop 0xc000000000327efc <__d_lookup_rcu+332>: ori r2,r2,0 /usr/src/debug/kernel-3.10.0-327.18.2.el7/linux-3.10.0-327.18.2.el7.ppc64le/fs/dcache.c: 182 0xc000000000327f00 <__d_lookup_rcu+336>: lbzu r7,1(r9) --->Crash Here(0xc000000000327f00) 0xc000000000327f04 <__d_lookup_rcu+340>: lbzu r8,1(r10) 0xc000000000327f08 <__d_lookup_rcu+344>: cmpw cr7,r7,r8 0xc000000000327f0c <__d_lookup_rcu+348>: bne cr7,0xc000000000327e58 <__d_lookup_rcu+168> In "/usr/src/debug/kernel-3.10.0-327.18.2.el7/linux-3.10.0-327.18.2.el7.ppc64le/fs/dcache.c: 182", convert to assembly code: 0xc000000000327f00 <__d_lookup_rcu+336>: lbzu r7,1(r9) --->Crash here.(read GPR09 (0xffffffffffffffff +1) = 0x0 , It is a bad address.) -------------------------------------------------------------------------------------------------- r9: c0000026113203c8 is the address of dentry.d_hash, then struct dentry's address is 0xc0000026113203c0 crash> struct dentry 0xc0000026113203c0 struct dentry { d_flags = 17301632, d_seq = { sequence = 2 }, d_hash = { next = 0xc0000021b8995dc8, pprev = 0xc000003618d25288 }, d_parent = 0xc000002611320300, d_name = { { { hash = 3566243226, len = 8 }, hash_len = 37925981594 }, name = 0x0 ---> name is NULL }, d_inode = 0xc0000018a8e5fdb8, d_iname = "features\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000", ---> iname is not NULL d_lockref = { { lock_count = 107374182400, { lock = { { rlock = { raw_lock = { slock = 0 } } } }, count = 25 } } }, d_op = 0x0, d_sb = 0xc000000fa0a2f800, d_time = 0, d_fsdata = 0x0, d_lru = { next = 0xc000002611320380, prev = 0xc000002611320500 }, d_u = { d_child = { next = 0xc0000026113203a0, prev = 0xc0000026113217d0 }, d_rcu = { next = 0xc0000026113203a0, func = 0xc0000026113217d0 } }, d_subdirs = { next = 0xc000002611321710, prev = 0xc000002611320510 }, d_alias = { next = 0x0, pprev = 0xc0000018a8e5fed0 } }