Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 331c4659 authored by Gerald Schaefer's avatar Gerald Schaefer Committed by Linus Torvalds
Browse files

[PATCH] s390: fix strnlen_user return value



strnlen_user is supposed to return then length count + 1 if no terminating \0
is found, and it should return 0 on exception.  Found by David Howells
<dhowells@redhat.com>.

Signed-off-by: default avatarGerald Schaefer <geraldsc@de.ibm.com>
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Acked-By: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent e96fb230
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -198,12 +198,12 @@ __strnlen_user_asm:
0:	srst	%r2,%r1
	jo	0b
	sacf	0
	jh	1f		# \0 found in string ?
	ahi	%r2,1		# strnlen_user result includes the \0
1:	slr	%r2,%r3
				# or return count+1 if \0 not found
	slr	%r2,%r3
	br	%r14
2:	sacf	0
	lhi	%r2,-EFAULT
	slr	%r2,%r2		# return 0 on exception
	br	%r14
	.section __ex_table,"a"
	.long	0b,2b
+3 −3
Original line number Diff line number Diff line
@@ -194,12 +194,12 @@ __strnlen_user_asm:
0:	srst	%r2,%r1
	jo	0b
	sacf	0
	jh	1f		# \0 found in string ?
	aghi	%r2,1		# strnlen_user result includes the \0
1:	slgr	%r2,%r3
				# or return count+1 if \0 not found
	slgr	%r2,%r3
	br	%r14
2:	sacf	0
	lghi	%r2,-EFAULT
	slgr	%r2,%r2		# return 0 on exception
	br	%r14
	.section __ex_table,"a"
	.quad	0b,2b