powerpc: Fix handling of strncmp with zero len
authorJeff Mahoney <jeffm@suse.com>
Wed, 17 Mar 2010 10:55:51 +0000 (10:55 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Jul 2010 18:10:44 +0000 (11:10 -0700)
commit93718857d91935e7a5845345753174bbd93a1293
treef48b6e61eb017d0136ff9f0c36420c453a0d10c2
parent7a832fb6f2d4c2160975f0f5e09dab1b00d5c3bf
powerpc: Fix handling of strncmp with zero len

commit 637a99022fb119b90fb281715d13172f0394fc12 upstream.

Commit 0119536c, which added the assembly version of strncmp to
powerpc, mentions that it adds two instructions to the version from
boot/string.S to allow it to handle len=0. Unfortunately, it doesn't
always return 0 when that is the case. The length is passed in r5, but
the return value is passed back in r3. In certain cases, this will
happen to work. Otherwise it will pass back the address of the first
string as the return value.

This patch lifts the len <= 0 handling code from memcpy to handle that
case.

Reported by: Christian_Sellars@symantec.com
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/powerpc/lib/string.S