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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1452514651-15445-1-git-send-email-hannes@stressinduktion.org>
Date:	Mon, 11 Jan 2016 13:17:21 +0100
From:	Hannes Frederic Sowa <hannes@...essinduktion.org>
To:	netdev@...r.kernel.org
Cc:	jesse@...nel.org
Subject: [PATCH net-next v5 00/10] net: break dependency of drivers on geneve and vxlan

Device drivers which support geneve or vxlan offloading have a dependency
on the correlating tunnel kernel modules. Thus those drivers automatically
load the geneve or vxlan modules. Break this dependency with this
small series.

Additionally this series features a review of the respective ->ndo_open
and other functions around vxlan_get_rx_port and geneve_get_rx_port.

* Result:
$ cd drivers/net/ethernet/
$ find . -name '*.ko' | xargs modinfo | egrep  '^depends:.*(vxlan|geneve)'  | wc -l
0

I also incorporated feedback from Jesse Gross to only use one new
netdevice notifiers type, namely NETDEV_REFRESH_OFFLOADS. Otherwise this
series is very much the same as v1.

This series (v4) incorperates further feedback from Jesse Gross:
* before calling down to the ndo_add_{vxlan,geneve}_port, check if the
  driver has actually installed the function
* provide only one callback function, namely netdev_refresh_offloads
* provide updates to the comments in netdevice.h how driver should handle
  those functions

This series (v5) only fixes a typo noticed by Florian Westphal:
* rtnl_lock -> rtnl_unlock

Furthermore, I know I send this after net-next closed. I just try to send
it again in the hope that DaveM just let it slip through as I already
posted some versions to netdev@. :)

Hannes Frederic Sowa (10):
  qlcnic: protect qlcnic_82xx_io_slot_reset with rtnl lock
  mlx4: add rtnl lock protection in mlx4_en_restart
  ixgbe: add rtnl locking in service task around vxlan_get_rx_port
  benet: add rtnl lock protection around be_open in be_resume
  fm10k: add rtnl lock protection in fm10k_io_resume
  netdev: add netdevice notifier type to trigger a reprogramming of
    offloads
  vxlan: break dependency to network drivers
  geneve: break dependency to network drivers
  net: harmonize vxlan_get_rx_port and geneve_get_rx_port to
    netdev_refresh_offloads
  netdev: update comments and explain idempotency and rtnl locking

 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c   |  4 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.c          |  2 +-
 drivers/net/ethernet/emulex/benet/be_main.c        | 11 +++---
 drivers/net/ethernet/intel/fm10k/fm10k_netdev.c    |  2 +-
 drivers/net/ethernet/intel/fm10k/fm10k_pci.c       |  2 +
 drivers/net/ethernet/intel/i40e/i40e_main.c        |  7 +---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |  6 ++-
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c     |  4 +-
 .../net/ethernet/netronome/nfp/nfp_net_common.c    |  2 +-
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c   | 12 ++++--
 drivers/net/geneve.c                               | 37 ++++++++++++++----
 drivers/net/vxlan.c                                | 20 +++++++---
 include/linux/netdevice.h                          | 45 ++++++++++++++--------
 include/net/geneve.h                               | 10 +----
 include/net/vxlan.h                                |  8 ----
 15 files changed, 105 insertions(+), 67 deletions(-)

-- 
2.5.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ