diff mbox series

drm/i915/selftests: check the return value of kstrdup()

Message ID tencent_7E4716854F78B812C4FF16C83573486E1806@qq.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/selftests: check the return value of kstrdup() | expand

Commit Message

Xiaoke Wang Feb. 22, 2022, 11:40 a.m. UTC
From: Xiaoke Wang <xkernel.wang@foxmail.com>

kstrdup() is a memory allocation function which can return NULL when
some internaly memory errors happen. It is better to check the return
value of it to prevent further wrong memory access.

Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
---
 drivers/gpu/drm/i915/selftests/i915_selftest.c | 3 +++
 1 file changed, 3 insertions(+)

--

Comments

Matthew Auld March 3, 2022, 10:53 a.m. UTC | #1
On Tue, 22 Feb 2022 at 13:32, <xkernel.wang@foxmail.com> wrote:
>
> From: Xiaoke Wang <xkernel.wang@foxmail.com>
>
> kstrdup() is a memory allocation function which can return NULL when
> some internaly memory errors happen. It is better to check the return
> value of it to prevent further wrong memory access.
>
> Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Matthew Auld March 3, 2022, 11:15 a.m. UTC | #2
On Thu, 3 Mar 2022 at 10:53, Matthew Auld
<matthew.william.auld@gmail.com> wrote:
>
> On Tue, 22 Feb 2022 at 13:32, <xkernel.wang@foxmail.com> wrote:
> >
> > From: Xiaoke Wang <xkernel.wang@foxmail.com>
> >
> > kstrdup() is a memory allocation function which can return NULL when
> > some internaly memory errors happen. It is better to check the return
> > value of it to prevent further wrong memory access.
> >
> > Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
> Reviewed-by: Matthew Auld <matthew.auld@intel.com>

Scratch that. it looks like the for() already accounts for this, as
pointed out by Chris.
Xiaoke Wang March 3, 2022, 12:10 p.m. UTC | #3
Matthew Auld<matthew.william.auld@gmail.com> wrote:
> Scratch that. it looks like the for() already accounts for this, as
> pointed out by Chris.

Yes, you are right. 
I rechecked and found this one is indeed an ordinary code smell.
Thank you for taking the time.


Xiaoke Wang
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/selftests/i915_selftest.c b/drivers/gpu/drm/i915/selftests/i915_selftest.c
index 484759c..1bcd065 100644
--- a/drivers/gpu/drm/i915/selftests/i915_selftest.c
+++ b/drivers/gpu/drm/i915/selftests/i915_selftest.c
@@ -246,6 +246,9 @@  static bool apply_subtest_filter(const char *caller, const char *name)
 	bool result = true;
 
 	filter = kstrdup(i915_selftest.filter, GFP_KERNEL);
+	if (!filter)
+		return false;
+
 	for (sep = filter; (tok = strsep(&sep, ","));) {
 		bool allow = true;
 		char *sl;