ARM: 6482/2: Fix find_next_zero_bit and related assembly
commitf20378d48a50593755e94f157f55d058f2f92202
authorJames Jones <jajones@nvidia.com>
Tue, 23 Nov 2010 23:21:37 +0000 (24 00:21 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 21 Mar 2011 19:44:10 +0000 (21 12:44 -0700)
tree3b31b9e9ce2cb514131c11a04310bc0312e74f21
parentbcaefff16de46a7ca217e71f95de384786ebb4d5
ARM: 6482/2: Fix find_next_zero_bit and related assembly

commit 0e91ec0c06d2cd15071a6021c94840a50e6671aa upstream.

The find_next_bit, find_first_bit, find_next_zero_bit
and find_first_zero_bit functions were not properly
clamping to the maxbit argument at the bit level. They
were instead only checking maxbit at the byte level.
To fix this, add a compare and a conditional move
instruction to the end of the common bit-within-the-
byte code used by all the functions and be sure not to
clobber the maxbit argument before it is used.

Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: James Jones <jajones@nvidia.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/arm/lib/findbit.S