瀏覽代碼

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>
Mike Ditto 16 年之前
父節點
當前提交
59fd6b8cc0
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      arch/powerpc/boot/string.S

+ 3 - 1
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
 
 
 /*