Add two new erratas.
This commit is contained in:
parent
040c730358
commit
729febe05e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46795
11 changed files with 250569 additions and 0 deletions
175
share/security/advisories/FreeBSD-EN-15:06.file.asc
Normal file
175
share/security/advisories/FreeBSD-EN-15:06.file.asc
Normal file
|
@ -0,0 +1,175 @@
|
||||||
|
-----BEGIN PGP SIGNED MESSAGE-----
|
||||||
|
Hash: SHA512
|
||||||
|
|
||||||
|
=============================================================================
|
||||||
|
FreeBSD-EN-15:06.file Errata Notice
|
||||||
|
The FreeBSD Project
|
||||||
|
|
||||||
|
Topic: Version and security update of file(1) and libmagic(3)
|
||||||
|
|
||||||
|
Category: contrib
|
||||||
|
Module: file
|
||||||
|
Announced: 2015-06-09
|
||||||
|
Affects: All supported versions of FreeBSD.
|
||||||
|
Corrected: 2015-01-23 18:48:59 UTC (stable/10, 10.1-STABLE)
|
||||||
|
2015-06-09 22:13:25 UTC (releng/10.1, 10.1-RELEASE-p11)
|
||||||
|
2015-01-23 18:50:36 UTC (stable/9, 9.3-STABLE)
|
||||||
|
2015-06-09 22:13:53 UTC (releng/9.3, 9.3-RELEASE-p15)
|
||||||
|
2015-05-09 23:53:25 UTC (stable/8, 8.4-STABLE)
|
||||||
|
2015-06-09 22:13:53 UTC (releng/8.4, 8.4-RELEASE-p29)
|
||||||
|
CVE Name: CVE-2014-0207, CVE-2014-3478, CVE-2014-3479, CVE-2014-3480,
|
||||||
|
CVE-2014-3487, CVE-2014-3538, CVE-2014-3587, CVE-2014-9620,
|
||||||
|
CVE-2014-9621, CVE-2014-9653
|
||||||
|
|
||||||
|
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 file(1) utility attempts to classify file system objects based on
|
||||||
|
filesystem, magic number and language tests.
|
||||||
|
|
||||||
|
The libmagic(3) library provides most of the functionality of file(1)
|
||||||
|
and may be used by other applications.
|
||||||
|
|
||||||
|
II. Problem Description
|
||||||
|
|
||||||
|
There are a number of denial of service issues when handling complex
|
||||||
|
files, for instance Portable Executable (PE) files and ELF files parsing
|
||||||
|
code with libmagic(3) and in turn file(1).
|
||||||
|
|
||||||
|
III. Impact
|
||||||
|
|
||||||
|
An attacker who can cause file(1) or any other applications using the
|
||||||
|
libmagic(3) library to be run on a maliciously constructed input can
|
||||||
|
cause the application to crash or consume excessive CPU resources,
|
||||||
|
resulting in a denial-of-service.
|
||||||
|
|
||||||
|
IV. Workaround
|
||||||
|
|
||||||
|
System administrators who run file(1) and libmagic(3) against untrusted
|
||||||
|
files, for instance when running with a mail server's mail scanner, are
|
||||||
|
advised to configure the scanner in a way so that they do not call file(1)
|
||||||
|
or libmagic(3) to conduct deep inspection of input files. Most of these
|
||||||
|
scanners does not really need the in-depth analysis and the file type
|
||||||
|
determined by libmagic is already sufficient.
|
||||||
|
|
||||||
|
V. Solution
|
||||||
|
|
||||||
|
This errata replaces the base system file(1) and libmagic(3) with the
|
||||||
|
version 5.22.
|
||||||
|
|
||||||
|
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.1]
|
||||||
|
# fetch https://security.FreeBSD.org/patches/EN-15:06/file-10.1.patch
|
||||||
|
# fetch https://security.FreeBSD.org/patches/EN-15:06/file-10.1.patch.asc
|
||||||
|
# gpg --verify file-10.1.patch.asc
|
||||||
|
|
||||||
|
[FreeBSD 9.3]
|
||||||
|
# fetch https://security.FreeBSD.org/patches/EN-15:06/file-9.3.patch
|
||||||
|
# fetch https://security.FreeBSD.org/patches/EN-15:06/file-9.3.patch.asc
|
||||||
|
# gpg --verify file-9.3.patch.asc
|
||||||
|
|
||||||
|
[FreeBSD 8.4]
|
||||||
|
# fetch https://security.FreeBSD.org/patches/EN-15:06/file-8.4.patch
|
||||||
|
# fetch https://security.FreeBSD.org/patches/EN-15:06/file-8.4.patch.asc
|
||||||
|
# gpg --verify file-8.4.patch.asc
|
||||||
|
|
||||||
|
b) Apply the patch. Execute the following commands as root:
|
||||||
|
|
||||||
|
# cd /usr/src
|
||||||
|
# patch < /path/to/patch
|
||||||
|
|
||||||
|
c) Recompile the operating system using buildworld and installworld as
|
||||||
|
described in <URL:https://www.FreeBSD.org/handbook/makeworld.html>.
|
||||||
|
|
||||||
|
Restart all deamons using the library, or reboot the system.
|
||||||
|
|
||||||
|
VI. Correction details
|
||||||
|
|
||||||
|
The following list contains the correction revision numbers for each
|
||||||
|
affected branch.
|
||||||
|
|
||||||
|
Branch/path Revision
|
||||||
|
- -------------------------------------------------------------------------
|
||||||
|
stable/8/ r283135
|
||||||
|
releng/8.4/ r284194
|
||||||
|
stable/9/ r277593
|
||||||
|
releng/9.3/ r284194
|
||||||
|
stable/10/ r277592
|
||||||
|
releng/10.1/ r284193
|
||||||
|
- -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
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:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0207>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3478>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3479>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3480>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3487>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3538>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3587>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9620>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9621>
|
||||||
|
|
||||||
|
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9653>
|
||||||
|
|
||||||
|
The latest revision of this Errata Notice is available at
|
||||||
|
https://security.FreeBSD.org/advisories/FreeBSD-EN-15:06.file.asc
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.1.4 (FreeBSD)
|
||||||
|
|
||||||
|
iQIcBAEBCgAGBQJVd2aEAAoJEO1n7NZdz2rnEVQP/2OPfepmvG2/vYrH3bKDHPRi
|
||||||
|
12QFfE3Ylr8ctoDQRCBazdxhzLEMxdP3g9icJ0ZbnDWVmFtM9BwDfCrkcYmI6uCt
|
||||||
|
0E1usrqHs6qthm4i1UAwRu4v71LM2yllHCaLt/XWxWDXsbI/vA5wkZgfgZK8kZWW
|
||||||
|
PAiBUuI1bM4pegi+yymgMRoHquoyB0x2jNBKywnb9KT7m8Br9uYnJrCajI6G9HUy
|
||||||
|
/eQKtefOVQat0trIoOwXS7cIZhLWJlVAKUinBjb2IGHxkWOrUhgXlPCpB4efS0pG
|
||||||
|
IqEv2gvHpxllgmf+4leqNXYT8R1EUu+3OE6SbN7jV+RwgPc0TNUxC4Bkb6r1LoSH
|
||||||
|
BRf5FMuVDYAlDKDz4j8NY0v84PpD9d37w7SSBZPiR+Fwn5xs0F4PjsU2c+tPEnVD
|
||||||
|
Sn1vYkafvC+KXsuJtmd4sqb1zLRdpOGDxruA0VtOKATA1sDa1QZIBTB7w7iZ03f5
|
||||||
|
umCpU8p5mo7a9AroavUEZkcpu4w5BptAsgYoBdOeKHhStBtPlXiGpML8zLhj1qnL
|
||||||
|
hGF6RY2QrhD35C7OIer1ji0F2pEKkFfaeAqkvIXmYJaH+KQeIrEdt+ki2GStW1m9
|
||||||
|
OdL79RMreVGE1DuX/2puBxKcMsQR+fas4L4uGi46MDXXMeV0LKJHiAT2twJlDOL/
|
||||||
|
mc3UcOeMcAfOkINcpGuD
|
||||||
|
=8/lF
|
||||||
|
-----END PGP SIGNATURE-----
|
139
share/security/advisories/FreeBSD-EN-15:07.zfs.asc
Normal file
139
share/security/advisories/FreeBSD-EN-15:07.zfs.asc
Normal file
|
@ -0,0 +1,139 @@
|
||||||
|
-----BEGIN PGP SIGNED MESSAGE-----
|
||||||
|
Hash: SHA512
|
||||||
|
|
||||||
|
=============================================================================
|
||||||
|
FreeBSD-EN-15:07.zfs Errata Notice
|
||||||
|
The FreeBSD Project
|
||||||
|
|
||||||
|
Topic: ZFS Reliability Improvements
|
||||||
|
|
||||||
|
Category: contrib
|
||||||
|
Module: zfs
|
||||||
|
Announced: 2015-06-09
|
||||||
|
Affects: FreeBSD 10.1 and later
|
||||||
|
Corrected: 2014-12-05 00:32:33 UTC (stable/10, 10.1-STABLE)
|
||||||
|
2015-06-09 22:13:25 UTC (releng/10.1, 10.1-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
|
||||||
|
|
||||||
|
ZFS is one of several filesystems available on FreeBSD.
|
||||||
|
|
||||||
|
ZFS on FreeBSD supports TRIM/UNMAP which helps flash based storage medium to
|
||||||
|
maintain peek performance.
|
||||||
|
|
||||||
|
ZFS uses different layers of disk cache to speed up read and write
|
||||||
|
operations, and supports second level ARC (L2ARC) which can be used as a
|
||||||
|
second layer cache, which provides storage for less frequently accessed
|
||||||
|
data that would not fit into RAM but still accessed often, providing
|
||||||
|
optimal cost for performance.
|
||||||
|
|
||||||
|
ZFS supports compression in L2ARC data which optimizes its space efficiency.
|
||||||
|
|
||||||
|
II. Problem Description
|
||||||
|
|
||||||
|
When the ZFS filesystem on a file backed pool is used with TRIM support
|
||||||
|
enabled, which is the default, ZIO_TYPE_FREE requests where incorrectly
|
||||||
|
processed as a write request.
|
||||||
|
|
||||||
|
When the ZFS filesystem is using L2ARC and when L2ARC compression is used,
|
||||||
|
the compression buffer are not properly released sometimes.
|
||||||
|
|
||||||
|
III. Impact
|
||||||
|
|
||||||
|
The first problem will panic the system when it happens.
|
||||||
|
|
||||||
|
The second problem will exhibit as a memory leak, which would lead to
|
||||||
|
performance degradation and eventually a memory overflow, which would
|
||||||
|
lead to a panic.
|
||||||
|
|
||||||
|
IV. Workaround
|
||||||
|
|
||||||
|
The first issue can be mitigated by disabling TRIM for ZFS using
|
||||||
|
the loader option vfs.zfs.trim.enabled=0.
|
||||||
|
|
||||||
|
The second issue can be mitigated by disabling L2ARC.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
# fetch https://security.FreeBSD.org/patches/EN-15:07/zfs.patch
|
||||||
|
# fetch https://security.FreeBSD.org/patches/EN-15:07/zfs.patch.asc
|
||||||
|
# gpg --verify 15:07.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/ r275492
|
||||||
|
releng/10.1/ r284193
|
||||||
|
- -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
The latest revision of this Errata Notice is available at
|
||||||
|
https://security.FreeBSD.org/advisories/FreeBSD-EN-15:07.zfs.asc
|
||||||
|
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.1.4 (FreeBSD)
|
||||||
|
|
||||||
|
iQIcBAEBCgAGBQJVd2aYAAoJEO1n7NZdz2rn3ZAP/jqu2sz0LU20D1zdb3bpz8ui
|
||||||
|
QsFeKs2gk5e00T0qqWio9RxXpSxzV1XNEw8jVz2JDsgCQf4V6UwHklgf9E+Pg9DA
|
||||||
|
/9HNnrCuNsnlodOOqCPEETPkEWCKiPoiHXv29YzNVZDtlTXE9ysxnQgpD6IfI1AU
|
||||||
|
HpyH//OKN+z03eNR/vSdCbvZhemn/+An4AxX8nFegeGXBjxUBE1Hf6Aek2AYKz2Q
|
||||||
|
69nwvK56AN05FvVN+oegFdLaG9Lcv5kPnNFLoMDMGazGd/3VBfYE7ACQT2AETc/7
|
||||||
|
DuVCrP3ewG3uftNKBEomJkPWTeKLBGZLP3pHZK1BlGlXUlHvpEbEzy0BjJevt4Zt
|
||||||
|
6MxHT2xya8H5q8k6nfVnRB2+XhJ82nJMnZIN0cLiqdAgbRdFCS5QlOwLpXpak0tA
|
||||||
|
EOTcjsFBTCXQiuO6JLAHn0oprBrA6mMoHxHZGErG6yFGf4PNotG70s8hOH9hxvoG
|
||||||
|
bjdtvcbCewPqaUz54vwkp1walgK7i61waDTWNMeLdt9OPncdBO/1N5+jNAV87bLm
|
||||||
|
iqxqp6bcHFIoVaHLhE5xxRrmiJg4J/8z2PUjuyfxnWyslMkm4s7siiQ3HIacFdE6
|
||||||
|
7GeTDnU28Ui0JTbGx8c6QGRKhOEp0FdvmHmXXHtKBvo/yjdMy2yMg82RHMNxIQKd
|
||||||
|
z4HmBIQGnSf4ysgAunpN
|
||||||
|
=fmGr
|
||||||
|
-----END PGP SIGNATURE-----
|
6603
share/security/patches/EN-15:06/file-10.1.patch
Normal file
6603
share/security/patches/EN-15:06/file-10.1.patch
Normal file
File diff suppressed because it is too large
Load diff
17
share/security/patches/EN-15:06/file-10.1.patch.asc
Normal file
17
share/security/patches/EN-15:06/file-10.1.patch.asc
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.1.4 (FreeBSD)
|
||||||
|
|
||||||
|
iQIcBAABCgAGBQJVd2auAAoJEO1n7NZdz2rnbVMP/Rhu0aMiouWcMe5I8V0bonqZ
|
||||||
|
nMirYQ5/sQ2r2Zed9fpAYqpVHqh9G/qNX8EBNCGWq/baAyEtWJt9y7aIgyeox2pF
|
||||||
|
5M+5qZ3l+QLtVNyMwpVsB0MX4evQ3hfIAhtu9M8NGyJh89qnsfzFmw9jNJn7d+Yf
|
||||||
|
G0bIJ0JnYOQrQvCIEzGe3nKetX632ilbVU1UTfS/rSk2fziBDj+IQwbObEa0Gfqs
|
||||||
|
37JoEc+4qcY8QMt+ltqvZdP8510swi7iV3ZgA42xetALcFSjmYPPPLe5czTATyQb
|
||||||
|
wFfSYJyfOzg1wGKciAB+7X4TBlK3gsFLyVbvJpVJ1/tn/GdXKza0OUK/RVEiq425
|
||||||
|
VYM+vhbRa1uLytCx/N8s3S7s3tNyk0GGNA6yYkf7dg2niz8ULr+kNpMyYIJmQV5G
|
||||||
|
gmYuqALLerzaULG+eNHm9R8ZOB2FujirrlHxCWV01aeAaK/bY7/jt0EoPyswhhh8
|
||||||
|
EClulKAU/X4ZNTKXeQ/ba405QeE+jiQcV8a0BZOpuSlTs7I//J+jZDBX4QAUpuOd
|
||||||
|
iEc+cFbS89Pk0BLARWQQa9tivqLJnL9Dac+ECCC43f4ZvEZe8XdIo5IjSqG+7SNM
|
||||||
|
hdAziROTYdYC+mFQdgfro9u7v8FfmGTWn2DhooRdwXaZ0Vca7k4q75sntX65Tg32
|
||||||
|
ufpiS0PhrjcpOfATRYvn
|
||||||
|
=oSWx
|
||||||
|
-----END PGP SIGNATURE-----
|
137023
share/security/patches/EN-15:06/file-8.4.patch
Normal file
137023
share/security/patches/EN-15:06/file-8.4.patch
Normal file
File diff suppressed because it is too large
Load diff
17
share/security/patches/EN-15:06/file-8.4.patch.asc
Normal file
17
share/security/patches/EN-15:06/file-8.4.patch.asc
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.1.4 (FreeBSD)
|
||||||
|
|
||||||
|
iQIcBAABCgAGBQJVd2auAAoJEO1n7NZdz2rnR18P/1ff+W1b3WdcvPXkPQmES5QK
|
||||||
|
iWhygFNF6J61Rm582O0q6hK/7fONIgvwVSjsB+YI80BoPGnGf6lwdNaYlRV9Qdz8
|
||||||
|
S17nf8JTUrRcb8RtX+ptQC5ih36PlOGqNT8fBRb4qLTrZ0rS4dZqKcAorZzQ8O/N
|
||||||
|
SkQ8Ki+OuUKaCpEpQ4x6XDT7tJMCupXOcYAV8+rndDAFTbZwAe+TtBWiwomwtjqr
|
||||||
|
EMM9YxndUsttcgoHqMh3aSHczq7u3+7HU4WI36VlchSnpPdg1EQUhRq2mXGLZ6zq
|
||||||
|
Wtdlp+TS4guBRV8itLWZzZoG/s3TzXfWP2NjdvR4QHLV5yVjYfgQMLuYoOZYuPLU
|
||||||
|
yTGGXHPWaeVzAa8ewoDSmSoBfeNGPdta8lduxQE0ulR9HTsoZIUVNwuRKwQFQ6cJ
|
||||||
|
muS/Gb4hi/nV4epIOOZ3/uW4XjeaYGPeUMobaxR3aO4OChseqS++C2pUNV8WYpxA
|
||||||
|
aR6QR33hIFIowR0auKEcqlYUYgySRAuAs3qQb/FPD6UYZAnzaHeaALUZmKIkkh7R
|
||||||
|
6wm54PEXOPs7nSLu3uVaykbqTy+fIlVfeZnhTgK0G2bIFzQaEpZFx6iFVs83khRb
|
||||||
|
JBKq73Yyrs8CSiWrkxY1yOx1UUTAgfxRXuWZXiDY9jnUcXx/Helao+t/PtdJcnfW
|
||||||
|
VoddBbwEpZHe5IAkwB71
|
||||||
|
=akxu
|
||||||
|
-----END PGP SIGNATURE-----
|
106289
share/security/patches/EN-15:06/file-9.3.patch
Normal file
106289
share/security/patches/EN-15:06/file-9.3.patch
Normal file
File diff suppressed because it is too large
Load diff
17
share/security/patches/EN-15:06/file-9.3.patch.asc
Normal file
17
share/security/patches/EN-15:06/file-9.3.patch.asc
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.1.4 (FreeBSD)
|
||||||
|
|
||||||
|
iQIcBAABCgAGBQJVd2avAAoJEO1n7NZdz2rnFAEQALsdbT08cO6jbfheVmdXIhEr
|
||||||
|
gYi4HJl/eEZ6OLPr0edrFD+YwTJZmmhOgOaj0LC6QF8tmAGs6/7K6POrlM91u8TM
|
||||||
|
9WyPS+p+Y5XUquSW6wIwPGzVBuwDonI3Eocz/L2B2nqDqwdQeG0R0Ai0hFBgCOt5
|
||||||
|
j94Iqw4mZQ/sF+iYlPVc7ssfoS6KhKBt8ZWUj54vOhBcNtYF7E1G3HCiaYPECh4q
|
||||||
|
NLNhBHI3RqX1/ndeRNtvzpU2jW8itqFl8Spv16zWCVeO+zCC7MfearLrZRjmQ2CE
|
||||||
|
RRMU4oAFanVOkmV02lp3cByLS0d9PU+j2yvblxjNf2QHEDuasckTPV0KDCissSbT
|
||||||
|
eV4UB9YsFeckLPrJThtdarEZuaKvtX5zIPlAhaxAQ1vGVd6C98uRj0BnR0q4emjl
|
||||||
|
QSohAbGvA/tApUx/FZnItNEU1oHcDwk8V0jhRi143Iac6pUJFFHwlKk8Zsd91xuD
|
||||||
|
0JUOZ6zrO3rIam0JCHdEb/rSdrrg5li8cqdKQ6sx6E9CpjgSlHGVevZ9RwiYa2P4
|
||||||
|
+cGedlD3O3aA0gtaJjERoUPLlWAyNHqdigjtQkukF5HU6bfSIy8ope6UQAY0ZYFg
|
||||||
|
hjeEV3JOgPKw1DzH1y5Pq+MdpnnXbaAJ50+UqNJ48w9uN/AJ6IpPmq7d7xgZo8Wl
|
||||||
|
EmgY8HN274y5EQZRCpXc
|
||||||
|
=bv/q
|
||||||
|
-----END PGP SIGNATURE-----
|
256
share/security/patches/EN-15:07/zfs.patch
Normal file
256
share/security/patches/EN-15:07/zfs.patch
Normal file
|
@ -0,0 +1,256 @@
|
||||||
|
Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
|
||||||
|
===================================================================
|
||||||
|
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c (revision 284174)
|
||||||
|
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c (working copy)
|
||||||
|
@@ -344,6 +344,7 @@ typedef struct arc_stats {
|
||||||
|
kstat_named_t arcstat_l2_evict_lock_retry;
|
||||||
|
kstat_named_t arcstat_l2_evict_reading;
|
||||||
|
kstat_named_t arcstat_l2_free_on_write;
|
||||||
|
+ kstat_named_t arcstat_l2_cdata_free_on_write;
|
||||||
|
kstat_named_t arcstat_l2_abort_lowmem;
|
||||||
|
kstat_named_t arcstat_l2_cksum_bad;
|
||||||
|
kstat_named_t arcstat_l2_io_error;
|
||||||
|
@@ -421,6 +422,7 @@ static arc_stats_t arc_stats = {
|
||||||
|
{ "l2_evict_lock_retry", KSTAT_DATA_UINT64 },
|
||||||
|
{ "l2_evict_reading", KSTAT_DATA_UINT64 },
|
||||||
|
{ "l2_free_on_write", KSTAT_DATA_UINT64 },
|
||||||
|
+ { "l2_cdata_free_on_write", KSTAT_DATA_UINT64 },
|
||||||
|
{ "l2_abort_lowmem", KSTAT_DATA_UINT64 },
|
||||||
|
{ "l2_cksum_bad", KSTAT_DATA_UINT64 },
|
||||||
|
{ "l2_io_error", KSTAT_DATA_UINT64 },
|
||||||
|
@@ -1629,6 +1631,21 @@ arc_buf_add_ref(arc_buf_t *buf, void* tag)
|
||||||
|
data, metadata, hits);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+arc_buf_free_on_write(void *data, size_t size,
|
||||||
|
+ void (*free_func)(void *, size_t))
|
||||||
|
+{
|
||||||
|
+ l2arc_data_free_t *df;
|
||||||
|
+
|
||||||
|
+ df = kmem_alloc(sizeof (l2arc_data_free_t), KM_SLEEP);
|
||||||
|
+ df->l2df_data = data;
|
||||||
|
+ df->l2df_size = size;
|
||||||
|
+ df->l2df_func = free_func;
|
||||||
|
+ mutex_enter(&l2arc_free_on_write_mtx);
|
||||||
|
+ list_insert_head(l2arc_free_on_write, df);
|
||||||
|
+ mutex_exit(&l2arc_free_on_write_mtx);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Free the arc data buffer. If it is an l2arc write in progress,
|
||||||
|
* the buffer is placed on l2arc_free_on_write to be freed later.
|
||||||
|
@@ -1639,14 +1656,7 @@ arc_buf_data_free(arc_buf_t *buf, void (*free_func
|
||||||
|
arc_buf_hdr_t *hdr = buf->b_hdr;
|
||||||
|
|
||||||
|
if (HDR_L2_WRITING(hdr)) {
|
||||||
|
- l2arc_data_free_t *df;
|
||||||
|
- df = kmem_alloc(sizeof (l2arc_data_free_t), KM_SLEEP);
|
||||||
|
- df->l2df_data = buf->b_data;
|
||||||
|
- df->l2df_size = hdr->b_size;
|
||||||
|
- df->l2df_func = free_func;
|
||||||
|
- mutex_enter(&l2arc_free_on_write_mtx);
|
||||||
|
- list_insert_head(l2arc_free_on_write, df);
|
||||||
|
- mutex_exit(&l2arc_free_on_write_mtx);
|
||||||
|
+ arc_buf_free_on_write(buf->b_data, hdr->b_size, free_func);
|
||||||
|
ARCSTAT_BUMP(arcstat_l2_free_on_write);
|
||||||
|
} else {
|
||||||
|
free_func(buf->b_data, hdr->b_size);
|
||||||
|
@@ -1658,6 +1668,23 @@ arc_buf_data_free(arc_buf_t *buf, void (*free_func
|
||||||
|
* arc_buf_t off of the the arc_buf_hdr_t's list and free it.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
+arc_buf_l2_cdata_free(arc_buf_hdr_t *hdr)
|
||||||
|
+{
|
||||||
|
+ l2arc_buf_hdr_t *l2hdr = hdr->b_l2hdr;
|
||||||
|
+
|
||||||
|
+ ASSERT(MUTEX_HELD(&l2arc_buflist_mtx));
|
||||||
|
+
|
||||||
|
+ if (l2hdr->b_tmp_cdata == NULL)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ ASSERT(HDR_L2_WRITING(hdr));
|
||||||
|
+ arc_buf_free_on_write(l2hdr->b_tmp_cdata, hdr->b_size,
|
||||||
|
+ zio_data_buf_free);
|
||||||
|
+ ARCSTAT_BUMP(arcstat_l2_cdata_free_on_write);
|
||||||
|
+ l2hdr->b_tmp_cdata = NULL;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
arc_buf_destroy(arc_buf_t *buf, boolean_t recycle, boolean_t remove)
|
||||||
|
{
|
||||||
|
arc_buf_t **bufp;
|
||||||
|
@@ -1756,6 +1783,7 @@ arc_hdr_destroy(arc_buf_hdr_t *hdr)
|
||||||
|
trim_map_free(l2hdr->b_dev->l2ad_vdev, l2hdr->b_daddr,
|
||||||
|
hdr->b_size, 0);
|
||||||
|
list_remove(l2hdr->b_dev->l2ad_buflist, hdr);
|
||||||
|
+ arc_buf_l2_cdata_free(hdr);
|
||||||
|
ARCSTAT_INCR(arcstat_l2_size, -hdr->b_size);
|
||||||
|
ARCSTAT_INCR(arcstat_l2_asize, -l2hdr->b_asize);
|
||||||
|
vdev_space_update(l2hdr->b_dev->l2ad_vdev,
|
||||||
|
@@ -3605,6 +3633,7 @@ arc_release(arc_buf_t *buf, void *tag)
|
||||||
|
l2hdr = hdr->b_l2hdr;
|
||||||
|
if (l2hdr) {
|
||||||
|
mutex_enter(&l2arc_buflist_mtx);
|
||||||
|
+ arc_buf_l2_cdata_free(hdr);
|
||||||
|
hdr->b_l2hdr = NULL;
|
||||||
|
list_remove(l2hdr->b_dev->l2ad_buflist, hdr);
|
||||||
|
}
|
||||||
|
@@ -4895,6 +4924,11 @@ top:
|
||||||
|
ARCSTAT_INCR(arcstat_l2_asize, -abl2->b_asize);
|
||||||
|
bytes_evicted += abl2->b_asize;
|
||||||
|
ab->b_l2hdr = NULL;
|
||||||
|
+ /*
|
||||||
|
+ * We are destroying l2hdr, so ensure that
|
||||||
|
+ * its compressed buffer, if any, is not leaked.
|
||||||
|
+ */
|
||||||
|
+ ASSERT(abl2->b_tmp_cdata == NULL);
|
||||||
|
kmem_free(abl2, sizeof (l2arc_buf_hdr_t));
|
||||||
|
ARCSTAT_INCR(arcstat_l2_size, -ab->b_size);
|
||||||
|
}
|
||||||
|
@@ -5133,6 +5167,14 @@ l2arc_write_buffers(spa_t *spa, l2arc_dev_t *dev,
|
||||||
|
buf_data = l2hdr->b_tmp_cdata;
|
||||||
|
buf_sz = l2hdr->b_asize;
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * If the data has not been compressed, then clear b_tmp_cdata
|
||||||
|
+ * to make sure that it points only to a temporary compression
|
||||||
|
+ * buffer.
|
||||||
|
+ */
|
||||||
|
+ if (!L2ARC_IS_VALID_COMPRESS(l2hdr->b_compress))
|
||||||
|
+ l2hdr->b_tmp_cdata = NULL;
|
||||||
|
+
|
||||||
|
/* Compression may have squashed the buffer to zero length. */
|
||||||
|
if (buf_sz != 0) {
|
||||||
|
uint64_t buf_p_sz;
|
||||||
|
@@ -5323,7 +5365,8 @@ l2arc_release_cdata_buf(arc_buf_hdr_t *ab)
|
||||||
|
{
|
||||||
|
l2arc_buf_hdr_t *l2hdr = ab->b_l2hdr;
|
||||||
|
|
||||||
|
- if (l2hdr->b_compress == ZIO_COMPRESS_LZ4) {
|
||||||
|
+ ASSERT(L2ARC_IS_VALID_COMPRESS(l2hdr->b_compress));
|
||||||
|
+ if (l2hdr->b_compress != ZIO_COMPRESS_EMPTY) {
|
||||||
|
/*
|
||||||
|
* If the data was compressed, then we've allocated a
|
||||||
|
* temporary buffer for it, so now we need to release it.
|
||||||
|
@@ -5330,8 +5373,10 @@ l2arc_release_cdata_buf(arc_buf_hdr_t *ab)
|
||||||
|
*/
|
||||||
|
ASSERT(l2hdr->b_tmp_cdata != NULL);
|
||||||
|
zio_data_buf_free(l2hdr->b_tmp_cdata, ab->b_size);
|
||||||
|
+ l2hdr->b_tmp_cdata = NULL;
|
||||||
|
+ } else {
|
||||||
|
+ ASSERT(l2hdr->b_tmp_cdata == NULL);
|
||||||
|
}
|
||||||
|
- l2hdr->b_tmp_cdata = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c
|
||||||
|
===================================================================
|
||||||
|
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c (revision 284174)
|
||||||
|
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c (working copy)
|
||||||
|
@@ -155,11 +155,9 @@ trim_map_create(vdev_t *vd)
|
||||||
|
{
|
||||||
|
trim_map_t *tm;
|
||||||
|
|
||||||
|
- ASSERT(vd->vdev_ops->vdev_op_leaf);
|
||||||
|
+ ASSERT(zfs_trim_enabled && !vd->vdev_notrim &&
|
||||||
|
+ vd->vdev_ops->vdev_op_leaf);
|
||||||
|
|
||||||
|
- if (!zfs_trim_enabled)
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
tm = kmem_zalloc(sizeof (*tm), KM_SLEEP);
|
||||||
|
mutex_init(&tm->tm_lock, NULL, MUTEX_DEFAULT, NULL);
|
||||||
|
list_create(&tm->tm_head, sizeof (trim_seg_t),
|
||||||
|
Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
|
||||||
|
===================================================================
|
||||||
|
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c (revision 284174)
|
||||||
|
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c (working copy)
|
||||||
|
@@ -1214,6 +1214,7 @@ vdev_open(vdev_t *vd)
|
||||||
|
vd->vdev_stat.vs_aux = VDEV_AUX_NONE;
|
||||||
|
vd->vdev_cant_read = B_FALSE;
|
||||||
|
vd->vdev_cant_write = B_FALSE;
|
||||||
|
+ vd->vdev_notrim = B_FALSE;
|
||||||
|
vd->vdev_min_asize = vdev_get_min_asize(vd);
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -1283,10 +1284,8 @@ vdev_open(vdev_t *vd)
|
||||||
|
if (vd->vdev_ishole || vd->vdev_ops == &vdev_missing_ops)
|
||||||
|
return (0);
|
||||||
|
|
||||||
|
- if (vd->vdev_ops->vdev_op_leaf) {
|
||||||
|
- vd->vdev_notrim = B_FALSE;
|
||||||
|
+ if (zfs_trim_enabled && !vd->vdev_notrim && vd->vdev_ops->vdev_op_leaf)
|
||||||
|
trim_map_create(vd);
|
||||||
|
- }
|
||||||
|
|
||||||
|
for (int c = 0; c < vd->vdev_children; c++) {
|
||||||
|
if (vd->vdev_child[c]->vdev_state != VDEV_STATE_HEALTHY) {
|
||||||
|
Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c
|
||||||
|
===================================================================
|
||||||
|
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c (revision 284174)
|
||||||
|
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c (working copy)
|
||||||
|
@@ -796,6 +796,8 @@ vdev_disk_io_start(zio_t *zio)
|
||||||
|
return (ZIO_PIPELINE_STOP);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE);
|
||||||
|
+
|
||||||
|
vb = kmem_alloc(sizeof (vdev_buf_t), KM_SLEEP);
|
||||||
|
|
||||||
|
vb->vb_io = zio;
|
||||||
|
Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c
|
||||||
|
===================================================================
|
||||||
|
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c (revision 284174)
|
||||||
|
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c (working copy)
|
||||||
|
@@ -129,6 +129,8 @@ skip_open:
|
||||||
|
return (error);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ vd->vdev_notrim = B_TRUE;
|
||||||
|
+
|
||||||
|
*max_psize = *psize = vattr.va_size;
|
||||||
|
*logical_ashift = SPA_MINBLOCKSHIFT;
|
||||||
|
*physical_ashift = SPA_MINBLOCKSHIFT;
|
||||||
|
@@ -185,6 +187,8 @@ vdev_file_io_start(zio_t *zio)
|
||||||
|
return (ZIO_PIPELINE_STOP);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE);
|
||||||
|
+
|
||||||
|
zio->io_error = vn_rdwr(zio->io_type == ZIO_TYPE_READ ?
|
||||||
|
UIO_READ : UIO_WRITE, vp, zio->io_data, zio->io_size,
|
||||||
|
zio->io_offset, UIO_SYSSPACE, 0, RLIM64_INFINITY, kcred, &resid);
|
||||||
|
Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
|
||||||
|
===================================================================
|
||||||
|
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c (revision 284174)
|
||||||
|
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c (working copy)
|
||||||
|
@@ -832,6 +832,11 @@ vdev_geom_io_start(zio_t *zio)
|
||||||
|
return (ZIO_PIPELINE_STOP);
|
||||||
|
}
|
||||||
|
sendreq:
|
||||||
|
+ ASSERT(zio->io_type == ZIO_TYPE_READ ||
|
||||||
|
+ zio->io_type == ZIO_TYPE_WRITE ||
|
||||||
|
+ zio->io_type == ZIO_TYPE_FREE ||
|
||||||
|
+ zio->io_type == ZIO_TYPE_IOCTL);
|
||||||
|
+
|
||||||
|
cp = vd->vdev_tsd;
|
||||||
|
if (cp == NULL) {
|
||||||
|
zio->io_error = SET_ERROR(ENXIO);
|
||||||
|
Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
|
||||||
|
===================================================================
|
||||||
|
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c (revision 284174)
|
||||||
|
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c (working copy)
|
||||||
|
@@ -713,8 +713,9 @@ vdev_label_init(vdev_t *vd, uint64_t crtxg, vdev_l
|
||||||
|
* Don't TRIM if removing so that we don't interfere with zpool
|
||||||
|
* disaster recovery.
|
||||||
|
*/
|
||||||
|
- if (zfs_trim_enabled && vdev_trim_on_init && (reason == VDEV_LABEL_CREATE ||
|
||||||
|
- reason == VDEV_LABEL_SPARE || reason == VDEV_LABEL_L2CACHE))
|
||||||
|
+ if (zfs_trim_enabled && vdev_trim_on_init && !vd->vdev_notrim &&
|
||||||
|
+ (reason == VDEV_LABEL_CREATE || reason == VDEV_LABEL_SPARE ||
|
||||||
|
+ reason == VDEV_LABEL_L2CACHE))
|
||||||
|
zio_wait(zio_trim(NULL, spa, vd, 0, vd->vdev_psize));
|
||||||
|
|
||||||
|
/*
|
17
share/security/patches/EN-15:07/zfs.patch.asc
Normal file
17
share/security/patches/EN-15:07/zfs.patch.asc
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.1.4 (FreeBSD)
|
||||||
|
|
||||||
|
iQIcBAABCgAGBQJVd2avAAoJEO1n7NZdz2rng2sP/0Jhm+uBZZ+5RVKj6G1Hcksa
|
||||||
|
9BjZuQzUfboLvZ8wSRGjn3babC5GN96h4JmrAnmaa9YB9/AtQsbJFXPQmfmwC6v8
|
||||||
|
fOQmYZOi5AduBB+Hf5LRUwb32/9g/8w3TuHiyZJxEIA9ItXf1OciAjAkyKFa0ixB
|
||||||
|
7P3P6Xpz2wkTEkc6l32IrAYHhMreKX7EgHOMHAZpJM40Vn3lkCFw0W+Bc9kJPBNJ
|
||||||
|
5GBUTNUc/Ad3+62eABgMXT9mOhAdt0/M7qDHAYbJqAv8b/LqH6thgyixYA+6vJzv
|
||||||
|
twkJwkEtbjX2aeiF9VV0RbyaiUVEmVkfr7e0vAQweRfJQAshNxGuwBJbZcvJRwwr
|
||||||
|
AnHNksSsx1l6C1JzT9SjUufszuDvEyM9vgIrC9EjSHcdZF8jRpJrJdtLN0Yx1tyA
|
||||||
|
lOFbjkRN/dq4iwPjP7PHbWwDu11tCXl1zqiSe2FpJHph/xc7uljuUclZcqN8kD3z
|
||||||
|
69TJw+MEmd01LnEVi0z573rxz3QjfPosJw+cCGSbD1tL6EUf+7GSXx7hs7qZBqGO
|
||||||
|
OAgBjDOUeO7Wy2W6JTeq4L+6/cltIGtjchWZUhftWUYvss4JCll+UNgG17PhX5nB
|
||||||
|
+njJA8xJg6CJEXyTk7RffSuLMkJJvZeL4EK2jpb5QQbGRL2a1ZXjuFJ1AIGw6ulZ
|
||||||
|
pOpGQQGusBDHi+jlIZSo
|
||||||
|
=nDOc
|
||||||
|
-----END PGP SIGNATURE-----
|
|
@ -7,6 +7,22 @@
|
||||||
<year>
|
<year>
|
||||||
<name>2015</name>
|
<name>2015</name>
|
||||||
|
|
||||||
|
<month>
|
||||||
|
<name>6</name>
|
||||||
|
|
||||||
|
<day>
|
||||||
|
<name>9</name>
|
||||||
|
|
||||||
|
<notice>
|
||||||
|
<name>FreeBSD-EN-15:07.zfs</name>
|
||||||
|
</notice>
|
||||||
|
|
||||||
|
<notice>
|
||||||
|
<name>FreeBSD-EN-15:06.file</name>
|
||||||
|
</notice>
|
||||||
|
</day>
|
||||||
|
</month>
|
||||||
|
|
||||||
<month>
|
<month>
|
||||||
<name>5</name>
|
<name>5</name>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue