Re: [PATCH] VFS: Add back check for !inode in walk_component()

From: Steven Rostedt
Date: Thu May 07 2015 - 15:33:32 EST


On Thu, 7 May 2015 19:43:43 +0100
Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:


> Actually, could you try the following on top of -rc2?

Gives me the following on boot up:

------------[ cut here ]------------
WARNING: CPU: 2 PID: 2920 at /home/rostedt/work/git/linux-trace.git/kernel/locking/lockdep.c:973 __bfs+0x112/0x1d5()
Modules linked in: ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipv6 microcode r8169 ppdev parport_pc parport
CPU: 2 PID: 2920 Comm: sendmail Not tainted 4.1.0-rc2-test+ #97
Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
00000000 00000000 efcadb40 c0cba2de c0ff9437 efcadb70 c043fad6 c0ff263f
00000002 00000b68 c0ff9437 000003cd c0472d05 c0472d05 00000000 c8d8c685
c169e0f4 efcadb80 c043fb0f 00000009 00000000 efcadbb4 c0472d05 ffffe000
Call Trace:
[<c0cba2de>] dump_stack+0x41/0x52
[<c043fad6>] warn_slowpath_common+0x9d/0xb4
[<c0472d05>] ? __bfs+0x112/0x1d5
[<c0472d05>] ? __bfs+0x112/0x1d5
[<c043fb0f>] warn_slowpath_null+0x22/0x24
[<c0472d05>] __bfs+0x112/0x1d5
[<c040d38c>] ? save_stack_address_nosched+0x21/0x21
[<c047280f>] ? noop_count+0x9/0x9
[<c0474b51>] check_usage_backwards+0x3d/0x94
[<c040d30c>] ? save_stack_trace+0x30/0x4a
[<c0475122>] mark_lock+0x10e/0x1f2
[<c0474b14>] ? check_usage_forwards+0x94/0x94
[<c04754ed>] __lock_acquire+0x2e7/0xd0c
[<c0475556>] ? __lock_acquire+0x350/0xd0c
[<c0408c1a>] ? native_sched_clock+0x46/0x4b
[<c0541156>] ? dput+0x40/0x1b3
[<c0476394>] lock_acquire+0xc6/0xe2
[<c0541156>] ? dput+0x40/0x1b3
[<c0cc40a5>] _raw_spin_lock+0x3b/0x68
[<c0541156>] ? dput+0x40/0x1b3
[<c0541156>] dput+0x40/0x1b3
[<c0538743>] path_put_conditional.isra.18+0x16/0x25
[<c0538990>] lookup_fast+0x23e/0x274
[<c04767e1>] ? trace_hardirqs_on+0xb/0xd
[<c05389f3>] walk_component+0x2d/0x148
[<c05391a7>] ? path_init+0x2c6/0x2d2
[<c0538b3b>] lookup_last+0x2d/0x30
[<c0539269>] path_lookupat+0x38/0x1ed
[<c0cc48e5>] ? _raw_spin_unlock+0x22/0x25
[<c053962c>] filename_lookup+0x24/0x76
[<c053b1ad>] kern_path+0x38/0x5a
[<c0439ccb>] ? __phys_addr+0x4a/0x5a
[<c0528512>] ? virt_to_head_page+0xf/0x24
[<c052853c>] ? ksize+0x15/0x6b
[<c0c8306d>] unix_find_other+0x2d/0x17c
[<c0bea236>] ? sock_wmalloc+0x70/0x77
[<c0c84eec>] unix_stream_connect+0xde/0x376
[<c0be6fb3>] SYSC_connect+0x66/0x82
[<c0be7369>] SyS_connect+0x16/0x18
[<c0be7ab6>] SyS_socketcall+0xd4/0x2c6
[<c0494b52>] ? current_kernel_time+0x10/0x4c
[<c04b816b>] ? __audit_syscall_entry+0x9f/0xbd
[<c0cc4c98>] sysenter_do_call+0x12/0x12
---[ end trace 9ea8d1ad66bfdb24 ]---
BUG: unable to handle kernel NULL pointer dereference at 00000008
IP: [<c0472d05>] __bfs+0x112/0x1d5
*pdpt = 0000000031dab001 *pde = 0000000000000000
Oops: 0000 [#1] SMP
Modules linked in: ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipv6 microcode r8169 ppdev parport_pc parport
CPU: 2 PID: 2920 Comm: sendmail Tainted: G W 4.1.0-rc2-test+ #97
Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
task: efbd9610 ti: efcac000 task.ti: efcac000
EIP: 0060:[<c0472d05>] EFLAGS: 00210092 CPU: 2
EIP is at __bfs+0x112/0x1d5
EAX: f367bbb8 EBX: 00000000 ECX: f367bbb8 EDX: ffffffff
ESI: c8d8c685 EDI: c169e0f4 EBP: efcadbb4 ESP: efcadb88
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
CR0: 80050033 CR2: 00000008 CR3: 2fd5c9e0 CR4: 001407f0
Stack:
ffffe000 efcadffc c040d38c efcac000 c047280f 00000000 efcadbcc 00000000
00000000 efbd9bec efbd9610 efcadc00 c0474b51 efcadbf0 00000000 c133b144
00000000 00000000 c169e03c c169dffc 00000000 efcadbf4 c040d30c 00000000
Call Trace:
[<c040d38c>] ? save_stack_address_nosched+0x21/0x21
[<c047280f>] ? noop_count+0x9/0x9
[<c0474b51>] check_usage_backwards+0x3d/0x94
[<c040d30c>] ? save_stack_trace+0x30/0x4a
[<c0475122>] mark_lock+0x10e/0x1f2
[<c0474b14>] ? check_usage_forwards+0x94/0x94
[<c04754ed>] __lock_acquire+0x2e7/0xd0c
[<c0475556>] ? __lock_acquire+0x350/0xd0c
[<c0408c1a>] ? native_sched_clock+0x46/0x4b
[<c0541156>] ? dput+0x40/0x1b3
[<c0476394>] lock_acquire+0xc6/0xe2
[<c0541156>] ? dput+0x40/0x1b3
[<c0cc40a5>] _raw_spin_lock+0x3b/0x68
[<c0541156>] ? dput+0x40/0x1b3
[<c0541156>] dput+0x40/0x1b3
[<c0538743>] path_put_conditional.isra.18+0x16/0x25
[<c0538990>] lookup_fast+0x23e/0x274
[<c04767e1>] ? trace_hardirqs_on+0xb/0xd
[<c05389f3>] walk_component+0x2d/0x148
[<c05391a7>] ? path_init+0x2c6/0x2d2
[<c0538b3b>] lookup_last+0x2d/0x30
[<c0539269>] path_lookupat+0x38/0x1ed
[<c0cc48e5>] ? _raw_spin_unlock+0x22/0x25
[<c053962c>] filename_lookup+0x24/0x76
[<c053b1ad>] kern_path+0x38/0x5a
[<c0439ccb>] ? __phys_addr+0x4a/0x5a
[<c0528512>] ? virt_to_head_page+0xf/0x24
[<c052853c>] ? ksize+0x15/0x6b
[<c0c8306d>] unix_find_other+0x2d/0x17c
[<c0bea236>] ? sock_wmalloc+0x70/0x77
[<c0c84eec>] unix_stream_connect+0xde/0x376
[<c0be6fb3>] SYSC_connect+0x66/0x82
[<c0be7369>] SyS_connect+0x16/0x18
[<c0be7ab6>] SyS_socketcall+0xd4/0x2c6
[<c0494b52>] ? current_kernel_time+0x10/0x4c
[<c04b816b>] ? __audit_syscall_entry+0x9f/0xbd
[<c0cc4c98>] sysenter_do_call+0x12/0x12
Code: 00 00 00 89 de 81 ee 4c 15 84 c1 c1 fe 02 69 f6 39 8e e3 38 3b 35 68 d6 5d c1 72 0f ba cd 03 00 00 b8 37 94 ff c0 e8 e8 cd fc ff <8b> 43 08 8b 15 48 15 84 c1 39 50 18 74 76 3b 35 68 d6 5d c1 72
EIP: [<c0472d05>] __bfs+0x112/0x1d5 SS:ESP 0068:efcadb88
CR2: 0000000000000008
---[ end trace 9ea8d1ad66bfdb25 ]---


-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/