mm/mremap: use range flush that does TLB and page walk cache flush

Naresh Kamboju naresh.kamboju at linaro.org
Fri May 14 20:23:05 AEST 2021


The LKFT build system detected these build warnings and errors.

Regressions found on parisc:
  - build/gcc-9-defconfig
  - build/gcc-9-tinyconfig
  - build/gcc-10-allnoconfig
  - build/gcc-10-tinyconfig
  - build/gcc-9-allnoconfig
  - build/gcc-10-defconfig


make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/current ARCH=parisc
CROSS_COMPILE=hppa-linux-gnu- 'CC=sccache hppa-linux-gnu-gcc'
'HOSTCC=sccache gcc'
In file included from /builds/linux/arch/parisc/include/asm/cacheflush.h:7,
                 from /builds/linux/include/linux/highmem.h:12,
                 from /builds/linux/include/linux/pagemap.h:11,
                 from /builds/linux/include/linux/ksm.h:13,
                 from /builds/linux/mm/mremap.c:14:
/builds/linux/mm/mremap.c: In function 'flush_pte_tlb_pwc_range':
/builds/linux/arch/parisc/include/asm/tlbflush.h:20:2: error: 'return'
with a value, in function returning void [-Werror=return-type]
   20 |  __flush_tlb_range((vma)->vm_mm->context, start, end)
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builds/linux/mm/mremap.c:219:9: note: in expansion of macro 'flush_tlb_range'
  219 |  return flush_tlb_range(vma, start, end);
      |         ^~~~~~~~~~~~~~~
/builds/linux/mm/mremap.c:214:33: note: declared here
  214 | #define flush_pte_tlb_pwc_range flush_pte_tlb_pwc_range
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~
/builds/linux/mm/mremap.c:215:20: note: in expansion of macro
'flush_pte_tlb_pwc_range'
  215 | static inline void flush_pte_tlb_pwc_range(struct vm_area_struct *vma,
      |                    ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [/builds/linux/scripts/Makefile.build:273: mm/mremap.o] Error 1

Reported-by: Naresh Kamboju <naresh.kamboju at linaro.org>

steps to reproduce:
---------------------------

#!/bin/sh

# TuxMake is a command line tool and Python library that provides
# portable and repeatable Linux kernel builds across a variety of
# architectures, toolchains, kernel configurations, and make targets.
#
# TuxMake supports the concept of runtimes.
# See https://docs.tuxmake.org/runtimes/, for that to work it requires
# that you install podman or docker on your system.
#
# To install tuxmake on your system globally:
# sudo pip3 install -U tuxmake
#
# See https://docs.tuxmake.org/ for complete documentation.


tuxmake --runtime podman --target-arch parisc --toolchain gcc-9
--kconfig allnoconfig


--
Linaro LKFT
https://lkft.linaro.org


More information about the Linuxppc-dev mailing list