summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/auth.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-08-13 09:04:05 +0200
committerDavid S. Miller <davem@davemloft.net>2013-08-13 09:57:06 +0200
commit58ad436fcf49810aa006016107f494c9ac9013db (patch)
tree0853904283d081562e2c07bed067c36e03936c0c /net/sunrpc/auth.c
parentnet: sctp: sctp_transport_destroy{, _rcu}: fix potential pointer corruption (diff)
downloadlinux-58ad436fcf49810aa006016107f494c9ac9013db.tar.xz
linux-58ad436fcf49810aa006016107f494c9ac9013db.zip
genetlink: fix family dump race
When dumping generic netlink families, only the first dump call is locked with genl_lock(), which protects the list of families, and thus subsequent calls can access the data without locking, racing against family addition/removal. This can cause a crash. Fix it - the locking needs to be conditional because the first time around it's already locked. A similar bug was reported to me on an old kernel (3.4.47) but the exact scenario that happened there is no longer possible, on those kernels the first round wasn't locked either. Looking at the current code I found the race described above, which had also existed on the old kernel. Cc: stable@vger.kernel.org Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sunrpc/auth.c')
0 files changed, 0 insertions, 0 deletions