BUG: unable to handle kernel paging request in ebt_among_mt_check (2)

From: syzbot <hidden>
Date: 2018-03-07 19:59:06
Also in: bridge, lkml, netfilter-devel

Hello,

syzbot hit the following crash on net-next commit
0f3e9c97eb5a97972b0c0076a5cc01bb142f8e70 (Tue Mar 6 05:53:44 2018 +0000)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

So far this crash happened 61 times on net-next, upstream.
C reproducer is attached.
syzkaller reproducer is attached.
Raw console output is attached.
compiler: gcc (GCC) 7.1.1 20170620
.config is attached.

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+bdabab6f1983a03fc009@syzkaller.appspotmail.com
It will help syzbot understand when the bug is fixed. See footer for details.
If you forward the report, please keep this part and the footer.

audit: type=1400 audit(1520344231.282:6): avc:  denied  { map } for  pid=4159 comm="bash" path="/bin/bash" dev="sda1" ino=1457 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=system_u:object_r:file_t:s0 tclass=file permissive=1
audit: type=1400 audit(1520344251.914:7): avc:  denied  { map } for  pid=4176 comm="syzkaller251034" path="/root/syzkaller251034479" dev="sda1" ino=16481 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file permissive=1
BUG: unable to handle kernel paging request at ffffc9003181552c
IP: poolsize_invalid net/bridge/netfilter/ebt_among.c:177 [inline]
IP: ebt_among_mt_check+0x137/0x390 net/bridge/netfilter/ebt_among.c:201
PGD 1dad2f067 P4D 1dad2f067 PUD 1dad30067 PMD 0
Oops: 0000 [#1] SMP KASAN
Dumping ftrace buffer:
   (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 4176 Comm: syzkaller251034 Not tainted 4.16.0-rc4+ #254
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:poolsize_invalid net/bridge/netfilter/ebt_among.c:177 [inline]
RIP: 0010:ebt_among_mt_check+0x137/0x390 net/bridge/netfilter/ebt_among.c:201
RSP: 0018:ffff8801bc837210 EFLAGS: 00010246
RAX: 0000000000000007 RBX: ffffc90001815128 RCX: ffffffff851c0656
RDX: 0000000000000000 RSI: 0000000000000880 RDI: ffffc9003181552c
RBP: ffff8801bc837248 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff88614380 R11: 0000000000000000 R12: ffffc90001815928
R13: ffffc90031815128 R14: 0000000000000880 R15: 0000000000000414
FS:  00000000012ca880(0000) GS:ffff8801db300000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffc9003181552c CR3: 00000001b0311004 CR4: 00000000001606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 xt_check_match+0x235/0x9c0 net/netfilter/x_tables.c:469
 ebt_check_match net/bridge/netfilter/ebtables.c:374 [inline]
 ebt_check_entry+0xbc3/0x1e00 net/bridge/netfilter/ebtables.c:704
 translate_table+0xcf5/0x2290 net/bridge/netfilter/ebtables.c:945
 do_replace_finish+0x79a/0x2620 net/bridge/netfilter/ebtables.c:1002
 do_replace+0x333/0x4b0 net/bridge/netfilter/ebtables.c:1141
 do_ebt_set_ctl+0xd4/0x110 net/bridge/netfilter/ebtables.c:1518
 nf_sockopt net/netfilter/nf_sockopt.c:106 [inline]
 nf_setsockopt+0x67/0xc0 net/netfilter/nf_sockopt.c:115
 ip_setsockopt+0x97/0xa0 net/ipv4/ip_sockglue.c:1261
 raw_setsockopt+0xb7/0xd0 net/ipv4/raw.c:870
 sock_common_setsockopt+0x95/0xd0 net/core/sock.c:2979
 SYSC_setsockopt net/socket.c:1850 [inline]
 SyS_setsockopt+0x189/0x360 net/socket.c:1829
 do_syscall_64+0x281/0x940 arch/x86/entry/common.c:287
 entry_SYSCALL_64_after_hwframe+0x42/0xb7
RIP: 0033:0x441ab9
RSP: 002b:00007fff33f8e998 EFLAGS: 00000213 ORIG_RAX: 0000000000000036
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000441ab9
RDX: 0000000000000080 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 00000000006cc018 R08: 0000000000000b40 R09: 00000000004002c8
R10: 0000000020000440 R11: 0000000000000213 R12: 00000000004033e0
R13: 0000000000403470 R14: 0000000000000000 R15: 0000000000000000
Code: 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 0f b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 20 02 00 00 <41> 8b 85 04 04 00 00 3d a9 aa aa 0a 77 53 89 45 d0 e8 43 03 55
RIP: poolsize_invalid net/bridge/netfilter/ebt_among.c:177 [inline] RSP: ffff8801bc837210
RIP: ebt_among_mt_check+0x137/0x390 net/bridge/netfilter/ebt_among.c:201 RSP: ffff8801bc837210
CR2: ffffc9003181552c
---[ end trace 94d069ff6a1006ce ]---


---
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.

syzbot will keep track of this bug report.
If you forgot to add the Reported-by tag, once the fix for this bug is merged
into any tree, please reply to this email with:
#syz fix: exact-commit-title
If you want to test a patch for this bug, please reply with:
#syz test: git://repo/address.git branch
and provide the patch inline or as an attachment.
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