2022-02-22 15:02:44

by Xiaoke Wang

[permalink] [raw]
Subject: [PATCH] dma-buf: check the return value of kstrdup()

From: Xiaoke Wang <[email protected]>

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 <[email protected]>
---
drivers/dma-buf/selftest.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/dma-buf/selftest.c b/drivers/dma-buf/selftest.c
index c60b694..2c29e2a 100644
--- a/drivers/dma-buf/selftest.c
+++ b/drivers/dma-buf/selftest.c
@@ -50,6 +50,9 @@ static bool apply_subtest_filter(const char *caller, const char *name)
bool result = true;

filter = kstrdup(__st_filter, GFP_KERNEL);
+ if (!filter)
+ return false;
+
for (sep = filter; (tok = strsep(&sep, ","));) {
bool allow = true;
char *sl;
--


2022-02-22 17:03:20

by Sumit Semwal

[permalink] [raw]
Subject: Re: [PATCH] dma-buf: check the return value of kstrdup()

Hi Xiaoke,

On Tue, 22 Feb 2022 at 17:00, <[email protected]> wrote:
>
> From: Xiaoke Wang <[email protected]>
>
> 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.
Thanks for the patch; looks sane.
>
> Signed-off-by: Xiaoke Wang <[email protected]>
Acked-by: Sumit Semwal <[email protected]>

Will queue it up.
> ---
> drivers/dma-buf/selftest.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/dma-buf/selftest.c b/drivers/dma-buf/selftest.c
> index c60b694..2c29e2a 100644
> --- a/drivers/dma-buf/selftest.c
> +++ b/drivers/dma-buf/selftest.c
> @@ -50,6 +50,9 @@ static bool apply_subtest_filter(const char *caller, const char *name)
> bool result = true;
>
> filter = kstrdup(__st_filter, GFP_KERNEL);
> + if (!filter)
> + return false;
> +
> for (sep = filter; (tok = strsep(&sep, ","));) {
> bool allow = true;
> char *sl;
> --


Best,
Sumit.