2021-06-04 09:24:34

by Naresh Kamboju

[permalink] [raw]
Subject: [next] fs: cifsglob.h:955:20: error: passing argument 2 of 'test_bit' from incompatible pointer type

The following builds failed on Linux next-20210604 due to warnings / errors.

- arm (s3c2410_defconfig) with gcc- 8 / 9 / 10
- parisc (defconfig) with gcc-8 / 9 / 10
- powerpc (ppc6xx_defconfig) with gcc- 8 / 9 /10

In file included from fs/cifs/transport.c:38:
fs/cifs/transport.c: In function 'cifs_pick_channel':
fs/cifs/cifsglob.h:955:20: error: passing argument 2 of 'test_bit'
from incompatible pointer type [-Werror=incompatible-pointer-types]
955 | test_bit((index), &(ses)->chans_need_reconnect)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
size_t * {aka unsigned int *}
fs/cifs/transport.c:1065:7: note: in expansion of macro
'CIFS_CHAN_NEEDS_RECONNECT'
1065 | if (CIFS_CHAN_NEEDS_RECONNECT(ses, index))
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/powerpc/include/asm/bitops.h:193,
from include/linux/bitops.h:32,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs/cifs/transport.c:23:
include/asm-generic/bitops/non-atomic.h:104:66: note: expected 'const
volatile long unsigned int *' but argument is of type 'size_t *' {aka
'unsigned int *'}
104 | static inline int test_bit(int nr, const volatile unsigned long *addr)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:272: fs/cifs/transport.o] Error 1
fs/cifs/sess.c: In function 'cifs_chan_set_need_reconnect':
fs/cifs/sess.c:98:22: error: passing argument 2 of 'set_bit' from
incompatible pointer type [-Werror=incompatible-pointer-types]
98 | set_bit(chan_index, &ses->chans_need_reconnect);
^~~~~~~~~~~~~~~~~~~~~~~~~~
|
size_t * {aka unsigned int *}


Reported-by: Naresh Kamboju <[email protected]>

Full build log:
https://gitlab.com/Linaro/lkft/mirrors/next/linux-next/-/jobs/1317929765#L247

Steps to reproduce:
-----------------------------

# 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 arm --toolchain gcc-8 --kconfig
s3c2410_defconfig


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


2021-06-05 20:55:30

by Steve French

[permalink] [raw]
Subject: Re: [next] fs: cifsglob.h:955:20: error: passing argument 2 of 'test_bit' from incompatible pointer type

Probably was reported earlier and this code has been changed. The
multichannel patches are also temporarily removed from for-next while
Shyam is doing some fixes to the series.

On Fri, Jun 4, 2021 at 4:23 AM Naresh Kamboju <[email protected]> wrote:
>
> The following builds failed on Linux next-20210604 due to warnings / errors.
>
> - arm (s3c2410_defconfig) with gcc- 8 / 9 / 10
> - parisc (defconfig) with gcc-8 / 9 / 10
> - powerpc (ppc6xx_defconfig) with gcc- 8 / 9 /10
>
> In file included from fs/cifs/transport.c:38:
> fs/cifs/transport.c: In function 'cifs_pick_channel':
> fs/cifs/cifsglob.h:955:20: error: passing argument 2 of 'test_bit'
> from incompatible pointer type [-Werror=incompatible-pointer-types]
> 955 | test_bit((index), &(ses)->chans_need_reconnect)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> |
> size_t * {aka unsigned int *}
> fs/cifs/transport.c:1065:7: note: in expansion of macro
> 'CIFS_CHAN_NEEDS_RECONNECT'
> 1065 | if (CIFS_CHAN_NEEDS_RECONNECT(ses, index))
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from arch/powerpc/include/asm/bitops.h:193,
> from include/linux/bitops.h:32,
> from include/linux/kernel.h:12,
> from include/linux/list.h:9,
> from include/linux/wait.h:7,
> from include/linux/wait_bit.h:8,
> from include/linux/fs.h:6,
> from fs/cifs/transport.c:23:
> include/asm-generic/bitops/non-atomic.h:104:66: note: expected 'const
> volatile long unsigned int *' but argument is of type 'size_t *' {aka
> 'unsigned int *'}
> 104 | static inline int test_bit(int nr, const volatile unsigned long *addr)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
> cc1: some warnings being treated as errors
> make[3]: *** [scripts/Makefile.build:272: fs/cifs/transport.o] Error 1
> fs/cifs/sess.c: In function 'cifs_chan_set_need_reconnect':
> fs/cifs/sess.c:98:22: error: passing argument 2 of 'set_bit' from
> incompatible pointer type [-Werror=incompatible-pointer-types]
> 98 | set_bit(chan_index, &ses->chans_need_reconnect);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~
> |
> size_t * {aka unsigned int *}
>
>
> Reported-by: Naresh Kamboju <[email protected]>
>
> Full build log:
> https://gitlab.com/Linaro/lkft/mirrors/next/linux-next/-/jobs/1317929765#L247
>
> Steps to reproduce:
> -----------------------------
>
> # 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 arm --toolchain gcc-8 --kconfig
> s3c2410_defconfig
>
>
> --
> Linaro LKFT
> https://lkft.linaro.org



--
Thanks,

Steve