lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <cover.1700047319.git.petrm@nvidia.com> Date: Wed, 15 Nov 2023 13:17:09 +0100 From: Petr Machata <petrm@...dia.com> To: "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, <netdev@...r.kernel.org> CC: Ido Schimmel <idosch@...dia.com>, Petr Machata <petrm@...dia.com>, "Amit Cohen" <amcohen@...dia.com>, <mlxsw@...dia.com> Subject: [PATCH net-next 00/14] mlxsw: Add support for new reset flow Ido Schimmel writes: This patchset changes mlxsw to issue a PCI reset during probe and devlink reload so that the PCI firmware could be upgraded without a reboot. Unlike the old version of this patchset [1], in this version the driver no longer tries to issue a PCI reset by triggering a PCI link toggle on its own, but instead calls the PCI core to issue the reset. The PCI APIs require the device lock to be held which is why patches #1-#6 adjust devlink to acquire the device lock during reload. Patches #7 adds reset method quirk for NVIDIA Spectrum devices. Patch #8 adds a debug level print in PCI core so that device ready delay will be printed even if it is shorter than one second. Patches #9-#11 are straightforward preparations in mlxsw. Patch #12 finally implements the new reset flow in mlxsw. Patch #13 adds PCI reset handlers in mlxsw to avoid user space from resetting the device from underneath an unaware driver. Instead, the driver is gracefully de-initialized before the PCI reset and then initialized again after it. Patch #14 adds a PCI reset selftest to make sure this code path does not regress. [1] https://lore.kernel.org/netdev/cover.1679502371.git.petrm@nvidia.com/ Amit Cohen (3): mlxsw: Extend MRSR pack() function to support new commands mlxsw: pci: Rename mlxsw_pci_sw_reset() mlxsw: pci: Move software reset code to a separate function Ido Schimmel (11): devlink: Move private netlink flags to C file devlink: Acquire device lock during netns dismantle devlink: Enable the use of private flags in post_doit operations devlink: Allow taking device lock in pre_doit operations devlink: Acquire device lock during reload command devlink: Add device lock assert in reload operation PCI: Add no PM reset quirk for NVIDIA Spectrum devices PCI: Add debug print for device ready delay mlxsw: pci: Add support for new reset flow mlxsw: pci: Implement PCI reset handlers selftests: mlxsw: Add PCI reset test Documentation/netlink/specs/devlink.yaml | 4 +- drivers/net/ethernet/mellanox/mlxsw/pci.c | 90 +++++++++++++++++-- drivers/net/ethernet/mellanox/mlxsw/reg.h | 16 +++- drivers/pci/pci.c | 3 + drivers/pci/quirks.c | 13 +++ net/devlink/core.c | 4 +- net/devlink/dev.c | 8 ++ net/devlink/devl_internal.h | 21 ++++- net/devlink/health.c | 3 +- net/devlink/netlink.c | 47 +++++++--- net/devlink/netlink_gen.c | 4 +- net/devlink/netlink_gen.h | 5 ++ net/devlink/region.c | 3 +- .../selftests/drivers/net/mlxsw/pci_reset.sh | 58 ++++++++++++ 14 files changed, 248 insertions(+), 31 deletions(-) create mode 100755 tools/testing/selftests/drivers/net/mlxsw/pci_reset.sh -- 2.41.0
Powered by blists - more mailing lists