Thread (2 messages) 2 messages, 2 authors, 2018-01-30

BUG: unable to handle kernel NULL pointer dereference in ipv6_get_lladdr

flat view

From: syzbot <hidden>
Date: 2017-12-19 16:38:03

Hello,

syzkaller hit the following crash on 6084b576dca2e898f5c101baef151f7bfdbb606d
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/master
compiler: gcc (GCC) 7.1.1 20170620
.config is attached
Raw console output is attached.

Unfortunately, I don't have any reproducer for this bug yet.


device lo entered promiscuous mode
device lo left promiscuous mode
BUG: unable to handle kernel NULL pointer dereference at 0000000000000328
IP: __read_once_size include/linux/compiler.h:183 [inline]
IP: __in6_dev_get include/net/addrconf.h:300 [inline]
IP: ipv6_get_lladdr+0x6f/0x270 net/ipv6/addrconf.c:1813
PGD 0 P4D 0
Oops: 0000 [#1] SMP
Dumping ftrace buffer:
   (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 16588 Comm: syz-executor1 Not tainted 4.15.0-rc3-next-20171214+ #67
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__read_once_size include/linux/compiler.h:183 [inline]
RIP: 0010:__in6_dev_get include/net/addrconf.h:300 [inline]
RIP: 0010:ipv6_get_lladdr+0x6f/0x270 net/ipv6/addrconf.c:1813
RSP: 0018:ffff88021fd03da8 EFLAGS: 00010206
RAX: ffff8801fcb0a280 RBX: 0000000000000000 RCX: ffffffff8225359f
RDX: 0000000000000100 RSI: 00000000aa440f11 RDI: 0000000000000286
RBP: ffff88021fd03de0 R08: 0000000000000001 R09: 0000000000000002
R10: ffff88021fd03d30 R11: 0000000000000002 R12: ffff8802156f2000
R13: 0000000000000040 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff88021fd00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000328 CR3: 000000000301e002 CR4: 00000000001606e0
Call Trace:
 <IRQ>
 addrconf_rs_timer+0x128/0x230 net/ipv6/addrconf.c:3762
 call_timer_fn+0x9f/0x3f0 kernel/time/timer.c:1320
 expire_timers kernel/time/timer.c:1357 [inline]
 __run_timers kernel/time/timer.c:1660 [inline]
 run_timer_softirq+0x68a/0x830 kernel/time/timer.c:1686
 __do_softirq+0xcb/0x4f3 kernel/softirq.c:285
 invoke_softirq kernel/softirq.c:365 [inline]
 irq_exit+0xd4/0xe0 kernel/softirq.c:405
 exiting_irq arch/x86/include/asm/apic.h:540 [inline]
 smp_apic_timer_interrupt+0x8e/0x2a0 arch/x86/kernel/apic/apic.c:1052
 apic_timer_interrupt+0xa9/0xb0 arch/x86/entry/entry_64.S:920
 </IRQ>
RIP: 0010:lock_acquire+0x21/0x220 kernel/locking/lockdep.c:3906
RSP: 0018:ffffc90000ee79f8 EFLAGS: 00000292 ORIG_RAX: ffffffffffffff11
RAX: ffff8801fcb0a280 RBX: ffffea00084e2340 RCX: 0000000000000002
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff83080740
RBP: ffffc90000ee7a38 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: ffff8801fcb0a280 R12: ffffea00084e2340
R13: ffffea00084e2340 R14: 0000000000000000 R15: 0000000000000000
 rcu_lock_acquire include/linux/rcupdate.h:244 [inline]
 rcu_read_lock include/linux/rcupdate.h:630 [inline]
 lock_page_memcg+0x33/0xf0 mm/memcontrol.c:1620
 page_remove_file_rmap mm/rmap.c:1213 [inline]
 page_remove_rmap+0x12e/0x4b0 mm/rmap.c:1298
 zap_pte_range mm/memory.c:1337 [inline]
 zap_pmd_range mm/memory.c:1441 [inline]
 zap_pud_range mm/memory.c:1470 [inline]
 zap_p4d_range mm/memory.c:1491 [inline]
 unmap_page_range+0x86f/0xed0 mm/memory.c:1512
 unmap_single_vma+0xbb/0x140 mm/memory.c:1557
 unmap_vmas+0x65/0xd0 mm/memory.c:1587
 exit_mmap+0xb0/0x1e0 mm/mmap.c:3020
 __mmput kernel/fork.c:966 [inline]
 mmput+0x82/0x190 kernel/fork.c:987
 exit_mm kernel/exit.c:544 [inline]
 do_exit+0x356/0x1050 kernel/exit.c:856
 do_group_exit+0x60/0x100 kernel/exit.c:972
 get_signal+0x36c/0xad0 kernel/signal.c:2337
 do_signal+0x23/0x670 arch/x86/kernel/signal.c:809
 exit_to_usermode_loop+0x13c/0x160 arch/x86/entry/common.c:161
 prepare_exit_to_usermode arch/x86/entry/common.c:195 [inline]
 syscall_return_slowpath+0x1b4/0x1e0 arch/x86/entry/common.c:264
 entry_SYSCALL_64_fastpath+0x94/0x96
RIP: 0033:0x452a09
RSP: 002b:00007f96787f3ce8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 000000000071c0f0 RCX: 0000000000452a09
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000071c0f0
RBP: 000000000071c0f0 R08: 0000000000000422 R09: 000000000071c0c8
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000a2f7ff R14: 00007f96787f49c0 R15: 0000000000000006
Code: c7 40 07 08 83 e8 b2 2e fd fe e8 3d 9e ff fe 85 c0 5a 74 12 e8 b3 6d 06 ff 80 3d 73 10 f6 00 00 0f 84 7a 01 00 00 e8 a1 6d 06 ff <4c> 8b a3 28 03 00 00 e8 15 9e ff fe 85 c0 74 12 e8 8c 6d 06 ff
RIP: __read_once_size include/linux/compiler.h:183 [inline] RSP: ffff88021fd03da8
RIP: __in6_dev_get include/net/addrconf.h:300 [inline] RSP: ffff88021fd03da8
RIP: ipv6_get_lladdr+0x6f/0x270 net/ipv6/addrconf.c:1813 RSP: ffff88021fd03da8
CR2: 0000000000000328
---[ end trace cc2639f5bc6e4363 ]---


---
This bug is generated by a dumb bot. It may contain errors.
See https://goo.gl/tpsmEJ for details.
Direct all questions to syzkaller@googlegroups.com.
Please credit me with: Reported-by: syzbot [off-list ref]

syzbot will keep track of this bug report.
Once a fix for this bug is merged into any tree, reply to this email with:
#syz fix: exact-commit-title
To mark this as a duplicate of another syzbot report, please reply with:
#syz dup: exact-subject-of-another-report
If it's a one-off invalid bug report, please reply with:
#syz invalid
Note: if the crash happens again, it will cause creation of a new bug report.
Note: all commands must start from beginning of the line in the email body.

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help