Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Mike Ditto and committed by
Benjamin Herrenschmidt
59fd6b8c e8170372

+3 -1
+3 -1
arch/powerpc/boot/string.S
··· 235 235 .globl memcmp 236 236 memcmp: 237 237 cmpwi 0,r5,0 238 - blelr 238 + ble 2f 239 239 mtctr r5 240 240 addi r6,r3,-1 241 241 addi r4,r4,-1 ··· 243 243 lbzu r0,1(r4) 244 244 subf. r3,r0,r3 245 245 bdnzt 2,1b 246 + blr 247 + 2: li r3,0 246 248 blr 247 249 248 250