From: Johannes Berg Date: Wed, 26 Sep 2007 13:19:47 +0000 (+0200) Subject: [PATCH] mac80211: fix iff_promiscs, iff_allmultis race X-Git-Tag: v2.6.24-rc1~1454^2~296 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53918994b7c8c3bf0af5f641e1f299856799d883;p=pandora-kernel.git [PATCH] mac80211: fix iff_promiscs, iff_allmultis race When we update the counters iff_promiscs and iff_allmultis in struct ieee80211_local we have no common lock held to protect them. The problem is that the update to each counter may not be atomic, so we could end up with iff_promiscs == -1 in unfortunate conditions. To fix it, use atomic_t values. It doesn't matter whether the two counters are updated together atomically or not, if there are two invocations of set_multicast_list we will end up with multiple configure_filter() invocations of which the latter will always be correct. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville --- Reading git-diff-tree failed