compat

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Centralize compatability translation macros.

Copy the CP, PTRIN, etc macros from freebsd32.h into a sys/abi_compat.h

and replace existing definitation with includes where required. This

eliminates duplicate code and allows Linux and FreeBSD compatability

headers to be included in the same files.

Obtained from: CheriBSD

  1. … 9 more files in changeset.
|Remove bogus use of useracc() in (clock_)nanosleep. | |There's no point in pre-checking that we can access the user's rmtp |pointer before we do it in copyout(). | |While here, improve style(9) compliance.

Obtained from: FreeBSD

  1. … 1 more file in changeset.
Clone the RCU interface into a sleepable and a non-sleepable part in the LinuxKPI.

Bump the freebsd compatibility version

Obtained from: FreeBSD

    • -11
    • +16
    ./linuxkpi/common/include/linux/rcupdate.h
    • -37
    • +57
    ./linuxkpi/common/src/linux_rcu.c
  1. … 1 more file in changeset.
Some fixes for SRCU in the LinuxKPI.

    • -3
    • +6
    ./linuxkpi/common/include/linux/srcu.h
add linux iov pass through

Add support for the device statistics IOCTL

When closing a LinuxKPI file always use the real release function to avoid resource leakage when destroying a LinuxKPI character device.

Extend the range of the return value from nsecs_to_jiffies64() to support Mesa's drm_syncobj usage, in the LinuxKPI.

While at it optimise the jiffies conversion functions to avoid repeated

and constant calculations.

    • -22
    • +33
    ./linuxkpi/common/include/linux/jiffies.h
    • -0
    • +50
    ./linuxkpi/common/src/linux_compat.c
linux futex_put(): do not touch futex after dropping our reference.

Provide support for fdevname(3) on linuxkpi-backed devices.

    • -1
    • +17
    ./linuxkpi/common/src/linux_compat.c
Implement mmget_not_zero() in the LinuxKPI.

    • -0
    • +6
    ./linuxkpi/common/include/linux/mm_types.h
With some popular multiplayer games (such as Counter-Strike: Global Offensive) the Linux Steam client likes to occasionally scan the game process memory, presumably as part anti-cheat measures. Turns out the client also expects each inode entry to be followed by a space character, otherwise the parsing code crashes.

Obtained from FreeBSD: https://reviews.freebsd.org/rS366722

Remove kfreebsd references.

  1. … 2 more files in changeset.
The kernel function handling exec(3) of a Linux binary did not correctly handle a calling process with multiple threads.

A multithread non-Linux process execing a Linux binary would fail a kernel

assertion, resuting in a kernel panic "thread_detach: emuldata not found."

When handling a 32-bit sendmsg(2) call, the compat32 subsystem copies the control message to be transmitted (if any) into kernel memory, and adjusts alignment of control message headers. The code which performs this work contained a time-of-check to time-of-use (TOCTOU) vulnerability which allows a malicious userspace program to modify control message headers after they were validated by the kernel.

When handling a 32-bit sendmsg(2) call, the compat32 subsystem copies the control message to be transmitted (if any) into kernel memory, and adjusts alignment of control message headers. The code which performs this work contained a time-of-check to time-of-use (TOCTOU) vulnerability which allows a malicious userspace program to modify control message headers after they were validated by the kernel.

sync compat code

    • -358
    • +340
    ./freebsd32/freebsd32_misc.c
    • -12
    • +14
    ./freebsd32/freebsd32_syscalls.c
    • -245
    • +253
    ./freebsd32/freebsd32_sysent.c
    • -150
    • +133
    ./freebsd32/freebsd32_systrace_args.c
  1. … 31 more files in changeset.
add some arm and other arch support code.

    • -0
    • +135
    ./cloudabi/cloudabi_clock.c
    • -0
    • +122
    ./cloudabi/cloudabi_errno.c
    • -0
    • +486
    ./cloudabi/cloudabi_fd.c
    • -0
    • +758
    ./cloudabi/cloudabi_file.c
    • -0
    • +1165
    ./cloudabi/cloudabi_futex.c
    • -0
    • +161
    ./cloudabi/cloudabi_mem.c
    • -0
    • +148
    ./cloudabi/cloudabi_proc.c
    • -0
    • +36
    ./cloudabi/cloudabi_proto.h
    • -0
    • +53
    ./cloudabi/cloudabi_random.c
    • -0
    • +186
    ./cloudabi/cloudabi_sock.c
    • -0
    • +69
    ./cloudabi/cloudabi_thread.c
    • -0
    • +87
    ./cloudabi/cloudabi_util.h
    • -0
    • +88
    ./cloudabi/cloudabi_vdso.c
    • -0
    • +51
    ./cloudabi/cloudabi_vdso.lds
  1. … 1222 more files in changeset.
Due to insufficient initialization of memory copied to userland in the components listed above small amounts of kernel memory may be disclosed to userland processes.

  1. … 1 more file in changeset.
Due to insufficient initialization of memory copied to userland in the components listed above small amounts of kernel memory may be disclosed to userland processes.

fix name of audio device

remove old files

  1. … 1 more file in changeset.
fixup verion checks

  1. … 134 more files in changeset.
remove kfreebsd

remove kfreebsd

  1. … 3 more files in changeset.
sync with freebsd 10

    • -0
    • +175
    ./freebsd32/freebsd32_capability.c
    • -110
    • +493
    ./freebsd32/freebsd32_misc.c
    • -0
    • +48
    ./freebsd32/freebsd32_misc.h
    • -73
    • +207
    ./freebsd32/freebsd32_proto.h
    • -22
    • +41
    ./freebsd32/freebsd32_syscalls.c
    • -157
    • +2713
    ./freebsd32/freebsd32_systrace_args.c
  1. … 10 more files in changeset.
sync with freebsd 10

    • -0
    • +94
    ./linux/linux_common.c
    • -0
    • +902
    ./linux/linux_event.c
    • -0
    • +61
    ./linux/linux_event.h
  1. … 32 more files in changeset.
sync ndis with freebsd 10

sync svr4

  1. … 38 more files in changeset.
tag freebsd 6.1

    • -0
    • +602
    ./pecoff/imgact_pecoff.c
    • -0
    • +142
    ./pecoff/imgact_pecoff.h
  1. … 14085 more files in changeset.