Bug#773053: wheezy-pu: package nvidia-graphics-drivers/304.125-1
Package: release.debian.org
Severity: normal
Tags: wheezy
User: release.debian.org@packages.debian.org
Usertags: pu
Security update for CVE-2014-8298 (the NVIDIA part of DSA-3095-1)
requires a new upstream version ... I expect as with the previous
updates no DSA will be issued for non-free packages.
The changelog has grown a bit by adding missing ancient history bits.
The UNRELEASED entries have not been folded since the BTS already knows
about these versions and usually gets a bit confused if they disappear
from the history.
conftest.h is a reimplementation of NVIDIA's conftest.sh script (that
does not work reliably on Debian kernel header packages) and is unified
for all driver releases. The changelog mentions the upstream version
where a new test appeared for the first time (often beta releases), but
most of them get backported by NVIDIA to other release branches later
on (but I don't keep detailed track of them).
There is a typo fix in d/copyright that was merged from sid long ago,
but missed in the changelog.
As a followup we also need to update nvidia-graphics-modules once
nvidia-graphics-drivers is in wheezy-pu.
Andreas
Index: debian/module/conftest.h
===================================================================
--- debian/module/conftest.h (.../tags/304.117-1) (revision 5210)
+++ debian/module/conftest.h (.../branches/304) (revision 5210)
@@ -1,4 +1,4 @@
-/* synchronized with conftest.sh from 331.20, 325.15, 319.72, 304.116, 295.75, 173.14.38, 96.43.23, 71.86.15 */
+/* synchronized with conftest.sh from 346.22, 343.36, 340.65, 319.82, 304.125, 173.14.39, 96.43.23, 71.86.15 */
#ifndef LINUX_VERSION_CODE
#include <linux/version.h>
@@ -91,6 +91,13 @@
#undef NV_PCI_GET_DOMAIN_BUS_AND_SLOT_PRESENT
#endif
+/* Implement conftest.sh function pci_save_state */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
+ #define NV_PCI_SAVE_STATE_ARGUMENT_COUNT 1
+#else
+ #define NV_PCI_SAVE_STATE_ARGUMENT_COUNT 2
+#endif
+
/* Implement conftest.sh function remap_pfn_range */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
#define NV_REMAP_PFN_RANGE_PRESENT
@@ -108,6 +115,13 @@
#define NV_AGP_BACKEND_ACQUIRE_ARGUMENT_COUNT 0
#endif
+/* Implement conftest.sh function follow_pfn */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+ #define NV_FOLLOW_PFN_PRESENT
+#else
+ #undef NV_FOLLOW_PFN_PRESENT
+#endif
+
/* Implement conftest.sh function vmap */
/* I can not find any released kernel that uses the 2 argument variant */
/* of vmap */
@@ -174,6 +188,14 @@
#undef NV_ACPI_DEVICE_OPS_HAS_MATCH
#endif
+/* Implement conftest.sh function acpi_op_remove */
+/* All versions since 2.6.0 have this, didn't check earlier kernels */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)
+ #define NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT 1
+#else
+ #define NV_ACPI_DEVICE_OPS_REMOVE_ARGUMENT_COUNT 2
+#endif
+
/* Implement conftest.sh function acpi_device_id */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
#define NV_ACPI_DEVICE_ID_HAS_DRIVER_DATA
@@ -182,8 +204,6 @@
#endif
/* Implement conftest.sh function acquire_console_sem */
-// 2.6.38 renamed {acquire,release}_console_sem() to console_{,un}lock()
-// but NVIDIA neither checks for these new names nor uses them
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,10) && \
LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
#define NV_ACQUIRE_CONSOLE_SEM_PRESENT
@@ -191,6 +211,13 @@
#undef NV_ACQUIRE_CONSOLE_SEM_PRESENT
#endif
+/* Implement conftest.sh function console_lock */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+ #define NV_CONSOLE_LOCK_PRESENT
+#else
+ #undef NV_CONSOLE_LOCK_PRESENT
+#endif
+
/* Implement conftest.sh function kmem_cache_create */
/* Only kernels sometime before 2.4.0 don't have this function, and who */
/* cares anymore */
@@ -361,7 +388,7 @@
#endif
/* Implement conftest.sh function drm_available */
-#if 0
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) && IS_ENABLED(CONFIG_DRM)
#define NV_DRM_AVAILABLE
#else
#undef NV_DRM_AVAILABLE
@@ -401,7 +428,26 @@
#else
#undef NV_VM_OPERATIONS_STRUCT_HAS_FAULT
#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
+ #define NV_VM_OPERATIONS_STRUCT_HAS_ACCESS
+#else
+ #undef NV_VM_OPERATIONS_STRUCT_HAS_ACCESS
+#endif
+/* Implement conftest.sh function fault_flags */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
+ #define NV_FAULT_FLAG_PRESENT
+#else
+ #undef NV_FAULT_FLAG_PRESENT
+#endif
+
+/* Implement conftest.sh function atomic64_type */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+ #define NV_ATOMIC64_PRESENT
+#else
+ #undef NV_ATOMIC64_PRESENT
+#endif
+
/* Implement conftest.sh function task_struct */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29)
#define NV_TASK_STRUCT_HAS_CRED
@@ -424,6 +470,53 @@
#undef NV_ADDRESS_SPACE_INIT_ONCE_PRESENT
#endif
+/* Implement conftest.sh function kbasename */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
+ #define NV_KBASENAME_PRESENT
+#else
+ #undef NV_KBASENAME_PRESENT
+#endif
+
+/* Implement conftest.sh function fatal_signal_pending */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)
+ #define NV_FATAL_SIGNAL_PENDING_PRESENT
+#else
+ #undef NV_FATAL_SIGNAL_PENDING_PRESENT
+#endif
+
+/* Implement conftest.sh function kuid_t */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+ #define NV_KUID_T_PRESENT
+#else
+ #undef NV_KUID_T_PRESENT
+#endif
+
+/* Implement conftest.sh function pm_vt_switch_required */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+ #define NV_PM_VT_SWITCH_REQUIRED_PRESENT
+#else
+ #undef NV_PM_VT_SWITCH_REQUIRED_PRESENT
+#endif
+
+/* Implement conftest.sh function sg_table */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)
+ #define NV_SG_TABLE_PRESENT
+#else
+ #undef NV_SG_TABLE_PRESENT
+#endif
+
+/* Implement conftest.sh function sg_alloc_table */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)
+ #define NV_SG_ALLOC_TABLE_PRESENT
+#else
+ #undef NV_SG_ALLOC_TABLE_PRESENT
+#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ #define NV_SG_ALLOC_TABLE_FROM_PAGES_PRESENT
+#else
+ #undef NV_SG_ALLOC_TABLE_FROM_PAGES_PRESENT
+#endif
+
/* Implement conftest.sh function sg_init_table */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
#define NV_SG_INIT_TABLE_PRESENT
@@ -446,12 +539,19 @@
#endif
/* Check for drm/drmP.h */
-#if 1
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
#define NV_DRM_DRMP_H_PRESENT
#else
#undef NV_DRM_DRMP_H_PRESENT
#endif
+/* Check for drm/drm_gem.h */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)
+ #define NV_DRM_DRM_GEM_H_PRESENT
+#else
+ #undef NV_DRM_DRM_GEM_H_PRESENT
+#endif
+
/* Check for generated/autoconf.h */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
#define NV_GENERATED_AUTOCONF_H_PRESENT
Index: debian/module/debian/patches/use-nv-kernel.o.ARCH.patch
===================================================================
--- debian/module/debian/patches/use-nv-kernel.o.ARCH.patch (.../tags/304.117-1) (revision 5210)
+++ debian/module/debian/patches/use-nv-kernel.o.ARCH.patch (.../branches/304) (revision 5210)
@@ -5,16 +5,14 @@
makes the build system select the correct one depending on the kernel
architecture the module is built for.
-Index: b/Makefile.kbuild
-===================================================================
---- a/Makefile.kbuild 2011-12-22 10:20:25.000000000 +0100
-+++ b/Makefile.kbuild 2012-01-02 19:05:47.959041768 +0100
-@@ -43,7 +43,7 @@
+--- a/Makefile.kbuild
++++ b/Makefile.kbuild
+@@ -43,7 +43,7 @@ VERSION_HEADER := nv_compiler.h
# understands that we want a module.
#
-CORE_OBJS := nv-kernel.o
+CORE_OBJS := nv-kernel.o$(NVARCH)
- RESMAN_GLUE_OBJS := $(patsubst %.c,%.o,nv.c nv-acpi.c nv-chrdev.c nv-cray.c nv-gvi.c nv-i2c.c nv-mempool.c nv-mlock.c nv-mmap.c nv-p2p.c nv-pat.c nv-procfs.c nv-usermap.c nv-vm.c nv-vtophys.c os-agp.c os-interface.c os-mtrr.c os-registry.c os-smp.c os-usermap.c)
+ RESMAN_GLUE_OBJS := $(patsubst %.c,%.o,nv.c nv-acpi.c nv-chrdev.c nv-cray.c nv-drm.c nv-gvi.c nv-i2c.c nv-mempool.c nv-mlock.c nv-mmap.c nv-p2p.c nv-pat.c nv-procfs.c nv-usermap.c nv-vm.c nv-vtophys.c os-agp.c os-interface.c os-mtrr.c os-registry.c os-smp.c os-usermap.c)
$(MODULE_NAME)-objs := $(CORE_OBJS) $(RESMAN_GLUE_OBJS)
Index: debian/copyright
===================================================================
--- debian/copyright (.../tags/304.117-1) (revision 5210)
+++ debian/copyright (.../branches/304) (revision 5210)
@@ -28,7 +28,7 @@
© 2011-2013 Andreas Beckmann <anbe@debian.org>
License: GPL-2.0+
-Files: debian/modules/debian/patches/*
+Files: debian/module/debian/patches/*
Copyright: no copyright notice, see License
License: anbe-public-domain
The authors hereby relinquish any claim to any copyright that they may
Index: debian/changelog
===================================================================
--- debian/changelog (.../tags/304.117-1) (revision 5210)
+++ debian/changelog (.../branches/304) (revision 5210)
@@ -1,3 +1,73 @@
+nvidia-graphics-drivers (304.125-1) wheezy; urgency=medium
+
+ * New upstream legacy 304xx branch release 304.125 (2014-12-05).
+ * Fixes CVE-2014-8298. (Closes: #772971)
+ - Added support for X.Org xserver ABI 19 (xorg-server 1.17).
+ - Improved compatibility with recent Linux kernels.
+ - Implemented support for disabling indirect GLX context creation using
+ the -iglx option available on X.Org server release 1.16 and newer. Note
+ that future X.Org server releases may make the -iglx option the default.
+ To re-enable support for indirect GLX on such servers, use the +iglx
+ option.
+ - Added the "AllowIndirectGLXProtocol" X config option. This option can
+ be used to disallow use of GLX protocol. See "Appendix B. X Config
+ Options" in the README for more details.
+ * Refresh patches.
+ * Add xorg-video-abi-19, xorg-video-abi-18 as alternative dependencies.
+ * conftest.h:
+ - Implement new conftest.sh function acpi_op_remove (304.123).
+ - Implement new conftest.sh functions kbasename, fatal_signal_pending
+ (331.38).
+ - Implement new conftest.sh function kuid_t (331.49).
+ - Implement new conftest.sh function pm_vt_switch_required (331.67).
+ - Implement new conftest.sh function console_lock (331.79).
+ - Tighten check for drm/drmP.h.
+ - DRM is only supported on Linux >= 3.9.
+ - Implement new conftest.sh functions sg_table, sg_alloc_table (340.46).
+ - Implement extensions to conftest.sh function vm_operations_struct
+ (343.13).
+ - Implement check for drm/drm_gem.h (340.58).
+ - Implement new conftest.sh functions pci_save_state (340.58), follow_pfn,
+ fault_flags, atomic64_type (346.16).
+ * Add changelog entries from etch and squeeze updates.
+
+ -- Andreas Beckmann <anbe@debian.org> Sat, 13 Dec 2014 18:26:09 +0100
+
+nvidia-graphics-drivers (304.123-1) UNRELEASED; urgency=medium
+
+ * New upstream legacy 304xx branch release 304.123 (2014-07-10).
+ - Improved compatibility with recent Linux kernels.
+ - Fixed a bug that could result in system instability while restoring
+ the VGA console.
+ - Fixed an interaction problem with xserver 1.15 that occasionally caused
+ OpenGL applications to continue rendering when they are minimized or
+ unmapped.
+ - Updated nvidia-bug-report.sh to search the systemd journal for X
+ server logs and messages from the NVIDIA kernel module.
+ - Added support for X.org xserver ABI 18 (xorg-server 1.16).
+ - Fixed a bug that caused corruption or blank screens on monitors that use
+ EDID version 1.3 or older when they are connected via DisplayPort on
+ graphics boards that use external DisplayPort encoders, such as the Quadro
+ FX 4800.
+
+ -- Andreas Beckmann <anbe@debian.org> Sun, 28 Sep 2014 20:46:10 +0200
+
+nvidia-graphics-drivers (304.121-1) UNRELEASED; urgency=medium
+
+ * New upstream legacy 304xx branch release 304.121 (2014-03-11).
+ - Improved compatibility with recent Linux kernels.
+ - Fixed a bug that prevented the NVIDIA implementation of the Xinerama
+ extension protocol requests from being used when RandR was enabled.
+
+ -- Andreas Beckmann <anbe@debian.org> Tue, 22 Apr 2014 02:02:57 +0200
+
+nvidia-graphics-drivers (304.119-1) UNRELEASED; urgency=medium
+
+ * New upstream legacy 304xx branch release 304.119 (2014-01-23).
+ - Fixed a crash when using WebGL in Firefox with a Geforce 6 GPU.
+
+ -- Andreas Beckmann <anbe@debian.org> Sat, 15 Feb 2014 16:49:54 +0100
+
nvidia-graphics-drivers (304.117-1) wheezy; urgency=medium
* New upstream legacy 304xx branch release 304.117 (2013-12-11).
@@ -80,7 +150,7 @@
- Fixed font rendering performance and corruption problems on X servers with
backported support for the new glyph cache functionality added to Pixman
0.27.
- - Fixed a potential X server crash during initialization, when a
+ - Fixed a potential X server crash during initialization, when a
graphics card with a TV connector has no TV connected.
- Added a new X configuration option, "UseHotplugEvents", to allow the
suppression of RandR events when adding or removing non-DisplayPort
@@ -104,6 +174,12 @@
-- Andreas Beckmann <anbe@debian.org> Fri, 15 Mar 2013 11:23:39 +0100
+nvidia-graphics-drivers (304.64-5) UNRELEASED; urgency=low
+
+ * Dummy.
+
+ -- Andreas Beckmann <anbe@debian.org> Fri, 15 Mar 2013 11:23:39 +0100
+
nvidia-graphics-drivers (304.64-4) unstable; urgency=low
* nvidia-detect: Fix detection of Debian 7.0 (wheezy). (Closes: #697282)
@@ -1992,6 +2068,33 @@
-- Andreas Beckmann <debian@abeckmann.de> Tue, 22 Feb 2011 20:35:45 +0000
+nvidia-graphics-drivers (195.36.31-6squeeze2) stable-proposed-updates; urgency=low
+
+ * CVE-2012-4225. (Closes: #684781)
+ Add upstream patch nvidia-blacklist-vga-pmu-registers-195.diff:
+ Fix exploitable local privilege escalation through VGA window manipulation
+ via the device nodes that allows access to arbitrary physical memory.
+
+ -- Andreas Beckmann <debian@abeckmann.de> Fri, 17 Aug 2012 00:43:36 +0200
+
+nvidia-graphics-drivers (195.36.31-6squeeze1) stable-proposed-updates; urgency=medium
+
+ * Security fix (backported from 195.36.31-7). (Closes: #609338)
+ Apply upstream patch NVIDIA_kernel-260.19.34-778465.diff to fix
+ information leak in the kernel module: kernel memory was returned
+ uninitialized to user space.
+ * CVE-2012-0946 (backported from 295.40-1):
+ Add upstream patch nvidia-blacklist-register-mapping-195.diff:
+ Closed a security vulnerability which made it possible for attackers to
+ reconfigure GPUs to gain access to arbitrary system memory. For further
+ details, see: http://nvidia.custhelp.com/app/answers/detail/a_id/3109
+ * Let the bug-script collect detailed information about OpenGL and NVIDIA
+ libraries and their symlinks, diversions and alternatives currently found
+ on the system. Also list files remaining from using the nvidia-installer.
+ Report status of more related packages.
+
+ -- Andreas Beckmann <debian@abeckmann.de> Fri, 15 Jun 2012 11:40:37 +0200
+
nvidia-graphics-drivers (195.36.31-6) unstable; urgency=low
[ Andreas Beckmann ]
@@ -2940,6 +3043,25 @@
-- Randall Donald <rdonald@debian.org> Sat, 23 Sep 2006 11:29:28 -0700
+nvidia-graphics-drivers (1.0.8776-4) unstable; urgency=high
+
+ * Add patch for compiling against 2.6.19. (closes: #401201, #402000)
+
+ -- Randall Donald <rdonald@debian.org> Thu, 4 Jan 2007 20:18:03 -0800
+
+nvidia-graphics-drivers (1.0.8776-3) unstable; urgency=low
+
+ * rm libGL.so created by init script. (closes: #400129)
+
+ -- Randall Donald <rdonald@debian.org> Sun, 3 Dec 2006 17:55:23 -0800
+
+nvidia-graphics-drivers (1.0.8776-2) unstable; urgency=low
+
+ * Check for compiler existance (closes: #319544)
+ * remove old nvidia-glx-dev.links lines (closes: #398677)
+
+ -- Randall Donald <rdonald@debian.org> Sat, 18 Nov 2006 21:07:46 -0800
+
nvidia-graphics-drivers (1.0.8776-1) unstable; urgency=medium
* New upstream.
Index: debian/rules.defs
===================================================================
--- debian/rules.defs (.../tags/304.117-1) (revision 5210)
+++ debian/rules.defs (.../branches/304) (revision 5210)
@@ -2,8 +2,8 @@
#NVIDIA_LEGACY =
WATCH_VERSION = 304
-XORG_ABI_LIST = 15 14 13 12 11 10 8 6.0
-XORG_BOUND = (<< 2:1.15.99)
+XORG_ABI_LIST = 19 18 15 14 13 12 11 10 8 6.0
+XORG_BOUND = (<< 2:1.17.99)
NVIDIA_DIRNAME_X86 = NVIDIA-Linux-x86-${NVIDIA_RELEASE}
NVIDIA_DIRNAME_X86_64 = NVIDIA-Linux-x86_64-${NVIDIA_RELEASE}
Reply to: