#
6bb132ba |
| 15-Apr-2024 |
Brooks Davis <brooks@FreeBSD.org> |
Reduce reliance on sys/sysproto.h pollution
Add sys/errno.h, sys/malloc.h, sys/queue.h, and vm/uma.h as needed.
sys/sysproto.h currently includes sys/acl.h which currently includes sys/param.h, sys
Reduce reliance on sys/sysproto.h pollution
Add sys/errno.h, sys/malloc.h, sys/queue.h, and vm/uma.h as needed.
sys/sysproto.h currently includes sys/acl.h which currently includes sys/param.h, sys/queue.h, and vm/uma.h which in turn bring in sys/errno.h sys/malloc.h.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44465
show more ...
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
3460fab5 |
| 18-Aug-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Remove sys/cdefs.h inclusion where it's not needed due to 685dc743
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
9b65fa69 |
| 29-Jul-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
linuxolator: implement Linux' PROT_GROWSDOWN
From the Linux man page for mprotect(2): PROT_GROWSDOWN Apply the protection mode down to the beginning of a mapping that grows down
linuxolator: implement Linux' PROT_GROWSDOWN
From the Linux man page for mprotect(2): PROT_GROWSDOWN Apply the protection mode down to the beginning of a mapping that grows downward (which should be a stack segment or a segment mapped with the MAP_GROWSDOWN flag set).
Reported by: dchagin Reviewed by: alc, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41099
show more ...
|
Revision tags: release/13.2.0 |
|
#
d8e53d94 |
| 14-Feb-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Cleanup includes under compat/linux
Cleanup unneeded includes, sort the rest according to style(9). No functional changes.
MFC after: 2 weeks
|
Revision tags: release/12.4.0, release/13.1.0 |
|
#
becaf643 |
| 14-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
Use vmspace->vm_stacktop in place of sv_usrstack in more places.
Reviewed by: markj Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D34174
|
Revision tags: release/12.3.0 |
|
#
74a0e24f |
| 24-Nov-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
linux: plug set-but-not-unused vars
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
Revision tags: release/13.0.0 |
|
#
7a1591c1 |
| 23-Jan-2021 |
Brooks Davis <brooks@FreeBSD.org> |
Rename kern_mmap_req to kern_mmap
Replace all uses of kern_mmap with kern_mmap_req move the old kern_mmap. Reand rename kern_mmap_req to kern_mmap .
The helper saved
Rename kern_mmap_req to kern_mmap
Replace all uses of kern_mmap with kern_mmap_req move the old kern_mmap. Reand rename kern_mmap_req to kern_mmap .
The helper saved some code churn initially, but having multiple interfaces is sub-optimal.
Obtained from: CheriBSD Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D28292
show more ...
|
#
ae9cafd9 |
| 30-Oct-2020 |
Conrad Meyer <cem@FreeBSD.org> |
linux(4): Quiesce warning about madvise(..., -1)
This API misuse is intended to produce an error value to detect certain bogus stub implementations of MADV_WIPEONFORK. We don't need to log a warnin
linux(4): Quiesce warning about madvise(..., -1)
This API misuse is intended to produce an error value to detect certain bogus stub implementations of MADV_WIPEONFORK. We don't need to log a warning about it.
Example: https://boringssl.googlesource.com/boringssl/+/ad5582985cc6b89d0e7caf0d9cc7e301de61cf66%5E%21/
Reviewed by: emaste, trasz Differential Revision: https://reviews.freebsd.org/D27017
show more ...
|
Revision tags: release/12.2.0 |
|
#
1a180032 |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
compat: clean up empty lines in .c and .h files
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
30dcce27 |
| 17-Aug-2020 |
Mark Johnston <markj@FreeBSD.org> |
Skip Linux madvise(MADV_DONTNEED) on unmanaged objects.
vm_object_madvise() is a no-op for unmanaged objects, but we should also limit the scope of mappings on which pmap_remove() is called. In par
Skip Linux madvise(MADV_DONTNEED) on unmanaged objects.
vm_object_madvise() is a no-op for unmanaged objects, but we should also limit the scope of mappings on which pmap_remove() is called. In particular, with the WIP largepage shm objects patch the kernel must remove mappings of such objects along superpage boundaries, and without this check Linux madvise(MADV_DONTNEED) could violate that requirement.
Reviewed by: alc, kib MFC with: r362631 Sponsored by: Juniper Networks, Klara Inc. Differential Revision: https://reviews.freebsd.org/D26084
show more ...
|
#
09c4e43d |
| 10-Jul-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Don't emit warnings on MADV_HUGEPAGE; Firefox uses it a lot.
MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
|
#
f4134e3d |
| 25-Jun-2020 |
Mark Johnston <markj@FreeBSD.org> |
Implement an approximation of Linux MADV_DONTNEED semantics.
Linux MADV_DONTNEED is not advisory: it has side effects for anonymous memory, and some system software depends on that. In particular,
Implement an approximation of Linux MADV_DONTNEED semantics.
Linux MADV_DONTNEED is not advisory: it has side effects for anonymous memory, and some system software depends on that. In particular, MADV_DONTNEED causes anonymous pages to be discarded. If the mapping is a private mapping of a named object then subsequent faults are to repopulate the range from that object, otherwise pages will be zero-filled. For mappings of non-anonymous objects, Linux MADV_DONTNEED can be implemented in the same way as our MADV_DONTNEED.
This implementation differs from Linux semantics in its handling of private mappings, inherited through fork(), of non-anonymous objects. After applying MADV_DONTNEED, subsequent faults will repopulate the mapping from the parent object rather than the root of the shadow chain.
PR: 230160 Reviewed by: alc, kib Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25330
show more ...
|
#
52c81be1 |
| 20-Jun-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add linux_madvise(2) instead of having Linux apps call the native FreeBSD madvise(2) directly. While some of the flag values match, most don't.
PR: kern/230160 Reported by: markj Reviewed by: mark
Add linux_madvise(2) instead of having Linux apps call the native FreeBSD madvise(2) directly. While some of the flag values match, most don't.
PR: kern/230160 Reported by: markj Reviewed by: markj Discussed with: brooks, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25272
show more ...
|
Revision tags: release/11.4.0 |
|
#
e43d33d2 |
| 05-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358466 through r358677.
|
#
d718de81 |
| 04-Mar-2020 |
Brooks Davis <brooks@FreeBSD.org> |
Introduce kern_mmap_req().
This presents an extensible interface to the generic mmap(2) implementation via a struct pointer intended to use a designated initializer or compount literal. We take adv
Introduce kern_mmap_req().
This presents an extensible interface to the generic mmap(2) implementation via a struct pointer intended to use a designated initializer or compount literal. We take advantage of the mandatory zeroing of fields not listed in the initializer.
Remove kern_mmap_fpcheck() and use kern_mmap_req().
The motivation for this change is a desire to keep the core implementation from growing an ever-increasing number of arguments that must be specified in the correct order for the lowest-level implementations. In CheriBSD we have already added two more arguments.
Reviewed by: kib Discussed with: kevans Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D23164
show more ...
|
#
051669e8 |
| 25-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r356931 through r357118.
|
#
618b55c2 |
| 24-Jan-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Make linux(4) handle MAP_32BIT.
This unbreaks Mono (mono-devel-4.6.2.7+dfsg-1ubuntu1 from Ubuntu Bionic); previously would crash on "amd64_is_imm32" assert.
MFC after: 2 weeks Sponsored by: The Fre
Make linux(4) handle MAP_32BIT.
This unbreaks Mono (mono-devel-4.6.2.7+dfsg-1ubuntu1 from Ubuntu Bionic); previously would crash on "amd64_is_imm32" assert.
MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23306
show more ...
|
#
10f2d3f8 |
| 21-Jan-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Revert r356948; breaks build somehow.
|
#
c5f4e26e |
| 21-Jan-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Make linux(4) handle MAP_32BIT.
This unbreaks Mono (mono-devel-4.6.2.7+dfsg-1ubuntu1 from Ubuntu Bionic); previously would crash on "amd64_is_imm32" assert.
MFC after: 2 weeks Sponsored by: The Fre
Make linux(4) handle MAP_32BIT.
This unbreaks Mono (mono-devel-4.6.2.7+dfsg-1ubuntu1 from Ubuntu Bionic); previously would crash on "amd64_is_imm32" assert.
MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
show more ...
|
#
18348a23 |
| 05-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
kern_mmap: add a variant that allows caller to inspect fp
Linux mmap rejects mmap() on a write-only file with EACCES. linux_mmap_common currently does a fun dance to grab the fp associated with the
kern_mmap: add a variant that allows caller to inspect fp
Linux mmap rejects mmap() on a write-only file with EACCES. linux_mmap_common currently does a fun dance to grab the fp associated with the passed in fd, validates it, then drops the reference and calls into kern_mmap(). Doing so is perhaps both fragile and premature; there's still plenty of chance for the request to get rejected with a more appropriate error, and it's prone to a race where the file we ultimately mmap has changed after it drops its referenced.
This change alleviates the need to do this by providing a kern_mmap variant that allows the caller to inspect the fp just before calling into the fileop layer. The callback takes flags, prot, and maxprot as one could imagine scenarios where any of these, in conjunction with the file itself, may influence a caller's decision.
The file type check in the linux compat layer has been removed; EINVAL is seemingly not an appropriate response to the file not being a vnode or device. The fileop layer will reject the operation with ENODEV if it's not supported, which more closely matches the common linux description of mmap(2) return values.
If we discover that we're allowing an mmap() on a file type that Linux normally wouldn't, we should restrict those explicitly.
Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D22977
show more ...
|
Revision tags: release/12.1.0 |
|
#
a63915c2 |
| 28-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @r350386
Sponsored by: The FreeBSD Foundation
|
#
e2fba140 |
| 10-Jul-2019 |
Tijl Coosemans <tijl@FreeBSD.org> |
Let linuxulator mprotect mask unsupported bits before calling kern_mprotect.
After r349240 kern_mprotect returns EINVAL for unsupported bits in the prot argument. Linux rtld uses PROT_GROWSDOWN and
Let linuxulator mprotect mask unsupported bits before calling kern_mprotect.
After r349240 kern_mprotect returns EINVAL for unsupported bits in the prot argument. Linux rtld uses PROT_GROWSDOWN and PROT_GROWS_UP when marking the stack executable. Mask these bits like kern_mprotect used to do. For other unsupported bits EINVAL is returned like Linux does.
Reviewed by: trasz, brooks MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20864
show more ...
|