From: Arnd Bergmann <a...@arndb.de> Building a "W=1" kernel with clang produces a warning about suspicous pointer arithmetic:
drivers/atm/horizon.c:1844:52: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] for (mem = (HDW *) memmap; mem < (HDW *) (memmap + 1); ++mem) The way that the addresses are handled is very obscure, and rewriting it to be more conventional seems fairly pointless, given that this driver probably has no users. Shut up this warning by adding a cast to uintptr_t. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Arnd Bergmann <a...@arndb.de> --- drivers/atm/horizon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/atm/horizon.c b/drivers/atm/horizon.c index 4f2951cbe69c..cd368786b216 100644 --- a/drivers/atm/horizon.c +++ b/drivers/atm/horizon.c @@ -1841,7 +1841,7 @@ static int hrz_init(hrz_dev *dev) printk (" clearing memory"); - for (mem = (HDW *) memmap; mem < (HDW *) (memmap + 1); ++mem) + for (mem = (HDW *) memmap; mem < (HDW *) ((uintptr_t)memmap + 1); ++mem) wr_mem (dev, mem, 0); printk (" tx channels"); -- 2.27.0