From: Greg Kroah-Hartman Date: Wed, 30 Sep 2009 22:49:02 +0000 (-0700) Subject: start .27 queue X-Git-Tag: v2.6.27.36~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=31953fc719ae77d0aeaf258a1a9d23d92411f71f;p=thirdparty%2Fkernel%2Fstable-queue.git start .27 queue --- diff --git a/queue-2.6.27/fs-make-sure-data-stored-into-inode-is-properly-seen-before-unlocking-new-inode.patch b/queue-2.6.27/fs-make-sure-data-stored-into-inode-is-properly-seen-before-unlocking-new-inode.patch new file mode 100644 index 00000000000..caf8d3c6576 --- /dev/null +++ b/queue-2.6.27/fs-make-sure-data-stored-into-inode-is-properly-seen-before-unlocking-new-inode.patch @@ -0,0 +1,51 @@ +From 580be0837a7a59b207c3d5c661d044d8dd0a6a30 Mon Sep 17 00:00:00 2001 +From: Jan Kara +Date: Mon, 21 Sep 2009 17:01:06 -0700 +Subject: fs: make sure data stored into inode is properly seen before unlocking new inode + +From: Jan Kara + +commit 580be0837a7a59b207c3d5c661d044d8dd0a6a30 upstream. + +In theory it could happen that on one CPU we initialize a new inode but +clearing of I_NEW | I_LOCK gets reordered before some of the +initialization. Thus on another CPU we return not fully uptodate inode +from iget_locked(). + +This seems to fix a corruption issue on ext3 mounted over NFS. + +[akpm@linux-foundation.org: add some commentary] +Signed-off-by: Jan Kara +Cc: Christoph Hellwig +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + fs/inode.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +--- a/fs/inode.c ++++ b/fs/inode.c +@@ -590,13 +590,15 @@ void unlock_new_inode(struct inode *inod + } + #endif + /* +- * This is special! We do not need the spinlock +- * when clearing I_LOCK, because we're guaranteed +- * that nobody else tries to do anything about the +- * state of the inode when it is locked, as we +- * just created it (so there can be no old holders +- * that haven't tested I_LOCK). ++ * This is special! We do not need the spinlock when clearing I_LOCK, ++ * because we're guaranteed that nobody else tries to do anything about ++ * the state of the inode when it is locked, as we just created it (so ++ * there can be no old holders that haven't tested I_LOCK). ++ * However we must emit the memory barrier so that other CPUs reliably ++ * see the clearing of I_LOCK after the other inode initialisation has ++ * completed. + */ ++ smp_mb(); + WARN_ON((inode->i_state & (I_LOCK|I_NEW)) != (I_LOCK|I_NEW)); + inode->i_state &= ~(I_LOCK|I_NEW); + wake_up_inode(inode); diff --git a/queue-2.6.27/p54usb-add-zcomax-xg-705a-usbid.patch b/queue-2.6.27/p54usb-add-zcomax-xg-705a-usbid.patch new file mode 100644 index 00000000000..8f43309b807 --- /dev/null +++ b/queue-2.6.27/p54usb-add-zcomax-xg-705a-usbid.patch @@ -0,0 +1,30 @@ +From f7f71173ea69d4dabf166533beffa9294090b7ef Mon Sep 17 00:00:00 2001 +From: Christian Lamparter +Date: Mon, 14 Sep 2009 23:08:43 +0200 +Subject: p54usb: add Zcomax XG-705A usbid + +From: Christian Lamparter + +commit f7f71173ea69d4dabf166533beffa9294090b7ef upstream. + +This patch adds a new usbid for Zcomax XG-705A to the device table. + +Reported-by: Jari Jaakola +Signed-off-by: Christian Lamparter +Signed-off-by: John W. Linville +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/p54/p54usb.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/wireless/p54/p54usb.c ++++ b/drivers/net/wireless/p54/p54usb.c +@@ -63,6 +63,7 @@ static struct usb_device_id p54u_table[] + {USB_DEVICE(0x0bf8, 0x1009)}, /* FUJITSU E-5400 USB D1700*/ + {USB_DEVICE(0x0cde, 0x0006)}, /* Medion MD40900 */ + {USB_DEVICE(0x0cde, 0x0008)}, /* Sagem XG703A */ ++ {USB_DEVICE(0x0cde, 0x0015)}, /* Zcomax XG-705A */ + {USB_DEVICE(0x0d8e, 0x3762)}, /* DLink DWL-G120 Cohiba */ + {USB_DEVICE(0x09aa, 0x1000)}, /* Spinnaker Proto board */ + {USB_DEVICE(0x124a, 0x4025)}, /* IOGear GWU513 (GW3887IK chip) */ diff --git a/queue-2.6.27/series b/queue-2.6.27/series new file mode 100644 index 00000000000..f74884716d8 --- /dev/null +++ b/queue-2.6.27/series @@ -0,0 +1,2 @@ +fs-make-sure-data-stored-into-inode-is-properly-seen-before-unlocking-new-inode.patch +p54usb-add-zcomax-xg-705a-usbid.patch