diff options
author | Eric Dumazet <edumazet@google.com> | 2020-01-22 20:07:35 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-01-23 13:42:44 +0300 |
commit | 1efba987c48629c0c64703bb4ea76ca1a3771d17 (patch) | |
tree | 0bdb2a5ca6a7059cdba16ed9b163b485f431f171 /net | |
parent | 971de2e572118c1128bff295341e37b6c8b8f108 (diff) | |
download | linux-1efba987c48629c0c64703bb4ea76ca1a3771d17.tar.xz |
tun: add mutex_unlock() call and napi.skb clearing in tun_get_user()
If both IFF_NAPI_FRAGS mode and XDP are enabled, and the XDP program
consumes the skb, we need to clear the napi.skb (or risk
a use-after-free) and release the mutex (or risk a deadlock)
WARNING: lock held when returning to user space!
5.5.0-rc6-syzkaller #0 Not tainted
------------------------------------------------
syz-executor.0/455 is leaving the kernel with locks still held!
1 lock held by syz-executor.0/455:
#0: ffff888098f6e748 (&tfile->napi_mutex){+.+.}, at: tun_get_user+0x1604/0x3fc0 drivers/net/tun.c:1835
Fixes: 90e33d459407 ("tun: enable napi_gro_frags() for TUN/TAP driver")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Cc: Petar Penkov <ppenkov@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions