Re: fbmem: VM_IO set, but not propagated.
flat view
From: Daniel De Graaf <hidden>
Date: 2010-07-27 14:42:28
On 07/26/2010 06:38 PM, Andrew Morton wrote:
On Thu, 22 Jul 2010 17:31:28 -0400 Konrad Rzeszutek Wilk [off-list ref] wrote:quoted
This bug was found when Linux kernel was running under Xen. In that scenario, any page that has VM_IO flag to it, means that it MUST be a MMIO/VRAM backend memory , _not_ System RAM. That is what the fbmem.c does: sets VM_IO, ioremaps the region - everything is peachy. Well, not exactly. The vm_page_prot does not get the relevant PTE flags set (_PAGE_IOMAP) which under Xen is a death-kneel to pages that are referencing real physical devices but don't have that flag set. Here is the patch: Author: Daniel De Graaf [off-list ref] Date: Wed Jul 21 16:52:46 2010 -0400 fb: propagate VM_IO to VMA. When we setup up the VMA flags for the mmap flag and we end up using the fallback mmap functionality we set the vma->vm_flags |= VM_IO. However we neglect to propagate the flag to the vma->vm_page_prot. This patch fixes this. Tested-by: Eamon Walsh [off-list ref] Signed-off-by: Konrad Rzeszutek Wilk [off-list ref]Confused. We have From:Konrad and Author:Daniel and no signoff from Daniel. I've committed the patch assuming that Daniel was the author, but didn't sign off the patch. Your signoff is sufficient for merging purposes. But maybe I was wrong. I'm also assuming that we can merge this into 2.6.36 and not backport it into -stable. But maybe I'm wrong about that too! Talk to me.
If it's useful to have a signoff line from me, you can add it; I guess it wasn't clear in my previous reply that I was signing off on it. Signed-off-by: Daniel De Graaf <redacted>