diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index a77174b99b07..1dbb6b6c9887 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -4281,6 +4281,13 @@ static int nl80211_del_key(struct sk_buff *skb, struct genl_info *info) if (!rdev->ops->del_key) return -EOPNOTSUPP; + if (cfg80211_validate_key_settings(rdev, &key.p, key.idx, + key.type == NL80211_KEYTYPE_PAIRWISE, + mac_addr)) { + GENL_SET_ERR_MSG(info, "key setting validation failed"); + return -EINVAL; + } + wdev_lock(dev->ieee80211_ptr); err = nl80211_key_allowed(dev->ieee80211_ptr);