linux/drivers/net
Peter Zijlstra 37aadc687a sched: Unbreak wakeups
Remove broken task->state references and let wake_up_process() DTRT.

The anti-pattern in these patches breaks the ordering of ->state vs
COND as described in the comment near set_current_state() and can lead
to missed wakeups:

	(OoO load, observes RUNNING)<-.
	for (;;) {                    |
	  t->state = UNINTERRUPTIBLE; |
	  smp_mb();          ,----->  | (observes !COND)
                             |        /
	  if (COND) ---------'       |	COND = 1;
		break;		     `- if (t->state != RUNNING)
					  wake_up_process(t); // not done
	  schedule(); // forever waiting
	}
	t->state = TASK_RUNNING;

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Davidlohr Bueso <dbueso@suse.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210611082838.160855222@infradead.org
2021-06-18 11:43:06 +02:00
..
appletalk net: appletalk: cops: Fix data race in cops_probe1 2021-05-24 14:00:32 -07:00
arcnet
bonding bonding: init notify_work earlier to avoid uninitialized use 2021-05-17 15:24:20 -07:00
caif net: caif: remove BUG_ON(dev == NULL) in caif_xmit 2021-05-13 17:30:41 +02:00
can can: m_can: m_can_tx_work_queue(): fix tx_skb race condition 2021-05-06 09:24:07 +02:00
dsa net: dsa: microchip: enable phy errata workaround on 9567 2021-05-24 14:27:18 -07:00
ethernet sched: Unbreak wakeups 2021-06-18 11:43:06 +02:00
fddi fddi/skfp: fix typo 2021-04-27 14:07:27 -07:00
fjes
hamradio
hippi
hyperv hv_netvsc: Make netvsc/VF binding check both MAC and serial number 2021-04-25 18:19:23 -07:00
ieee802154 Merge tag 'ieee802154-for-davem-2021-06-03' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan 2021-06-03 15:21:58 -07:00
ipa net: ipa: memory region array is variable size 2021-05-11 16:22:37 -07:00
ipvlan
mdio net: mdio: octeon: Fix some double free issues 2021-05-13 15:43:52 -07:00
mhi
netdevsim netdevsim: Only use sampling truncation length when valid 2021-04-22 13:23:56 -07:00
pcs
phy net: mdiobus: get rid of a BUG_ON() 2021-05-17 15:50:58 -07:00
plip
ppp Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
slip
team
usb net: usb: fix memory leak in smsc75xx_bind 2021-05-24 14:26:25 -07:00
vmxnet3
wan Revert "drivers/net/wan/hdlc_fr: Fix a double free in pvc_xmit" 2021-05-03 13:37:58 -07:00
wireguard wireguard: allowedips: free empty intermediate nodes when removing single node 2021-06-04 14:25:14 -07:00
wireless wireless-drivers fixes for v5.13 2021-06-03 15:17:33 -07:00
wwan net: wwan: core: Return poll error in case of port removal 2021-04-22 13:26:02 -07:00
xen-netback xen-netback: take a reference to the RX task thread 2021-06-07 15:13:15 +02:00
bareudp.c
dummy.c
eql.c
geneve.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-26 12:00:00 -07:00
gtp.c
ifb.c
Kconfig net: Add a WWAN subsystem 2021-04-16 15:31:02 -07:00
LICENSE.SRC
loopback.c
macsec.c
macvlan.c macvlan: Use 'hash' iterators to simplify code 2021-04-27 14:03:11 -07:00
macvtap.c
Makefile net: Add a WWAN subsystem 2021-04-16 15:31:02 -07:00
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c net: tun: Remove redundant assignment to ret 2021-04-28 13:58:58 -07:00
veth.c veth: check for NAPI instead of xdp_prog before xmit of XDP frame 2021-04-16 15:42:07 -07:00
virtio_net.c virtio-net: fix for skb_over_panic inside big mode 2021-06-03 15:29:04 -07:00
vrf.c vrf: fix a comment about loopback device 2021-04-14 13:13:53 -07:00
vsockmon.c
vxlan.c
xen-netfront.c