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

Commit 1de9e46c authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Fix strncpy_from_user macro



Problem happens when len in strncpy_from_user is setup
and passing string has len-1 chars + \0 terminated
character. In this case was returned incorrect length
of the string.
It should always retunrs the length of the string
(not including the trailing NULL).

Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
parent 836dc9e3
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -38,15 +38,14 @@ __strncpy_user:
	addik	r3,r7,0		/* temp_count = len */
1:
	lbu	r4,r6,r0
	beqid	r4,2f
	sb	r4,r5,r0

	addik	r3,r3,-1
	beqi	r3,2f		/* break on len */

	addik	r5,r5,1
	bneid	r4,1b
	addik	r6,r6,1		/* delay slot */
	addik	r3,r3,1		/* undo "temp_count--" */

	addik	r3,r3,-1
	bnei	r3,1b		/* break on len */
2:
	rsubk	r3,r3,r7	/* temp_count = len - temp_count */
3: