All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@nvidia.com>
To: Maoyi Xie <maoyixie.tju@gmail.com>
Cc: Petr Machata <petrm@nvidia.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next] mlxsw: spectrum_fid: use a dedicated list head pointer for sorted insert
Date: Mon, 25 May 2026 17:02:18 +0300	[thread overview]
Message-ID: <20260525140218.GA215190@shredder> (raw)
In-Reply-To: <20260525071759.1517576-1-maoyixie.tju@gmail.com>

On Mon, May 25, 2026 at 03:17:59PM +0800, Maoyi Xie wrote:
> mlxsw_sp_fid_port_vid_list_add() inserts into a list sorted by
> local_port. It walks the list to find the first entry with a
> larger local_port, then inserts the new entry before it:
> 
>     list_add_tail(&port_vid->list, &tmp_port_vid->list);
> 
> If the loop falls through (the new local_port is the largest),
> tmp_port_vid runs off the end of the list. &tmp_port_vid->list
> then ends up at the list head itself (container_of() offsets
> cancel), and list_add_tail() inserts at the tail. So the code
> works today.
> 
> It is fragile though. Anyone who later adds a read of another
> field of tmp_port_vid will hit memory outside the list head.
> 
> Track the insertion point with a dedicated list_head pointer.
> Initialise insert_before to &fid->port_vid_list, set it to
> &tmp_port_vid->list only on early break, and pass insert_before
> to list_add_tail(). The cursor is no longer touched after the
> loop. Behaviour is unchanged.
> 
> Same shape as the Koschel cleanups from 2022 (e.g. 99d8ae4ec8a
> tracing, 2966a9918df clockevents, dc1acd5c946 dlm).
> 
> Signed-off-by: Maoyi Xie <maoyixie.tju@gmail.com>

Reviewed-by: Ido Schimmel <idosch@nvidia.com>

  reply	other threads:[~2026-05-25 14:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-25  7:17 [PATCH net-next] mlxsw: spectrum_fid: use a dedicated list head pointer for sorted insert Maoyi Xie
2026-05-25 14:02 ` Ido Schimmel [this message]
2026-05-27  1:10 ` patchwork-bot+netdevbpf

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=20260525140218.GA215190@shredder \
    --to=idosch@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maoyixie.tju@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=petrm@nvidia.com \
    /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.