Re: "fs/namei.c: keep track of nd->root refcount status" causes boot panic

From: Sachin Sant
Date: Tue Sep 03 2019 - 05:08:42 EST




> On 03-Sep-2019, at 1:43 PM, Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
>
> On Tue, 3 Sep 2019 at 09:51, Qian Cai <cai@xxxxxx> wrote:
>>
>> The linux-next commit "fs/namei.c: keep track of nd->root refcount statusâ [1] causes boot panic on all
>> architectures here on todayâs linux-next (0902). Reverted it will fix the issue.

Similar problem is seen on ppc64le arch.

[ 0.493235] BUG: Kernel NULL pointer dereference at 0x00000cc0
[ 0.493241] Faulting instruction address: 0xc0000000003e9260
[ 0.493245] Oops: Kernel access of bad area, sig: 11 [#1]
[ 0.493250] LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
[ 0.493254] Modules linked in:
[ 0.493260] CPU: 1 PID: 1 Comm: systemd Not tainted 5.3.0-rc6-next-20190902-autotest-autotest #1
[ 0.493265] NIP: c0000000003e9260 LR: c0000000003e925c CTR: 00000000000001fc
[ 0.493270] REGS: c0000004f85038c0 TRAP: 0300 Not tainted (5.3.0-rc6-next-20190902-autotest-autotest)
[ 0.493274] MSR: 8000000000009033 <SF,EE,ME,IR,DR,RI,LE> CR: 28002842 XER: 00000000
[ 0.493282] CFAR: c00000000000df44 DAR: 0000000000000cc0 DSISR: 40000000 IRQMASK: 0
[ 0.493282] GPR00: c0000000003e925c c0000004f8503b50 c000000001458e00 0000000000000000
[ 0.493282] GPR04: c0000004f8503ce0 0000000000000000 0000000000000064 0000000000000000
[ 0.493282] GPR08: 0000000000000000 c000000000ff7a65 0000000000000000 c0000004f70100c0
[ 0.493282] GPR12: 0000000000002200 c00000001ecaee00 0000000000000000 0000000000000000
[ 0.493282] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 0.493282] GPR20: 0000000000077624 0000000000000000 0000000000000000 00007fffa1099e20
[ 0.493282] GPR24: 0000000000000000 000000010f9572a4 0000000000000000 0000000000000001
[ 0.493282] GPR28: 0000000000080060 0000000000080040 0000000000000000 0000000000000cc0
[ 0.493327] NIP [c0000000003e9260] dput+0x70/0x4e0
[ 0.493332] LR [c0000000003e925c] dput+0x6c/0x4e0
[ 0.493334] Call Trace:
[ 0.493338] [c0000004f8503b50] [c0000000003e925c] dput+0x6c/0x4e0 (unreliable)
[ 0.493345] [c0000004f8503bc0] [c0000000003d5da4] terminate_walk+0x104/0x130
[ 0.493351] [c0000004f8503c00] [c0000000003da9d8] path_lookupat+0xe8/0x2b0
[ 0.493356] [c0000004f8503c70] [c0000000003dd668] filename_lookup+0xa8/0x1c0
[ 0.493362] [c0000004f8503da0] [c00000000046c4d4] sys_name_to_handle_at+0xe4/0x2d0
[ 0.493369] [c0000004f8503e20] [c00000000000b378] system_call+0x5c/0x68
[ 0.493373] Instruction dump:
[ 0.493376] f8010010 f821ff91 7c7f1b79 41820050 3d200008 3b600001 613c0060 613d0040
[ 0.493383] 3b400000 3b000000 48707b11 60000000 <813f0000> 3bdf0058 7fc3f378 71390008
[ 0.493391] ---[ end trace 7701d360352c734d ]â

Reverting the mentioned commit allows next to boot.

Thanks
-Sachin