05170767e2df404bef9db9fa92cf3e4e64391e43
The set_fs() function was dropped on x86_64 architecture by mainline commit
47058bb54b57 ("x86: remove address space overrides using set_fs()") in
5.10-rc1. In isVAReadable() it is used to check if a kernel address can be
read from without risking a pagefault if the answer is negative by using
set_fs() to pretend it's a userspace address and checking with
copy_from_user(). Starting with 5.8, copy_from_kernel_nofault() can be
used to copy from a kernel address with access check but without an actual
pagefault.
This repository tracks patches needed to build VMware (Player and
Workstation) host modules against recent kernels. As it focuses on recent
kernels (older ones do not need patching), only vmmon and vmnet modules are
currently handled as the rest has been upstreamed for some time.
Main branch master handles only "infrastructure" files which do not belong
to VMware module sources. Two other branches, "player" and "workstation"
track upstream module sources distributed with Player and Workstation,
respectively. Tags of the form "p${version}" (e.g. "p12.5.5") and
"w${version}" correspond to clean unpacked sources of modules from
a particular version of Player or Workstation.
From these tags, branches "player-${version}" and "workstation-${version}"
are forked. These branches track changes needed to build these modules
against recent kernel versions. Tag "p${ver}-k${kver}" marks the set of
changes needed to build modules from Player ${ver} against kernel ${kver},
e.g. p12.5.5-k4.11 is for Player 12.5.5 and kernel 4.11; similar naming
scheme "w${ver}-k${kver}" is used for Workstation modules. In general,
later points in the branch should also work with older kernels (e.g.
p12.5.5-k4.11 with kernel 4.10) but it's not guaranteed; it may happen that
a fix for new kernel version may be too complicated to make also work with
older versions.
At the moment, changes are tested to build against all (vanilla) kernel
releases starting with 4.9.
This repository is provided "as is" with no guarantees. Use the contents on
your own risk.
Languages
Makefile
100%