2022-02-24 15:18:39

by Naresh Kamboju

[permalink] [raw]
Subject: [next] mm/mmap.c:1962:25: error: passing argument 1 of 'vma_find' from incompatible pointer type

Linux next-20220223 arch parisc builds failed due to following errors.
Build configs:
- gcc-11-defconfig
- gcc-11-allnoconfig
- gcc-11-tinyconfig

metadata:
git_ref: master
git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
git_sha: d4a0ae62a277377de396850ed4b709b6bd9b7326
git_describe: next-20220223
arch: parisc
toolchain: gcc-11


Build error:
-----------
mm/mmap.c: In function 'expand_upwards':
mm/mmap.c:1962:25: error: passing argument 1 of 'vma_find' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1962 | next = vma_find(mm, vma->vm_end);
| ^~
| |
| struct mm_struct *
In file included from arch/parisc/include/asm/cacheflush.h:5,
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/backing-dev.h:16,
from mm/mmap.c:14:
include/linux/mm.h:661:54: note: expected 'struct vma_iterator *' but
argument is of type 'struct mm_struct *'
661 | struct vm_area_struct *vma_find(struct vma_iterator *vmi,
unsigned long max)
| ~~~~~~~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors

Reported-by: Linux Kernel Functional Testing <[email protected]>

Steps to reproduce:
------------------
# To install tuxmake on your system globally:
# sudo pip3 install -U tuxmake

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


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

[1] https://builds.tuxbuild.com/25XO7KdJCJcum36gCorICgGU8C5/


2022-02-24 16:58:47

by Liam R. Howlett

[permalink] [raw]
Subject: Re: [next] mm/mmap.c:1962:25: error: passing argument 1 of 'vma_find' from incompatible pointer type

* Naresh Kamboju <[email protected]> [220224 09:03]:
> Linux next-20220223 arch parisc builds failed due to following errors.
> Build configs:
> - gcc-11-defconfig
> - gcc-11-allnoconfig
> - gcc-11-tinyconfig
>
> metadata:
> git_ref: master
> git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
> git_sha: d4a0ae62a277377de396850ed4b709b6bd9b7326
> git_describe: next-20220223
> arch: parisc
> toolchain: gcc-11
>
>
> Build error:
> -----------
> mm/mmap.c: In function 'expand_upwards':
> mm/mmap.c:1962:25: error: passing argument 1 of 'vma_find' from
> incompatible pointer type [-Werror=incompatible-pointer-types]
> 1962 | next = vma_find(mm, vma->vm_end);
> | ^~
> | |
> | struct mm_struct *

I have a fix and will push it into my tree for next - at least it fixes the
below tuxmake command. I am attempting to boot test it. If anyone wants to
try the fix, I've included it below since it is rather small.

- next = vma_find(mm, vma->vm_end);
- if (next && next->vm_start < gap_addr && vma_is_accessible(next)) {
+ next = find_vma_intersection(mm, vma->vm_end, gap_addr);
+ if (next && vma_is_accessible(next)) {


> In file included from arch/parisc/include/asm/cacheflush.h:5,
> 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/backing-dev.h:16,
> from mm/mmap.c:14:
> include/linux/mm.h:661:54: note: expected 'struct vma_iterator *' but
> argument is of type 'struct mm_struct *'
> 661 | struct vm_area_struct *vma_find(struct vma_iterator *vmi,
> unsigned long max)
> | ~~~~~~~~~~~~~~~~~~~~~^~~
> cc1: some warnings being treated as errors
>
> Reported-by: Linux Kernel Functional Testing <[email protected]>
>
> Steps to reproduce:
> ------------------
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
>
> tuxmake --runtime podman --target-arch parisc --toolchain gcc-11
> --kconfig allnoconfig
>
>
> --
> Linaro LKFT
> https://lkft.linaro.org
>
> [1] https://builds.tuxbuild.com/25XO7KdJCJcum36gCorICgGU8C5/