2022-01-05 14:31:44

by Naresh Kamboju

[permalink] [raw]
Subject: [next] mm/shmem.c:3993:5: error: conflicting types for 'shmem_unuse'; have 'int(unsigned int, long unsigned int *)'

[Please ignore this email if it already reported]
A large number of build failures noticed on Linux next for all arch's with
- tinyconfig
- allnoconfig

Build Error:
-------------
mm/shmem.c:3993:5: error: conflicting types for 'shmem_unuse'; have
'int(unsigned int, long unsigned int *)'
3993 | int shmem_unuse(unsigned int type, unsigned long *fs_pages_to_unuse)
| ^~~~~~~~~~~
In file included from include/linux/khugepaged.h:6,
from mm/shmem.c:37:
include/linux/shmem_fs.h:86:5: note: previous declaration of
'shmem_unuse' with type 'int(unsigned int)'
86 | int shmem_unuse(unsigned int type);
| ^~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:289: mm/shmem.o] Error 1

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

Build link: https://builds.tuxbuild.com/23GvPWRYOYokAPaEnhSYeOKuKCk/
Kconfig: https://builds.tuxbuild.com/23GvPWRYOYokAPaEnhSYeOKuKCk/config

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

tuxmake --runtime podman --target-arch x86_64 --toolchain gcc-11
--kconfig tinyconfig

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


2022-01-05 17:41:16

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [next] mm/shmem.c:3993:5: error: conflicting types for 'shmem_unuse'; have 'int(unsigned int, long unsigned int *)'

On Wed, Jan 05, 2022 at 08:01:19PM +0530, Naresh Kamboju wrote:
> mm/shmem.c:3993:5: error: conflicting types for 'shmem_unuse'; have
> 'int(unsigned int, long unsigned int *)'
> 3993 | int shmem_unuse(unsigned int type, unsigned long *fs_pages_to_unuse)
> | ^~~~~~~~~~~
> In file included from include/linux/khugepaged.h:6,
> from mm/shmem.c:37:
> include/linux/shmem_fs.h:86:5: note: previous declaration of
> 'shmem_unuse' with type 'int(unsigned int)'
> 86 | int shmem_unuse(unsigned int type);
> | ^~~~~~~~~~~

This is "mm: simplify try_to_unuse" in akpm's tree.

It needs a fix that looks something like this:

+++ b/mm/shmem.c
@@ -3990,7 +3990,7 @@ int __init shmem_init(void)
return 0;
}

-int shmem_unuse(unsigned int type, unsigned long *fs_pages_to_unuse)
+int shmem_unuse(unsigned int type)
{
return 0;
}


2022-01-06 02:39:00

by Randy Dunlap

[permalink] [raw]
Subject: Re: [next] mm/shmem.c:3993:5: error: conflicting types for 'shmem_unuse'; have 'int(unsigned int, long unsigned int *)'



On 1/5/22 09:40, Matthew Wilcox wrote:
> On Wed, Jan 05, 2022 at 08:01:19PM +0530, Naresh Kamboju wrote:
>> mm/shmem.c:3993:5: error: conflicting types for 'shmem_unuse'; have
>> 'int(unsigned int, long unsigned int *)'
>> 3993 | int shmem_unuse(unsigned int type, unsigned long *fs_pages_to_unuse)
>> | ^~~~~~~~~~~
>> In file included from include/linux/khugepaged.h:6,
>> from mm/shmem.c:37:
>> include/linux/shmem_fs.h:86:5: note: previous declaration of
>> 'shmem_unuse' with type 'int(unsigned int)'
>> 86 | int shmem_unuse(unsigned int type);
>> | ^~~~~~~~~~~
>
> This is "mm: simplify try_to_unuse" in akpm's tree.
>
> It needs a fix that looks something like this:

Acked-by: Randy Dunlap <[email protected]> # build-tested

thanks.

>
> +++ b/mm/shmem.c
> @@ -3990,7 +3990,7 @@ int __init shmem_init(void)
> return 0;
> }
>
> -int shmem_unuse(unsigned int type, unsigned long *fs_pages_to_unuse)
> +int shmem_unuse(unsigned int type)
> {
> return 0;
> }
>

--
~Randy