android_kernel_xiaomi_sm7250/net
Zhang Xiaoxu ba124fdcd1 SUNRPC: Should wake up the privileged task firstly.
commit 5483b904bf336948826594610af4c9bbb0d9e3aa upstream.

When find a task from wait queue to wake up, a non-privileged task may
be found out, rather than the privileged. This maybe lead a deadlock
same as commit dfe1fe75e00e ("NFSv4: Fix deadlock between nfs4_evict_inode()
and nfs4_opendata_get_inode()"):

Privileged delegreturn task is queued to privileged list because all
the slots are assigned. If there has no enough slot to wake up the
non-privileged batch tasks(session less than 8 slot), then the privileged
delegreturn task maybe lost waked up because the found out task can't
get slot since the session is on draining.

So we should treate the privileged task as the emergency task, and
execute it as for as we can.

Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes: 5fcdfacc01 ("NFSv4: Return delegations synchronously in evict_inode")
Cc: stable@vger.kernel.org
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-07-20 16:15:41 +02:00
..
6lowpan
9p
802
8021q
appletalk appletalk: Fix skb allocation size in loopback case 2021-04-07 12:48:49 +02:00
atm
ax25
batman-adv batman-adv: Avoid WARN_ON timing related checks 2021-06-30 08:48:15 -04:00
bluetooth Bluetooth: use correct lock to prevent UAF of hdev object 2021-06-10 13:24:05 +02:00
bpf
bpfilter
bridge net: bridge: fix vlan tunnel dst refcnt when egressing 2021-06-30 08:48:26 -04:00
caif net: caif: fix memory leak in cfusbl_device_notify 2021-06-10 13:24:06 +02:00
can can: gw: synchronize rcu operations before removing gw job entry 2021-07-20 16:15:40 +02:00
ceph
core net: ethtool: clear heap allocations for ethtool function 2021-06-30 08:48:30 -04:00
dcb
dccp ipv6: weaken the v4mapped source check 2021-04-07 12:48:47 +02:00
decnet
dns_resolver
dsa net: dsa: fix error code getting shifted with 4 in dsa_slave_get_sset_count 2021-06-03 08:38:11 +02:00
ethernet
hsr hsr: use netdev_err() instead of WARN_ONCE() 2021-05-22 10:59:24 +02:00
ieee802154 net: ieee802154: fix null deref in parse dev addr 2021-06-30 08:48:10 -04:00
ife
ipv4 ping: Check return value of function 'ping_queue_rcv_skb' 2021-06-30 08:48:30 -04:00
ipv6 udp: fix race between close() and udp_abort() 2021-06-30 08:48:16 -04:00
iucv
kcm
key
l2tp
l3mdev
lapb
llc
mac80211 mac80211: drop multicast fragments 2021-06-30 08:48:30 -04:00
mac802154 net: mac802154: Fix general protection fault 2021-04-14 08:22:36 +02:00
mpls net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 2021-03-17 16:43:43 +01:00
ncsi net/ncsi: Avoid channel_monitor hrtimer deadlock 2021-04-14 08:22:35 +02:00
netfilter netfilter: synproxy: Fix out of bounds when parsing TCP options 2021-06-30 08:48:17 -04:00
netlabel cipso,calipso: resolve a number of problems with the DOI refcounts 2021-03-17 16:43:44 +01:00
netlink netlink: disable IRQs for netlink_lock_table() 2021-06-16 11:54:57 +02:00
netrom
nfc net/nfc/rawsock.c: fix a permission check bug 2021-06-16 11:54:56 +02:00
nsh
openvswitch openvswitch: meter: fix race when getting now_ms. 2021-06-03 08:38:11 +02:00
packet net/packet: annotate accesses to po->ifindex 2021-06-30 08:48:31 -04:00
phonet
psample
qrtr net: qrtr: fix OOB Read in qrtr_endpoint_post 2021-06-30 08:48:19 -04:00
rds net: rds: fix memory leak in rds_recvmsg 2021-06-30 08:48:15 -04:00
rfkill
rose
rxrpc
sched sch_cake: Fix out of bounds when parsing TCP options and header 2021-06-30 08:48:17 -04:00
sctp sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b 2021-05-22 10:59:43 +02:00
smc smc: disallow TCP_ULP in smc_setsockopt() 2021-05-22 10:59:44 +02:00
strparser
sunrpc SUNRPC: Should wake up the privileged task firstly. 2021-07-20 16:15:41 +02:00
switchdev
tipc tipc: fix unique bearer names sanity check 2021-06-10 13:24:05 +02:00
tls
unix net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock 2021-06-30 08:48:20 -04:00
vmw_vsock vsock/vmci: log once the failed queue pair allocation 2021-05-22 10:59:37 +02:00
wimax
wireless cfg80211: call cfg80211_leave_ocb when switching away from OCB 2021-06-30 08:48:30 -04:00
x25 net/x25: Return the correct errno code 2021-06-30 08:48:13 -04:00
xdp xsk: Simplify detection of empty and full rings 2021-05-22 10:59:48 +02:00
xfrm net: xfrm: Localize sequence counter per network namespace 2021-04-14 08:22:34 +02:00
compat.c net: Return the correct errno code 2021-06-30 08:48:13 -04:00
Kconfig
Makefile
socket.c net: make get_net_ns return error if NET_NS is disabled 2021-06-30 08:48:18 -04:00
sysctl_net.c