CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]  2026/08/09 13:22:49

Modified files:
        sys/kern       : subr_disk.c 

Log message:
Reject d_secsize exceeding MAXPHYS in (init|set)disklabel

readdisklabel() reads one sector into one buffer with
geteblk(d_secsize), and vnd(4) takes d_secsize from userland.  The
buffer cache allocates kva one MAXPHYS slot per buffer but maps and
unmaps b_bufsize worth of it, so an oversize sector lays one buffer
across the slots that follow and unmaps them when it is freed, leaving
other buffer users with a b_data that is no longer mapped.

ok krw@

Reported-by: [email protected]

Reply via email to