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
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190226033407.32625-1-jakub.kicinski@netronome.com>
Date:   Mon, 25 Feb 2019 19:34:01 -0800
From:   Jakub Kicinski <jakub.kicinski@...ronome.com>
To:     davem@...emloft.net, jiri@...nulli.us
Cc:     mkubecek@...e.cz, andrew@...n.ch, f.fainelli@...il.com,
        netdev@...r.kernel.org, oss-drivers@...ronome.com,
        Jakub Kicinski <jakub.kicinski@...ronome.com>
Subject: [PATCH net-next v4 0/6] devlink: make ethtool compat reliable

Hi!

This is a follow up to the series which added device flash
updates via devlink. I went with the approach of adding a
new NDO in the end. It seems to end up looking cleaner.

First patch removes the option to build devlink as a module.
Users can still decide to not build it, but the module option
ends up not being worth the maintenance cost.

Next two patches add a NDO which can be used to ask the driver
to return a devlink instance associated with a given netdev,
instead of iterating over devlink ports. Drivers which implement
this NDO must take into account the potential impact on the
visibility of the devlink instance.

With the new NDO in place we can remove NFP ethtool flash update
code.

Fifth patch makes sure we hold a reference to dev while
callbacks are active.

Last but not least the NULL-check of devlink->ops is moved
to instance allocation time.

Last but not least missing checks for devlink->ops are added.
There is currently no driver registering devlink without ops,
so can just fix this in -next.

v2 (Michal): add netdev_to_devlink() in patch 3.
v3 (Florian):
 - add missing checks for devlink->ops;
 - move locking/holding into devlink_compat_ functions.
v4 (Jiri):
 - hold devlink_mutex around callbacks (patch 2);
 - require non-NULL ops (patch 6).
 
Jakub Kicinski (6):
  net: devlink: turn devlink into a built-in
  devlink: create a special NDO for getting the devlink instance
  nfp: add .ndo_get_devlink
  nfp: remove ethtool flashing fallback
  devlink: hold a reference to the netdevice around ethtool compat
  devlink: require non-NULL ops for devlink instances

 drivers/infiniband/hw/bnxt_re/Kconfig         |   1 -
 drivers/infiniband/hw/mlx4/Kconfig            |   1 -
 drivers/net/Kconfig                           |   1 -
 drivers/net/ethernet/broadcom/Kconfig         |   1 -
 drivers/net/ethernet/cavium/Kconfig           |   1 -
 drivers/net/ethernet/mellanox/mlx4/Kconfig    |   1 -
 .../net/ethernet/mellanox/mlx5/core/Kconfig   |   1 -
 drivers/net/ethernet/mellanox/mlxsw/Kconfig   |   1 -
 drivers/net/ethernet/netronome/Kconfig        |   1 -
 drivers/net/ethernet/netronome/nfp/nfp_app.h  |   2 +
 .../net/ethernet/netronome/nfp/nfp_devlink.c  |  11 ++
 .../ethernet/netronome/nfp/nfp_net_common.c   |   1 +
 .../ethernet/netronome/nfp/nfp_net_ethtool.c  |  24 ----
 .../net/ethernet/netronome/nfp/nfp_net_repr.c |   1 +
 include/linux/netdevice.h                     |   7 +
 include/net/devlink.h                         |  19 ++-
 net/Kconfig                                   |  11 +-
 net/core/devlink.c                            | 126 +++++++-----------
 net/core/ethtool.c                            |  13 +-
 net/dsa/Kconfig                               |   2 +-
 20 files changed, 90 insertions(+), 136 deletions(-)

-- 
2.19.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ