freebsd-skq/sys/compat/linux
chuck 360d52c628 Fix the Linux kernel version number calculation
The Linux compatibility code was converting the version number (e.g.
2.6.32) in two different ways and then comparing the results.

The linux_map_osrel() function converted MAJOR.MINOR.PATCH similar to
what FreeBSD does natively. I.e. where major=v0, minor=v1, and patch=v2
    v = v0 * 1000000 + v1 * 1000 + v2;

The LINUX_KERNVER() macro, on the other hand, converted the value with
bit shifts. I.e. where major=a, minor=b, and patch=c
    v = (((a) << 16) + ((b) << 8) + (c))

The Linux kernel uses the later format via the KERNEL_VERSION() macro in
include/generated/uapi/linux/version.h

Fix is to use the LINUX_KERNVER() macro in linux_map_osrel() as well as
in the .trans_osrel functions.

PR: 229209
Reviewed by: emaste, cem, imp (mentor)
Approved by: imp (mentor)
Differential Revision: https://reviews.freebsd.org/D15952
2018-06-22 00:02:03 +00:00
..
check_error.d
check_internal_locks.d Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_common.c
linux_dtrace.h sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
linux_emul.c linuxulator: deduplicate linux_exec_imgact_try 2018-04-09 17:24:01 +00:00
linux_emul.h linuxulator: deduplicate linux_exec_imgact_try 2018-04-09 17:24:01 +00:00
linux_errno.c Share Linux errno table with libsysdecode 2018-03-22 12:58:49 +00:00
linux_errno.inc Map FreeBSD EDOOFUS to Linux EINVAL 2018-04-23 18:33:26 +00:00
linux_event.c linuxulator: do not include legacy syscalls on arm64 2018-06-15 14:41:51 +00:00
linux_event.h Implement timerfd family syscalls. 2017-02-26 09:48:18 +00:00
linux_file.c linuxulator: do not include legacy syscalls on arm64 2018-06-15 14:41:51 +00:00
linux_file.h Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_fork.c linux_clone_thread: mark new thread as TDB_BORN. 2018-06-21 21:15:04 +00:00
linux_futex.c Fix futexes on i386 after the 4/4G split. 2018-04-24 12:50:21 +00:00
linux_futex.h Fix futexes on i386 after the 4/4G split. 2018-04-24 12:50:21 +00:00
linux_getcwd.c sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
linux_ioctl.c UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
linux_ioctl.h Rationalize license text on Linuxolator files 2018-03-23 14:39:34 +00:00
linux_ipc64.h Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_ipc.c sys/linux: Fix a few potential infoleaks in Linux IPC 2018-03-03 21:14:55 +00:00
linux_ipc.h Rationalize license text on Linuxolator files 2018-03-23 14:39:34 +00:00
linux_mib.c Fix the Linux kernel version number calculation 2018-06-22 00:02:03 +00:00
linux_mib.h Rationalize license text on Linuxolator files 2018-03-23 14:39:34 +00:00
linux_misc.c linuxulator: handle V3 capget/capset 2018-06-19 21:26:23 +00:00
linux_misc.h Rationalize license text on Linuxolator files 2018-03-23 14:39:34 +00:00
linux_mmap.c Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
linux_mmap.h Fix a copy/paste bug introduced during X86_64 Linuxulator work. 2016-07-10 08:22:04 +00:00
linux_persona.h Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_signal.c Linuxulator: apply style(9) to return 2018-03-12 15:35:24 +00:00
linux_signal.h Rationalize license text on Linuxolator files 2018-03-23 14:39:34 +00:00
linux_socket.c Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
linux_socket.h Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_stats.c linuxulator: do not include legacy syscalls on arm64 2018-06-15 14:41:51 +00:00
linux_sysctl.c linuxulator: do not include legacy syscalls on arm64 2018-06-15 14:41:51 +00:00
linux_sysproto.h sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
linux_time.c Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_timer.c
linux_timer.h Use the kern_clock_nanosleep() to implement Linux clock_nanosleep() with 2017-04-02 18:16:00 +00:00
linux_uid16.c sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
linux_util.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
linux_util.h Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_vdso.c Avoid using [LINUX_]SHAREDPAGE constant directly in the vdso code. 2017-07-30 21:24:20 +00:00
linux_vdso.h Avoid using [LINUX_]SHAREDPAGE constant directly in the vdso code. 2017-07-30 21:24:20 +00:00
linux_videodev2_compat.h
linux_videodev_compat.h
linux.c Improve debugging output. 2017-02-16 10:36:00 +00:00
linux.h
stats_timing.d Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
trace_futexes.d Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00