[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_8268B88CD2F7BF04083AF35D6E2C87158506@qq.com>
Date: Mon, 13 Dec 2021 16:27:15 +0800
From: Xiaoke Wang <xkernel.wang@...mail.com>
To: andreas.noever@...il.com, michael.jamet@...el.com,
mika.westerberg@...ux.intel.com, YehezkelShB@...il.com
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
Xiaoke Wang <xkernel.wang@...mail.com>
Subject: Re: [PATCH] thunderbolt: check the return value of kmemdup()
Note: Compare with the last email, this one is using my full name.
kmemdup() return NULL when some internal memory errors happen, it is
better to check the return value of it. Otherwise, some memory errors
will not be catched in time and may further result in wrong memory
access.
Signed-off-by: Xiaoke Wang <xkernel.wang@...mail.com>
---
drivers/thunderbolt/icm.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
index 6255f1e..fff0c74 100644
--- a/drivers/thunderbolt/icm.c
+++ b/drivers/thunderbolt/icm.c
@@ -1741,8 +1741,13 @@ static void icm_handle_event(struct tb *tb, enum tb_cfg_pkg_type type,
if (!n)
return;
- INIT_WORK(&n->work, icm_handle_notification);
n->pkg = kmemdup(buf, size, GFP_KERNEL);
+ if (!n->pkg) {
+ kfree(n);
+ return;
+ }
+
+ INIT_WORK(&n->work, icm_handle_notification);
n->tb = tb;
queue_work(tb->wq, &n->work);
--
Powered by blists - more mailing lists