From: Stanislav Fomichev <sdf.kernel@gmail.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: davem@davemloft.net, netdev@vger.kernel.org, edumazet@google.com,
pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org,
jv@jvosburgh.net, sdf@fomichev.me, dongchenchen2@huawei.com,
idosch@nvidia.com, n05ec@lzu.edu.cn, yuantan098@gmail.com,
kuniyu@google.com, nb@tipi-net.de, aleksandr.loktionov@intel.com,
dtatulea@nvidia.com
Subject: Re: [PATCH net 4/4] selftests: bonding: add a test for VLAN propagation over a bonded real device
Date: Thu, 25 Jun 2026 08:49:42 -0700 [thread overview]
Message-ID: <aj1ODwv2tHTo4xv4@devvm7509.cco0.facebook.com> (raw)
In-Reply-To: <20260624182018.2445732-5-kuba@kernel.org>
On 06/24, Jakub Kicinski wrote:
> Add a regression test for the VLAN notifier handling that the netdev_work
> deferral fixed.
>
> A VLAN's real device propagates its UP/DOWN, MTU and feature changes onto
> the VLANs stacked on top of it. This used to be done synchronously from the
> real device's notifier and deadlocked when the real device was brought up
> while enslaved to a bond (instance lock held across NETDEV_UP) and the VLAN
> on top was itself a bond member: the synchronous propagation re-entered the
> stack and took the same instance lock again.
>
> The test covers both halves:
> - that the deferred UP/DOWN, MTU and feature propagation actually lands on
> the VLAN (link state and MTU use an ops-locked dummy, i.e. the deferral
> path; features use veth, which exports vlan_features to inherit), and
> - that the deadlock-prone topology - a VLAN on a dummy, with the VLAN and
> the dummy each enslaved to a different bond - can be built without
> hanging.
>
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
prev parent reply other threads:[~2026-06-25 16:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-24 18:20 [PATCH net 0/4] net: avoid nested UP notifier events Jakub Kicinski
2026-06-24 18:20 ` [PATCH net 1/4] net: turn the rx_mode work into a generic netdev_work facility Jakub Kicinski
2026-06-25 5:55 ` Kuniyuki Iwashima
2026-06-25 15:17 ` Jakub Kicinski
2026-06-25 15:48 ` Stanislav Fomichev
2026-06-24 18:20 ` [PATCH net 2/4] net: add the driver-facing netdev_work scheduling API Jakub Kicinski
2026-06-25 5:55 ` Kuniyuki Iwashima
2026-06-25 15:48 ` Stanislav Fomichev
2026-06-24 18:20 ` [PATCH net 3/4] vlan: defer real device state propagation to netdev_work Jakub Kicinski
2026-06-25 5:57 ` Kuniyuki Iwashima
2026-06-25 11:37 ` Nicolai Buchwitz
2026-06-25 15:49 ` Stanislav Fomichev
2026-06-24 18:20 ` [PATCH net 4/4] selftests: bonding: add a test for VLAN propagation over a bonded real device Jakub Kicinski
2026-06-25 8:41 ` Loktionov, Aleksandr
2026-06-25 15:49 ` Stanislav Fomichev [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=aj1ODwv2tHTo4xv4@devvm7509.cco0.facebook.com \
--to=sdf.kernel@gmail.com \
--cc=aleksandr.loktionov@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=dongchenchen2@huawei.com \
--cc=dtatulea@nvidia.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=jv@jvosburgh.net \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=n05ec@lzu.edu.cn \
--cc=nb@tipi-net.de \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@fomichev.me \
--cc=yuantan098@gmail.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.