Subject: genirq: Fix 32bit random changes fallout From: Thomas Gleixner Date: Wed, 31 Oct 2012 17:06:19 +0100 On 32bit sytems pointers are surprisingly 32bit wide. So gcc complains correctly about a cast to a different size. Use an cast to unsigned long instead which handles this correctly for bioth 32 and 64 bit. Signed-off-by: Thomas Gleixner Cc: stable-rt@vger.kernel.org --- kernel/irq/manage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-stable/kernel/irq/manage.c =================================================================== --- linux-stable.orig/kernel/irq/manage.c +++ linux-stable/kernel/irq/manage.c @@ -855,7 +855,7 @@ static int irq_thread(void *data) #ifdef CONFIG_PREEMPT_RT_FULL migrate_disable(); add_interrupt_randomness(action->irq, 0, - desc->random_ip ^ (u64) action); + desc->random_ip ^ (unsigned long) action); migrate_enable(); #endif wake_threads_waitq(desc);