diff mbox series

wireless/nl80211: Handle errors for nla_memdup

Message ID 20220301100020.3801187-1-jiasheng@iscas.ac.cn (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show
Series wireless/nl80211: Handle errors for nla_memdup | expand

Commit Message

Jiasheng Jiang March 1, 2022, 10 a.m. UTC
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(+)

Comments

patchwork-bot+netdevbpf@kernel.org March 1, 2022, 2:50 p.m. UTC | #1
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 mbox series

Patch

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,