← Back to team overview

kernel-packages team mailing list archive

[Bug 1549601] Re: [Hyper-V] x86, pageattr: prevent overflow in slow_virt_to_phys() for X86_PAE

 

It turns out the issue also exists in the latest mainline kernel!

The fix "x86, pageattr: Prevent overflow in slow_virt_to_phys() for X86_PAE" is there, but a later patch "x86/mm: Fix slow_virt_to_phys() to handle large PAT bit"
 (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34437e67a6727885bdf6cbfd8441b1ac43a1ee65) 
actually removed the fix unintentionally, so we have the regression...

I have made a new fix and post it to LKML just now (stable@xxxxxxxxxxxxxxx was Cc-ed):
 http://marc.info/?l=linux-kernel&m=145638841908383&w=2

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1549601

Title:
  [Hyper-V] x86,pageattr: prevent overflow in slow_virt_to_phys() for
  X86_PAE

Status in linux package in Ubuntu:
  Incomplete

Bug description:
  https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d1cd1210834649ce1ca6bafe5ac25d2f40331343

  x86, pageattr: Prevent overflow in slow_virt_to_phys() for X86_PAE
  pte_pfn() returns a PFN of long (32 bits in 32-PAE), so "long <<
  PAGE_SHIFT" will overflow for PFNs above 4GB.

  Due to this issue, some Linux 32-PAE distros, running as guests on Hyper-V,
  with 5GB memory assigned, can't load the netvsc driver successfully and
  hence the synthetic network device can't work (we can use the kernel parameter
  mem=3000M to work around the issue).

  Cast pte_pfn() to phys_addr_t before shifting.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1549601/+subscriptions


References