mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-11-04 02:55:51 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 5a28bd29fed8c74021b3e4079ea3035f290615d2 Mon Sep 17 00:00:00 2001
 | 
						|
From: Vitaly Kuznetsov <vkuznets@redhat.com>
 | 
						|
Date: Fri, 26 Feb 2016 15:13:18 -0800
 | 
						|
Subject: [PATCH 35/44] Drivers: hv: vmbus: avoid unneeded compiler
 | 
						|
 optimizations in vmbus_wait_for_unload()
 | 
						|
MIME-Version: 1.0
 | 
						|
Content-Type: text/plain; charset=UTF-8
 | 
						|
Content-Transfer-Encoding: 8bit
 | 
						|
 | 
						|
Message header is modified by the hypervisor and we read it in a loop,
 | 
						|
we need to prevent compilers from optimizing accesses. There are no such
 | 
						|
optimizations at this moment, this is just a future proof.
 | 
						|
 | 
						|
Suggested-by: Radim Krcmar <rkrcmar@redhat.com>
 | 
						|
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
 | 
						|
Reviewed-by: Radim Kr.má<rkrcmar@redhat.com>
 | 
						|
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
 | 
						|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 | 
						|
(cherry picked from commit d452ab7b4c65dfcaee88a0d6866eeeb98a3d1884)
 | 
						|
---
 | 
						|
 drivers/hv/channel_mgmt.c | 2 +-
 | 
						|
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
						|
 | 
						|
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
 | 
						|
index f70e35278b94..c892db5df665 100644
 | 
						|
--- a/drivers/hv/channel_mgmt.c
 | 
						|
+++ b/drivers/hv/channel_mgmt.c
 | 
						|
@@ -605,7 +605,7 @@ static void vmbus_wait_for_unload(void)
 | 
						|
 	bool unloaded = false;
 | 
						|
 
 | 
						|
 	while (1) {
 | 
						|
-		if (msg->header.message_type == HVMSG_NONE) {
 | 
						|
+		if (READ_ONCE(msg->header.message_type) == HVMSG_NONE) {
 | 
						|
 			mdelay(10);
 | 
						|
 			continue;
 | 
						|
 		}
 | 
						|
-- 
 | 
						|
2.11.0
 | 
						|
 |