netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch net-next v2 0/7] devlink: sanitize per-port region creation/destruction
@ 2022-09-27  7:56 Jiri Pirko
  2022-09-27  7:56 ` [patch net-next v2 1/7] net: devlink: introduce port registered assert helper and use it Jiri Pirko
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Jiri Pirko @ 2022-09-27  7:56 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, andrew, vivien.didelot, f.fainelli,
	olteanv, tariqt, moshe, saeedm

From: Jiri Pirko <jiri@nvidia.com>

Currently the only user of per-port devlink regions is DSA. All drivers
that use regions register them before devlink registration. For DSA,
this was not possible as the internals of struct devlink_port needed for
region creation are initialized during port registration.

This introduced a mismatch in creation flow of devlink and devlink port
regions. As you can see, it causes the DSA driver to make the port
init/exit flow a bit cumbersome.

Fix this by introducing port_init/fini() which could be optionally
called by drivers like DSA, to prepare struct devlink_port to be used
for region creation purposes before devlink port register is called.

Tested by Vladimir on his setup.

---
v1->v2:
- Netdevsim patch removed and also the patch forcing region creation
  before register was removed.
- Two Vladimir's patches were added.

Jiri Pirko (5):
  net: devlink: introduce port registered assert helper and use it
  net: devlink: introduce a flag to indicate devlink port being
    registered
  net: devlink: add port_init/fini() helpers to allow
    pre-register/post-unregister functions
  net: dsa: move port_setup/teardown to be called outside devlink port
    registered area
  net: dsa: don't do devlink port setup early

Vladimir Oltean (2):
  net: dsa: don't leave dangling pointers in dp->pl when failing
  net: dsa: remove bool devlink_port_setup

 include/net/devlink.h |   7 +-
 include/net/dsa.h     |   2 -
 net/core/devlink.c    |  80 ++++++++++++++----
 net/dsa/dsa2.c        | 184 ++++++++++++++++++------------------------
 net/dsa/dsa_priv.h    |   1 +
 net/dsa/port.c        |  22 +++--
 net/dsa/slave.c       |   6 +-
 7 files changed, 166 insertions(+), 136 deletions(-)

-- 
2.37.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-09-28  7:44 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-27  7:56 [patch net-next v2 0/7] devlink: sanitize per-port region creation/destruction Jiri Pirko
2022-09-27  7:56 ` [patch net-next v2 1/7] net: devlink: introduce port registered assert helper and use it Jiri Pirko
2022-09-27  7:56 ` [patch net-next v2 2/7] net: devlink: introduce a flag to indicate devlink port being registered Jiri Pirko
2022-09-27  7:56 ` [patch net-next v2 3/7] net: devlink: add port_init/fini() helpers to allow pre-register/post-unregister functions Jiri Pirko
2022-09-28  1:10   ` Jakub Kicinski
2022-09-28  7:40     ` Jiri Pirko
2022-09-27  7:56 ` [patch net-next v2 4/7] net: dsa: move port_setup/teardown to be called outside devlink port registered area Jiri Pirko
2022-09-27  7:56 ` [patch net-next v2 5/7] net: dsa: don't leave dangling pointers in dp->pl when failing Jiri Pirko
2022-09-27  7:56 ` [patch net-next v2 6/7] net: dsa: don't do devlink port setup early Jiri Pirko
2022-09-27  7:56 ` [patch net-next v2 7/7] net: dsa: remove bool devlink_port_setup Jiri Pirko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).