[kernel] r15558 - in dists/lenny-security/linux-2.6/debian: . patches/bugfix/all patches/series
Dann Frazier
dannf at alioth.debian.org
Tue Apr 27 05:36:53 UTC 2010
Author: dannf
Date: Tue Apr 27 05:36:50 2010
New Revision: 15558
Log:
NFS: Fix an Oops when truncating a file (CVE-2010-1087)
Added:
dists/lenny-security/linux-2.6/debian/patches/bugfix/all/nfs-fix-an-oops-when-truncating-a-file.patch
Modified:
dists/lenny-security/linux-2.6/debian/changelog
dists/lenny-security/linux-2.6/debian/patches/series/21lenny5
Modified: dists/lenny-security/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny-security/linux-2.6/debian/changelog Tue Apr 27 05:35:18 2010 (r15557)
+++ dists/lenny-security/linux-2.6/debian/changelog Tue Apr 27 05:36:50 2010 (r15558)
@@ -6,6 +6,7 @@
* Bluetooth: Fix potential bad memory access with sysfs files (CVE-2010-1084)
* dvb-core: Fix DoS bug in ULE decapsulation code that can be triggered
by an invalid Payload Pointer (CVE-2010-1086)
+ * NFS: Fix an Oops when truncating a file (CVE-2010-1087)
[ Ben Hutchings ]
* [x86] KVM: disable paravirt mmu reporting (Closes: #573071) (regressed
Added: dists/lenny-security/linux-2.6/debian/patches/bugfix/all/nfs-fix-an-oops-when-truncating-a-file.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/lenny-security/linux-2.6/debian/patches/bugfix/all/nfs-fix-an-oops-when-truncating-a-file.patch Tue Apr 27 05:36:50 2010 (r15558)
@@ -0,0 +1,51 @@
+commit e383bd6110a0192a09195326e9f5357704048d0b
+Author: Trond Myklebust <Trond.Myklebust at netapp.com>
+Date: Wed Feb 3 08:27:22 2010 -0500
+
+ NFS: Fix an Oops when truncating a file
+
+ The VM/VFS does not allow mapping->a_ops->invalidatepage() to fail.
+ Unfortunately, nfs_wb_page_cancel() may fail if a fatal signal occurs.
+ Since the NFS code assumes that the page stays mapped for as long as the
+ writeback is active, we can end up Oopsing (among other things).
+
+ The only safe fix here is to convert nfs_wait_on_request(), so as to make
+ it uninterruptible (as is already the case with wait_on_page_writeback()).
+
+ Backported to Debian's 2.6.26 by dann frazier <dannf at debian.org>
+
+diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
+index 7f07920..4a72112 100644
+--- a/fs/nfs/pagelist.c
++++ b/fs/nfs/pagelist.c
+@@ -187,6 +187,12 @@ static int nfs_wait_bit_killable(void *word)
+ return ret;
+ }
+
++static int nfs_wait_bit_uninterruptible(void *word)
++{
++ io_schedule();
++ return 0;
++}
++
+ /**
+ * nfs_wait_on_request - Wait for a request to complete.
+ * @req: request to wait upon.
+@@ -197,14 +203,9 @@ static int nfs_wait_bit_killable(void *word)
+ int
+ nfs_wait_on_request(struct nfs_page *req)
+ {
+- int ret = 0;
+-
+- if (!test_bit(PG_BUSY, &req->wb_flags))
+- goto out;
+- ret = out_of_line_wait_on_bit(&req->wb_flags, PG_BUSY,
+- nfs_wait_bit_killable, TASK_KILLABLE);
+-out:
+- return ret;
++ return wait_on_bit(&req->wb_flags, PG_BUSY,
++ nfs_wait_bit_uninterruptible,
++ TASK_UNINTERRUPTIBLE);
+ }
+
+ /**
Modified: dists/lenny-security/linux-2.6/debian/patches/series/21lenny5
==============================================================================
--- dists/lenny-security/linux-2.6/debian/patches/series/21lenny5 Tue Apr 27 05:35:18 2010 (r15557)
+++ dists/lenny-security/linux-2.6/debian/patches/series/21lenny5 Tue Apr 27 05:36:50 2010 (r15558)
@@ -6,3 +6,4 @@
+ bugfix/all/r8169-clean-up-my-printk-uglyness.patch
+ bugfix/all/bluetooth-fix-potential-bad-memory-access-with-sysfs-files.patch
+ bugfix/all/dvb-core-fix-dos-in-ule-decapsulation.patch
++ bugfix/all/nfs-fix-an-oops-when-truncating-a-file.patch
More information about the Kernel-svn-changes
mailing list