Message ID | 20220301100020.3801187-1-jiasheng@iscas.ac.cn |
---|---|
State | New |
Headers | show |
Series | wireless/nl80211: Handle errors for nla_memdup | expand |
Hello: This patch was applied to netdev/net.git (master) by Johannes Berg <johannes.berg@intel.com>: On Tue, 1 Mar 2022 18:00:20 +0800 you wrote: > As the potential failure of the nla_memdup(), > it should be better to check it, as same as kmemdup(). > > Fixes: a442b761b24b ("cfg80211: add add_nan_func / del_nan_func") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> > --- > net/wireless/nl80211.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) Here is the summary with links: - wireless/nl80211: Handle errors for nla_memdup https://git.kernel.org/netdev/net/c/6ad27f522cb3 You are awesome, thank you!
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 578bff9c378b..b1909ce2b739 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -13411,6 +13411,9 @@ static int handle_nan_filter(struct nlattr *attr_filter, i = 0; nla_for_each_nested(attr, attr_filter, rem) { filter[i].filter = nla_memdup(attr, GFP_KERNEL); + if (!filter[i].filter) + goto err; + filter[i].len = nla_len(attr); i++; } @@ -13423,6 +13426,15 @@ static int handle_nan_filter(struct nlattr *attr_filter, } return 0; + +err: + i = 0; + nla_for_each_nested(attr, attr_filter, rem) { + kfree(filter[i].filter); + i++; + } + kfree(filter); + return -ENOMEM; } static int nl80211_nan_add_func(struct sk_buff *skb,
As the potential failure of the nla_memdup(), it should be better to check it, as same as kmemdup(). Fixes: a442b761b24b ("cfg80211: add add_nan_func / del_nan_func") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> --- net/wireless/nl80211.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)