diff mbox series

[v2] kunit: Fix potential null dereference in kunit_device_driver_test()

Message ID 20241115054335.21673-1-zichenxie0106@gmail.com (mailing list archive)
State New
Delegated to: Brendan Higgins
Headers show
Series [v2] kunit: Fix potential null dereference in kunit_device_driver_test() | expand

Commit Message

Gax-c Nov. 15, 2024, 5:43 a.m. UTC
From: Zichen Xie <zichenxie0106@gmail.com>

kunit_kzalloc() may return a NULL pointer, dereferencing it without
NULL check may lead to NULL dereference.
Add a NULL check for test_state.

Fixes: d03c720e03bd ("kunit: Add APIs for managing devices")
Signed-off-by: Zichen Xie <zichenxie0106@gmail.com>
Cc: stable@vger.kernel.org
---
v2: Add Cc tag.
---
 lib/kunit/kunit-test.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

David Gow Nov. 15, 2024, 9:22 p.m. UTC | #1
On Fri, 15 Nov 2024 at 13:43, Gax-c <zichenxie0106@gmail.com> wrote:
>
> From: Zichen Xie <zichenxie0106@gmail.com>
>
> kunit_kzalloc() may return a NULL pointer, dereferencing it without
> NULL check may lead to NULL dereference.
> Add a NULL check for test_state.
>
> Fixes: d03c720e03bd ("kunit: Add APIs for managing devices")
> Signed-off-by: Zichen Xie <zichenxie0106@gmail.com>
> Cc: stable@vger.kernel.org
> ---
> v2: Add Cc tag.
> ---

Nice catch. This looks good to me.

Reviewed-by: David Gow <davidgow@google.com>

Cheers,
-- David

>  lib/kunit/kunit-test.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/lib/kunit/kunit-test.c b/lib/kunit/kunit-test.c
> index 37e02be1e710..d9c781c859fd 100644
> --- a/lib/kunit/kunit-test.c
> +++ b/lib/kunit/kunit-test.c
> @@ -805,6 +805,8 @@ static void kunit_device_driver_test(struct kunit *test)
>         struct device *test_device;
>         struct driver_test_state *test_state = kunit_kzalloc(test, sizeof(*test_state), GFP_KERNEL);
>
> +       KUNIT_ASSERT_NOT_ERR_OR_NULL(test, test_state);
> +
>         test->priv = test_state;
>         test_driver = kunit_driver_create(test, "my_driver");
>
> --
> 2.34.1
>
diff mbox series

Patch

diff --git a/lib/kunit/kunit-test.c b/lib/kunit/kunit-test.c
index 37e02be1e710..d9c781c859fd 100644
--- a/lib/kunit/kunit-test.c
+++ b/lib/kunit/kunit-test.c
@@ -805,6 +805,8 @@  static void kunit_device_driver_test(struct kunit *test)
 	struct device *test_device;
 	struct driver_test_state *test_state = kunit_kzalloc(test, sizeof(*test_state), GFP_KERNEL);
 
+	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, test_state);
+
 	test->priv = test_state;
 	test_driver = kunit_driver_create(test, "my_driver");