tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: c6d7e3b385f19869ab96e9404c92ff1abc34f2c8 commit: 20adc3e8f39ad4ce68795b6d3f9847f45ccd931a [3345/4062] highmem: Make kunmap_{local,atomic}() take pointers to const void config: parisc-randconfig-r012-20220616 (https://download.01.org/0day-ci/archive/20220616/202206161652.aEEuklTk-lkp@xxxxxxxxx/config) compiler: hppa-linux-gcc (GCC) 11.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=20adc3e8f39ad4ce68795b6d3f9847f45ccd931a git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 20adc3e8f39ad4ce68795b6d3f9847f45ccd931a # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=parisc SHELL=/bin/bash drivers/iio/light/ drivers/net/wwan/t7xx/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/adjd_s311.c:15: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/adjd_s311.c:15: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/adjd_s311.c:15: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/adjd_s311.c:15: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ -- In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/jsa1212.c:16: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/jsa1212.c:16: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/jsa1212.c:16: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/jsa1212.c:16: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ At top level: drivers/iio/light/jsa1212.c:426:36: warning: 'jsa1212_acpi_match' defined but not used [-Wunused-const-variable=] 426 | static const struct acpi_device_id jsa1212_acpi_match[] = { | ^~~~~~~~~~~~~~~~~~ -- In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/ltr501.c:13: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/ltr501.c:13: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/ltr501.c:13: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/ltr501.c:13: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ At top level: drivers/iio/light/ltr501.c:1632:36: warning: 'ltr_acpi_match' defined but not used [-Wunused-const-variable=] 1632 | static const struct acpi_device_id ltr_acpi_match[] = { | ^~~~~~~~~~~~~~ -- In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/rpr0521.c:14: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/rpr0521.c:14: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/rpr0521.c:14: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/rpr0521.c:14: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ At top level: drivers/iio/light/rpr0521.c:1108:36: warning: 'rpr0521_acpi_match' defined but not used [-Wunused-const-variable=] 1108 | static const struct acpi_device_id rpr0521_acpi_match[] = { | ^~~~~~~~~~~~~~~~~~ -- In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/stk3310.c:11: include/linux/highmem-internal.h: In function '__kunmap_local': >> include/linux/highmem-internal.h:203:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 203 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/stk3310.c:11: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ In file included from include/linux/highmem.h:13, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/stk3310.c:11: include/linux/highmem-internal.h: In function '__kunmap_atomic': include/linux/highmem-internal.h:230:31: warning: passing argument 1 of 'kunmap_flush_on_unmap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 230 | kunmap_flush_on_unmap(addr); | ^~~~ In file included from include/linux/cacheflush.h:5, from include/linux/highmem.h:8, from include/linux/bvec.h:10, from include/linux/blk_types.h:10, from include/linux/writeback.h:13, from include/linux/memcontrol.h:22, from include/linux/swap.h:9, from include/linux/suspend.h:5, from include/linux/regulator/consumer.h:35, from include/linux/i2c.h:19, from drivers/iio/light/stk3310.c:11: arch/parisc/include/asm/cacheflush.h:78:48: note: expected 'void *' but argument is of type 'const void *' 78 | static inline void kunmap_flush_on_unmap(void *addr) | ~~~~~~^~~~ At top level: drivers/iio/light/stk3310.c:694:36: warning: 'stk3310_acpi_id' defined but not used [-Wunused-const-variable=] 694 | static const struct acpi_device_id stk3310_acpi_id[] = { | ^~~~~~~~~~~~~~~ .. vim +203 include/linux/highmem-internal.h f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 199 20adc3e8f39ad4 Fabio M. De Francesco 2022-06-15 200 static inline void __kunmap_local(const void *addr) f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 201 { f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 202 #ifdef ARCH_HAS_FLUSH_ON_KUNMAP f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 @203 kunmap_flush_on_unmap(addr); f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 204 #endif f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 205 } f3ba3c710ac5a3 Thomas Gleixner 2020-11-18 206 :::::: The code at line 203 was first introduced by commit :::::: f3ba3c710ac5a30cd058615a9eb62d2ad95bb782 mm/highmem: Provide kmap_local* :::::: TO: Thomas Gleixner <tglx@xxxxxxxxxxxxx> :::::: CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://01.org/lkp