Package: release.debian.org
Severity: normal
Tags: wheezy
User: release.debian....@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 <a...@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 <a...@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 <a...@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 <a...@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 <a...@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 <a...@debian.org>  Fri, 15 Mar 2013 11:23:39 +0100
 
+nvidia-graphics-drivers (304.64-5) UNRELEASED; urgency=low
+
+  * Dummy.
+
+ -- Andreas Beckmann <a...@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 <deb...@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 <deb...@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 <deb...@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 <rdon...@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 <rdon...@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 <rdon...@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 <rdon...@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 via email to