general protection fault in selinux_socket_sendmsg

10 views
Skip to first unread message

syzbot

unread,
Aug 29, 2019, 11:19:06 AM8/29/19
to syzkaller...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: 97ab07e1 Linux 4.19.69
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=122560da600000
kernel config: https://syzkaller.appspot.com/x/.config?x=a73820df154c3af
dashboard link: https://syzkaller.appspot.com/bug?extid=1603e1069da9a4295749
compiler: gcc (GCC) 9.0.0 20181231 (experimental)

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

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+1603e1...@syzkaller.appspotmail.com

loop2: partition table partially beyond EOD, truncated
loop2: p1 start 2304 is beyond EOD, truncated
loop2: p3 size 10 extends beyond EOD, truncated
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
CPU: 1 PID: 6447 Comm: kworker/1:5 Not tainted 4.19.69 #43
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Workqueue: krxrpcd rxrpc_peer_keepalive_worker
RIP: 0010:selinux_socket_sendmsg+0x22/0x40 security/selinux/hooks.c:4911
Code: c3 e8 d2 14 c1 fe eb e8 55 48 89 e5 53 48 89 fb e8 43 81 8a fe 48 8d
7b 20 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 75
11 48 8b 7b 20 be 04 00 00 00 e8 0a fc ff ff 5b 5d
RSP: 0018:ffff88806009f9f0 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff832286d5
RDX: 0000000000000004 RSI: ffffffff82e0d40d RDI: 0000000000000020
RBP: ffff88806009f9f8 R08: ffff888071858480 R09: ffff888071858d48
R10: 0000000000000000 R11: 0000000000000000 R12: dffffc0000000000
R13: ffff88806009fb20 R14: ffff88806009fb20 R15: 000000000000001d
FS: 0000000000000000(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2e12d000 CR3: 000000009c32f000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
security_socket_sendmsg+0x77/0xc0 security/security.c:1417
sock_sendmsg+0x45/0x130 net/socket.c:629
kernel_sendmsg+0x44/0x50 net/socket.c:640
rxrpc_send_keepalive+0x1ff/0x8e0 net/rxrpc/output.c:658
kobject: 'loop2' (00000000db54ec35): kobject_uevent_env
kobject: 'loop2' (00000000db54ec35): fill_kobj_path: path
= '/devices/virtual/block/loop2'
rxrpc_peer_keepalive_dispatch net/rxrpc/peer_event.c:366 [inline]
rxrpc_peer_keepalive_worker+0x7be/0xd02 net/rxrpc/peer_event.c:427
process_one_work+0x989/0x1750 kernel/workqueue.c:2153
worker_thread+0x98/0xe40 kernel/workqueue.c:2296
kthread+0x354/0x420 kernel/kthread.c:246
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415
Modules linked in:
---[ end trace bfa7a8901d076e13 ]---
RIP: 0010:selinux_socket_sendmsg+0x22/0x40 security/selinux/hooks.c:4911
Code: c3 e8 d2 14 c1 fe eb e8 55 48 89 e5 53 48 89 fb e8 43 81 8a fe 48 8d
7b 20 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 75
11 48 8b 7b 20 be 04 00 00 00 e8 0a fc ff ff 5b 5d
kobject: 'loop2p3' (00000000b86cf66c): kobject_cleanup, parent
(null)
RSP: 0018:ffff88806009f9f0 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff832286d5
kobject: 'loop4' (000000004b9a7598): kobject_uevent_env
RDX: 0000000000000004 RSI: ffffffff82e0d40d RDI: 0000000000000020
RBP: ffff88806009f9f8 R08: ffff888071858480 R09: ffff888071858d48
R10: 0000000000000000 R11: 0000000000000000 R12: dffffc0000000000
R13: ffff88806009fb20 R14: ffff88806009fb20 R15: 000000000000001d
kobject: 'loop2p3' (00000000b86cf66c): calling ktype release
kobject: 'loop4' (000000004b9a7598): fill_kobj_path: path
= '/devices/virtual/block/loop4'
FS: 0000000000000000(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
kobject: 'loop2p3': free name
kobject: 'loop2' (00000000db54ec35): kobject_uevent_env
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kobject: 'loop2' (00000000db54ec35): fill_kobj_path: path
= '/devices/virtual/block/loop2'
CR2: 00007f6c29a55db8 CR3: 00000000723a6000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
loop2: p1 < > p3
loop2: partition table partially beyond EOD, truncated
kobject: 'loop4' (000000004b9a7598): kobject_uevent_env
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
kobject: 'loop2' (00000000db54ec35): kobject_uevent_env


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Nov 26, 2019, 9:26:10 AM11/26/19
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following crash on:

HEAD commit: 14260788 Linux 4.19.86
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1162fb6ae00000
kernel config: https://syzkaller.appspot.com/x/.config?x=be524a405430f6eb
dashboard link: https://syzkaller.appspot.com/bug?extid=1603e1069da9a4295749
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12bb67cee00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=128e575ae00000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+1603e1...@syzkaller.appspotmail.com

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
CPU: 1 PID: 24 Comm: kworker/1:1 Not tainted 4.19.86-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Workqueue: krxrpcd rxrpc_peer_keepalive_worker
RIP: 0010:selinux_socket_sendmsg+0x22/0x40 security/selinux/hooks.c:4911
Code: c3 e8 f2 11 c1 fe eb e8 55 48 89 e5 53 48 89 fb e8 93 79 8a fe 48 8d
7b 20 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 75
11 48 8b 7b 20 be 04 00 00 00 e8 0a fc ff ff 5b 5d
RSP: 0018:ffff8880aa3e79f0 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff83215c35
RDX: 0000000000000004 RSI: ffffffff82e0a5dd RDI: 0000000000000020
RBP: ffff8880aa3e79f8 R08: ffff8880aa3ce640 R09: ffff8880aa3cef08
R10: 0000000000000000 R11: 0000000000000000 R12: dffffc0000000000
R13: ffff8880aa3e7b20 R14: ffff8880aa3e7b20 R15: 000000000000001d
FS: 0000000000000000(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fd5ae2b2e78 CR3: 00000000a8a36000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
security_socket_sendmsg+0x77/0xc0 security/security.c:1417
sock_sendmsg+0x45/0x130 net/socket.c:629
kernel_sendmsg+0x44/0x50 net/socket.c:640
rxrpc_send_keepalive+0x1ff/0x8e0 net/rxrpc/output.c:658
rxrpc_peer_keepalive_dispatch net/rxrpc/peer_event.c:366 [inline]
rxrpc_peer_keepalive_worker+0x7be/0xd02 net/rxrpc/peer_event.c:427
process_one_work+0x989/0x1750 kernel/workqueue.c:2153
worker_thread+0x98/0xe40 kernel/workqueue.c:2296
kthread+0x354/0x420 kernel/kthread.c:246
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415
Modules linked in:
---[ end trace 29f08899e85a4e8f ]---
RIP: 0010:selinux_socket_sendmsg+0x22/0x40 security/selinux/hooks.c:4911
Code: c3 e8 f2 11 c1 fe eb e8 55 48 89 e5 53 48 89 fb e8 93 79 8a fe 48 8d
7b 20 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 75
11 48 8b 7b 20 be 04 00 00 00 e8 0a fc ff ff 5b 5d
RSP: 0018:ffff8880aa3e79f0 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff83215c35
RDX: 0000000000000004 RSI: ffffffff82e0a5dd RDI: 0000000000000020
RBP: ffff8880aa3e79f8 R08: ffff8880aa3ce640 R09: ffff8880aa3cef08
R10: 0000000000000000 R11: 0000000000000000 R12: dffffc0000000000
R13: ffff8880aa3e7b20 R14: ffff8880aa3e7b20 R15: 000000000000001d
FS: 0000000000000000(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fd5ae291e78 CR3: 00000000913c8000 CR4: 00000000001406e0

syzbot

unread,
Mar 27, 2020, 4:34:03 AM3/27/20
to syzkaller...@googlegroups.com
syzbot suspects this bug was fixed by commit:

commit 43cac315bec132e962e04c31fe888caac257ec0a
Author: David Howells <dhow...@redhat.com>
Date: Thu Feb 6 13:57:40 2020 +0000

rxrpc: Fix call RCU cleanup using non-bh-safe locks

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=160402a3e00000
start commit: 14260788 Linux 4.19.86
git tree: linux-4.19.y
If the result looks correct, please mark the bug fixed by replying with:

#syz fix: rxrpc: Fix call RCU cleanup using non-bh-safe locks

For information about bisection process see: https://goo.gl/tpsmEJ#bisection
Reply all
Reply to author
Forward
0 new messages