commit 84cb91c376f39e5cbfcc52664bc818ac8154e0c6 Author: Aaron LI <a...@aaronly.me> Date: Fri Jun 22 21:47:22 2018 +0800
if_clone: Refactor if_clone_create() In the wildcard case (the caller passes the interface name without a unit number), if_clone_create() should update the passed name parameter with the allocated unit number in order to make the caller know the name of the cloned interface, e.g., ifconfig(8) compares the passed and returned interface name. Therefore the caller should preserve enough space (given by the "len" parameter) to hold the full interface name. This shouldn't be a problem since the caller generally use the "struct if_clonereq" which has enough space for the name. For the name update code, use simple and clear strlcpy() to replace the hack with a for loop and obscure snprintf(), and return ENOSPC instead of panic. Simplify the ifnet lock a bit. Summary of changes: sys/net/if_clone.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/84cb91c376f39e5cbfcc52664bc818ac8154e0c6 -- DragonFly BSD source repository