Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [netbsd-10] src/sys
Module Name: src
Committed By: martin
Date: Wed May 28 15:30:47 UTC 2025
Modified Files:
src/sys/arch/ia64/include [netbsd-10]: intr.h
src/sys/arch/sparc64/include [netbsd-10]: psl.h
src/sys/sys [netbsd-10]: spl.h
src/sys/uvm [netbsd-10]: uvm_pdpolicy_clock.c
Log Message:
Pull up following revision(s) (requested by bouyer in ticket #1121):
sys/arch/ia64/include/intr.h: revision 1.9
sys/uvm/uvm_pdpolicy_clock.c: revision 1.41
sys/sys/spl.h: revision 1.11
sys/uvm/uvm_pdpolicy_clock.c: revision 1.42
sys/arch/sparc64/include/psl.h: revision 1.66
uvmpdpol_pagerealize(): ucpu->pdqhead is used by a single CPU; but
kpreempt_disable() isn't enough to guard against concurent access;
interrupts also need to be disabled.
If my analysis is correct, the only place using ucpu->pdqhead which
can be called from interrupt context it uvmpdpol_pagerealize(), and only
from softbio().
So:
- introduce splsoftbio() in sys/spl.h
- protect all accesses to ucpu->pdqhead with splsoftbio()
fixes pr kern/59412: uvmpdpol_pagerealize() queue index out of bound
Provide splsoftbio()
Remove the redundant kpreempt_disable/kpreempt_enable now that we're
running at splsoftbio. Pointed out by thorpej@
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.8.30.1 src/sys/arch/ia64/include/intr.h
cvs rdiff -u -r1.62.4.2 -r1.62.4.3 src/sys/arch/sparc64/include/psl.h
cvs rdiff -u -r1.10 -r1.10.4.1 src/sys/sys/spl.h
cvs rdiff -u -r1.40 -r1.40.4.1 src/sys/uvm/uvm_pdpolicy_clock.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index