Re: [next] fs: cifsglob.h:955:20: error: passing argument 2 of 'test_bit' from incompatible pointer type
From: Steve French
Date: Sat Jun 05 2021 - 16:52:50 EST
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 <naresh.kamboju@xxxxxxxxxx> 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 <naresh.kamboju@xxxxxxxxxx>
>
> 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