#
33c2c58f |
| 04-Oct-2024 |
Mark Johnston <markj@FreeBSD.org> |
shm: Respect PROT_MAX when creating private mappings
We were previously unconditionally adding PROT_WRITE to the maxprot of private mapping (because a private mapping can be written even if the fd i
shm: Respect PROT_MAX when creating private mappings
We were previously unconditionally adding PROT_WRITE to the maxprot of private mapping (because a private mapping can be written even if the fd is read-only), but this might violate the user's PROT_MAX request.
While here, rename cap_maxprot to max_maxprot. This is the intersection of the maximum protections imposed by capsicum rights on the fd (not really relevant for private mappings) and the user-required maximum protections (which were not being obeyed). In particular, cap_maxprot is a misnomer after the introduction of PROT_MAX.
Add some regression test cases. mmap__maxprot_shm fails without this patch.
Note: Capsicum's CAP_MMAP_W is a bit ambiguous. Should it be required in order to create writeable private mappings? Currently it is, even though such mappings don't permit writes to the object referenced by the fd.
Reported by: brooks Reviewed by: brooks MFC after: 1 month Fixes: c7841c6b8e41 ("Relax restrictions on private mappings of POSIX shm objects.") Differential Revision: https://reviews.freebsd.org/D46741
show more ...
|
Revision tags: release/13.4.0, release/14.1.0, release/13.3.0 |
|
#
a9174861 |
| 03-Jan-2024 |
Brooks Davis <brooks@FreeBSD.org> |
posixshm largepage_mmap: fix a racy test
You can't ever safely map a single page and then map a superpage sized mapping over it with MAP_FIXED. Even in a single-threaded program, ASLR might mean yo
posixshm largepage_mmap: fix a racy test
You can't ever safely map a single page and then map a superpage sized mapping over it with MAP_FIXED. Even in a single-threaded program, ASLR might mean you land too close to another mapping and on CheriBSD we don't allow the initial reservation to grow because doing so requires program changes that are hard to automate.
To avoid this, map the entire region we want to use upfront.
Reviewed by: markj Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D43282
show more ...
|
#
6dced2c6 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
tests: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Rem
tests: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
1d386b48 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0 |
|
#
560f9cd5 |
| 03-Mar-2023 |
Mark Johnston <markj@FreeBSD.org> |
posixshm tests: Correct page size index checks
MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc.
|
#
91ddfd35 |
| 03-Dec-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
posixshm_test: add naive page accounting test
Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D37097
|
#
f1f03024 |
| 03-Dec-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
posixshm_test: small style fixes
Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D37097
|
#
8dd8d56d |
| 05-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
posixshm_test: Fix sign mismatches in ?: results.
GCC 12's -Wsign-compare complains if the two alternative results of the ?: operator are differently signed. Cast the small, sub-page off_t values t
posixshm_test: Fix sign mismatches in ?: results.
GCC 12's -Wsign-compare complains if the two alternative results of the ?: operator are differently signed. Cast the small, sub-page off_t values to size_t to quiet the warning.
Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D37539
show more ...
|
Revision tags: release/12.4.0 |
|
#
e4eedf8c |
| 26-Sep-2022 |
Mark Johnston <markj@FreeBSD.org> |
posixshm tests: Map the large pages in the madvise test
This improves test coverage and was unintentionally omitted when the tests were written.
MFC after: 1 week
|
Revision tags: release/13.1.0 |
|
#
d3aabde9 |
| 20-Apr-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Have posixshm_test ask the kernel for the page size
It may be dynamic so we can't rely on PAGE_SIZE being present or correct.
Reviewed by: markj, kib, imp Sponsored by: The FreeBSD Foundation Diffe
Have posixshm_test ask the kernel for the page size
It may be dynamic so we can't rely on PAGE_SIZE being present or correct.
Reviewed by: markj, kib, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34961
show more ...
|
#
05d17358 |
| 19-Apr-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Fill the page size array in one posix shm test
The largepage_config posix shared memory test was failing on arm64 as the page size array is never filled out. Fix this by calling getpagesizes(3), via
Fill the page size array in one posix shm test
The largepage_config posix shared memory test was failing on arm64 as the page size array is never filled out. Fix this by calling getpagesizes(3), via pagesizes.
Reviewed by: markj, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34960
show more ...
|
#
321e586e |
| 03-Jan-2022 |
Mark Johnston <markj@FreeBSD.org> |
posixshm tests: Fix occasional largepage_mprotect failures
largepage_mprotect maps a superpage and later extends the mapping. This occasionally fails with ASLR disabled. To fix this, first try to
posixshm tests: Fix occasional largepage_mprotect failures
largepage_mprotect maps a superpage and later extends the mapping. This occasionally fails with ASLR disabled. To fix this, first try to reserve a sufficiently large virtual address region.
Reported by: Jenkins MFC after: 1 week Sponsored by: The FreeBSD Foundation
show more ...
|
Revision tags: release/12.3.0 |
|
#
cd16a848 |
| 15-Sep-2021 |
John Baldwin <jhb@FreeBSD.org> |
posixshmtest: Fix various warnings raised by GCC.
- Remove unused format string arguments.
- Remove a set but unused variable.
Reviewed by: khng, kib Differential Revision: https://reviews.freebsd
posixshmtest: Fix various warnings raised by GCC.
- Remove unused format string arguments.
- Remove a set but unused variable.
Reviewed by: khng, kib Differential Revision: https://reviews.freebsd.org/D31946
show more ...
|
#
454bc887 |
| 12-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
uipc_shm: Implements fspacectl(2) support
This implements fspacectl(2) support on shared memory objects. The semantic of SPACECTL_DEALLOC is equivalent to clearing the backing store and free the pag
uipc_shm: Implements fspacectl(2) support
This implements fspacectl(2) support on shared memory objects. The semantic of SPACECTL_DEALLOC is equivalent to clearing the backing store and free the pages within the affected range. If the call succeeds, subsequent reads on the affected range return all zero.
tests/sys/posixshm/posixshm_tests.c is expanded to include a fspacectl(2) functional test.
Sponsored by: The FreeBSD Foundation Reviewed by: kevans, kib Differential Revision: https://reviews.freebsd.org/D31490
show more ...
|
Revision tags: release/13.0.0 |
|
#
c821ba35 |
| 11-Dec-2020 |
Ryan Libby <rlibby@FreeBSD.org> |
posixshm_test.c: remove tautological checks
Reviewed by: kib, markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D27564
|
Revision tags: release/12.2.0 |
|
#
77ceadee |
| 17-Sep-2020 |
Mark Johnston <markj@FreeBSD.org> |
Add some basic regression tests for SHM_LARGEPAGE.
Discussed with: kib Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D25900
|
Revision tags: release/11.4.0 |
|
#
f1040532 |
| 08-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
posixshm: implement posix_fallocate(2)
Linux expects to be able to use posix_fallocate(2) on a memfd. Other places would use this with shm_open(2) to act as a smarter ftruncate(2).
Test has been ad
posixshm: implement posix_fallocate(2)
Linux expects to be able to use posix_fallocate(2) on a memfd. Other places would use this with shm_open(2) to act as a smarter ftruncate(2).
Test has been added to go along with this.
Reviewed by: kib (earlier version) Differential Revision: https://reviews.freebsd.org/D23042
show more ...
|
#
2d5603fe |
| 18-Nov-2019 |
David Bright <dab@FreeBSD.org> |
Jail and capability mode for shm_rename; add audit support for shm_rename
Co-mingling two things here:
* Addressing some feedback from Konstantin and Kyle re: jail, capability mode, and a few
Jail and capability mode for shm_rename; add audit support for shm_rename
Co-mingling two things here:
* Addressing some feedback from Konstantin and Kyle re: jail, capability mode, and a few other things * Adding audit support as promised.
The audit support change includes a partial refresh of OpenBSM from upstream, where the change to add shm_rename has already been accepted. Matthew doesn't plan to work on refreshing anything else to support audit for those new event types.
Submitted by: Matthew Bryan <matthew.bryan@isilon.com> Reviewed by: kib Relnotes: Yes Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D22083
show more ...
|
Revision tags: release/12.1.0 |
|
#
8b3bc70a |
| 08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
5a391b57 |
| 02-Oct-2019 |
Kyle Evans <kevans@FreeBSD.org> |
shm_open2(2): completely unbreak
kern_shm_open2(), since conception, completely fails to pass the mode along to kern_shm_open(). This breaks most uses of it.
Add tests alongside this that actually
shm_open2(2): completely unbreak
kern_shm_open2(), since conception, completely fails to pass the mode along to kern_shm_open(). This breaks most uses of it.
Add tests alongside this that actually check the mode of the returned files.
PR: 240934 [pulseaudio breakage] Reported by: ler, Andrew Gierth [postgres breakage] Diagnosed by: Andrew Gierth (great catch) Tested by: ler, tmunro Pointy hat to: kevans
show more ...
|
#
4f775512 |
| 29-Sep-2019 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Adjust tests after page fault changes in r352807
Commit r352807 fixed various signal numbers and codes from page faults; adjust the tests so they expect the fixes to be present.
PR: 211924
|
#
668ee101 |
| 26-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352587 through r352763.
|
#
9afb12ba |
| 26-Sep-2019 |
David Bright <dab@FreeBSD.org> |
Add an shm_rename syscall
Add an atomic shm rename operation, similar in spirit to a file rename. Atomically unlink an shm from a source path and link it to a destination path. If an existing shm is
Add an shm_rename syscall
Add an atomic shm rename operation, similar in spirit to a file rename. Atomically unlink an shm from a source path and link it to a destination path. If an existing shm is linked at the destination path, unlink it as part of the same atomic operation. The caller needs the same permissions as shm_unlink to the shm being renamed, and the same permissions for the shm at the destination which is being unlinked, if it exists. If those fail, EACCES is returned, as with the other shm_* syscalls.
truss support is included; audit support will come later.
This commit includes only the implementation; the sysent-generated bits will come in a follow-on commit.
Submitted by: Matthew Bryan <matthew.bryan@isilon.com> Reviewed by: jilles (earlier revision) Reviewed by: brueffer (manpages, earlier revision) Relnotes: yes Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D21423
show more ...
|
#
c5c3ba6b |
| 03-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r351317 through r351731.
|
#
95aa96f3 |
| 25-Aug-2019 |
Kyle Evans <kevans@FreeBSD.org> |
tests: shm_open(2): Verify FD_CLOEXEC
Motivated by the fact that I'm messing around near the implementation and wanting to ensure this doesn't get messed up in the process.
MFC after: 1 week
|