stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/7] ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr()
       [not found] <20220617144031.2549432-1-alexandr.lobakin@intel.com>
@ 2022-06-17 14:40 ` Alexander Lobakin
  0 siblings, 0 replies; only message in thread
From: Alexander Lobakin @ 2022-06-17 14:40 UTC (permalink / raw)
  To: Arnd Bergmann, Yury Norov
  Cc: Alexander Lobakin, Andy Shevchenko, Mark Rutland, Matt Turner,
	Brian Cain, Geert Uytterhoeven, Yoshinori Sato, Rich Felker,
	David S. Miller, Kees Cook, Peter Zijlstra (Intel),
	Marco Elver, Borislav Petkov, Tony Luck, Maciej Fijalkowski,
	Jesse Brandeburg, Greg Kroah-Hartman, linux-alpha, linux-hexagon,
	linux-ia64, linux-m68k, linux-sh, sparclinux, linux-arch,
	linux-kernel, stable, kernel test robot

test_bit(), as any other bitmap op, takes `unsigned long *` as a
second argument (pointer to the actual bitmap), as any bitmap
itself is an array of unsigned longs. However, the ia64_get_irr()
code passes a ref to `u64` as a second argument.
This works with the ia64 bitops implementation due to that they
have `void *` as the second argument and then cast it later on.
This works with the bitmap API itself due to that `unsigned long`
has the same size on ia64 as `u64` (`unsigned long long`), but
from the compiler PoV those two are different.
Define @irr as `unsigned long` to fix that. That implies no
functional changes. Has been hidden for 16 years!

Fixes: a58786917ce2 ("[IA64] avoid broken SAL_CACHE_FLUSH implementations")
Cc: stable@vger.kernel.org # 2.6.16+
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Yury Norov <yury.norov@gmail.com>
---
 arch/ia64/include/asm/processor.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/ia64/include/asm/processor.h b/arch/ia64/include/asm/processor.h
index 7cbce290f4e5..757c2f6d8d4b 100644
--- a/arch/ia64/include/asm/processor.h
+++ b/arch/ia64/include/asm/processor.h
@@ -538,7 +538,7 @@ ia64_get_irr(unsigned int vector)
 {
 	unsigned int reg = vector / 64;
 	unsigned int bit = vector % 64;
-	u64 irr;
+	unsigned long irr;
 
 	switch (reg) {
 	case 0: irr = ia64_getreg(_IA64_REG_CR_IRR0); break;
-- 
2.36.1


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-17 16:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20220617144031.2549432-1-alexandr.lobakin@intel.com>
2022-06-17 14:40 ` [PATCH v3 1/7] ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr() Alexander Lobakin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).