[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACGkMEs1GZmPwGh5SUrYLW9QLS49+BQ8x1HQcGv=Xo1jq_Ea0g@mail.gmail.com>
Date: Tue, 17 Oct 2023 10:40:54 +0800
From: Jason Wang <jasowang@...hat.com>
To: Willem de Bruijn <willemdebruijn.kernel@...il.com>
Cc: Eric Dumazet <edumazet@...gle.com>, "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org,
eric.dumazet@...il.com, syzbot <syzkaller@...glegroups.com>
Subject: Re: [PATCH net] tun: prevent negative ifindex
On Tue, Oct 17, 2023 at 8:56 AM Willem de Bruijn
<willemdebruijn.kernel@...il.com> wrote:
>
> Eric Dumazet wrote:
> > After commit 956db0a13b47 ("net: warn about attempts to register
> > negative ifindex") syzbot is able to trigger the following splat.
> >
> > Negative ifindex are not supported.
> >
> > WARNING: CPU: 1 PID: 6003 at net/core/dev.c:9596 dev_index_reserve+0x104/0x210
> > Modules linked in:
> > CPU: 1 PID: 6003 Comm: syz-executor926 Not tainted 6.6.0-rc4-syzkaller-g19af4a4ed414 #0
> > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023
> > pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > pc : dev_index_reserve+0x104/0x210
> > lr : dev_index_reserve+0x100/0x210
> > sp : ffff800096a878e0
> > x29: ffff800096a87930 x28: ffff0000d04380d0 x27: ffff0000d04380f8
> > x26: ffff0000d04380f0 x25: 1ffff00012d50f20 x24: 1ffff00012d50f1c
> > x23: dfff800000000000 x22: ffff8000929c21c0 x21: 00000000ffffffea
> > x20: ffff0000d04380e0 x19: ffff800096a87900 x18: ffff800096a874c0
> > x17: ffff800084df5008 x16: ffff80008051f9c4 x15: 0000000000000001
> > x14: 1fffe0001a087198 x13: 0000000000000000 x12: 0000000000000000
> > x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000
> > x8 : ffff0000d41c9bc0 x7 : 0000000000000000 x6 : 0000000000000000
> > x5 : ffff800091763d88 x4 : 0000000000000000 x3 : ffff800084e04748
> > x2 : 0000000000000001 x1 : 00000000fead71c7 x0 : 0000000000000000
> > Call trace:
> > dev_index_reserve+0x104/0x210
> > register_netdevice+0x598/0x1074 net/core/dev.c:10084
> > tun_set_iff+0x630/0xb0c drivers/net/tun.c:2850
> > __tun_chr_ioctl+0x788/0x2af8 drivers/net/tun.c:3118
> > tun_chr_ioctl+0x38/0x4c drivers/net/tun.c:3403
> > vfs_ioctl fs/ioctl.c:51 [inline]
> > __do_sys_ioctl fs/ioctl.c:871 [inline]
> > __se_sys_ioctl fs/ioctl.c:857 [inline]
> > __arm64_sys_ioctl+0x14c/0x1c8 fs/ioctl.c:857
> > __invoke_syscall arch/arm64/kernel/syscall.c:37 [inline]
> > invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:51
> > el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:136
> > do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:155
> > el0_svc+0x58/0x16c arch/arm64/kernel/entry-common.c:678
> > el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:696
> > el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:595
> > irq event stamp: 11348
> > hardirqs last enabled at (11347): [<ffff80008a716574>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
> > hardirqs last enabled at (11347): [<ffff80008a716574>] _raw_spin_unlock_irqrestore+0x38/0x98 kernel/locking/spinlock.c:194
> > hardirqs last disabled at (11348): [<ffff80008a627820>] el1_dbg+0x24/0x80 arch/arm64/kernel/entry-common.c:436
> > softirqs last enabled at (11138): [<ffff8000887ca53c>] spin_unlock_bh include/linux/spinlock.h:396 [inline]
> > softirqs last enabled at (11138): [<ffff8000887ca53c>] release_sock+0x15c/0x1b0 net/core/sock.c:3531
> > softirqs last disabled at (11136): [<ffff8000887ca41c>] spin_lock_bh include/linux/spinlock.h:356 [inline]
> > softirqs last disabled at (11136): [<ffff8000887ca41c>] release_sock+0x3c/0x1b0 net/core/sock.c:3518
> >
> > Fixes: fb7589a16216 ("tun: Add ability to create tun device with given index")
> > Reported-by: syzbot <syzkaller@...glegroups.com>
> > Signed-off-by: Eric Dumazet <edumazet@...gle.com>
>
> Reviewed-by: Willem de Bruijn <willemb@...gle.com>
Acked-by: Jason Wang <jasowang@...hat.com>
Thanks
>
>
Powered by blists - more mailing lists