diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2026-01-13 13:35:28 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2026-01-17 02:08:03 +0000 |
| commit | d198ad51ea73bbb162336923a387f52b0b1c1f1d (patch) | |
| tree | efa4c3e9a1f1880b06e2a94e168aa2b9db4764a3 /sys/modules/canbus/(public-mirror) | |
| parent | b02ddb59e64620733a6cbc48fb1d0583a62fef78 (diff) | |
Same as vnode_pager_generic_getpages_async(), swap_pager_getpages() must
handle a possibility of the provided page run to include bogus_page on
some positions, when called from sendfile_swapin(). The swap pager is
used for tmpfs vnodes.
In particular, the bogus page must not be used for pindex calculation,
we better not update the flags on it or wait for the flag clearing, and
we must not call vm_page_valid() because the function expects busy page.
This was bisected down to 72ddb6de1028426 (unix: increase
net.local.(stream|seqpacket).(recv|send)space to 64 KiB),
which is somewhat surprising, but apparently reasonable because it
allowed the run of more than one page for page-in from the swap pager,
which now might include valid pages replaced by bogus one.
In collaboration with: pho
Reviewed by: glebius, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D54713
Diffstat (limited to 'sys/modules/canbus/(public-mirror)')
0 files changed, 0 insertions, 0 deletions
