• Jakub Kicinski's avatar
    net: make dev_alloc_name() call dev_prep_valid_name() · 556c755a
    Jakub Kicinski authored
    __dev_alloc_name() handles both the sprintf and non-sprintf
    target names. This complicates the code.
    
    dev_prep_valid_name() already handles the non-sprintf case,
    before calling __dev_alloc_name(), make the only other caller
    also go thru dev_prep_valid_name(). This way we can drop
    the non-sprintf handling in __dev_alloc_name() in one of
    the next changes.
    
    commit 55a5ec9b ("Revert "net: core: dev_get_valid_name is now the same as dev_alloc_name_ns"") and
    commit 029b6d14 ("Revert "net: core: maybe return -EEXIST in __dev_alloc_name"")
    tell us that we can't start returning -EEXIST from dev_alloc_name()
    on name duplicates. Bite the bullet and pass the expected errno to
    dev_prep_valid_name().
    
    dev_prep_valid_name() must now propagate out the allocated id
    for printf names.
    Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
    Link: https://lore.kernel.org/r/20231023152346.3639749-3-kuba@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    556c755a
dev.c 292 KB