]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Add ufs i_sem not released fix (to both 2.6.14 and 2.6.15), fwd from akpm
authorChris Wright <chrisw@sous-sol.org>
Thu, 5 Jan 2006 01:30:57 +0000 (17:30 -0800)
committerChris Wright <chrisw@sous-sol.org>
Thu, 5 Jan 2006 01:30:57 +0000 (17:30 -0800)
queue-2.6.14/series
queue-2.6.14/ufs-inode-i_sem-is-not-released-in-error-path.patch [new file with mode: 0644]
queue/series
queue/ufs-inode-i_sem-is-not-released-in-error-path.patch [new file with mode: 0644]

index 5021b259a874b3bd6874ac50c44521c3a21bcb19..37f87815763f45df5b14e25471210851d188b8db 100644 (file)
@@ -2,3 +2,4 @@ drivers-net-sungem.c-gem_remove_one-mustn-t-be-__devexit.patch
 ieee80211_crypt_tkip-depends-on-net_radio.patch
 insanity-avoidance-in-proc.patch
 sysctl-don-t-overflow-the-user-supplied-buffer-with-0.patch
+ufs-inode-i_sem-is-not-released-in-error-path.patch
diff --git a/queue-2.6.14/ufs-inode-i_sem-is-not-released-in-error-path.patch b/queue-2.6.14/ufs-inode-i_sem-is-not-released-in-error-path.patch
new file mode 100644 (file)
index 0000000..9e0f7c6
--- /dev/null
@@ -0,0 +1,35 @@
+From stable-bounces@linux.kernel.org  Tue Jan  3 18:03:11 2006
+Message-Id: <200601040159.k041xUT1004672@shell0.pdx.osdl.net>
+To: johnpol@2ka.mipt.ru, stable@kernel.org, mm-commits@vger.kernel.org
+From: akpm@osdl.org
+Date: Tue, 03 Jan 2006 17:59:19 -0800
+Subject: UFS: inode->i_sem is not released in error path
+
+From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
+
+Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
+Cc: <stable@kernel.org>
+akpm: obviously correct, OK for -stable immediately.
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ fs/ufs/super.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+Index: linux-2.6.14.5/fs/ufs/super.c
+===================================================================
+--- linux-2.6.14.5.orig/fs/ufs/super.c
++++ linux-2.6.14.5/fs/ufs/super.c
+@@ -1294,8 +1294,10 @@ static ssize_t ufs_quota_write(struct su
+               blk++;
+       }
+ out:
+-      if (len == towrite)
++      if (len == towrite) {
++              up(&inode->i_sem);
+               return err;
++      }
+       if (inode->i_size < off+len-towrite)
+               i_size_write(inode, off+len-towrite);
+       inode->i_version++;
index 957e651946a5f77c02a81f3dfaa3f20c4f08af8f..67c3aa18ac45e7313adf75b710f9768e4ab40ffc 100644 (file)
@@ -1 +1,2 @@
 bridge-fix-faulty-check-in-br_stp_recalculate_bridge_id.patch
+ufs-inode-i_sem-is-not-released-in-error-path.patch
diff --git a/queue/ufs-inode-i_sem-is-not-released-in-error-path.patch b/queue/ufs-inode-i_sem-is-not-released-in-error-path.patch
new file mode 100644 (file)
index 0000000..3759cef
--- /dev/null
@@ -0,0 +1,35 @@
+From stable-bounces@linux.kernel.org  Tue Jan  3 18:03:11 2006
+Message-Id: <200601040159.k041xUT1004672@shell0.pdx.osdl.net>
+To: johnpol@2ka.mipt.ru, stable@kernel.org, mm-commits@vger.kernel.org
+From: akpm@osdl.org
+Date: Tue, 03 Jan 2006 17:59:19 -0800
+Subject: UFS: inode->i_sem is not released in error path
+
+From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
+
+Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
+Cc: <stable@kernel.org>
+akpm: obviously correct, OK for -stable immediately.
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ fs/ufs/super.c |    4 +++-
+ 1 files changed, 3 insertions(+), 1 deletion(-)
+
+Index: linux-2.6.15.y/fs/ufs/super.c
+===================================================================
+--- linux-2.6.15.y.orig/fs/ufs/super.c
++++ linux-2.6.15.y/fs/ufs/super.c
+@@ -1296,8 +1296,10 @@ static ssize_t ufs_quota_write(struct su
+               blk++;
+       }
+ out:
+-      if (len == towrite)
++      if (len == towrite) {
++              up(&inode->i_sem);
+               return err;
++      }
+       if (inode->i_size < off+len-towrite)
+               i_size_write(inode, off+len-towrite);
+       inode->i_version++;