linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] thunderbolt: check the return value of kmemdup()
@ 2021-12-13  8:27 Xiaoke Wang
  2021-12-13 14:09 ` Greg KH
  2021-12-15 10:51 ` Mika Westerberg
  0 siblings, 2 replies; 7+ messages in thread
From: Xiaoke Wang @ 2021-12-13  8:27 UTC (permalink / raw)
  To: andreas.noever, michael.jamet, mika.westerberg, YehezkelShB
  Cc: linux-usb, linux-kernel, Xiaoke Wang

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@foxmail.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);
-- 

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [PATCH] thunderbolt: check the return value of kmemdup()
@ 2021-12-12 16:51 xkernel
  2021-12-13  6:10 ` Greg KH
  0 siblings, 1 reply; 7+ messages in thread
From: xkernel @ 2021-12-12 16:51 UTC (permalink / raw)
  To: andreas.noever, michael.jamet, mika.westerberg, YehezkelShB
  Cc: linux-usb, linux-kernel, xkernel

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: xkernel <xkernel.wang@foxmail.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);
-- 

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-12-15 10:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-13  8:27 [PATCH] thunderbolt: check the return value of kmemdup() Xiaoke Wang
2021-12-13 14:09 ` Greg KH
2021-12-15 10:51 ` Mika Westerberg
  -- strict thread matches above, loose matches on Subject: below --
2021-12-12 16:51 xkernel
2021-12-13  6:10 ` Greg KH
2021-12-13  6:27   ` Xiaoke Wang
2021-12-13  6:31     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).