All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE
@ 2019-05-07  7:46 Dexuan Cui
  2019-05-07 12:51 ` Michael Kelley
  0 siblings, 1 reply; 5+ messages in thread
From: Dexuan Cui @ 2019-05-07  7:46 UTC (permalink / raw)
  To: linux-hyperv, gregkh, Stephen Hemminger, sashal, Sasha Levin,
	Haiyang Zhang, KY Srinivasan, devel, Michael Kelley,
	juliana.rodrigueiro
  Cc: linux-kernel, marcelo.cerri, apw, olaf, vkuznets, jasowang,
	Dexuan Cui, stable

In the case of X86_PAE, unsigned long is u32, but the physical address type
should be u64. Due to the bug here, the netvsc driver can not load
successfully, and sometimes the VM can panic due to memory corruption (the
hypervisor writes data to the wrong location).

Fixes: 6ba34171bcbd ("Drivers: hv: vmbus: Remove use of slow_virt_to_phys()")
Cc: stable@vger.kernel.org
Cc: Michael Kelley <mikelley@microsoft.com>
Reported-and-tested-by: Juliana Rodrigueiro <juliana.rodrigueiro@intra2net.com>
Signed-off-by: Dexuan Cui <decui@microsoft.com>
---
 drivers/hv/channel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 23381c41d087..aaaee5f93193 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -38,7 +38,7 @@
 
 static unsigned long virt_to_hvpfn(void *addr)
 {
-	unsigned long paddr;
+	phys_addr_t paddr;
 
 	if (is_vmalloc_addr(addr))
 		paddr = page_to_phys(vmalloc_to_page(addr)) +
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [PATCH] Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE
  2019-05-07  7:46 [PATCH] Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE Dexuan Cui
@ 2019-05-07 12:51 ` Michael Kelley
  2019-05-09  1:06   ` Sasha Levin
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Kelley @ 2019-05-07 12:51 UTC (permalink / raw)
  To: Dexuan Cui, linux-hyperv, gregkh, Stephen Hemminger, sashal,
	Sasha Levin, Haiyang Zhang, KY Srinivasan, devel,
	juliana.rodrigueiro
  Cc: linux-kernel, marcelo.cerri, apw, olaf, vkuznets, jasowang, stable

From: Dexuan Cui <decui@microsoft.com> Sent: Tuesday, May 7, 2019 12:47 AM
> 
> In the case of X86_PAE, unsigned long is u32, but the physical address type
> should be u64. Due to the bug here, the netvsc driver can not load
> successfully, and sometimes the VM can panic due to memory corruption (the
> hypervisor writes data to the wrong location).
> 
> Fixes: 6ba34171bcbd ("Drivers: hv: vmbus: Remove use of slow_virt_to_phys()")
> Cc: stable@vger.kernel.org
> Cc: Michael Kelley <mikelley@microsoft.com>
> Reported-and-tested-by: Juliana Rodrigueiro <juliana.rodrigueiro@intra2net.com>
> Signed-off-by: Dexuan Cui <decui@microsoft.com>

Reviewed-by:  Michael Kelley <mikelley@microsoft.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE
  2019-05-07 12:51 ` Michael Kelley
@ 2019-05-09  1:06   ` Sasha Levin
  2019-08-20 15:51     ` Juliana Rodrigueiro
  0 siblings, 1 reply; 5+ messages in thread
From: Sasha Levin @ 2019-05-09  1:06 UTC (permalink / raw)
  To: Michael Kelley
  Cc: Dexuan Cui, linux-hyperv, gregkh, Stephen Hemminger, Sasha Levin,
	Haiyang Zhang, KY Srinivasan, devel, juliana.rodrigueiro,
	linux-kernel, marcelo.cerri, apw, olaf, vkuznets, jasowang,
	stable

On Tue, May 07, 2019 at 12:51:51PM +0000, Michael Kelley wrote:
>From: Dexuan Cui <decui@microsoft.com> Sent: Tuesday, May 7, 2019 12:47 AM
>>
>> In the case of X86_PAE, unsigned long is u32, but the physical address type
>> should be u64. Due to the bug here, the netvsc driver can not load
>> successfully, and sometimes the VM can panic due to memory corruption (the
>> hypervisor writes data to the wrong location).
>>
>> Fixes: 6ba34171bcbd ("Drivers: hv: vmbus: Remove use of slow_virt_to_phys()")
>> Cc: stable@vger.kernel.org
>> Cc: Michael Kelley <mikelley@microsoft.com>
>> Reported-and-tested-by: Juliana Rodrigueiro <juliana.rodrigueiro@intra2net.com>
>> Signed-off-by: Dexuan Cui <decui@microsoft.com>
>
>Reviewed-by:  Michael Kelley <mikelley@microsoft.com>

Queued for hyperv-fixes, thanks!

--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE
  2019-05-09  1:06   ` Sasha Levin
@ 2019-08-20 15:51     ` Juliana Rodrigueiro
  2019-08-20 16:51       ` Sasha Levin
  0 siblings, 1 reply; 5+ messages in thread
From: Juliana Rodrigueiro @ 2019-08-20 15:51 UTC (permalink / raw)
  To: Sasha Levin; +Cc: linux-hyperv

Hi Sasha.

I haven't spotted the following patch in the hyperv-fixes branch.

Did I look in the wrong place or it was not applied?

Thanks,
Juliana.

On 5/9/19 3:06 AM, Sasha Levin wrote:
> On Tue, May 07, 2019 at 12:51:51PM +0000, Michael Kelley wrote:
>> From: Dexuan Cui <decui@microsoft.com> Sent: Tuesday, May 7, 2019 
>> 12:47 AM
>>>
>>> In the case of X86_PAE, unsigned long is u32, but the physical 
>>> address type
>>> should be u64. Due to the bug here, the netvsc driver can not load
>>> successfully, and sometimes the VM can panic due to memory corruption 
>>> (the
>>> hypervisor writes data to the wrong location).
>>>
>>> Fixes: 6ba34171bcbd ("Drivers: hv: vmbus: Remove use of 
>>> slow_virt_to_phys()")
>>> Cc: stable@vger.kernel.org
>>> Cc: Michael Kelley <mikelley@microsoft.com>
>>> Reported-and-tested-by: Juliana Rodrigueiro 
>>> <juliana.rodrigueiro@intra2net.com>
>>> Signed-off-by: Dexuan Cui <decui@microsoft.com>
>>
>> Reviewed-by:  Michael Kelley <mikelley@microsoft.com>
> 
> Queued for hyperv-fixes, thanks!
> 
> -- 
> Thanks,
> Sasha

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE
  2019-08-20 15:51     ` Juliana Rodrigueiro
@ 2019-08-20 16:51       ` Sasha Levin
  0 siblings, 0 replies; 5+ messages in thread
From: Sasha Levin @ 2019-08-20 16:51 UTC (permalink / raw)
  To: Juliana Rodrigueiro; +Cc: linux-hyperv

On Tue, Aug 20, 2019 at 05:51:39PM +0200, Juliana Rodrigueiro wrote:
>Hi Sasha.
>
>I haven't spotted the following patch in the hyperv-fixes branch.
>
>Did I look in the wrong place or it was not applied?

I've previously dropped it, it's in there now.

--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-08-20 16:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-07  7:46 [PATCH] Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE Dexuan Cui
2019-05-07 12:51 ` Michael Kelley
2019-05-09  1:06   ` Sasha Levin
2019-08-20 15:51     ` Juliana Rodrigueiro
2019-08-20 16:51       ` Sasha Levin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.