From: Palmer Dabbelt <palmer@rivosinc.com>
To: linux-riscv@lists.infradead.org
Cc: Palmer Dabbelt <palmer@rivosinc.com>
Subject: [PATCH] RISC-V: io: Don't have a void* PCI_IOBASE
Date: Sun, 26 May 2024 14:36:18 -0700 [thread overview]
Message-ID: <20240526213617.12890-2-palmer@rivosinc.com> (raw)
I recently started noticing warnings along the lines of
include/asm-generic/io.h:752:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
insw(addr, buffer, count);
^~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:105:53: note: expanded from macro 'insw'
#define insw(addr, buffer, count) __insw(PCI_IOBASE + (addr), buffer, count)
which are triggered by having PCI_IOBASE be a "void __iomem *". I'm not
quite sure what the right thing to do is here: having it as u8 to make
the pointer arithmetic work seems reasonable to me, but a bunch of other
ports still have it as "void __iomem *".
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
---
Not sure if I just started noticing these, but a bunch show up when
merging Linus' master from this afternoon. Having some sort of fix here
seems reasonable, as "void *" arithmetic is undefined. I didn't check
if the other ports are suffering from this too, I figured I'd just send
a patch so I don't forget about it.
---
arch/riscv/include/asm/io.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/riscv/include/asm/io.h b/arch/riscv/include/asm/io.h
index 1c5c641075d2..a2d2d10c48cf 100644
--- a/arch/riscv/include/asm/io.h
+++ b/arch/riscv/include/asm/io.h
@@ -27,7 +27,7 @@
*/
#ifdef CONFIG_MMU
#define IO_SPACE_LIMIT (PCI_IO_SIZE - 1)
-#define PCI_IOBASE ((void __iomem *)PCI_IO_START)
+#define PCI_IOBASE ((u8 __iomem *)PCI_IO_START)
#endif /* CONFIG_MMU */
/*
--
2.45.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2024-05-26 21:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-26 21:36 Palmer Dabbelt [this message]
2024-05-27 7:44 ` [PATCH] RISC-V: io: Don't have a void* PCI_IOBASE Andreas Schwab
2024-05-27 7:55 ` Nam Cao
2024-05-27 8:03 ` Nam Cao
2024-05-28 22:47 ` Palmer Dabbelt
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=20240526213617.12890-2-palmer@rivosinc.com \
--to=palmer@rivosinc.com \
--cc=linux-riscv@lists.infradead.org \
/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.