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