linux/arch/mips/lib
David Daney 0c81157b46 MIPS: Fix logic errors in bitops.c
commit 92d11594f6 (MIPS: Remove irqflags.h dependency from bitops.h)
factored some of the bitops code out into a separate file
(arch/mips/lib/bitops.c).  Unfortunately the logic converting a bit
mask into a boolean result was lost in some of the functions.  We had:

   int res;
   unsigned long shifted_result_bit;
   .
   .
   .
   res = shifted_result_bit;
   return res;

Which truncates off the high 32 bits (thus yielding an incorrect
value) on 64-bit systems.

The manifestation of this is that a non-SMP 64-bit kernel will not
boot as the bitmap operations in bootmem.c are all screwed up.

Signed-off-by: David Daney <david.daney@cavium.com>
Cc:  linux-mips@linux-mips.org
Cc: Jim Quinlan <jim2101024@gmail.com>
Cc: stable@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/4965/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2013-03-12 18:57:47 +01:00
..
ashldi3.c [MIPS] Fix optimization for size build. 2006-06-19 17:39:16 +01:00
ashrdi3.c [MIPS] Fix optimization for size build. 2006-06-19 17:39:16 +01:00
bitops.c MIPS: Fix logic errors in bitops.c 2013-03-12 18:57:47 +01:00
cmpdi2.c [MIPS] Add __cmpdi2 2007-08-27 02:17:00 +01:00
csum_partial.S MIPS: Use CONFIG_CPU_MIPSR2 in csum_partial.S 2013-03-12 10:18:18 +01:00
delay.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
dump_tlb.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
iomap-pci.c mips: use the the PCI controller's io_map_base 2012-01-31 23:20:30 +02:00
iomap.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
libgcc.h MIPS: libgcc.h: Checkpatch cleanup 2010-04-12 17:26:15 +01:00
lshrdi3.c [MIPS] Fix optimization for size build. 2006-06-19 17:39:16 +01:00
Makefile MIPS: Make irqflags.h functions preempt-safe for non-mipsr2 cpus 2012-11-09 10:59:21 +01:00
memcpy.S MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
memset.S MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mips-atomic.c MIPS: Fix crash that occurs when function tracing is enabled 2012-11-23 18:44:38 +01:00
r3k_dump_tlb.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
strlen_user.S [MIPS] Eleminate local symbols from the symbol table. 2008-01-29 10:14:59 +00:00
strncpy_user.S MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
strnlen_user.S MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
ucmpdi2.c [MIPS] Export __ucmpdi2 to modules. 2008-03-12 14:14:41 +00:00
uncached.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00