CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2023/04/18 16:01:24
Modified files: sys/dev/usb : if_umb.c sys/net : if.c if_var.h rtsock.c Log message: Remove kernel lock from ifa_ifwithaddr() and ifa_ifwithdstaddr(). Netlock protects `if_list', `ifa_list' and returned `ifa' dereference, so put netlock assertion within. Please note, rtable_setsource() doesn't destroy data pointed by `ar_source'. This is the `ifa_addr' data belongs to `ifa' and exclusive netlock is required to destroy it. So the kernel lock is not required within rt_setsource(). Take netlock by rt_setsource() caller to make `ifa' dereference safe. Suggestions and ok by bluhm@