Re: [PATCH] staging: ion: make the pte default none PTE_RDONLY

From: kbuild test robot
Date: Thu Jan 14 2016 - 22:12:12 EST


Hi Chen,

[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v4.4 next-20160114]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url: https://github.com/0day-ci/linux/commits/Chen-Feng/staging-ion-make-the-pte-default-none-PTE_RDONLY/20160115-104450
config: ia64-allyesconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=ia64

All error/warnings (new ones prefixed by >>):

In file included from arch/ia64/include/asm/ptrace.h:45:0,
from arch/ia64/include/asm/processor.h:19,
from include/linux/mutex.h:19,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:15,
from include/linux/kobject.h:21,
from include/linux/device.h:17,
from drivers/staging/android/ion/ion.c:18:
drivers/staging/android/ion/ion.c: In function 'ion_mmap':
>> arch/ia64/include/asm/page.h:183:25: error: 'pgprot_t' has no member named 'pte'
# define pte_val(x) ((x).pte)
^
arch/ia64/include/asm/page.h:191:31: note: in definition of macro '__pte'
# define __pte(x) ((pte_t) { (x) } )
^
>> arch/ia64/include/asm/pgtable.h:311:33: note: in expansion of macro 'pte_val'
#define pte_mkdirty(pte) (__pte(pte_val(pte) | _PAGE_D))
^
>> drivers/staging/android/ion/ion.c:1030:22: note: in expansion of macro 'pte_mkdirty'
vma->vm_page_prot = pte_mkdirty(vma->vm_page_prot);
^

vim +/pte_mkdirty +1030 drivers/staging/android/ion/ion.c

1014 return -EINVAL;
1015 }
1016
1017 if (ion_buffer_fault_user_mappings(buffer)) {
1018 vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND |
1019 VM_DONTDUMP;
1020 vma->vm_private_data = buffer;
1021 vma->vm_ops = &ion_vma_ops;
1022 ion_vm_open(vma);
1023 return 0;
1024 }
1025
1026 if (!(buffer->flags & ION_FLAG_CACHED))
1027 vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
1028
1029 /*Default writeable*/
> 1030 vma->vm_page_prot = pte_mkdirty(vma->vm_page_prot);
1031
1032 mutex_lock(&buffer->lock);
1033 /* now map it to userspace */
1034 ret = buffer->heap->ops->map_user(buffer->heap, buffer, vma);
1035 mutex_unlock(&buffer->lock);
1036
1037 if (ret)
1038 pr_err("%s: failure mapping buffer to userspace\n",

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data