Netdev List
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/6] net: deduplicate netdev name allocation
@ 2023-10-23 15:23 Jakub Kicinski
  2023-10-23 15:23 ` [PATCH net-next v2 1/6] net: don't use input buffer of __dev_alloc_name() as a scratch space Jakub Kicinski
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Jakub Kicinski @ 2023-10-23 15:23 UTC (permalink / raw)
  To: davem; +Cc: netdev, edumazet, pabeni, johannes.berg, mpe, j, jiri

After recent fixes we have even more duplicated code in netdev name
allocation helpers. There are two complications in this code.
First, __dev_alloc_name() clobbers its output arg even if allocation
fails, forcing callers to do extra copies. Second as our experience in
commit 55a5ec9b7710 ("Revert "net: core: dev_get_valid_name is now the same as dev_alloc_name_ns"") and
commit 029b6d140550 ("Revert "net: core: maybe return -EEXIST in __dev_alloc_name"")
taught us, user space is very sensitive to the exact error codes.

Align the callers of __dev_alloc_name(), and remove some of its
complexity.

v2: extend commit message on patch 4
v1: https://lore.kernel.org/all/20231020011856.3244410-1-kuba@kernel.org/

Jakub Kicinski (6):
  net: don't use input buffer of __dev_alloc_name() as a scratch space
  net: make dev_alloc_name() call dev_prep_valid_name()
  net: reduce indentation of __dev_alloc_name()
  net: trust the bitmap in __dev_alloc_name()
  net: remove dev_valid_name() check from __dev_alloc_name()
  net: remove else after return in dev_prep_valid_name()

 net/core/dev.c | 120 +++++++++++++++++++------------------------------
 1 file changed, 45 insertions(+), 75 deletions(-)

-- 
2.41.0


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

end of thread, other threads:[~2023-10-24 20:10 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-23 15:23 [PATCH net-next v2 0/6] net: deduplicate netdev name allocation Jakub Kicinski
2023-10-23 15:23 ` [PATCH net-next v2 1/6] net: don't use input buffer of __dev_alloc_name() as a scratch space Jakub Kicinski
2023-10-23 15:23 ` [PATCH net-next v2 2/6] net: make dev_alloc_name() call dev_prep_valid_name() Jakub Kicinski
2023-10-23 15:23 ` [PATCH net-next v2 3/6] net: reduce indentation of __dev_alloc_name() Jakub Kicinski
2023-10-23 15:23 ` [PATCH net-next v2 4/6] net: trust the bitmap in __dev_alloc_name() Jakub Kicinski
2023-10-24  7:12   ` Jiri Pirko
2023-10-23 15:23 ` [PATCH net-next v2 5/6] net: remove dev_valid_name() check from __dev_alloc_name() Jakub Kicinski
2023-10-23 15:23 ` [PATCH net-next v2 6/6] net: remove else after return in dev_prep_valid_name() Jakub Kicinski
2023-10-24 20:10 ` [PATCH net-next v2 0/6] net: deduplicate netdev name allocation patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox