aboutsummaryrefslogtreecommitdiff
path: root/x11/nvidia-driver
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2012-09-12 07:14:34 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2012-09-12 07:14:34 +0000
commit4b376e2c925ac13ca508530d99d05ea5646784d4 (patch)
tree014ffc3dcb80cde788557563607c4863ee072fc8 /x11/nvidia-driver
parent7701c6ff0f24416d93d022376200813842bd8c94 (diff)
downloadports-4b376e2c925ac13ca508530d99d05ea5646784d4.tar.gz
ports-4b376e2c925ac13ca508530d99d05ea5646784d4.zip
- Update legacy 173.14.xx series driver to version 173.14.35 and provide a
patch for CVE-2012-4225 for this version - Augment security patch for CVE-2012-0946 to cover CVE-2012-4225 as well for the benefit of really old legacy drivers
Notes
Notes: svn path=/head/; revision=304134
Diffstat (limited to 'x11/nvidia-driver')
-rw-r--r--x11/nvidia-driver/Makefile4
-rw-r--r--x11/nvidia-driver/distinfo4
-rw-r--r--x11/nvidia-driver/files/security-patch-CVE-2012-094617
-rw-r--r--x11/nvidia-driver/files/security-patch-CVE-2012-422524
4 files changed, 45 insertions, 4 deletions
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile
index 0229a02ff658..8d76df73f692 100644
--- a/x11/nvidia-driver/Makefile
+++ b/x11/nvidia-driver/Makefile
@@ -64,7 +64,11 @@ EXTRA_PATCHES= ${FILESDIR}/legacy-patch-nvidia.lib.mk
# Fix recent arbitrary memory access vulnerability in legacy drivers
.if ${NVVERSION} <= 1905300
+. if ${NVVERSION} == 1731435
+EXTRA_PATCHES+= ${FILESDIR}/security-patch-CVE-2012-4225
+. else
EXTRA_PATCHES+= ${FILESDIR}/security-patch-CVE-2012-0946
+. endif
.endif
OPTIONS= FREEBSD_AGP "Use FreeBSD AGP GART driver" off \
diff --git a/x11/nvidia-driver/distinfo b/x11/nvidia-driver/distinfo
index 82290eef39fb..b29700ea7389 100644
--- a/x11/nvidia-driver/distinfo
+++ b/x11/nvidia-driver/distinfo
@@ -2,8 +2,8 @@ SHA256 (NVIDIA-FreeBSD-x86_64-295.71.tar.gz) = d563a75b07068c7182809bab63fe96437
SIZE (NVIDIA-FreeBSD-x86_64-295.71.tar.gz) = 33058244
SHA256 (NVIDIA-FreeBSD-x86-295.71.tar.gz) = 6cc7f25c3b49d3ac2d2cdc2d84e4f0417d51115110bee159de2cc53d7f9ef049
SIZE (NVIDIA-FreeBSD-x86-295.71.tar.gz) = 32098813
-SHA256 (NVIDIA-FreeBSD-x86-173.14.31.tar.gz) = 98699bc8dc1dad86cebc2ed067b4fc5cd37b8540e897bb218f38ac80c4b4d875
-SIZE (NVIDIA-FreeBSD-x86-173.14.31.tar.gz) = 17991684
+SHA256 (NVIDIA-FreeBSD-x86-173.14.35.tar.gz) = 51e82a12db81b5af4ae5ee59612875c0dbef52cb641d61a44c72f2e1cd7f4c78
+SIZE (NVIDIA-FreeBSD-x86-173.14.35.tar.gz) = 18748428
SHA256 (NVIDIA-FreeBSD-x86-96.43.20.tar.gz) = e75fce272e72644d53e6ad3c0957fe173735a4b621726ce227ba8ecf9bd9c5cf
SIZE (NVIDIA-FreeBSD-x86-96.43.20.tar.gz) = 14060884
SHA256 (NVIDIA-FreeBSD-x86-71.86.15.tar.gz) = 7be5ba641eabaa96a068e147a1dd5d75aadc10575bb1d2c6e8529cd423438168
diff --git a/x11/nvidia-driver/files/security-patch-CVE-2012-0946 b/x11/nvidia-driver/files/security-patch-CVE-2012-0946
index 86e7dce9936b..f7b45c946d4c 100644
--- a/x11/nvidia-driver/files/security-patch-CVE-2012-0946
+++ b/x11/nvidia-driver/files/security-patch-CVE-2012-0946
@@ -1,6 +1,6 @@
--- src/nv.h.orig 2011-07-14 02:51:53.000000000 +0800
+++ src/nv.h 2012-05-10 18:15:51.000000000 +0800
-@@ -364,6 +364,14 @@
+@@ -364,6 +364,27 @@
((offset) >= (nv)->agp.address) && \
(((offset) + ((length)-1)) <= (nv)->agp.address + ((nv)->agp.size-1)))
@@ -10,7 +10,20 @@
+
+#define IS_BLACKLISTED_REG_OFFSET(nv, offset, length) \
+ ((IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1000, 0x1000, offset, length)) ||\
-+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x700000, 0x100000, offset, length)))
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x84000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x85000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x86000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x87000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x89000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0xa0000, 0x20000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x104000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x105000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x10a000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1c2000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1c3000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x618000, 0x2000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x627000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x700000, 0x100000, offset, length)))
+
/* duplicated from nvos.h for external builds */
#ifndef NVOS_AGP_CONFIG_DISABLE_AGP
diff --git a/x11/nvidia-driver/files/security-patch-CVE-2012-4225 b/x11/nvidia-driver/files/security-patch-CVE-2012-4225
new file mode 100644
index 000000000000..1f2d1d58a944
--- /dev/null
+++ b/x11/nvidia-driver/files/security-patch-CVE-2012-4225
@@ -0,0 +1,24 @@
+--- src/nv.h.orig 2012-08-02 18:19:37.000000000 -0700
++++ src/nv.h 2012-08-02 18:19:37.000000000 -0700
+@@ -436,7 +436,20 @@
+
+ #define IS_BLACKLISTED_REG_OFFSET(nv, offset, length) \
+ ((IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1000, 0x1000, offset, length)) ||\
+- (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x700000, 0x100000, offset, length)))
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x84000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x85000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x86000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x87000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x89000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0xa0000, 0x20000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x104000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x105000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x10a000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1c2000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1c3000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x618000, 0x2000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x627000, 0x1000, offset, length)) ||\
++ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x700000, 0x100000, offset, length)))
+
+ /* duplicated from nvos.h for external builds */
+ #ifndef NVOS_AGP_CONFIG_DISABLE_AGP