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 |
||
---|---|---|
.. | ||
linux32_dummy.c | ||
linux32_genassym.c | ||
linux32_locore.asm | ||
linux32_machdep.c | ||
linux32_proto.h | ||
linux32_support.s | ||
linux32_syscall.h | ||
linux32_syscalls.c | ||
linux32_sysent.c | ||
linux32_systrace_args.c | ||
linux32_sysvec.c | ||
linux32_vdso.lds.s | ||
linux.h | ||
Makefile | ||
syscalls.conf | ||
syscalls.master |