2022-11-04 12:16:39

by kernel test robot

[permalink] [raw]
Subject: drivers/soc/apple/rtkit.c:947:38: warning: cast from 'void (*)(struct apple_rtkit *)' to 'void (*)(void *)' converts to incompatible function type

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ee6050c8af96bba2f81e8b0793a1fc2f998fcd20
commit: 9bd1d9a0d8bb1a549831fd98fcc3105960f7068b soc: apple: Add RTKit IPC library
date: 6 months ago
config: s390-randconfig-r002-20221104
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 2bbafe04fe785a9469bea5a3737f8d7d3ce4aca2)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9bd1d9a0d8bb1a549831fd98fcc3105960f7068b
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 9bd1d9a0d8bb1a549831fd98fcc3105960f7068b
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash drivers/soc/apple/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>):

In file included from drivers/soc/apple/rtkit.c:7:
In file included from drivers/soc/apple/rtkit-internal.h:14:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:37:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from drivers/soc/apple/rtkit.c:7:
In file included from drivers/soc/apple/rtkit-internal.h:14:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:35:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from drivers/soc/apple/rtkit.c:7:
In file included from drivers/soc/apple/rtkit-internal.h:14:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> drivers/soc/apple/rtkit.c:947:38: warning: cast from 'void (*)(struct apple_rtkit *)' to 'void (*)(void *)' converts to incompatible function type [-Wcast-function-type-strict]
ret = devm_add_action_or_reset(dev, (void (*)(void *))apple_rtkit_free,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.


vim +947 drivers/soc/apple/rtkit.c

935
936 struct apple_rtkit *devm_apple_rtkit_init(struct device *dev, void *cookie,
937 const char *mbox_name, int mbox_idx,
938 const struct apple_rtkit_ops *ops)
939 {
940 struct apple_rtkit *rtk;
941 int ret;
942
943 rtk = apple_rtkit_init(dev, cookie, mbox_name, mbox_idx, ops);
944 if (IS_ERR(rtk))
945 return rtk;
946
> 947 ret = devm_add_action_or_reset(dev, (void (*)(void *))apple_rtkit_free,
948 rtk);
949 if (ret)
950 return ERR_PTR(ret);
951
952 return rtk;
953 }
954 EXPORT_SYMBOL_GPL(devm_apple_rtkit_init);
955

--
0-DAY CI Kernel Test Service
https://01.org/lkp


Attachments:
(No filename) (7.12 kB)
config (112.99 kB)
Download all attachments

2022-11-04 13:24:01

by Sven Peter

[permalink] [raw]
Subject: Re: drivers/soc/apple/rtkit.c:947:38: warning: cast from 'void (*)(struct apple_rtkit *)' to 'void (*)(void *)' converts to incompatible function type

Hi,

On Fri, Nov 4, 2022, at 13:04, kernel test robot wrote:
> tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> master
> head: ee6050c8af96bba2f81e8b0793a1fc2f998fcd20
> commit: 9bd1d9a0d8bb1a549831fd98fcc3105960f7068b soc: apple: Add RTKit
> IPC library
> date: 6 months ago
> config: s390-randconfig-r002-20221104
> compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project
> 2bbafe04fe785a9469bea5a3737f8d7d3ce4aca2)
> reproduce (this is a W=1 build):
> wget
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install s390 cross compiling tool for clang build
> # apt-get install binutils-s390x-linux-gnu
> #
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9bd1d9a0d8bb1a549831fd98fcc3105960f7068b
> git remote add linus
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout 9bd1d9a0d8bb1a549831fd98fcc3105960f7068b
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1
> O=build_dir ARCH=s390 SHELL=/bin/bash drivers/soc/apple/
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <[email protected]>

Thanks for the report, this instance is especially brain-dead since
apple_rtkit_free isn't even used outside of rtkit.c.
I'll send a fix later as well.


Sven