On Tue, May 26, 2026 at 09:48:18AM +0300, Ido Schimmel wrote:
> +# Test that changing bridge port flags via the netlink path does not sleep 
> with
> +# the bridge spin lock held.
> +kci_test_bridge_promisc_netlink()
> +{
> +     local dummy="test_dummy1"
> +     local bridge="test_br1"
> +     local team="test_team1"
> +     local ret=0
> +
> +     run_cmd ip link add $team up type team
> +     run_cmd ip link add $bridge up type bridge vlan_filtering 1
> +     run_cmd ip link add $dummy up type dummy
> +     run_cmd ip link set $dummy master $bridge
> +     run_cmd ip link set $team master $bridge
> +
> +     # This causes the bridge driver to sync all the static FDB entries to
> +     # the team device (which supports unicast filtering) and remove it from
> +     # promiscuous mode. The call to dev_set_promiscuity() can sleep due to
> +     # Rx mode inlining, which is a problem if the bridge spin lock is held.
> +     run_cmd bridge link set dev $dummy flood off learning off
> +
> +     run_cmd ip link del $dummy
> +     run_cmd ip link del $bridge
> +     run_cmd ip link del $team
> +
> +     end_test "PASS: bridge_promisc_netlink"
> +}

Both Sashikos complain about this passing even we failed to create the
team device ("for example with CONFIG_NET_TEAM=n or an iproute2 build
without team support").

We have CONFIG_NET_TEAM=y in tools/testing/selftests/net/config and we
can't assume we are running with ancient iproute2.

Reply via email to