DF-2913 / fix.diff
--- a/sys/kern/kern_plimit.c 2026-06-29 12:51:19.000000000 +0000 +++ b/sys/kern/kern_plimit.c 2026-10-26 00:25:42.777043079 +0000 @@ -186,7 +186,9 @@ if (count != 1) { nlimit = kmalloc(sizeof(*nlimit), M_PLIMIT, M_WAITOK); plimit_copy(olimit, nlimit); + spin_lock(&p->p_spin); p->p_limit = nlimit; + spin_unlock(&p->p_spin); plimit_free(olimit); olimit = nlimit; } @@ -223,7 +225,9 @@ if (count != 1) { nlimit = kmalloc(sizeof(*nlimit), M_PLIMIT, M_WAITOK); plimit_copy(olimit, nlimit); + spin_lock(&p->p_spin); p->p_limit = nlimit; + spin_unlock(&p->p_spin); plimit_free(olimit); olimit = nlimit; } |