2023-02-26 05:57:53

by void0red

[permalink] [raw]
Subject: [PATCH] ntb_tool: check null return of devm_kcalloc in tool_init_mws

devm_kcalloc may fails, tc->peers[pidx].outmws might be null
and will cause null pointer dereference later.

Signed-off-by: Kang Chen <[email protected]>
---
drivers/ntb/test/ntb_tool.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/ntb/test/ntb_tool.c b/drivers/ntb/test/ntb_tool.c
index 5ee0afa62..eeeb4b1c9 100644
--- a/drivers/ntb/test/ntb_tool.c
+++ b/drivers/ntb/test/ntb_tool.c
@@ -998,6 +998,8 @@ static int tool_init_mws(struct tool_ctx *tc)
tc->peers[pidx].outmws =
devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt,
sizeof(*tc->peers[pidx].outmws), GFP_KERNEL);
+ if (tc->peers[pidx].outmws == NULL)
+ return -ENOMEM;

for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) {
tc->peers[pidx].outmws[widx].pidx = pidx;
--
2.34.1



2023-02-27 15:58:38

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH] ntb_tool: check null return of devm_kcalloc in tool_init_mws



On 2/25/23 10:57 PM, Kang Chen wrote:
> devm_kcalloc may fails, tc->peers[pidx].outmws might be null
> and will cause null pointer dereference later.
>
> Signed-off-by: Kang Chen <[email protected]>

Reviewed-by: Dave Jiang <[email protected]>

> ---
> drivers/ntb/test/ntb_tool.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/ntb/test/ntb_tool.c b/drivers/ntb/test/ntb_tool.c
> index 5ee0afa62..eeeb4b1c9 100644
> --- a/drivers/ntb/test/ntb_tool.c
> +++ b/drivers/ntb/test/ntb_tool.c
> @@ -998,6 +998,8 @@ static int tool_init_mws(struct tool_ctx *tc)
> tc->peers[pidx].outmws =
> devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt,
> sizeof(*tc->peers[pidx].outmws), GFP_KERNEL);
> + if (tc->peers[pidx].outmws == NULL)
> + return -ENOMEM;
>
> for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) {
> tc->peers[pidx].outmws[widx].pidx = pidx;

2023-03-06 15:28:48

by Serge Semin

[permalink] [raw]
Subject: Re: [PATCH] ntb_tool: check null return of devm_kcalloc in tool_init_mws

On Sun, Feb 26, 2023 at 01:57:43PM +0800, Kang Chen wrote:
> devm_kcalloc may fails, tc->peers[pidx].outmws might be null
> and will cause null pointer dereference later.
>
> Signed-off-by: Kang Chen <[email protected]>

Please add the fixes tag:
Fixes: 7f46c8b3a552 ("NTB: ntb_tool: Add full multi-port NTB API support")
so the patch could be noticeable by the stable kernel maintainers.

Other than that looks good.
Reviewed-by: Serge Semin <[email protected]>

* Please don't forget to add the Rb-tags on v2.

-Serge(y)

> ---
> drivers/ntb/test/ntb_tool.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/ntb/test/ntb_tool.c b/drivers/ntb/test/ntb_tool.c
> index 5ee0afa62..eeeb4b1c9 100644
> --- a/drivers/ntb/test/ntb_tool.c
> +++ b/drivers/ntb/test/ntb_tool.c
> @@ -998,6 +998,8 @@ static int tool_init_mws(struct tool_ctx *tc)
> tc->peers[pidx].outmws =
> devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt,
> sizeof(*tc->peers[pidx].outmws), GFP_KERNEL);
> + if (tc->peers[pidx].outmws == NULL)
> + return -ENOMEM;
>
> for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) {
> tc->peers[pidx].outmws[widx].pidx = pidx;
> --
> 2.34.1
>
>

2023-03-07 12:20:34

by void0red

[permalink] [raw]
Subject: [PATCH v2] ntb_tool: check null return of devm_kcalloc in tool_init_mws

devm_kcalloc may fails, tc->peers[pidx].outmws might be null
and will cause null pointer dereference later.

Fixes: 7f46c8b3a552 ("NTB: ntb_tool: Add full multi-port NTB API support")
Signed-off-by: Kang Chen <[email protected]>
Reviewed-by: Serge Semin <[email protected]>
---
v2 -> v1: add Fixes and Reviewed-by tags

drivers/ntb/test/ntb_tool.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/ntb/test/ntb_tool.c b/drivers/ntb/test/ntb_tool.c
index 5ee0afa62..eeeb4b1c9 100644
--- a/drivers/ntb/test/ntb_tool.c
+++ b/drivers/ntb/test/ntb_tool.c
@@ -998,6 +998,8 @@ static int tool_init_mws(struct tool_ctx *tc)
tc->peers[pidx].outmws =
devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt,
sizeof(*tc->peers[pidx].outmws), GFP_KERNEL);
+ if (tc->peers[pidx].outmws == NULL)
+ return -ENOMEM;

for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) {
tc->peers[pidx].outmws[widx].pidx = pidx;
--
2.34.1


2023-03-07 16:08:45

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH v2] ntb_tool: check null return of devm_kcalloc in tool_init_mws



On 3/7/23 5:20 AM, Kang Chen wrote:
> devm_kcalloc may fails, tc->peers[pidx].outmws might be null
> and will cause null pointer dereference later.
>
> Fixes: 7f46c8b3a552 ("NTB: ntb_tool: Add full multi-port NTB API support")
> Signed-off-by: Kang Chen <[email protected]>
> Reviewed-by: Serge Semin <[email protected]>

You forgot to pick up my review tag. I do recommend using the tool 'b4'.
It picks up all the tags for you and works rather well.

> ---
> v2 -> v1: add Fixes and Reviewed-by tags
>
> drivers/ntb/test/ntb_tool.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/ntb/test/ntb_tool.c b/drivers/ntb/test/ntb_tool.c
> index 5ee0afa62..eeeb4b1c9 100644
> --- a/drivers/ntb/test/ntb_tool.c
> +++ b/drivers/ntb/test/ntb_tool.c
> @@ -998,6 +998,8 @@ static int tool_init_mws(struct tool_ctx *tc)
> tc->peers[pidx].outmws =
> devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt,
> sizeof(*tc->peers[pidx].outmws), GFP_KERNEL);
> + if (tc->peers[pidx].outmws == NULL)
> + return -ENOMEM;
>
> for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) {
> tc->peers[pidx].outmws[widx].pidx = pidx;

2023-03-07 16:27:19

by void0red

[permalink] [raw]
Subject: Re: [PATCH v2] ntb_tool: check null return of devm_kcalloc in tool_init_mws

What a cool tool, thanks for your suggestions.

On Wed, Mar 8, 2023 at 12:06 AM Dave Jiang <[email protected]> wrote:
>
>
>
> On 3/7/23 5:20 AM, Kang Chen wrote:
> > devm_kcalloc may fails, tc->peers[pidx].outmws might be null
> > and will cause null pointer dereference later.
> >
> > Fixes: 7f46c8b3a552 ("NTB: ntb_tool: Add full multi-port NTB API support")
> > Signed-off-by: Kang Chen <[email protected]>
> > Reviewed-by: Serge Semin <[email protected]>
>
> You forgot to pick up my review tag. I do recommend using the tool 'b4'.
> It picks up all the tags for you and works rather well.
>
> > ---
> > v2 -> v1: add Fixes and Reviewed-by tags
> >
> > drivers/ntb/test/ntb_tool.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/ntb/test/ntb_tool.c b/drivers/ntb/test/ntb_tool.c
> > index 5ee0afa62..eeeb4b1c9 100644
> > --- a/drivers/ntb/test/ntb_tool.c
> > +++ b/drivers/ntb/test/ntb_tool.c
> > @@ -998,6 +998,8 @@ static int tool_init_mws(struct tool_ctx *tc)
> > tc->peers[pidx].outmws =
> > devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt,
> > sizeof(*tc->peers[pidx].outmws), GFP_KERNEL);
> > + if (tc->peers[pidx].outmws == NULL)
> > + return -ENOMEM;
> >
> > for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) {
> > tc->peers[pidx].outmws[widx].pidx = pidx;

2023-03-07 16:35:59

by void0red

[permalink] [raw]
Subject: [PATCH v3] ntb_tool: check null return of devm_kcalloc in tool_init_mws

From: Kang Chen <[email protected]>

devm_kcalloc may fails, tc->peers[pidx].outmws might be null
and will cause null pointer dereference later.

Fixes: 7f46c8b3a552 ("NTB: ntb_tool: Add full multi-port NTB API support")
Reviewed-by: Serge Semin <[email protected]>
Reviewed-by: Dave Jiang <[email protected]>
Signed-off-by: Kang Chen <[email protected]>
---
v3 -> v2: add Reviewed-by tag
v2 -> v1: add Fixes and Reviewed-by tags

drivers/ntb/test/ntb_tool.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/ntb/test/ntb_tool.c b/drivers/ntb/test/ntb_tool.c
index 5ee0afa62..eeeb4b1c9 100644
--- a/drivers/ntb/test/ntb_tool.c
+++ b/drivers/ntb/test/ntb_tool.c
@@ -998,6 +998,8 @@ static int tool_init_mws(struct tool_ctx *tc)
tc->peers[pidx].outmws =
devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt,
sizeof(*tc->peers[pidx].outmws), GFP_KERNEL);
+ if (tc->peers[pidx].outmws == NULL)
+ return -ENOMEM;

for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) {
tc->peers[pidx].outmws[widx].pidx = pidx;
--
2.34.1