Hi,
I love your patch! Yet something to improve:
[auto build test ERROR on hch-configfs/for-next]
[also build test ERROR on linus/master hnaz-linux-mm/master v5.10-rc7]
[cannot apply to mmotm/master next-20201210]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/ira-weiny-intel-com/mm-highmem-R...
base:
git://git.infradead.org/users/hch/configfs.git for-next
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
#
https://github.com/0day-ci/linux/commit/d52646012878888c6a3172a07cd8bdf3d...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
ira-weiny-intel-com/mm-highmem-Remove-deprecated-kmap_atomic/20201211-021920
git checkout d52646012878888c6a3172a07cd8bdf3d0c39723
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/pagemap.h:11,
from include/linux/blkdev.h:14,
from include/linux/blk-cgroup.h:23,
from include/linux/writeback.h:14,
from include/linux/memcontrol.h:22,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/x86/kernel/asm-offsets.c:13:
include/linux/highmem.h: In function 'clear_user_highpage':
> include/linux/highmem.h:229:15: error: implicit declaration of
function 'kmap_local_page'; did you mean 'kmap_to_page'?
[-Werror=implicit-function-declaration]
229 | void *addr =
kmap_local_page(page);
| ^~~~~~~~~~~~~~~
| kmap_to_page
include/linux/highmem.h:229:15: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
> include/linux/highmem.h:231:2: error: implicit declaration of
function 'kunmap_local' [-Werror=implicit-function-declaration]
231 |
kunmap_local(addr);
| ^~~~~~~~~~~~
include/linux/highmem.h: In function 'clear_highpage':
include/linux/highmem.h:282:16: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
282 | void *kaddr = kmap_local_page(page);
| ^~~~~~~~~~~~~~~
include/linux/highmem.h: In function 'zero_user_segments':
include/linux/highmem.h:291:16: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
291 | void *kaddr = kmap_local_page(page);
| ^~~~~~~~~~~~~~~
include/linux/highmem.h: In function 'copy_user_highpage':
include/linux/highmem.h:324:8: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
324 | vfrom = kmap_local_page(from);
| ^
include/linux/highmem.h:325:6: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
325 | vto = kmap_local_page(to);
| ^
include/linux/highmem.h: In function 'copy_highpage':
include/linux/highmem.h:339:8: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
339 | vfrom = kmap_local_page(from);
| ^
include/linux/highmem.h:340:6: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
340 | vto = kmap_local_page(to);
| ^
cc1: some warnings being treated as errors
--
In file included from arch/x86/kvm/vmx/vmx.c:16:
include/linux/highmem.h: In function 'clear_user_highpage':
> include/linux/highmem.h:229:15: error: implicit declaration of
function 'kmap_local_page'; did you mean 'kmap_to_page'?
[-Werror=implicit-function-declaration]
229 | void *addr =
kmap_local_page(page);
| ^~~~~~~~~~~~~~~
| kmap_to_page
include/linux/highmem.h:229:15: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
> include/linux/highmem.h:231:2: error: implicit declaration of
function 'kunmap_local' [-Werror=implicit-function-declaration]
231 |
kunmap_local(addr);
| ^~~~~~~~~~~~
include/linux/highmem.h: In function 'clear_highpage':
include/linux/highmem.h:282:16: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
282 | void *kaddr = kmap_local_page(page);
| ^~~~~~~~~~~~~~~
include/linux/highmem.h: In function 'zero_user_segments':
include/linux/highmem.h:291:16: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
291 | void *kaddr = kmap_local_page(page);
| ^~~~~~~~~~~~~~~
include/linux/highmem.h: In function 'copy_user_highpage':
include/linux/highmem.h:324:8: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
324 | vfrom = kmap_local_page(from);
| ^
include/linux/highmem.h:325:6: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
325 | vto = kmap_local_page(to);
| ^
include/linux/highmem.h: In function 'copy_highpage':
include/linux/highmem.h:339:8: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
339 | vfrom = kmap_local_page(from);
| ^
include/linux/highmem.h:340:6: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
340 | vto = kmap_local_page(to);
| ^
In file included from arch/x86/kvm/vmx/vmx.c:51:
arch/x86/kvm/vmx/capabilities.h: At top level:
arch/x86/kvm/vmx/capabilities.h:7:10: fatal error: lapic.h: No such file or directory
7 | #include "lapic.h"
| ^~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
--
In file included from include/linux/pagemap.h:11,
from include/linux/blkdev.h:14,
from include/linux/blk-cgroup.h:23,
from include/linux/writeback.h:14,
from include/linux/memcontrol.h:22,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/x86/kernel/asm-offsets.c:13:
include/linux/highmem.h: In function 'clear_user_highpage':
> include/linux/highmem.h:229:15: error: implicit declaration of
function 'kmap_local_page'; did you mean 'kmap_to_page'?
[-Werror=implicit-function-declaration]
229 | void *addr =
kmap_local_page(page);
| ^~~~~~~~~~~~~~~
| kmap_to_page
include/linux/highmem.h:229:15: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
> include/linux/highmem.h:231:2: error: implicit declaration of
function 'kunmap_local' [-Werror=implicit-function-declaration]
231 |
kunmap_local(addr);
| ^~~~~~~~~~~~
include/linux/highmem.h: In function 'clear_highpage':
include/linux/highmem.h:282:16: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
282 | void *kaddr = kmap_local_page(page);
| ^~~~~~~~~~~~~~~
include/linux/highmem.h: In function 'zero_user_segments':
include/linux/highmem.h:291:16: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
291 | void *kaddr = kmap_local_page(page);
| ^~~~~~~~~~~~~~~
include/linux/highmem.h: In function 'copy_user_highpage':
include/linux/highmem.h:324:8: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
324 | vfrom = kmap_local_page(from);
| ^
include/linux/highmem.h:325:6: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
325 | vto = kmap_local_page(to);
| ^
include/linux/highmem.h: In function 'copy_highpage':
include/linux/highmem.h:339:8: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
339 | vfrom = kmap_local_page(from);
| ^
include/linux/highmem.h:340:6: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
340 | vto = kmap_local_page(to);
| ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1200: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
In file included from include/linux/pagemap.h:11,
from include/linux/blkdev.h:14,
from include/linux/blk-cgroup.h:23,
from include/linux/writeback.h:14,
from include/linux/memcontrol.h:22,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/x86/kernel/asm-offsets.c:13:
include/linux/highmem.h: In function 'clear_user_highpage':
> include/linux/highmem.h:229:15: error: implicit declaration of
function 'kmap_local_page'; did you mean 'kmap_to_page'?
[-Werror=implicit-function-declaration]
229 | void *addr =
kmap_local_page(page);
| ^~~~~~~~~~~~~~~
| kmap_to_page
include/linux/highmem.h:229:15: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
> include/linux/highmem.h:231:2: error: implicit declaration of
function 'kunmap_local' [-Werror=implicit-function-declaration]
231 |
kunmap_local(addr);
| ^~~~~~~~~~~~
include/linux/highmem.h: In function 'clear_highpage':
include/linux/highmem.h:282:16: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
282 | void *kaddr = kmap_local_page(page);
| ^~~~~~~~~~~~~~~
include/linux/highmem.h: In function 'zero_user_segments':
include/linux/highmem.h:291:16: warning: initialization of 'void *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
291 | void *kaddr = kmap_local_page(page);
| ^~~~~~~~~~~~~~~
include/linux/highmem.h: In function 'copy_user_highpage':
include/linux/highmem.h:324:8: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
324 | vfrom = kmap_local_page(from);
| ^
include/linux/highmem.h:325:6: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
325 | vto = kmap_local_page(to);
| ^
include/linux/highmem.h: In function 'copy_highpage':
include/linux/highmem.h:339:8: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
339 | vfrom = kmap_local_page(from);
| ^
include/linux/highmem.h:340:6: warning: assignment to 'char *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
340 | vto = kmap_local_page(to);
| ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1200: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +229 include/linux/highmem.h
223
224
225 /* when CONFIG_HIGHMEM is not set these will be plain clear/copy_page */
226 #ifndef clear_user_highpage
227 static inline void clear_user_highpage(struct page *page, unsigned long vaddr)
228 {
229 void *addr = kmap_local_page(page);
230 clear_user_page(addr, vaddr, page);
231 kunmap_local(addr);
232 }
233 #endif
234
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org