Module Name: src Committed By: ozaki-r Date: Mon Aug 1 03:15:31 UTC 2016
Modified Files: src/sys/arch/x86/x86: vmt.c src/sys/compat/common: uipc_syscalls_40.c src/sys/compat/linux/common: linux_socket.c src/sys/compat/linux32/common: linux32_socket.c src/sys/net: if.c if.h if_ethersubr.c if_fddisubr.c if_stf.c if_tokensubr.c route.c route.h rtsock.c src/sys/netatalk: aarp.c at_control.c src/sys/netinet: if_arp.c igmp.c in.c in.h in_gif.c in_pcb.c in_var.h ip_carp.c ip_icmp.c ip_input.c ip_mroute.c ip_output.c raw_ip.c src/sys/netinet6: icmp6.c in6.c in6_ifattach.c in6_pcb.c in6_src.c in6_var.h ip6_input.c ip6_output.c mld6.c nd6.c nd6_nbr.c nd6_rtr.c raw_ip6.c sctp6_usrreq.c udp6_output.c Log Message: Apply pserialize and psref to struct ifaddr and its variants This change makes struct ifaddr and its variants (in_ifaddr and in6_ifaddr) MP-safe by using pserialize and psref. At this moment, pserialize_perform and psref_target_destroy are disabled because (1) we don't need them because of softnet_lock (2) they cause a deadlock because of softnet_lock. So we'll enable them when we remove softnet_lock in the future. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/x86/x86/vmt.c cvs rdiff -u -r1.11 -r1.12 src/sys/compat/common/uipc_syscalls_40.c cvs rdiff -u -r1.131 -r1.132 src/sys/compat/linux/common/linux_socket.c cvs rdiff -u -r1.25 -r1.26 src/sys/compat/linux32/common/linux32_socket.c cvs rdiff -u -r1.356 -r1.357 src/sys/net/if.c cvs rdiff -u -r1.223 -r1.224 src/sys/net/if.h cvs rdiff -u -r1.226 -r1.227 src/sys/net/if_ethersubr.c cvs rdiff -u -r1.99 -r1.100 src/sys/net/if_fddisubr.c cvs rdiff -u -r1.96 -r1.97 src/sys/net/if_stf.c cvs rdiff -u -r1.76 -r1.77 src/sys/net/if_tokensubr.c cvs rdiff -u -r1.172 -r1.173 src/sys/net/route.c cvs rdiff -u -r1.101 -r1.102 src/sys/net/route.h cvs rdiff -u -r1.193 -r1.194 src/sys/net/rtsock.c cvs rdiff -u -r1.38 -r1.39 src/sys/netatalk/aarp.c \ src/sys/netatalk/at_control.c cvs rdiff -u -r1.220 -r1.221 src/sys/netinet/if_arp.c cvs rdiff -u -r1.61 -r1.62 src/sys/netinet/igmp.c cvs rdiff -u -r1.177 -r1.178 src/sys/netinet/in.c cvs rdiff -u -r1.98 -r1.99 src/sys/netinet/in.h cvs rdiff -u -r1.81 -r1.82 src/sys/netinet/in_gif.c cvs rdiff -u -r1.167 -r1.168 src/sys/netinet/in_pcb.c cvs rdiff -u -r1.78 -r1.79 src/sys/netinet/in_var.h cvs rdiff -u -r1.76 -r1.77 src/sys/netinet/ip_carp.c cvs rdiff -u -r1.150 -r1.151 src/sys/netinet/ip_icmp.c cvs rdiff -u -r1.338 -r1.339 src/sys/netinet/ip_input.c cvs rdiff -u -r1.143 -r1.144 src/sys/netinet/ip_mroute.c cvs rdiff -u -r1.259 -r1.260 src/sys/netinet/ip_output.c cvs rdiff -u -r1.158 -r1.159 src/sys/netinet/raw_ip.c cvs rdiff -u -r1.194 -r1.195 src/sys/netinet6/icmp6.c cvs rdiff -u -r1.212 -r1.213 src/sys/netinet6/in6.c cvs rdiff -u -r1.102 -r1.103 src/sys/netinet6/in6_ifattach.c cvs rdiff -u -r1.147 -r1.148 src/sys/netinet6/in6_pcb.c cvs rdiff -u -r1.65 -r1.66 src/sys/netinet6/in6_src.c cvs rdiff -u -r1.83 -r1.84 src/sys/netinet6/in6_var.h cvs rdiff -u -r1.164 -r1.165 src/sys/netinet6/ip6_input.c cvs rdiff -u -r1.172 -r1.173 src/sys/netinet6/ip6_output.c cvs rdiff -u -r1.73 -r1.74 src/sys/netinet6/mld6.c cvs rdiff -u -r1.204 -r1.205 src/sys/netinet6/nd6.c cvs rdiff -u -r1.126 -r1.127 src/sys/netinet6/nd6_nbr.c cvs rdiff -u -r1.117 -r1.118 src/sys/netinet6/nd6_rtr.c cvs rdiff -u -r1.148 -r1.149 src/sys/netinet6/raw_ip6.c cvs rdiff -u -r1.7 -r1.8 src/sys/netinet6/sctp6_usrreq.c cvs rdiff -u -r1.52 -r1.53 src/sys/netinet6/udp6_output.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.