Revision tags: release/12.3.0 |
|
#
0dc38e33 |
| 29-Jul-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Reimplement futexes using umtx.
Differential Revision: https://reviews.freebsd.org/D31236 MFC after: 2 weeks
|
#
1ca6b15b |
| 20-Jul-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Drop "All rights reserved" from my copyright statements.
Add email and fixup years while here.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D30912 MFC after: 2 weeks
|
#
26795a03 |
| 22-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Rework Linux ppoll system call.
For now the Linux emulation layer uses in kernel ppoll(2) without conversion of user supplied fd 'events', and does not convert the kernel supplied fd 'reve
linux(4): Rework Linux ppoll system call.
For now the Linux emulation layer uses in kernel ppoll(2) without conversion of user supplied fd 'events', and does not convert the kernel supplied fd 'revents'.
At least POLLRDHUP is handled by FreeBSD differently than by Linux. Seems that Linux silencly ignores POLLRDHUP on non socket fd's unlike FreeBSD, which does more strictly check and fails.
Rework the Linux ppoll, using kern_poll and converting 'events' and 'revents' values. While here, move poll events defines to the MI part of code as they mostly identical on all arches except arm.
Differential Revision: https://reviews.freebsd.org/D30716 MFC after: 2 weeks
show more ...
|
Revision tags: release/13.0.0, release/12.2.0 |
|
#
5403f186 |
| 29-Jun-2020 |
Kyle Evans <kevans@FreeBSD.org> |
linuxolator: implement memfd_create syscall
This effectively mirrors our libc implementation, but with minor fudging -- name needs to be copied in from userspace, so we just copy it straight into st
linuxolator: implement memfd_create syscall
This effectively mirrors our libc implementation, but with minor fudging -- name needs to be copied in from userspace, so we just copy it straight into stack-allocated memfd_name into the correct position rather than allocating memory that needs to be cleaned up.
The sealing-related fcntl(2) commands, F_GET_SEALS and F_ADD_SEALS, have also been implemented now that we support them.
Note that this implementation is still not quite at feature parity w.r.t. the actual Linux version; some caveats, from my foggy memory:
- Need to implement SHM_GROW_ON_WRITE, default for memfd (in progress) - LTP wants the memfd name exposed to fdescfs - Linux allows open() of an fdescfs fd with O_TRUNC to truncate after dup. (?)
Interested parties can install and run LTP from ports (devel/linux-ltp) to confirm any fixes.
PR: 240874 Reviewed by: kib, trasz Differential Revision: https://reviews.freebsd.org/D21845
show more ...
|
Revision tags: release/11.4.0 |
|
#
86e794eb |
| 11-Jun-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Don't use newlines with linux_msg(). No functional changes.
MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
|
#
044ab55e |
| 06-Nov-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Make linux(4) create /dev/shm. Linux applications often expect a tmpfs to be mounted there, and because they like to verify it's actually a mountpoint, a symlink won't do.
Reviewed by: dchagin (ear
Make linux(4) create /dev/shm. Linux applications often expect a tmpfs to be mounted there, and because they like to verify it's actually a mountpoint, a symlink won't do.
Reviewed by: dchagin (earlier version) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20333
show more ...
|
Revision tags: release/12.1.0 |
|
#
a161fba9 |
| 18-Oct-2019 |
Yuri Pankov <yuripv@FreeBSD.org> |
linux: futex_mtx should follow futex_list
Move futex_mtx to linux_common.ko for amd64 and aarch64 along with respective list/mutex init/destroy.
PR: 240989 Reported by: Alex S <iwtcex@gmail.com>
|
#
b9d3556a |
| 18-Oct-2019 |
Yuri Pankov <yuripv@FreeBSD.org> |
linux: provide just one instance of futex_list
Move futex_list definition to linux.c which is included once in linux.ko (i386) and in linux_common.ko (amd64 and aarch64) allowing 32/64 bit linux pro
linux: provide just one instance of futex_list
Move futex_list definition to linux.c which is included once in linux.ko (i386) and in linux_common.ko (amd64 and aarch64) allowing 32/64 bit linux programs to access the same futexes in the latter case.
PR: 240989 Reviewed by: dchagin Differential Revision: https://reviews.freebsd.org/D22073
show more ...
|
Revision tags: release/11.3.0 |
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
d5368bf3 |
| 13-May-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Our bsd_to_linux_sockaddr() and linux_to_bsd_sockaddr() functions alter the userspace sockaddr to convert the format between linux and BSD versions. That's the minimum 3 of copyin/copyout operations
Our bsd_to_linux_sockaddr() and linux_to_bsd_sockaddr() functions alter the userspace sockaddr to convert the format between linux and BSD versions. That's the minimum 3 of copyin/copyout operations for one syscall.
Also some syscall uses linux_sa_put() and linux_getsockaddr() when load sockaddr to userspace or from userspace accordingly.
To avoid this chaos, especially converting sockaddr in the userspace, rewrite these 4 functions to convert sockaddr only in kernel and leave only 2 of this functions.
Also in order to reduce duplication between MD parts of the Linuxulator put struct sockaddr conversion functions that are MI out into linux_common module.
PR: 232920 MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20157
show more ...
|
#
bbac65c7 |
| 06-May-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Rewrite linux_ifflags() in more readable Linuxulator style.
Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20146
|
#
9c1437ae |
| 06-May-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Complete r347052 (https://reviews.freebsd.org/D20137) as it it was not a final revision.
Fix style issues and change bool-like variables from int to bool.
Reviewed by: emaste MFC after: 2 weeks Dif
Complete r347052 (https://reviews.freebsd.org/D20137) as it it was not a final revision.
Fix style issues and change bool-like variables from int to bool.
Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20141
show more ...
|
#
d151344d |
| 03-May-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
In order to reduce duplication between MD parts of the Linuxulator move bits that are MI out into the headers in compat/linux. For that remove bogus _packed attribute from struct l_sockaddr and use M
In order to reduce duplication between MD parts of the Linuxulator move bits that are MI out into the headers in compat/linux. For that remove bogus _packed attribute from struct l_sockaddr and use MI types for struct members.
And continue to move into the linux_common module a code that is intended for both Linuxulator modules (both instruction set - 32 & 64 bit) or for external modules like linsysfs or linprocfs.
To avoid header pollution introduce new sys/compat/linux_common.h header.
Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20137
show more ...
|
Revision tags: release/12.0.0, release/11.2.0, release/10.4.0, release/11.1.0 |
|
#
a3906ca5 |
| 17-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r313644 through r313895.
|
#
8081c6ce |
| 16-Feb-2017 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Improve debugging output.
MFC after: 2 weeks Sponsored by: DARPA, AFRL
|
Revision tags: release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0 |
|
#
416ba5c7 |
| 22-Jun-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Catch up with HEAD (r280229-r284686).
|
#
37a48d40 |
| 28-May-2015 |
Glen Barber <gjb@FreeBSD.org> |
MFH: r282615-r283655
Sponsored by: The FreeBSD Foundation
|
#
4ab7403b |
| 24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Rework signal code to allow using it by other modules, like linprocfs:
1. Linux sigset always 64 bit on all platforms. In order to move Linux sigset code to the linux_common module define it as 64 b
Rework signal code to allow using it by other modules, like linprocfs:
1. Linux sigset always 64 bit on all platforms. In order to move Linux sigset code to the linux_common module define it as 64 bit int. Move Linux sigset manipulation routines to the MI path.
2. Move Linux signal number definitions to the MI path. In general, they are the same on all platforms except for a few signals.
3. Map Linux RT signals to the FreeBSD RT signals and hide signal conversion tables to avoid conversion errors.
4. Emulate Linux SIGPWR signal via FreeBSD SIGRTMIN signal which is outside of allowed on Linux signal numbers.
PR: 197216
show more ...
|