DF-0760 / fix.diff
diff --git a/sys/netinet/ip_id.c b/sys/netinet/ip_id.c --- a/sys/netinet/ip_id.c +++ b/sys/netinet/ip_id.c @@ -45,6 +45,7 @@ #include <sys/kernel.h> #include <sys/random.h> #include <sys/globaldata.h> +#include <sys/thread2.h> #include <net/netmsg2.h> #include <net/netisr2.h> @@ -112,6 +113,7 @@ u_int16_t si, r; int i1, i2; + crit_enter(); info = &iprandcpu[gd->gd_cpuid]; /* @@ -139,6 +141,7 @@ ip_shuffle[i2] = ip_shuffle[i1]; ip_shuffle[i1] = r; info->isidx += ncpus_fit; + crit_exit(); return (r); } |