aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorMike Ditto <mditto@consentry.com>2008-10-17 09:27:51 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2008-10-21 15:17:48 +1100
commit59fd6b8cc0975b88e35f6ca2318b8cee77d3a508 (patch)
treebca9e11375be03e5cbe71cc9962c37993bb3382c /arch/powerpc
parente81703724a966120ace6504c993bda9e084cbf3e (diff)
powerpc: Fix boot wrapper memcmp() called with zero length argument
I noticed, when trying to use, e.g., node = find_node_by_prop_value(prev, "booleanprop", "", 0)) to search for all nodes with a certain boolean property, that memcmp() returns garbage when comparing zero bytes. It should return zero. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/boot/string.S4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/boot/string.S b/arch/powerpc/boot/string.S
index 643e4cb2f11..acc9428f278 100644
--- a/arch/powerpc/boot/string.S
+++ b/arch/powerpc/boot/string.S
@@ -235,7 +235,7 @@ memchr:
.globl memcmp
memcmp:
cmpwi 0,r5,0
- blelr
+ ble 2f
mtctr r5
addi r6,r3,-1
addi r4,r4,-1
@@ -244,6 +244,8 @@ memcmp:
subf. r3,r0,r3
bdnzt 2,1b
blr
+2: li r3,0
+ blr
/*