On Thu, Jan 05, 2012 at 12:08:50PM +0800, thfbjyddx wrote:
> hi,
> I've tried to use this patch,

Oh great! Can we share your results?


> but it doesn't work for compiling error on
>  
>  page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, vmf->address);//vmf->
> virtual_address?
>  
> I guess it's for the wrong kernel version?
> can you give me some detail about this or any clue?
> 3x 

Thank you for report. The following should fix.
It depends on kernel configuration. My config didn't catch it.

diff --git a/drivers/char/umem.c b/drivers/char/umem.c
index 4d031b5..853f1ce 100644
--- a/drivers/char/umem.c
+++ b/drivers/char/umem.c
@@ -129,7 +129,7 @@ static int umem_minor_fault(struct umem *umem,
         * vmf->page = fake_vmf->page;
         */
 
-       page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, vmf->address);
+       page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, vmf->virtual_address);
        if (!page)
                return VM_FAULT_OOM;
        if (mem_cgroup_cache_charge(page, vma->vm_mm, GFP_KERNEL)) {



-- 
yamahata

Reply via email to