Subject: Re: [PATCH net v2 0/4] bonding: properly restore flags when bond changes ether type

From: Jay Vosburgh <[email-masked]>
Date: Tue, 14 Mar 2023 09:20:34 -0700

Nikolay Aleksandrov <[email-masked]> wrote:

>Hi,
>A bug was reported by syzbot[1] that causes a warning and a myriad of
>other potential issues if a bond, that is also a slave, fails to enslave a
>non-eth device. While fixing that bug I found that we have the same
>issues when such enslave passes and after that the bond changes back to
>ARPHRD_ETHER (again due to ether_setup). This set fixes all issues by
>extracting the ether_setup() sequence in a helper which does the right
>thing about bond flags when it needs to change back to ARPHRD_ETHER. It
>also adds selftests for these cases.
>
>Patch 01 adds the new bond_ether_setup helper that is used in the
>following patches to fix the bond dev flag issues. Patch 02 fixes the
>issues when a bond device changes its ether type due to successful
>enslave. Patch 03 fixes the issues when it changes its ether type due to
>an unsuccessful enslave. Note we need two patches because the bugs were
>introduced by different commits. Patch 04 adds the new selftests.
>
>v2: new set, all patches are new due to new approach of fixing these bugs

	For the series:

Acked-by: Jay Vosburgh <[email-masked]>

>Thanks,
> Nik
>
>[1] https://syzkaller.appspot.com/bug?id=391c7b1f6522182899efba27d891f1743e8eb3ef
>
>Nikolay Aleksandrov (4):
>  bonding: add bond_ether_setup helper
>  bonding: restore IFF_MASTER/SLAVE flags on bond enslave ether type
>    change
>  bonding: restore bond's IFF_SLAVE flag if a non-eth dev enslave fails
>  selftests: bonding: add tests for ether type changes
>
> drivers/net/bonding/bond_main.c               | 22 +++--
> .../selftests/drivers/net/bonding/Makefile    |  3 +-
> .../net/bonding/bond-eth-type-change.sh       | 85 +++++++++++++++++++
> 3 files changed, 102 insertions(+), 8 deletions(-)
> create mode 100755 tools/testing/selftests/drivers/net/bonding/bond-eth-type-change.sh
>
>-- 
>2.39.2
>