From: Baoquan He <bhe@redhat.com>
To: kernel test robot <lkp@intel.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>,
Niklas Schnelle <schnelle@linux.ibm.com>,
Christoph Hellwig <hch@lst.de>,
"Mike Rapoport (IBM)" <rppt@kernel.org>
Subject: Re: [akpm-mm:mm-unstable 86/125] drivers/irqchip/irq-al-fic.c:281:2: error: call to undeclared function 'iounmap'; ISO C99 and later do not support implicit function declarations
Date: Tue, 11 Jul 2023 08:45:20 +0800 [thread overview]
Message-ID: <ZKymIF5NdqXP1ydb@MiWiFi-R3L-srv> (raw)
In-Reply-To: <202307110516.V0qgum1Q-lkp@intel.com>
Hi,
On 07/11/23 at 05:22am, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
> head: 17712b3b36c898462c3d31d4b47bd069e87359c5
> commit: 7aeb1874c9d6e390a405529c7eec76d2486f65d8 [86/125] s390: mm: convert to GENERIC_IOREMAP
> config: s390-randconfig-r015-20230710 (https://download.01.org/0day-ci/archive/20230711/202307110516.V0qgum1Q-lkp@intel.com/config)
> compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
> reproduce: (https://download.01.org/0day-ci/archive/20230711/202307110516.V0qgum1Q-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202307110516.V0qgum1Q-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> In file included from drivers/irqchip/irq-al-fic.c:7:
> In file included from include/linux/irq.h:20:
> In file included from include/linux/io.h:13:
> In file included from arch/s390/include/asm/io.h:78:
> include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 547 | val = __raw_readb(PCI_IOBASE + addr);
Thanks for reporting. I am not gonna to fix it because Nathan told me
there had been a series specifically taking care of the PCI_IOBASE
warnings from Niklas. Quote Nathan's words here for reference:
https://lore.kernel.org/all/20230612160237.GA199007@dev-arch.thelio-3990X/T/#u
===
I believe that this series [1] by Niklas Schnelle should take care of
the PCI_IOBASE warnings (which are not Hexagon specific), so there is no
need to worry about them when they show up in build reports.
[1]: https://lore.kernel.org/20230522105049.1467313-1-schnelle@linux.ibm.com/
Cheers,
Nathan
===
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 560 | 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'
> 37 | #define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
> | ^
> include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
> 102 | #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
> | ^
> In file included from drivers/irqchip/irq-al-fic.c:7:
> In file included from include/linux/irq.h:20:
> In file included from include/linux/io.h:13:
> In file included from arch/s390/include/asm/io.h:78:
> include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 573 | 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'
> 35 | #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
> | ^
> include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
> 115 | #define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
> | ^
> In file included from drivers/irqchip/irq-al-fic.c:7:
> In file included from include/linux/irq.h:20:
> In file included from include/linux/io.h:13:
> In file included from arch/s390/include/asm/io.h:78:
> include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 584 | __raw_writeb(value, PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 692 | readsb(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 700 | readsw(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 708 | readsl(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 717 | writesb(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 726 | writesw(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 735 | writesl(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> >> drivers/irqchip/irq-al-fic.c:281:2: error: call to undeclared function 'iounmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 281 | iounmap(base);
> | ^
> arch/s390/include/asm/io.h:29:17: note: expanded from macro 'iounmap'
> 29 | #define iounmap iounmap
> | ^
> drivers/irqchip/irq-al-fic.c:281:2: note: did you mean 'vunmap'?
> arch/s390/include/asm/io.h:29:17: note: expanded from macro 'iounmap'
> 29 | #define iounmap iounmap
> | ^
> include/linux/vmalloc.h:167:13: note: 'vunmap' declared here
> 167 | extern void vunmap(const void *addr);
> | ^
> 12 warnings and 1 error generated.
>
>
> vim +/iounmap +281 drivers/irqchip/irq-al-fic.c
>
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 236
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 237 static int __init al_fic_init_dt(struct device_node *node,
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 238 struct device_node *parent)
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 239 {
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 240 int ret;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 241 void __iomem *base;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 242 unsigned int parent_irq;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 243 struct al_fic *fic;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 244
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 245 if (!parent) {
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 246 pr_err("%s: unsupported - device require a parent\n",
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 247 node->name);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 248 return -EINVAL;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 249 }
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 250
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 251 base = of_iomap(node, 0);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 252 if (!base) {
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 253 pr_err("%s: fail to map memory\n", node->name);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 254 return -ENOMEM;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 255 }
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 256
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 257 parent_irq = irq_of_parse_and_map(node, 0);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 258 if (!parent_irq) {
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 259 pr_err("%s: fail to map irq\n", node->name);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 260 ret = -EINVAL;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 261 goto err_unmap;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 262 }
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 263
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 264 fic = al_fic_wire_init(node,
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 265 base,
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 266 node->name,
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 267 parent_irq);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 268 if (IS_ERR(fic)) {
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 269 pr_err("%s: fail to initialize irqchip (%lu)\n",
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 270 node->name,
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 271 PTR_ERR(fic));
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 272 ret = PTR_ERR(fic);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 273 goto err_irq_dispose;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 274 }
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 275
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 276 return 0;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 277
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 278 err_irq_dispose:
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 279 irq_dispose_mapping(parent_irq);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 280 err_unmap:
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 @281 iounmap(base);
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 282
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 283 return ret;
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 284 }
> 1eb77c3bcdb70f Talel Shenhar 2019-06-10 285
>
> :::::: The code at line 281 was first introduced by commit
> :::::: 1eb77c3bcdb70f2501f419b3da45b19acaf01072 irqchip/al-fic: Introduce Amazon's Annapurna Labs Fabric Interrupt Controller Driver
>
> :::::: TO: Talel Shenhar <talel@amazon.com>
> :::::: CC: Marc Zyngier <marc.zyngier@arm.com>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
next prev parent reply other threads:[~2023-07-11 0:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-10 21:22 [akpm-mm:mm-unstable 86/125] drivers/irqchip/irq-al-fic.c:281:2: error: call to undeclared function 'iounmap'; ISO C99 and later do not support implicit function declarations kernel test robot
2023-07-11 0:45 ` Baoquan He [this message]
2023-07-11 17:20 ` Nathan Chancellor
2023-07-12 0:29 ` Baoquan He
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZKymIF5NdqXP1ydb@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=hch@lst.de \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=rppt@kernel.org \
--cc=schnelle@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.