Message ID | 20221003091217.322598-1-pkosyh@yandex.ru |
---|---|
State | New |
Headers | show |
Series | ath10k: Check return value of ath10k_get_arvif in ath10k_wmi_event_tdls_peer | expand |
diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c index 876410a47d1d..1f2c37c642ff 100644 --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c @@ -585,6 +585,11 @@ static void ath10k_wmi_event_tdls_peer(struct ath10k *ar, struct sk_buff *skb) goto exit; } arvif = ath10k_get_arvif(ar, __le32_to_cpu(ev->vdev_id)); + if (!arvif) { + ath10k_warn(ar, "no vif for vdev_id %d found\n", + __le32_to_cpu(ev->vdev_id)); + goto exit; + } ieee80211_tdls_oper_request( arvif->vif, station->addr, NL80211_TDLS_TEARDOWN,
Return value of a function 'ath10k_get_arvif' is dereferenced without checking for null in ath10k_wmi_event_tdls_peer, but it is usually checked for this function. Make ath10k_wmi_event_tdls_peer do check retval of ath10k_get_arvif. Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Peter Kosyh <pkosyh@yandex.ru> --- drivers/net/wireless/ath/ath10k/wmi-tlv.c | 5 +++++ 1 file changed, 5 insertions(+)