From: Greg Kroah-Hartman Date: Thu, 5 Jun 2014 00:37:20 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.14.6~20 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e66c9f7f7ee4df3cc66b99862361af95f3eeeaa6;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch --- diff --git a/queue-3.4/drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch b/queue-3.4/drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch new file mode 100644 index 00000000000..d26a0b87582 --- /dev/null +++ b/queue-3.4/drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch @@ -0,0 +1,61 @@ +From 35848f68b07df3f917cb13fc3c134718669f569b Mon Sep 17 00:00:00 2001 +From: Jason Wang +Date: Tue, 18 Jun 2013 13:04:23 +0800 +Subject: drivers: hv: switch to use mb() instead of smp_mb() + +From: Jason Wang + +commit 35848f68b07df3f917cb13fc3c134718669f569b upstream. + +Even if guest were compiled without SMP support, it could not assume that host +wasn't. So switch to use mb() instead of smp_mb() to force memory barriers for +UP guest. + +Signed-off-by: Jason Wang +Cc: Haiyang Zhang +Signed-off-by: K. Y. Srinivasan +Signed-off-by: Greg Kroah-Hartman +[bwh: Backported to 3.2: + - Drop changes to functions that don't exist here + - hv_ringbuffer_write() has only a write memory barrier] +Signed-off-by: Ben Hutchings +[hq: Backported to 3.4: + - Add the change in hv_ringbuffer_read] +Signed-off-by: Qiang Huang + +--- + drivers/hv/ring_buffer.c | 4 ++-- + drivers/hv/vmbus_drv.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/hv/ring_buffer.c ++++ b/drivers/hv/ring_buffer.c +@@ -383,7 +383,7 @@ int hv_ringbuffer_write(struct hv_ring_b + sizeof(u64)); + + /* Make sure we flush all writes before updating the writeIndex */ +- smp_wmb(); ++ wmb(); + + /* Now, update the write location */ + hv_set_next_write_location(outring_info, next_write_location); +@@ -485,7 +485,7 @@ int hv_ringbuffer_read(struct hv_ring_bu + /* Make sure all reads are done before we update the read index since */ + /* the writer may start writing to the read area once the read index */ + /*is updated */ +- smp_mb(); ++ mb(); + + /* Update the read index */ + hv_set_next_read_location(inring_info, next_read_location); +--- a/drivers/hv/vmbus_drv.c ++++ b/drivers/hv/vmbus_drv.c +@@ -466,7 +466,7 @@ static void vmbus_on_msg_dpc(unsigned lo + * will not deliver any more messages since there is + * no empty slot + */ +- smp_mb(); ++ mb(); + + if (msg->header.message_flags.msg_pending) { + /* diff --git a/queue-3.4/series b/queue-3.4/series index 35dda3a74d4..e39513a964e 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -154,3 +154,4 @@ x86-efi-implement-efi_no_storage_paranoia-parameter.patch modify-uefi-anti-bricking-code.patch x86-efi-fix-dummy-variable-buffer-allocation.patch nbd-fsync-and-kill-block-device-on-shutdown.patch +drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch