diff options
author | Maciej W. Rozycki <macro@codesourcery.com> | 2014-11-15 17:08:09 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-11-24 01:45:36 -0500 |
commit | 2fabc7d25da725630acdab7aa80be55559ae4702 (patch) | |
tree | ca02d091c53b02668c0cdcafac44ef5dc9e3712e /arch | |
parent | c441d4a54c6ee9f0650a4013da70119d263c7feb (diff) |
MIPS: signal.c: Fix an invalid cast in ISA mode bit handling
Fix:
arch/mips/kernel/signal.c: In function 'handle_signal':
arch/mips/kernel/signal.c:533:21: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
unsigned int tmp = (unsigned int)current->mm->context.vdso;
^
arch/mips/kernel/signal.c:536:9: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
vdso = (void *)tmp;
^
cc1: all warnings being treated as errors
when building a 64-bit kernel.
This is not really a supported configuration, but the cast is wrong
either way, Linux makes the assumption that sizeof(void *) equals
sizeof(unsigned long) and therefore the latter type is expected to be
used where integer operations have to be applied to pointers for some
reason.
Signed-off-by: Maciej W. Rozycki <macro@codesourcery.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/8480/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/kernel/signal.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c index 1d57605e4615..0422bf1f0047 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c | |||
@@ -530,7 +530,7 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) | |||
530 | struct mips_abi *abi = current->thread.abi; | 530 | struct mips_abi *abi = current->thread.abi; |
531 | #ifdef CONFIG_CPU_MICROMIPS | 531 | #ifdef CONFIG_CPU_MICROMIPS |
532 | void *vdso; | 532 | void *vdso; |
533 | unsigned int tmp = (unsigned int)current->mm->context.vdso; | 533 | unsigned long tmp = (unsigned long)current->mm->context.vdso; |
534 | 534 | ||
535 | set_isa16_mode(tmp); | 535 | set_isa16_mode(tmp); |
536 | vdso = (void *)tmp; | 536 | vdso = (void *)tmp; |