From: Shivani Baranwal Date: Tue, 6 Dec 2022 14:37:14 +0000 (+0530) Subject: wifi: cfg80211: Fix extended KCK key length check in nl80211_set_rekey_data() X-Git-Tag: v6.1.21~1265 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4bb071d9c2db6862394a658c8e90759a4c3faf48;p=platform%2Fkernel%2Flinux-starfive.git wifi: cfg80211: Fix extended KCK key length check in nl80211_set_rekey_data() [ Upstream commit df4969ca135b9b3b2c38c07514aaa775112ac835 ] The extended KCK key length check wrongly using the KEK key attribute for validation. Due to this GTK rekey offload is failing when the KCK key length is 24 bytes even though the driver advertising WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK flag. Use correct attribute to fix the same. Fixes: 093a48d2aa4b ("cfg80211: support bigger kek/kck key length") Signed-off-by: Shivani Baranwal Signed-off-by: Veerendranath Jakkam Link: https://lore.kernel.org/r/20221206143715.1802987-2-quic_vjakkam@quicinc.com Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index d2321c6..4d4de49 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -13808,7 +13808,7 @@ static int nl80211_set_rekey_data(struct sk_buff *skb, struct genl_info *info) return -ERANGE; if (nla_len(tb[NL80211_REKEY_DATA_KCK]) != NL80211_KCK_LEN && !(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK && - nla_len(tb[NL80211_REKEY_DATA_KEK]) == NL80211_KCK_EXT_LEN)) + nla_len(tb[NL80211_REKEY_DATA_KCK]) == NL80211_KCK_EXT_LEN)) return -ERANGE; rekey_data.kek = nla_data(tb[NL80211_REKEY_DATA_KEK]);