]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix interaction between largepages and seals/writes.
authorkib <kib@FreeBSD.org>
Thu, 10 Sep 2020 20:54:44 +0000 (20:54 +0000)
committerkib <kib@FreeBSD.org>
Thu, 10 Sep 2020 20:54:44 +0000 (20:54 +0000)
commit047f17f77e0a01f5bcf41f39da8921a3bb3bc2ec
tree27d53353cdfa6c39d875d8f516c1e2261e4e5232
parent355aff3aa0f4135382e57329eca34ea29787ecc6
Fix interaction between largepages and seals/writes.

On write with SHM_GROW_ON_WRITE, use proper truncate.
Do not allow to grow largepage shm if F_SEAL_GROW is set. Note that
shrinks are not supported at all due to unmanaged mappings.
Call to vm_pager_update_writecount() is only valid for swap objects,
skip it for unmanaged largepages.
Largepages cannot support write sealing.
Do not writecnt largepage mappings.

Reported by: kevans
Reviewed by: kevans, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D26394
sys/kern/uipc_shm.c