From: Jakub Kicinski <kuba@kernel.org>
To: tariqt@nvidia.com
Cc: Kery Qi <qikeyu2017@gmail.com>,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
pabeni@redhat.com, jackm@dev.mellanox.co.il,
ogerlitz@mellanox.com, monis@mellanox.com,
netdev@vger.kernel.org, linux-rdma@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] net/mlx4: fix MAC table total count corruption in __mlx4_unregister_mac()
Date: Mon, 26 Jan 2026 19:47:10 -0800 [thread overview]
Message-ID: <20260126194710.5a154b8c@kernel.org> (raw)
In-Reply-To: <20260122183906.2015-2-qikeyu2017@gmail.com>
On Fri, 23 Jan 2026 02:39:07 +0800 Kery Qi wrote:
> In __mlx4_unregister_mac(), when operating in mf_bonded mode
> (SR-IOV with bonding), it appears that the code might be incorrectly
> decrementing table->total instead of dup_table->total when cleaning
> up the duplicate table entry.
>
> If this is the case, it would cause the primary table's total counter
> to be decremented twice (once for itself and once when it should
> decrement the duplicate table), leading to counter corruption.
> Over time, table->total could become negative, which would
> break the "table->total == table->max" fullness check in
> __mlx4_register_mac().
>
> The registration path correctly increments both counters:
> ++table->total;
> if (dup) {
> ...
> ++dup_table->total;
> }
>
> However, the unregistration path seems to have a typo:
> --table->total;
> if (dup) {
> ...
> --table->total; // Should this be --dup_table->total?
Looks legit, Tariq? Are you trying to find/dust off an mlx4 card? :)
next prev parent reply other threads:[~2026-01-27 3:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-22 18:39 [PATCH] net/mlx4: fix MAC table total count corruption in __mlx4_unregister_mac() Kery Qi
2026-01-27 3:47 ` Jakub Kicinski [this message]
2026-01-27 6:26 ` Tariq Toukan
2026-01-27 16:38 ` Jakub Kicinski
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=20260126194710.5a154b8c@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=jackm@dev.mellanox.co.il \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=monis@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=pabeni@redhat.com \
--cc=qikeyu2017@gmail.com \
--cc=tariqt@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.