[radeon-alex:amd-mainline-dkms-5.2 2161/2647] include/kcl/kcl_mm.h:43:9: error: too many arguments to function 'get_user_pages'
kbuild test robot
lkp at intel.com
Sat Nov 2 07:23:47 UTC 2019
tree: git://people.freedesktop.org/~agd5f/linux.git amd-mainline-dkms-5.2
head: b027ed8d9051470f4ed6bc071fcde172fe1fc595
commit: f56288ab7a001e359739d486be8aae78cf09081b [2161/2647] drm/amdkcl: Test whether get_user_{pages,pages_remote}() wants {5/6,8} args
config: x86_64-randconfig-g002-201943 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout f56288ab7a001e359739d486be8aae78cf09081b
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>
All errors (new ones prefixed by >>):
from <command-line>:0:
include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_put_unlocked':
include/kcl/kcl_drm.h:347:9: error: implicit declaration of function 'drm_gem_object_unreference_unlocked'; did you mean 'drm_gem_object_put_unlocked'? [-Werror=implicit-function-declaration]
return drm_gem_object_unreference_unlocked(obj);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drm_gem_object_put_unlocked
include/kcl/kcl_drm.h:347:9: warning: 'return' with a value, in function returning void
return drm_gem_object_unreference_unlocked(obj);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/kcl/kcl_drm.h:344:20: note: declared here
static inline void kcl_drm_gem_object_put_unlocked(struct drm_gem_object *obj)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/kcl/kcl_drm.h: At top level:
include/kcl/kcl_drm.h:532:34: error: redefinition of 'drm_debug_printer'
static inline struct drm_printer drm_debug_printer(const char *prefix)
^~~~~~~~~~~~~~~~~
In file included from include/drm/drm_mm.h:49:0,
from include/drm/drm_vma_manager.h:26,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/drm/drm_print.h:219:34: note: previous definition of 'drm_debug_printer' was here
static inline struct drm_printer drm_debug_printer(const char *prefix)
^~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
from <command-line>:0:
include/kcl/kcl_drm.h:607:20: error: static declaration of 'drm_dev_put' follows non-static declaration
static inline void drm_dev_put(struct drm_device *dev)
^~~~~~~~~~~
In file included from include/drm/drmP.h:74:0,
from include/kcl/kcl_drm.h:6,
from drivers/gpu/drm/ttm/backport/backport.h:6,
from <command-line>:0:
include/drm/drm_drv.h:739:6: note: previous declaration of 'drm_dev_put' was here
void drm_dev_put(struct drm_device *dev);
^~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
from <command-line>:0:
include/kcl/kcl_drm.h: In function 'drm_dev_put':
include/kcl/kcl_drm.h:609:9: error: implicit declaration of function 'drm_dev_unref'; did you mean 'drm_dev_enter'? [-Werror=implicit-function-declaration]
return drm_dev_unref(dev);
^~~~~~~~~~~~~
drm_dev_enter
include/kcl/kcl_drm.h:609:9: warning: 'return' with a value, in function returning void
return drm_dev_unref(dev);
^~~~~~~~~~~~~~~~~~
include/kcl/kcl_drm.h:607:20: note: declared here
static inline void drm_dev_put(struct drm_device *dev)
^~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h: In function 'kcl_get_user_pages':
include/kcl/kcl_mm.h:43:24: warning: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
return get_user_pages(tsk, mm, start, nr_pages,
^~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:43:29: warning: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
return get_user_pages(tsk, mm, start, nr_pages,
^~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:43:40: warning: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
return get_user_pages(tsk, mm, start, nr_pages,
^~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: expected 'struct page **' but argument is of type 'long unsigned int'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:44:4: warning: passing argument 5 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
write, force, pages, vmas);
^~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: expected 'struct vm_area_struct **' but argument is of type 'int'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
>> include/kcl/kcl_mm.h:43:9: error: too many arguments to function 'get_user_pages'
return get_user_pages(tsk, mm, start, nr_pages,
^~~~~~~~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h: At top level:
include/kcl/kcl_mm.h:50:28: error: redefinition of 'memalloc_nofs_save'
static inline unsigned int memalloc_nofs_save(void)
^~~~~~~~~~~~~~~~~~
In file included from include/kcl/kcl_mm.h:5:0,
from drivers/gpu/drm/ttm/backport/backport.h:8,
from <command-line>:0:
include/linux/sched/mm.h:248:28: note: previous definition of 'memalloc_nofs_save' was here
static inline unsigned int memalloc_nofs_save(void)
^~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:55:20: error: redefinition of 'memalloc_nofs_restore'
static inline void memalloc_nofs_restore(unsigned int flags)
^~~~~~~~~~~~~~~~~~~~~
In file included from include/kcl/kcl_mm.h:5:0,
from drivers/gpu/drm/ttm/backport/backport.h:8,
from <command-line>:0:
include/linux/sched/mm.h:263:20: note: previous definition of 'memalloc_nofs_restore' was here
static inline void memalloc_nofs_restore(unsigned int flags)
^~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:61:21: error: redefinition of 'kvmalloc'
static inline void *kvmalloc(size_t size, gfp_t flags)
^~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:635:21: note: previous definition of 'kvmalloc' was here
static inline void *kvmalloc(size_t size, gfp_t flags)
^~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:71:21: error: redefinition of 'kvzalloc'
static inline void *kvzalloc(size_t size, gfp_t flags)
^~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:643:21: note: previous definition of 'kvzalloc' was here
static inline void *kvzalloc(size_t size, gfp_t flags)
^~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:81:20: error: static declaration of 'kvfree' follows non-static declaration
static inline void kvfree(const void *addr)
^~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:663:13: note: previous declaration of 'kvfree' was here
extern void kvfree(const void *addr);
^~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:101:21: error: redefinition of 'kvmalloc_array'
static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
^~~~~~~~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:648:21: note: previous definition of 'kvmalloc_array' was here
static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:114:21: error: redefinition of 'kvcalloc'
static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
^~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:658:21: note: previous definition of 'kvcalloc' was here
static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
^~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:121:20: error: redefinition of 'mmgrab'
static inline void mmgrab(struct mm_struct *mm)
^~~~~~
In file included from include/kcl/kcl_mm.h:5:0,
from drivers/gpu/drm/ttm/backport/backport.h:8,
from <command-line>:0:
--
from <command-line>:0:
include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_put_unlocked':
include/kcl/kcl_drm.h:347:9: error: implicit declaration of function 'drm_gem_object_unreference_unlocked'; did you mean 'drm_gem_object_put_unlocked'? [-Werror=implicit-function-declaration]
return drm_gem_object_unreference_unlocked(obj);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drm_gem_object_put_unlocked
include/kcl/kcl_drm.h:347:9: warning: 'return' with a value, in function returning void
return drm_gem_object_unreference_unlocked(obj);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/kcl/kcl_drm.h:344:20: note: declared here
static inline void kcl_drm_gem_object_put_unlocked(struct drm_gem_object *obj)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/kcl/kcl_drm.h: At top level:
include/kcl/kcl_drm.h:532:34: error: redefinition of 'drm_debug_printer'
static inline struct drm_printer drm_debug_printer(const char *prefix)
^~~~~~~~~~~~~~~~~
In file included from include/drm/drm_mm.h:49:0,
from include/drm/drm_vma_manager.h:26,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/drm/drm_print.h:219:34: note: previous definition of 'drm_debug_printer' was here
static inline struct drm_printer drm_debug_printer(const char *prefix)
^~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
from <command-line>:0:
include/kcl/kcl_drm.h:607:20: error: static declaration of 'drm_dev_put' follows non-static declaration
static inline void drm_dev_put(struct drm_device *dev)
^~~~~~~~~~~
In file included from include/drm/drmP.h:74:0,
from include/kcl/kcl_drm.h:6,
from drivers/gpu/drm/ttm/backport/backport.h:6,
from <command-line>:0:
include/drm/drm_drv.h:739:6: note: previous declaration of 'drm_dev_put' was here
void drm_dev_put(struct drm_device *dev);
^~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0,
from <command-line>:0:
include/kcl/kcl_drm.h: In function 'drm_dev_put':
include/kcl/kcl_drm.h:609:9: error: implicit declaration of function 'drm_dev_unref'; did you mean 'drm_dev_enter'? [-Werror=implicit-function-declaration]
return drm_dev_unref(dev);
^~~~~~~~~~~~~
drm_dev_enter
include/kcl/kcl_drm.h:609:9: warning: 'return' with a value, in function returning void
return drm_dev_unref(dev);
^~~~~~~~~~~~~~~~~~
include/kcl/kcl_drm.h:607:20: note: declared here
static inline void drm_dev_put(struct drm_device *dev)
^~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h: In function 'kcl_get_user_pages':
include/kcl/kcl_mm.h:43:24: warning: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
return get_user_pages(tsk, mm, start, nr_pages,
^~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:43:29: warning: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
return get_user_pages(tsk, mm, start, nr_pages,
^~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:43:40: warning: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
return get_user_pages(tsk, mm, start, nr_pages,
^~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: expected 'struct page **' but argument is of type 'long unsigned int'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:44:4: warning: passing argument 5 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
write, force, pages, vmas);
^~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: expected 'struct vm_area_struct **' but argument is of type 'int'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
>> include/kcl/kcl_mm.h:43:9: error: too many arguments to function 'get_user_pages'
return get_user_pages(tsk, mm, start, nr_pages,
^~~~~~~~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:1556:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h: At top level:
include/kcl/kcl_mm.h:50:28: error: redefinition of 'memalloc_nofs_save'
static inline unsigned int memalloc_nofs_save(void)
^~~~~~~~~~~~~~~~~~
In file included from include/kcl/kcl_mm.h:5:0,
from drivers/gpu/drm/ttm/backport/backport.h:8,
from <command-line>:0:
include/linux/sched/mm.h:248:28: note: previous definition of 'memalloc_nofs_save' was here
static inline unsigned int memalloc_nofs_save(void)
^~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:55:20: error: redefinition of 'memalloc_nofs_restore'
static inline void memalloc_nofs_restore(unsigned int flags)
^~~~~~~~~~~~~~~~~~~~~
In file included from include/kcl/kcl_mm.h:5:0,
from drivers/gpu/drm/ttm/backport/backport.h:8,
from <command-line>:0:
include/linux/sched/mm.h:263:20: note: previous definition of 'memalloc_nofs_restore' was here
static inline void memalloc_nofs_restore(unsigned int flags)
^~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:61:21: error: redefinition of 'kvmalloc'
static inline void *kvmalloc(size_t size, gfp_t flags)
^~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:635:21: note: previous definition of 'kvmalloc' was here
static inline void *kvmalloc(size_t size, gfp_t flags)
^~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:71:21: error: redefinition of 'kvzalloc'
static inline void *kvzalloc(size_t size, gfp_t flags)
^~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:643:21: note: previous definition of 'kvzalloc' was here
static inline void *kvzalloc(size_t size, gfp_t flags)
^~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:81:20: error: static declaration of 'kvfree' follows non-static declaration
static inline void kvfree(const void *addr)
^~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:663:13: note: previous declaration of 'kvfree' was here
extern void kvfree(const void *addr);
^~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:101:21: error: redefinition of 'kvmalloc_array'
static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
^~~~~~~~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:648:21: note: previous definition of 'kvmalloc_array' was here
static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
^~~~~~~~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:114:21: error: redefinition of 'kvcalloc'
static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
^~~~~~~~
In file included from include/drm/drm_vma_manager.h:27:0,
from include/kcl/kcl_drm_vma_manager.h:8,
from drivers/gpu/drm/ttm/backport/backport.h:5,
from <command-line>:0:
include/linux/mm.h:658:21: note: previous definition of 'kvcalloc' was here
static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
^~~~~~~~
In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0,
from <command-line>:0:
include/kcl/kcl_mm.h:121:20: error: redefinition of 'mmgrab'
static inline void mmgrab(struct mm_struct *mm)
^~~~~~
In file included from include/kcl/kcl_mm.h:5:0,
from drivers/gpu/drm/ttm/backport/backport.h:8,
from <command-line>:0:
..
vim +/get_user_pages +43 include/kcl/kcl_mm.h
b4f7d254be169a Junwei Zhang 2016-12-23 12
b4f7d254be169a Junwei Zhang 2016-12-23 13 static inline int kcl_get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
b4f7d254be169a Junwei Zhang 2016-12-23 14 unsigned long start, unsigned long nr_pages,
b4f7d254be169a Junwei Zhang 2016-12-23 15 int write, int force, struct page **pages,
b4f7d254be169a Junwei Zhang 2016-12-23 16 struct vm_area_struct **vmas, int *locked)
b4f7d254be169a Junwei Zhang 2016-12-23 17 {
f56288ab7a001e Slava Grigorev 2019-07-10 18 #if !defined(HAVE_8ARGS_GET_USER_PAGES)
f56288ab7a001e Slava Grigorev 2019-07-10 19 if (mm == current->mm) {
f56288ab7a001e Slava Grigorev 2019-07-10 20 #if defined(HAVE_5ARGS_GET_USER_PAGES)
f56288ab7a001e Slava Grigorev 2019-07-10 21 write = ((!!write) & FOLL_WRITE) | ((!!force) & FOLL_FORCE);
b4f7d254be169a Junwei Zhang 2016-12-23 22 return get_user_pages(start, nr_pages, write, pages, vmas);
f56288ab7a001e Slava Grigorev 2019-07-10 23 #else
f56288ab7a001e Slava Grigorev 2019-07-10 24 return get_user_pages(start, nr_pages, write, force, pages,
f56288ab7a001e Slava Grigorev 2019-07-10 25 vmas);
f56288ab7a001e Slava Grigorev 2019-07-10 26 #endif
f56288ab7a001e Slava Grigorev 2019-07-10 27 } else {
f56288ab7a001e Slava Grigorev 2019-07-10 28 #if defined(HAVE_8ARGS_GET_USER_PAGES_REMOTE)
f56288ab7a001e Slava Grigorev 2019-07-10 29 write = ((!!write) & FOLL_WRITE) | ((!!force) & FOLL_FORCE);
b4f7d254be169a Junwei Zhang 2016-12-23 30 return get_user_pages_remote(tsk, mm, start, nr_pages,
b4f7d254be169a Junwei Zhang 2016-12-23 31 write, pages, vmas, locked);
f56288ab7a001e Slava Grigorev 2019-07-10 32 #elif defined(HAVE_7ARGS_GET_USER_PAGES_REMOTE)
f56288ab7a001e Slava Grigorev 2019-07-10 33 write = ((!!write) & FOLL_WRITE) | ((!!force) & FOLL_FORCE);
b4f7d254be169a Junwei Zhang 2016-12-23 34 return get_user_pages_remote(tsk, mm, start, nr_pages,
b4f7d254be169a Junwei Zhang 2016-12-23 35 write, pages, vmas);
f56288ab7a001e Slava Grigorev 2019-07-10 36 #else
b4f7d254be169a Junwei Zhang 2016-12-23 37 return get_user_pages_remote(tsk, mm, start, nr_pages,
b4f7d254be169a Junwei Zhang 2016-12-23 38 write, force, pages, vmas);
f56288ab7a001e Slava Grigorev 2019-07-10 39 #endif
f56288ab7a001e Slava Grigorev 2019-07-10 40 }
b4f7d254be169a Junwei Zhang 2016-12-23 41 #else
b4f7d254be169a Junwei Zhang 2016-12-23 42 write = !!(write & FOLL_WRITE);
b4f7d254be169a Junwei Zhang 2016-12-23 @43 return get_user_pages(tsk, mm, start, nr_pages,
b4f7d254be169a Junwei Zhang 2016-12-23 44 write, force, pages, vmas);
b4f7d254be169a Junwei Zhang 2016-12-23 45 #endif
b4f7d254be169a Junwei Zhang 2016-12-23 46 }
b4f7d254be169a Junwei Zhang 2016-12-23 47
:::::: The code at line 43 was first introduced by commit
:::::: b4f7d254be169a27d8759eff4cdc418427ad10a3 drm/amdkcl: [4.6] fix kcl_get_user_pages()
:::::: TO: Junwei Zhang <Jerry.Zhang at amd.com>
:::::: CC: Chengming Gui <Jack.Gui at amd.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 33289 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20191102/37a868c1/attachment-0001.gz>
More information about the dri-devel
mailing list