syzbot
general protection fault in rds_ib_get_mr
Status:
upstream: reported C repro on 2022/01/06 02:37
Reported-by: syzbot+d50512f5e936db36ad18@syzkaller.appspotmail.com
First crash: 1672d, last: 1371d
▶
▼
Fix bisection attempts (6)
Sample crash report:
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 1 PID: 13725 Comm: syz-executor369 Not tainted 4.14.291-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/26/2022
task: ffff8880a9a1c0c0 task.stack: ffff88809bc80000
RIP: 0010:rds_ib_get_mr+0x58/0x200 net/rds/ib_rdma.c:543
RSP: 0018:ffff88809bc87b98 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff88809bc87c68 RCX: ffff8880a987b09c
RDX: 000000000000000d RSI: 0000000000000001 RDI: 0000000000000068
RBP: ffff8880982aa440 R08: 0000000000000001 R09: ffff8880b4fa1580
R10: ffff8880b4fa15a7 R11: 0000000000000000 R12: ffff8880b4fa1580
R13: 0000000000000001 R14: ffff8880a987b09c R15: 0000000000000000
FS: 00007f4ec4598700(0000) GS:ffff8880ba500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd22f789b0 CR3: 00000000a9165000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__rds_rdma_map+0x5ab/0xea0 net/rds/rdma.c:271
rds_get_mr_for_dest+0xe3/0x130 net/rds/rdma.c:357
rds_setsockopt+0x337/0x750 net/rds/af_rds.c:347
SYSC_setsockopt net/socket.c:1865 [inline]
SyS_setsockopt+0x110/0x1e0 net/socket.c:1844
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x7f4ec4608529
RSP: 002b:00007f4ec4598208 EFLAGS: 00000246 ORIG_RAX: 0000000000000036
RAX: ffffffffffffffda RBX: 00007f4ec46914b8 RCX: 00007f4ec4608529
RDX: 0000000000000007 RSI: 0000000000000114 RDI: 0000000000000003
RBP: 00007f4ec46914b0 R08: 00000000000000a0 R09: 00007f4ec46914b8
R10: 0000000020000180 R11: 0000000000000246 R12: 00007f4ec46914bc
R13: 00007ffd22f2cd0f R14: 00007f4ec4598300 R15: 0000000000022000
Code: fa 48 c1 ea 03 80 3c 02 00 0f 85 9e 01 00 00 4c 8b bd c0 04 00 00 48 b8 00 00 00 00 00 fc ff df 49 8d 7f 68 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 6e 01 00 00 48 b8 00 00 00 00 00 fc ff df 4d
RIP: rds_ib_get_mr+0x58/0x200 net/rds/ib_rdma.c:543 RSP: ffff88809bc87b98
---[ end trace ae1d663dd54e968e ]---
----------------
Code disassembly (best guess):
0: fa cli
1: 48 c1 ea 03 shr $0x3,%rdx
5: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1)
9: 0f 85 9e 01 00 00 jne 0x1ad
f: 4c 8b bd c0 04 00 00 mov 0x4c0(%rbp),%r15
16: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
1d: fc ff df
20: 49 8d 7f 68 lea 0x68(%r15),%rdi
24: 48 89 fa mov %rdi,%rdx
27: 48 c1 ea 03 shr $0x3,%rdx
* 2b: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) <-- trapping instruction
2f: 0f 85 6e 01 00 00 jne 0x1a3
35: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
3c: fc ff df
3f: 4d rex.WRB
* Struck through repros no longer work on HEAD.