Re: [PATCH v2] nl80211: take RCU read lock when calling ieee80211_bss_get_ie()

From: Johannes Berg
Date: Sun Jan 14 2018 - 17:40:56 EST


On Sun, 2018-01-14 at 23:22 +0100, Dominik Brodowski wrote:
>
> + rcu_read_lock();
> ssid_ie = ieee80211_bss_get_ie(&wdev->current_bss->pub,
> WLAN_EID_SSID);
> if (!ssid_ie)
> - break;

nit-picking now: that "break" here may have been easier before these
changes

> + goto nla_rcu_unlock;
> if (nla_put(msg, NL80211_ATTR_SSID, ssid_ie[1], ssid_ie + 2))
> - goto nla_put_failure_locked;
> + goto nla_put_failure_rcu_locked;
> + nla_rcu_unlock:
> + rcu_read_unlock();
> break;

but after, perhaps it's easier to just do

if (ssid_ie &&
nla_put(...)
goto nla_put_failure_rcu_locked;

and avoid the extra label (but yeah, it's getting late)

johannes