All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: Jinvas <jinvas@126.com>
Cc: linux-rdma@vger.kernel.org
Subject: Re: [PATCH net 1/1] net/mlx5e: fix NULL pointer dereference in arfs_create_groups()
Date: Sun, 15 Nov 2026 14:44:59 +0000	[thread overview]
Message-ID: <sashiko-outbox-215589@kernel.org> (raw)
In-Reply-To: <20261114144325.816-2-jinvas@126.com>

Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [High] net/mlx5e: single-word handle used in Signed-off-by trailer
--

commit e432b554ac248a62d98278a82ac39e3c5d863c99
Author: Jinvas <jinvas@126.com>

> net/mlx5e: fix NULL pointer dereference in arfs_create_groups()
>
> arfs_create_groups() creates up to two flow groups in ft->g[], and
> increments ft->num_groups for each group that was created successfully.
> If creating the second group fails, the error path frees ft->g and sets
> it to NULL, but leaves ft->num_groups at 1.
>
> The only caller, arfs_create_table(), calls mlx5e_destroy_flow_table() on
> the error path, which calls mlx5e_destroy_groups(). The latter walks
> ft->g[] from ft->num_groups - 1 down to 0 and dereferences ft->g[0].
> Since ft->g was freed and set to NULL, this is a NULL pointer
> dereference, and the kernel oopses.
>
> The same error path also leaks the flow group that was created
> successfully before the failure, since ft->g is freed without the group
> being destroyed.
>
> Freeing ft->g here was added by commit 3c6d5189246f ("net/mlx5e: fix a
> double-free in arfs_create_groups"). Before that commit, the group
> failure path did not touch ft->g at all, so the caller destroyed the
> flow groups that had been created and then freed the array. That
> commit fixed a double free in the allocation failure path by freeing
> ft->g here as well, and in doing so changed the group failure path
> too.
>
> Rather than also resetting ft->num_groups, leave the free of ft->g to
> the caller: mlx5e_destroy_flow_table() frees ft->g exactly once, and
> also destroys the flow groups that were created. This fixes the NULL
> pointer dereference and the leak, while keeping the double free fixed.
>
> This also makes the error handling of this function consistent with the
> rest of the driver, e.g. mlx5e_create_l2_table().
>
> Fixes: 3c6d5189246f ("net/mlx5e: fix a double-free in arfs_create_groups")
> Signed-off-by: Jinvas <jinvas@126.com>

[Severity: High]
Documentation/process/submitting-patches.rst requires a full real name in
the Author header and Signed-off-by trailer rather than a single-word
handle or username, so the patch cannot be merged under the Developer's
Certificate of Origin rules as signed.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261114144325.816-1-jinvas@126.com?part=1

      reply	other threads:[~2026-11-15 14:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-14 14:43 [PATCH net 0/1] net/mlx5e: fix NULL pointer dereference in arfs_create_groups() Jinvas
2026-11-14 14:43 ` [PATCH net 1/1] " Jinvas
2026-11-15 14:44   ` sashiko-bot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=sashiko-outbox-215589@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=jinvas@126.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.