netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/6] net: deduplicate netdev name allocation
@ 2023-10-20  1:18 Jakub Kicinski
  2023-10-20  1:18 ` [PATCH net-next 1/6] net: don't use input buffer of __dev_alloc_name() as a scratch space Jakub Kicinski
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Jakub Kicinski @ 2023-10-20  1:18 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.

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] 17+ messages in thread

end of thread, other threads:[~2023-10-21  7:02 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-20  1:18 [PATCH net-next 0/6] net: deduplicate netdev name allocation Jakub Kicinski
2023-10-20  1:18 ` [PATCH net-next 1/6] net: don't use input buffer of __dev_alloc_name() as a scratch space Jakub Kicinski
2023-10-20 10:15   ` Jiri Pirko
2023-10-20  1:18 ` [PATCH net-next 2/6] net: make dev_alloc_name() call dev_prep_valid_name() Jakub Kicinski
2023-10-20 10:24   ` Jiri Pirko
2023-10-20 19:01     ` Jakub Kicinski
2023-10-21  7:01       ` Jiri Pirko
2023-10-20  1:18 ` [PATCH net-next 3/6] net: reduce indentation of __dev_alloc_name() Jakub Kicinski
2023-10-20 10:26   ` Jiri Pirko
2023-10-20  1:18 ` [PATCH net-next 4/6] net: trust the bitmap in __dev_alloc_name() Jakub Kicinski
2023-10-20 10:38   ` Jiri Pirko
2023-10-20 19:04     ` Jakub Kicinski
2023-10-21  7:00       ` Jiri Pirko
2023-10-20  1:18 ` [PATCH net-next 5/6] net: remove dev_valid_name() check from __dev_alloc_name() Jakub Kicinski
2023-10-20 10:39   ` Jiri Pirko
2023-10-20  1:18 ` [PATCH net-next 6/6] net: remove else after return in dev_prep_valid_name() Jakub Kicinski
2023-10-20 10:45   ` 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).