From: Greg Kroah-Hartman Date: Fri, 3 Dec 2010 21:05:44 +0000 (-0800) Subject: remove .32 versions of reiserfs patches, they are broken X-Git-Tag: v2.6.27.57~62 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b98e7a57cd9d23af3ca777956aa027319c4a8a70;p=thirdparty%2Fkernel%2Fstable-queue.git remove .32 versions of reiserfs patches, they are broken --- diff --git a/queue-2.6.32/reiserfs-don-t-acquire-lock-recursively-in-reiserfs_acl_chmod.patch b/queue-2.6.32/reiserfs-don-t-acquire-lock-recursively-in-reiserfs_acl_chmod.patch deleted file mode 100644 index 4cb9e1a549d..00000000000 --- a/queue-2.6.32/reiserfs-don-t-acquire-lock-recursively-in-reiserfs_acl_chmod.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 238af8751f64a75f8b638193353b1c31ea32e738 Mon Sep 17 00:00:00 2001 -From: Frederic Weisbecker -Date: Thu, 2 Dec 2010 14:31:16 -0800 -Subject: reiserfs: don't acquire lock recursively in reiserfs_acl_chmod - -From: Frederic Weisbecker - -commit 238af8751f64a75f8b638193353b1c31ea32e738 upstream. - -reiserfs_acl_chmod() can be called by reiserfs_set_attr() and then take -the reiserfs lock a second time. Thereafter it may call journal_begin() -that definitely requires the lock not to be nested in order to release -it before taking the journal mutex because the reiserfs lock depends on -the journal mutex already. - -So, aviod nesting the lock in reiserfs_acl_chmod(). - -Reported-by: Pawel Zawora -Signed-off-by: Frederic Weisbecker -Tested-by: Pawel Zawora -Cc: Jeff Mahoney -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - fs/reiserfs/xattr_acl.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/fs/reiserfs/xattr_acl.c -+++ b/fs/reiserfs/xattr_acl.c -@@ -466,7 +466,9 @@ int reiserfs_acl_chmod(struct inode *ino - struct reiserfs_transaction_handle th; - size_t size = reiserfs_xattr_nblocks(inode, - reiserfs_acl_size(clone->a_count)); -- reiserfs_write_lock(inode->i_sb); -+ int depth; -+ -+ depth = reiserfs_write_lock_once(inode->i_sb); - error = journal_begin(&th, inode->i_sb, size * 2); - if (!error) { - int error2; -@@ -476,7 +478,7 @@ int reiserfs_acl_chmod(struct inode *ino - if (error2) - error = error2; - } -- reiserfs_write_unlock(inode->i_sb); -+ reiserfs_write_unlock_once(inode->i_sb, depth); - } - posix_acl_release(clone); - return error; diff --git a/queue-2.6.32/reiserfs-fix-dependency-inversion-between-inode-and-reiserfs-mutexes.patch b/queue-2.6.32/reiserfs-fix-dependency-inversion-between-inode-and-reiserfs-mutexes.patch deleted file mode 100644 index 1d2124fd451..00000000000 --- a/queue-2.6.32/reiserfs-fix-dependency-inversion-between-inode-and-reiserfs-mutexes.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 3f259d092c7a2fdf217823e8f1838530adb0cdb0 Mon Sep 17 00:00:00 2001 -From: Frederic Weisbecker -Date: Thu, 30 Sep 2010 15:15:37 -0700 -Subject: reiserfs: fix dependency inversion between inode and reiserfs mutexes - -From: Frederic Weisbecker - -commit 3f259d092c7a2fdf217823e8f1838530adb0cdb0 upstream. - -The reiserfs mutex already depends on the inode mutex, so we can't lock -the inode mutex in reiserfs_unpack() without using the safe locking API, -because reiserfs_unpack() is always called with the reiserfs mutex locked. - -This fixes: - - ======================================================= - [ INFO: possible circular locking dependency detected ] - 2.6.35c #13 - ------------------------------------------------------- - lilo/1606 is trying to acquire lock: - (&sb->s_type->i_mutex_key#8){+.+.+.}, at: [] reiserfs_unpack+0x60/0x110 [reiserfs] - - but task is already holding lock: - (&REISERFS_SB(s)->lock){+.+.+.}, at: [] reiserfs_write_lock+0x28/0x40 [reiserfs] - - which lock already depends on the new lock. - - the existing dependency chain (in reverse order) is: - - -> #1 (&REISERFS_SB(s)->lock){+.+.+.}: - [] lock_acquire+0x67/0x80 - [] __mutex_lock_common+0x4d/0x410 - [] mutex_lock_nested+0x18/0x20 - [] reiserfs_write_lock+0x28/0x40 [reiserfs] - [] reiserfs_lookup_privroot+0x2a/0x90 [reiserfs] - [] reiserfs_fill_super+0x941/0xe60 [reiserfs] - [] get_sb_bdev+0x117/0x170 - [] get_super_block+0x21/0x30 [reiserfs] - [] vfs_kern_mount+0x6a/0x1b0 - [] do_kern_mount+0x39/0xe0 - [] do_mount+0x340/0x790 - [] sys_mount+0x84/0xb0 - [] syscall_call+0x7/0xb - - -> #0 (&sb->s_type->i_mutex_key#8){+.+.+.}: - [] __lock_acquire+0x1026/0x1180 - [] lock_acquire+0x67/0x80 - [] __mutex_lock_common+0x4d/0x410 - [] mutex_lock_nested+0x18/0x20 - [] reiserfs_unpack+0x60/0x110 [reiserfs] - [] reiserfs_ioctl+0x272/0x320 [reiserfs] - [] vfs_ioctl+0x28/0xa0 - [] do_vfs_ioctl+0x32d/0x5c0 - [] sys_ioctl+0x63/0x70 - [] syscall_call+0x7/0xb - - other info that might help us debug this: - - 1 lock held by lilo/1606: - #0: (&REISERFS_SB(s)->lock){+.+.+.}, at: [] reiserfs_write_lock+0x28/0x40 [reiserfs] - - stack backtrace: - Pid: 1606, comm: lilo Not tainted 2.6.35c #13 - Call Trace: - [] __lock_acquire+0x1026/0x1180 - [] lock_acquire+0x67/0x80 - [] __mutex_lock_common+0x4d/0x410 - [] mutex_lock_nested+0x18/0x20 - [] reiserfs_unpack+0x60/0x110 [reiserfs] - [] reiserfs_ioctl+0x272/0x320 [reiserfs] - [] vfs_ioctl+0x28/0xa0 - [] do_vfs_ioctl+0x32d/0x5c0 - [] sys_ioctl+0x63/0x70 - [] syscall_call+0x7/0xb - -Reported-by: Jarek Poplawski -Tested-by: Jarek Poplawski -Signed-off-by: Frederic Weisbecker -Cc: Jeff Mahoney -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - fs/reiserfs/ioctl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/fs/reiserfs/ioctl.c -+++ b/fs/reiserfs/ioctl.c -@@ -178,7 +178,7 @@ int reiserfs_unpack(struct inode *inode, - /* we need to make sure nobody is changing the file size beneath - ** us - */ -- mutex_lock(&inode->i_mutex); -+ reiserfs_mutex_lock_safe(&inode->i_mutex, inode->i_sb); - reiserfs_write_lock(inode->i_sb); - - write_from = inode->i_size & (blocksize - 1); diff --git a/queue-2.6.32/reiserfs-fix-unwanted-reiserfs-lock-recursion.patch b/queue-2.6.32/reiserfs-fix-unwanted-reiserfs-lock-recursion.patch deleted file mode 100644 index d8c6da6cfd0..00000000000 --- a/queue-2.6.32/reiserfs-fix-unwanted-reiserfs-lock-recursion.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 9d8117e72bf453dd9d85e0cd322ce4a0f8bccbc0 Mon Sep 17 00:00:00 2001 -From: Frederic Weisbecker -Date: Thu, 30 Sep 2010 15:15:38 -0700 -Subject: reiserfs: fix unwanted reiserfs lock recursion - -From: Frederic Weisbecker - -commit 9d8117e72bf453dd9d85e0cd322ce4a0f8bccbc0 upstream. - -Prevent from recursively locking the reiserfs lock in reiserfs_unpack() -because we may call journal_begin() that requires the lock to be taken -only once, otherwise it won't be able to release the lock while taking -other mutexes, ending up in inverted dependencies between the journal -mutex and the reiserfs lock for example. - -This fixes: - - ======================================================= - [ INFO: possible circular locking dependency detected ] - 2.6.35.4.4a #3 - ------------------------------------------------------- - lilo/1620 is trying to acquire lock: - (&journal->j_mutex){+.+...}, at: [] do_journal_begin_r+0x7f/0x340 [reiserfs] - - but task is already holding lock: - (&REISERFS_SB(s)->lock){+.+.+.}, at: [] reiserfs_write_lock+0x28/0x40 [reiserfs] - - which lock already depends on the new lock. - - the existing dependency chain (in reverse order) is: - - -> #1 (&REISERFS_SB(s)->lock){+.+.+.}: - [] lock_acquire+0x67/0x80 - [] __mutex_lock_common+0x4d/0x410 - [] mutex_lock_nested+0x18/0x20 - [] reiserfs_write_lock+0x28/0x40 [reiserfs] - [] do_journal_begin_r+0x86/0x340 [reiserfs] - [] journal_begin+0x77/0x140 [reiserfs] - [] reiserfs_remount+0x224/0x530 [reiserfs] - [] do_remount_sb+0x60/0x110 - [] do_mount+0x625/0x790 - [] sys_mount+0x84/0xb0 - [] syscall_call+0x7/0xb - - -> #0 (&journal->j_mutex){+.+...}: - [] __lock_acquire+0x1026/0x1180 - [] lock_acquire+0x67/0x80 - [] __mutex_lock_common+0x4d/0x410 - [] mutex_lock_nested+0x18/0x20 - [] do_journal_begin_r+0x7f/0x340 [reiserfs] - [] journal_begin+0x77/0x140 [reiserfs] - [] reiserfs_persistent_transaction+0x41/0x90 [reiserfs] - [] reiserfs_get_block+0x22c/0x1530 [reiserfs] - [] __block_prepare_write+0x1bb/0x3a0 - [] block_prepare_write+0x26/0x40 - [] reiserfs_prepare_write+0x88/0x170 [reiserfs] - [] reiserfs_unpack+0xe6/0x120 [reiserfs] - [] reiserfs_ioctl+0x272/0x320 [reiserfs] - [] vfs_ioctl+0x28/0xa0 - [] do_vfs_ioctl+0x32d/0x5c0 - [] sys_ioctl+0x63/0x70 - [] syscall_call+0x7/0xb - - other info that might help us debug this: - - 2 locks held by lilo/1620: - #0: (&sb->s_type->i_mutex_key#8){+.+.+.}, at: [] reiserfs_unpack+0x6a/0x120 [reiserfs] - #1: (&REISERFS_SB(s)->lock){+.+.+.}, at: [] reiserfs_write_lock+0x28/0x40 [reiserfs] - - stack backtrace: - Pid: 1620, comm: lilo Not tainted 2.6.35.4.4a #3 - Call Trace: - [] __lock_acquire+0x1026/0x1180 - [] lock_acquire+0x67/0x80 - [] __mutex_lock_common+0x4d/0x410 - [] mutex_lock_nested+0x18/0x20 - [] do_journal_begin_r+0x7f/0x340 [reiserfs] - [] journal_begin+0x77/0x140 [reiserfs] - [] reiserfs_persistent_transaction+0x41/0x90 [reiserfs] - [] reiserfs_get_block+0x22c/0x1530 [reiserfs] - [] __block_prepare_write+0x1bb/0x3a0 - [] block_prepare_write+0x26/0x40 - [] reiserfs_prepare_write+0x88/0x170 [reiserfs] - [] reiserfs_unpack+0xe6/0x120 [reiserfs] - [] reiserfs_ioctl+0x272/0x320 [reiserfs] - [] vfs_ioctl+0x28/0xa0 - [] do_vfs_ioctl+0x32d/0x5c0 - [] sys_ioctl+0x63/0x70 - [] syscall_call+0x7/0xb - -Reported-by: Jarek Poplawski -Tested-by: Jarek Poplawski -Signed-off-by: Frederic Weisbecker -Cc: Jeff Mahoney -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - fs/reiserfs/ioctl.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/fs/reiserfs/ioctl.c -+++ b/fs/reiserfs/ioctl.c -@@ -160,6 +160,7 @@ int reiserfs_prepare_write(struct file * - int reiserfs_unpack(struct inode *inode, struct file *filp) - { - int retval = 0; -+ int depth; - int index; - struct page *page; - struct address_space *mapping; -@@ -179,7 +180,7 @@ int reiserfs_unpack(struct inode *inode, - ** us - */ - reiserfs_mutex_lock_safe(&inode->i_mutex, inode->i_sb); -- reiserfs_write_lock(inode->i_sb); -+ depth = reiserfs_write_lock_once(inode->i_sb); - - write_from = inode->i_size & (blocksize - 1); - /* if we are on a block boundary, we are already unpacked. */ -@@ -214,6 +215,6 @@ int reiserfs_unpack(struct inode *inode, - - out: - mutex_unlock(&inode->i_mutex); -- reiserfs_write_unlock(inode->i_sb); -+ reiserfs_write_unlock_once(inode->i_sb, depth); - return retval; - } diff --git a/queue-2.6.32/series b/queue-2.6.32/series index 49bd33f4006..31748e0cae7 100644 --- a/queue-2.6.32/series +++ b/queue-2.6.32/series @@ -9,9 +9,6 @@ i2c-pca-platform-change-device-name-of-request_irq.patch sunrpc-after-calling-xprt_release-we-must-restart-from-call_reserve.patch microblaze-fix-build-with-make-3.82.patch net-clear-heap-allocation-for-ethtool_grxclsrlall.patch -reiserfs-fix-dependency-inversion-between-inode-and-reiserfs-mutexes.patch -reiserfs-fix-unwanted-reiserfs-lock-recursion.patch -reiserfs-don-t-acquire-lock-recursively-in-reiserfs_acl_chmod.patch staging-asus_oled-fix-up-some-sysfs-attribute-permissions.patch staging-asus_oled-fix-up-my-fixup-for-some-sysfs-attribute-permissions.patch staging-line6-fix-up-some-sysfs-attribute-permissions.patch