summaryrefslogtreecommitdiff
path: root/include/linux/if_vlan.h
diff options
context:
space:
mode:
authorWillem de Bruijn <willemb@google.com>2018-04-23 17:37:03 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-04-29 07:50:05 +0200
commit183f20fb01dcbc1e4b1d821c83e37d3fff144893 (patch)
treebfd1397b4a53c71e009fa6368715ddede5c3b897 /include/linux/if_vlan.h
parentc3da49b83774683f8e78a1592170f76395d537c6 (diff)
packet: fix bitfield update race
[ Upstream commit a6361f0ca4b25460f2cdf3235ebe8115f622901e ] Updates to the bitfields in struct packet_sock are not atomic. Serialize these read-modify-write cycles. Move po->running into a separate variable. Its writes are protected by po->bind_lock (except for one startup case at packet_create). Also replace a textual precondition warning with lockdep annotation. All others are set only in packet_setsockopt. Serialize these updates by holding the socket lock. Analogous to other field updates, also hold the lock when testing whether a ring is active (pg_vec). Fixes: 8dc419447415 ("[PACKET]: Add optional checksum computation for recvmsg") Reported-by: DaeRyong Jeong <threeearcat@gmail.com> Reported-by: Byoungyoung Lee <byoungyoung@purdue.edu> Signed-off-by: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/if_vlan.h')
0 files changed, 0 insertions, 0 deletions