Message ID | 20230314111426.1254998-1-razor@blackwall.org (mailing list archive) |
---|---|
Headers | show |
Series | bonding: properly restore flags when bond changes ether type | expand |
On 3/14/23 07:14, Nikolay Aleksandrov 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 > > 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 > For the series. Acked-by: Jonathan Toppins <jtoppins@redhat.com>
Nikolay Aleksandrov <razor@blackwall.org> 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 <jay.vosburgh@canonical.com> >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 >