wifi: nl80211: Fix reading NL80211_ATTR_MLO_LINK_ID in nl80211_pre_doit
authorVeerendranath Jakkam <quic_vjakkam@quicinc.com>
Mon, 11 Jul 2022 05:34:43 +0000 (11:04 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 11 Jul 2022 08:19:32 +0000 (10:19 +0200)
nl80211_pre_doit() using nla_get_u16() to read u8 attribute
NL80211_ATTR_MLO_LINK_ID. Fix this by using nla_get_u8() to
read NL80211_ATTR_MLO_LINK_ID attribute.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
Link: https://lore.kernel.org/r/1657517683-5724-1-git-send-email-quic_vjakkam@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c

index eda2ad0..e20d0fc 100644 (file)
@@ -15835,7 +15835,7 @@ static int nl80211_pre_doit(const struct genl_ops *ops, struct sk_buff *skb,
                /* MLO -> require valid link ID */
                if (wdev->valid_links &&
                    (!link_id ||
-                    !(wdev->valid_links & BIT(nla_get_u16(link_id))))) {
+                    !(wdev->valid_links & BIT(nla_get_u8(link_id))))) {
                        err = -EINVAL;
                        goto out_unlock;
                }