136 lines
4.9 KiB
Text
136 lines
4.9 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA512
|
|
|
|
=============================================================================
|
|
FreeBSD-EN-16:17.vm Errata Notice
|
|
The FreeBSD Project
|
|
|
|
Topic: Virtual Memory issues
|
|
|
|
Category: core
|
|
Module: Virtual Memory subsystem
|
|
Announced: 2016-10-25
|
|
Credits:
|
|
Affects: FreeBSD 10.3
|
|
Corrected: 2016-07-25 13:31:18 UTC (stable/10, 10.3-STABLE)
|
|
2016-10-25 16:45:55 UTC (releng/10.3, 10.3-RELEASE-p11)
|
|
|
|
For general information regarding FreeBSD Errata Notices and Security
|
|
Advisories, including descriptions of the fields above, security branches,
|
|
and the following sections, please visit
|
|
<URL:https://security.freebsd.org/>.
|
|
|
|
I. Background
|
|
|
|
The virtual memory subsystem manages address spaces of the processes, and
|
|
tightly cooperates with the file systems and process management to provide
|
|
the execution environment for the applications.
|
|
|
|
II. Problem Description
|
|
|
|
Due to increased parallelism and optimizations in several parts of the
|
|
system, the previously latent bugs in VM become much easier to trigger,
|
|
affecting a significant number of the FreeBSD users. The exact technical
|
|
details of the issues are provided in the commit messages of the merged
|
|
revisions, which are listed below with short summaries.
|
|
|
|
r301184 prevent parallel object collapses, fixes object lifecycle
|
|
r301436 do not leak the vm object lock, fixes overcommit disable
|
|
r302243 avoid the active object marking for vm.vmtotal sysctl, fixes
|
|
"vodead" hangs
|
|
r302513 vm_fault() race with the vm_object_collapse(), fixes spurious
|
|
SIGSEGV
|
|
r303291 postpone BO_DEAD, fixes panic on fast vnode reclaim
|
|
|
|
III. Impact
|
|
|
|
Due to the bugs, spurious SIGSEGV might be delivered to processes, causing
|
|
hangs on the "vodead" state on filesystem operations might be observed,
|
|
system might hang or panic during rapid UFS vnodes reclamation.
|
|
|
|
IV. Workaround
|
|
|
|
No workaround is available.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your system to a supported FreeBSD stable or release / security
|
|
branch (releng) dated after the correction date.
|
|
|
|
2) To update your present system via a binary patch:
|
|
|
|
Systems running a RELEASE version of FreeBSD on the i386 or amd64
|
|
platforms can be updated via the freebsd-update(8) utility:
|
|
|
|
# freebsd-update fetch
|
|
# freebsd-update install
|
|
|
|
3) To update your present system via a source code patch:
|
|
|
|
The following patches have been verified to apply to the applicable
|
|
FreeBSD release branches.
|
|
|
|
a) Download the relevant patch from the location below, and verify the
|
|
detached PGP signature using your PGP utility.
|
|
|
|
[FreeBSD 10.3]
|
|
# fetch https://security.FreeBSD.org/patches/EN-16:17/vm.patch
|
|
# fetch https://security.FreeBSD.org/patches/EN-16:17/vm.patch.asc
|
|
# gpg --verify vm.patch.asc
|
|
|
|
b) Apply the patch. Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
|
|
c) Recompile your kernel as described in
|
|
<URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
|
|
system.
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the correction revision numbers for each
|
|
affected branch.
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/10/ r303291
|
|
releng/10.3/ r307929
|
|
- -------------------------------------------------------------------------
|
|
|
|
To see which files were modified by a particular revision, run the
|
|
following command, replacing NNNNNN with the revision number, on a
|
|
machine with Subversion installed:
|
|
|
|
# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
|
|
|
|
Or visit the following URL, replacing NNNNNN with the revision number:
|
|
|
|
<URL:https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
|
|
|
|
VII. References
|
|
|
|
<URL:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204764>
|
|
|
|
<URL:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204426>
|
|
|
|
The latest revision of this Errata Notice is available at
|
|
https://security.FreeBSD.org/advisories/FreeBSD-EN-16:17.vm.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
|
|
iQIcBAEBCgAGBQJYD5UUAAoJEO1n7NZdz2rnxWUQAJ/yL3KpTFuhaHnnOg84mpwE
|
|
KguSEpFB4BqxPVntuwuutyvRf1aibdrcjOESJ62U86Nw3Yn+umYFQaq6ySTzWhbY
|
|
6JlARZEGQa0kt+kP8etx1Z/AjCiplHFjhi1HSdq/nhnYwwVlrw5vu5IiN66Vu9vu
|
|
OyfjmC3Zxx9Zf8CByTk7S9qGzhrsJPZvlkgVnOgUEwEq+zbYFAYk+vNVvF7KwSI5
|
|
WxlOhkt6OdJUTUV+lOl5xZlGU3LlvE+2/+LpOOyNbgK/alAuPpt3JGiVnRYje6YI
|
|
lQnJXdM6Y5cITawkOhaePNRlgIphSKOjiomlVfpzDVKaoEvKTaTA0QNcTG7cF5vD
|
|
AeO/k2J15ARJQo/SRmTGE2/kOC7RSlAPBAYcBYy83LXDRxrhWtkz12LHzGu85IBy
|
|
TzgWgJX9IBiQDXKBg+7BLzkWAb4lX5sg38fZzGn80GD2EhkZ8vSnzjQyCgVQdxKD
|
|
T4XVVbiRSDywxelhRI9L/xLTM8kPNbL4ZQLrtS5VvQt/PSNubcFMkLgvP+lbOvKB
|
|
eE44FX8jQrs5YNbFamksOHJ6qDSzQk4Rxk6Nd6BlYAD/xFT+h5MnqydBtl4cWua1
|
|
zpaCUjqA2OxQHANiauFRj71fjjWfKF/pbEsfHaJmtyx55PyVwhgeATjbo02kuWug
|
|
sk7U5vuJxdMO+iRBHQKZ
|
|
=Jq+g
|
|
-----END PGP SIGNATURE-----
|