general protection fault in xfrm_user_rcv_msg_compat

24 views
Skip to first unread message

syzbot

unread,
Jan 5, 2021, 7:42:17 AM1/5/21
to da...@davemloft.net, her...@gondor.apana.org.au, ku...@kernel.org, linux-...@vger.kernel.org, net...@vger.kernel.org, steffen....@secunet.com, syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 36bbbd0e Merge branch 'rcu/urgent' of git://git.kernel.org..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=136ca057500000
kernel config: https://syzkaller.appspot.com/x/.config?x=104b0cac547b2149
dashboard link: https://syzkaller.appspot.com/bug?extid=5078fc2d7cf37d71de1c
compiler: gcc (GCC) 10.1.0-syz 20200507
userspace arch: i386

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

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+5078fc...@syzkaller.appspotmail.com

general protection fault, probably for non-canonical address 0xe7c939d8b8314120: 0000 [#1] PREEMPT SMP KASAN
KASAN: maybe wild-memory-access in range [0x3e49eec5c18a0900-0x3e49eec5c18a0907]
CPU: 0 PID: 9749 Comm: syz-executor.0 Not tainted 5.11.0-rc2-syzkaller #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
RIP: 0010:nla_type include/net/netlink.h:1130 [inline]
RIP: 0010:xfrm_xlate32_attr net/xfrm/xfrm_compat.c:404 [inline]
RIP: 0010:xfrm_xlate32 net/xfrm/xfrm_compat.c:526 [inline]
RIP: 0010:xfrm_user_rcv_msg_compat+0x5e5/0x1040 net/xfrm/xfrm_compat.c:571
Code: 3c 38 00 0f 85 14 08 00 00 48 8b 04 24 4c 8b 20 4d 85 e4 0f 84 0b 02 00 00 e8 27 6d d3 f9 49 8d 7c 24 02 48 89 f8 48 c1 e8 03 <42> 0f b6 14 38 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 08 84 d2 0f 85
RSP: 0018:ffffc90021f273d8 EFLAGS: 00010202
RAX: 07c93dd8b8314120 RBX: 0000000000000005 RCX: ffffc900018b9000
RDX: 0000000000040000 RSI: ffffffff879f0879 RDI: 3e49eec5c18a0902
RBP: ffff88801dd6c450 R08: 000000000000001b R09: ffff88801dd6c453
R10: ffffffff879f0ab9 R11: 0000000000000024 R12: 3e49eec5c18a0900
R13: 0000000000000006 R14: ffff88801dd6c440 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff88802ca00000(0063) knlGS:00000000f5591b40
CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 0000000020000540 CR3: 00000000758b3000 CR4: 0000000000350ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
xfrm_user_rcv_msg+0x55b/0x8b0 net/xfrm/xfrm_user.c:2774
netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2494
xfrm_netlink_rcv+0x6b/0x90 net/xfrm/xfrm_user.c:2824
netlink_unicast_kernel net/netlink/af_netlink.c:1304 [inline]
netlink_unicast+0x533/0x7d0 net/netlink/af_netlink.c:1330
netlink_sendmsg+0x856/0xd90 net/netlink/af_netlink.c:1919
sock_sendmsg_nosec net/socket.c:652 [inline]
sock_sendmsg+0xcf/0x120 net/socket.c:672
____sys_sendmsg+0x6e8/0x810 net/socket.c:2345
___sys_sendmsg+0xf3/0x170 net/socket.c:2399
__sys_sendmsg+0xe5/0x1b0 net/socket.c:2432
do_syscall_32_irqs_on arch/x86/entry/common.c:78 [inline]
__do_fast_syscall_32+0x56/0x80 arch/x86/entry/common.c:137
do_fast_syscall_32+0x2f/0x70 arch/x86/entry/common.c:160
entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
RIP: 0023:0xf7f97549
Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 eb 0d 90 90 90 90 90 90 90 90 90 90 90 90
RSP: 002b:00000000f55910bc EFLAGS: 00000296 ORIG_RAX: 0000000000000172
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000020000540
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
---[ end trace cd107aff38e126f7 ]---
RIP: 0010:nla_type include/net/netlink.h:1130 [inline]
RIP: 0010:xfrm_xlate32_attr net/xfrm/xfrm_compat.c:404 [inline]
RIP: 0010:xfrm_xlate32 net/xfrm/xfrm_compat.c:526 [inline]
RIP: 0010:xfrm_user_rcv_msg_compat+0x5e5/0x1040 net/xfrm/xfrm_compat.c:571
Code: 3c 38 00 0f 85 14 08 00 00 48 8b 04 24 4c 8b 20 4d 85 e4 0f 84 0b 02 00 00 e8 27 6d d3 f9 49 8d 7c 24 02 48 89 f8 48 c1 e8 03 <42> 0f b6 14 38 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 08 84 d2 0f 85
RSP: 0018:ffffc90021f273d8 EFLAGS: 00010202
RAX: 07c93dd8b8314120 RBX: 0000000000000005 RCX: ffffc900018b9000
RDX: 0000000000040000 RSI: ffffffff879f0879 RDI: 3e49eec5c18a0902
RBP: ffff88801dd6c450 R08: 000000000000001b R09: ffff88801dd6c453
R10: ffffffff879f0ab9 R11: 0000000000000024 R12: 3e49eec5c18a0900
R13: 0000000000000006 R14: ffff88801dd6c440 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff88802cb00000(0063) knlGS:00000000f5591b40
CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 0000000008161934 CR3: 00000000758b3000 CR4: 0000000000350ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This report 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 issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Feb 23, 2021, 9:47:21 AM2/23/21
to da...@davemloft.net, her...@gondor.apana.org.au, ku...@kernel.org, linux-...@vger.kernel.org, net...@vger.kernel.org, steffen....@secunet.com, syzkall...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: a99163e9 Merge tag 'devicetree-for-5.12' of git://git.kern..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=11a6fccad00000
kernel config: https://syzkaller.appspot.com/x/.config?x=7a875029a795d230
dashboard link: https://syzkaller.appspot.com/bug?extid=5078fc2d7cf37d71de1c
userspace arch: i386
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=167c1832d00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=10214f12d00000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+5078fc...@syzkaller.appspotmail.com

general protection fault, probably for non-canonical address 0xe51af2c1f2c7bd20: 0000 [#1] PREEMPT SMP KASAN
KASAN: maybe wild-memory-access in range [0x28d7b60f963de900-0x28d7b60f963de907]
CPU: 1 PID: 8357 Comm: syz-executor113 Not tainted 5.11.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:nla_type include/net/netlink.h:1130 [inline]
RIP: 0010:xfrm_xlate32_attr net/xfrm/xfrm_compat.c:404 [inline]
RIP: 0010:xfrm_xlate32 net/xfrm/xfrm_compat.c:526 [inline]
RIP: 0010:xfrm_user_rcv_msg_compat+0x5e5/0x1070 net/xfrm/xfrm_compat.c:571
Code: 3c 38 00 0f 85 50 08 00 00 48 8b 04 24 4c 8b 20 4d 85 e4 0f 84 0b 02 00 00 e8 b7 7f c9 f9 49 8d 7c 24 02 48 89 f8 48 c1 e8 03 <42> 0f b6 14 38 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 08 84 d2 0f 85
RSP: 0018:ffffc900017ff3d8 EFLAGS: 00010202
RAX: 051af6c1f2c7bd20 RBX: 0000000000000006 RCX: 0000000000000000
RDX: ffff88801ac60000 RSI: ffffffff87a9f019 RDI: 28d7b60f963de902
RBP: ffff888020c9af50 R08: 000000000000001b R09: ffff888020c9af53
R10: ffffffff87a9f259 R11: 0000000000000024 R12: 28d7b60f963de900
R13: 0000000000000007 R14: ffff888020c9af40 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8880b9d00000(0063) knlGS:0000000009c092c0
CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 0000000020002752 CR3: 000000002d87a000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
xfrm_user_rcv_msg+0x556/0x8b0 net/xfrm/xfrm_user.c:2774
netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2502
xfrm_netlink_rcv+0x6b/0x90 net/xfrm/xfrm_user.c:2824
netlink_unicast_kernel net/netlink/af_netlink.c:1312 [inline]
netlink_unicast+0x533/0x7d0 net/netlink/af_netlink.c:1338
netlink_sendmsg+0x856/0xd90 net/netlink/af_netlink.c:1927
sock_sendmsg_nosec net/socket.c:652 [inline]
sock_sendmsg+0xcf/0x120 net/socket.c:672
____sys_sendmsg+0x6e8/0x810 net/socket.c:2348
___sys_sendmsg+0xf3/0x170 net/socket.c:2402
__sys_sendmsg+0xe5/0x1b0 net/socket.c:2435
do_syscall_32_irqs_on arch/x86/entry/common.c:77 [inline]
__do_fast_syscall_32+0x56/0x80 arch/x86/entry/common.c:139
do_fast_syscall_32+0x2f/0x70 arch/x86/entry/common.c:164
entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
RIP: 0023:0xf7f48549
Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00
RSP: 002b:00000000ffca8dbc EFLAGS: 00000282 ORIG_RAX: 0000000000000172
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000020003c80
RDX: 0000000000000000 RSI: 00000000ffca8e10 RDI: 00000000080e3000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
---[ end trace 1494ca3373de8f76 ]---
RIP: 0010:nla_type include/net/netlink.h:1130 [inline]
RIP: 0010:xfrm_xlate32_attr net/xfrm/xfrm_compat.c:404 [inline]
RIP: 0010:xfrm_xlate32 net/xfrm/xfrm_compat.c:526 [inline]
RIP: 0010:xfrm_user_rcv_msg_compat+0x5e5/0x1070 net/xfrm/xfrm_compat.c:571
Code: 3c 38 00 0f 85 50 08 00 00 48 8b 04 24 4c 8b 20 4d 85 e4 0f 84 0b 02 00 00 e8 b7 7f c9 f9 49 8d 7c 24 02 48 89 f8 48 c1 e8 03 <42> 0f b6 14 38 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 08 84 d2 0f 85
RSP: 0018:ffffc900017ff3d8 EFLAGS: 00010202
RAX: 051af6c1f2c7bd20 RBX: 0000000000000006 RCX: 0000000000000000
RDX: ffff88801ac60000 RSI: ffffffff87a9f019 RDI: 28d7b60f963de902
RBP: ffff888020c9af50 R08: 000000000000001b R09: ffff888020c9af53
R10: ffffffff87a9f259 R11: 0000000000000024 R12: 28d7b60f963de900
R13: 0000000000000007 R14: ffff888020c9af40 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8880b9d00000(0063) knlGS:0000000009c092c0
CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 00007efcea642000 CR3: 000000002d87a000 CR4: 00000000001506e0

Cong Wang

unread,
Feb 23, 2021, 5:45:02 PM2/23/21
to syzbot, David Miller, Herbert Xu, Jakub Kicinski, LKML, Linux Kernel Network Developers, Steffen Klassert, syzkaller-bugs
On Tue, Feb 23, 2021 at 6:55 AM syzbot
<syzbot+5078fc...@syzkaller.appspotmail.com> wrote:
>
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit: a99163e9 Merge tag 'devicetree-for-5.12' of git://git.kern..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=11a6fccad00000
> kernel config: https://syzkaller.appspot.com/x/.config?x=7a875029a795d230
> dashboard link: https://syzkaller.appspot.com/bug?extid=5078fc2d7cf37d71de1c
> userspace arch: i386
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=167c1832d00000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=10214f12d00000
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+5078fc...@syzkaller.appspotmail.com
>
> general protection fault, probably for non-canonical address 0xe51af2c1f2c7bd20: 0000 [#1] PREEMPT SMP KASAN
> KASAN: maybe wild-memory-access in range [0x28d7b60f963de900-0x28d7b60f963de907]
> CPU: 1 PID: 8357 Comm: syz-executor113 Not tainted 5.11.0-syzkaller #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
> RIP: 0010:nla_type include/net/netlink.h:1130 [inline]
> RIP: 0010:xfrm_xlate32_attr net/xfrm/xfrm_compat.c:404 [inline]
> RIP: 0010:xfrm_xlate32 net/xfrm/xfrm_compat.c:526 [inline]
> RIP: 0010:xfrm_user_rcv_msg_compat+0x5e5/0x1070 net/xfrm/xfrm_compat.c:571

Looks like we have to initialize the pointer array to NULL's.

diff --git a/net/xfrm/xfrm_compat.c b/net/xfrm/xfrm_compat.c
index d8e8a11ca845..56fb32f90799 100644
--- a/net/xfrm/xfrm_compat.c
+++ b/net/xfrm/xfrm_compat.c
@@ -537,7 +537,7 @@ static struct nlmsghdr
*xfrm_user_rcv_msg_compat(const struct nlmsghdr *h32,
{
/* netlink_rcv_skb() checks if a message has full (struct nlmsghdr) */
u16 type = h32->nlmsg_type - XFRM_MSG_BASE;
- struct nlattr *attrs[XFRMA_MAX+1];
+ struct nlattr *attrs[XFRMA_MAX+1] = {0};
struct nlmsghdr *h64;
size_t len;
int err;

syzbot

unread,
Sep 6, 2021, 3:29:13 PM9/6/21
to da...@davemloft.net, di...@arista.com, her...@gondor.apana.org.au, ku...@kernel.org, linux-...@vger.kernel.org, net...@vger.kernel.org, steffen....@secunet.com, syzkall...@googlegroups.com, tonymaris...@yandex.com, xiyou.w...@gmail.com, zoe....@bpchargemaster.com
syzbot suspects this issue was fixed by commit:

commit 4e9505064f58d1252805952f8547a5b7dbc5c111
Author: Dmitry Safonov <di...@arista.com>
Date: Sat Jul 17 15:02:21 2021 +0000

net/xfrm/compat: Copy xfrm_spdattr_type_t atributes

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=14b8aa69300000
start commit: a99163e9e708 Merge tag 'devicetree-for-5.12' of git://git...
git tree: upstream
If the result looks correct, please mark the issue as fixed by replying with:

#syz fix: net/xfrm/compat: Copy xfrm_spdattr_type_t atributes

For information about bisection process see: https://goo.gl/tpsmEJ#bisection

Dmitry Vyukov

unread,
May 12, 2022, 9:12:29 AM5/12/22
to syzbot, da...@davemloft.net, di...@arista.com, her...@gondor.apana.org.au, ku...@kernel.org, linux-...@vger.kernel.org, net...@vger.kernel.org, steffen....@secunet.com, syzkall...@googlegroups.com, tonymaris...@yandex.com, xiyou.w...@gmail.com, zoe....@bpchargemaster.com
On Mon, 6 Sept 2021 at 21:29, syzbot
Reply all
Reply to author
Forward
0 new messages