Srivatsa S. Bhat
e30a293e8a
net/core/flow.c: Fix CPU hotplug callback registration
...
Subsystems that want to register CPU hotplug callbacks, as well as perform
initialization for the CPUs that are already online, often do it as shown
below:
get_online_cpus();
for_each_online_cpu(cpu)
init_cpu(cpu);
register_cpu_notifier(&foobar_cpu_notifier);
put_online_cpus();
This is wrong, since it is prone to ABBA deadlocks involving the
cpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently
with CPU hotplug operations).
Instead, the correct and race-free way of performing the callback
registration is:
cpu_notifier_register_begin();
for_each_online_cpu(cpu)
init_cpu(cpu);
/* Note the use of the double underscored version of the API */
__register_cpu_notifier(&foobar_cpu_notifier);
cpu_notifier_register_done();
Fix the code in net/core/flow.c by using this latter form of callback
registration.
Cc: Li RongQing <[email protected] >
Cc: Sasha Levin <[email protected] >
Cc: Andrew Morton <[email protected] >
Cc: Chris Metcalf <[email protected] >
Cc: Ingo Molnar <[email protected] >
Acked-by: David S. Miller <[email protected] >
Signed-off-by: Srivatsa S. Bhat <[email protected] >
Signed-off-by: Rafael J. Wysocki <[email protected] >
2014-03-20 13:43:48 +01:00
..
9p
9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
2014-02-10 17:48:54 -08:00
802
neigh: use NEIGH_VAR_INIT in ndo_neigh_setup functions.
2014-01-16 11:31:58 -08:00
8021q
vlan: Set correct source MAC address with TX VLAN offload enabled
2014-03-10 22:21:51 -04:00
appletalk
net: Fix some fallout from the etner_addr_copy() changes.
2014-01-21 18:57:26 -08:00
atm
net: Fix some fallout from the etner_addr_copy() changes.
2014-01-21 18:57:26 -08:00
ax25
net: add build-time checks for msg->msg_name size
2014-01-18 23:04:16 -08:00
batman-adv
batman-adv: fix potential kernel paging error for unicast transmissions
2014-02-17 17:17:02 +01:00
bluetooth
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2014-02-18 16:29:46 -08:00
bridge
bridge: multicast: enable snooping on general queries only
2014-03-11 23:22:10 -04:00
caif
net: Include appropriate header file in caif/cfsrvl.c
2014-02-09 17:32:49 -08:00
can
can: remove CAN FD compatibility for CAN 2.0 sockets
2014-03-03 14:29:52 +01:00
ceph
libceph: do not dereference a NULL bio pointer
2014-02-07 11:37:07 -08:00
core
net/core/flow.c: Fix CPU hotplug callback registration
2014-03-20 13:43:48 +01:00
dcb
dcb: use __dev_get_by_name instead of dev_get_by_name to find interface
2014-01-14 18:50:46 -08:00
dccp
dccp: re-enable debug macro
2014-02-16 23:45:00 -05:00
decnet
net: Move prototype declaration to header file include/net/dn.h from net/decnet/af_decnet.c
2014-02-09 17:32:49 -08:00
dns_resolver
dsa
dsa: Use ether_addr_copy
2014-01-21 18:13:05 -08:00
ethernet
net: eth_type_trans() should use skb_header_pointer()
2014-01-16 15:30:31 -08:00
hsr
hsr: off by one sanity check in hsr_register_frame_in()
2014-03-03 15:29:42 -05:00
ieee802154
6lowpan: fix lockdep splats
2014-02-10 17:51:29 -08:00
ipv4
tcp: tcp_release_cb() should release socket ownership
2014-03-11 16:45:59 -04:00
ipv6
ipv6: Avoid unnecessary temporary addresses being generated
2014-03-13 15:49:14 -04:00
ipx
net: Move prototype declaration to header file include/net/net_namespace.h from net/ipx/af_ipx.c
2014-02-09 17:32:50 -08:00
irda
net: add build-time checks for msg->msg_name size
2014-01-18 23:04:16 -08:00
iucv
key
l2tp
l2tp: fix userspace reception on plain L2TP sockets
2014-03-06 14:25:39 -05:00
lapb
llc
llc: remove noisy WARN from llc_mac_hdr_init
2014-01-28 18:01:32 -08:00
mac80211
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
2014-03-07 15:09:32 -05:00
mac802154
mpls
netfilter
netfilter: ctnetlink: force null nat binding on insert
2014-02-18 00:13:51 +01:00
netlabel
netlink
net: Fix permission check in netlink_connect()
2014-02-25 18:35:14 -05:00
netrom
net: add build-time checks for msg->msg_name size
2014-01-18 23:04:16 -08:00
nfc
NFC: NCI: Fix NULL pointer dereference
2014-02-23 23:14:45 +01:00
openvswitch
openvswitch: Suppress error messages on megaflow updates
2014-02-04 22:32:38 -08:00
packet
af_packet: remove a stray tab in packet_set_ring()
2014-02-18 18:02:25 -05:00
phonet
net: add build-time checks for msg->msg_name size
2014-01-18 23:04:16 -08:00
rds
net: add build-time checks for msg->msg_name size
2014-01-18 23:04:16 -08:00
rfkill
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2014-01-25 11:17:34 -08:00
rose
net: add build-time checks for msg->msg_name size
2014-01-18 23:04:16 -08:00
rxrpc
RxRPC fixes
2014-01-28 18:04:18 -08:00
sched
pkt_sched: fq: do not hold qdisc lock while allocating memory
2014-03-10 16:17:52 -04:00
sctp
net: sctp: fix skb leakage in COOKIE ECHO path of chunk->auth_chunk
2014-03-05 20:40:25 -05:00
sunrpc
NFS client bugfixes for Linux 3.14
2014-02-19 12:13:02 -08:00
tipc
tipc: don't log disabled tasklet handler errors
2014-03-06 14:46:24 -05:00
unix
net: unix socket code abuses csum_partial
2014-03-06 16:19:33 -05:00
vmw_vsock
net: add build-time checks for msg->msg_name size
2014-01-18 23:04:16 -08:00
wimax
wireless
cfg80211: remove racy beacon_interval assignment
2014-03-03 14:18:20 +01:00
x25
net: add build-time checks for msg->msg_name size
2014-01-18 23:04:16 -08:00
xfrm
xfrm: Fix unlink race when policies are deleted.
2014-02-26 09:52:02 +01:00
compat.c
x86, x32: Correct invalid use of user timespec in the kernel
2014-01-30 18:44:13 -08:00
Kconfig
net: netprio: rename config to be more consistent with cgroup configs
2014-01-03 23:41:42 +01:00
Makefile
net: move 6lowpan compression code to separate module
2014-01-15 15:36:38 -08:00
nonet.c
socket.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-03-13 20:38:36 -07:00
sysctl_net.c