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

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
...@@ -38,15 +38,14 @@ __strncpy_user: ...@@ -38,15 +38,14 @@ __strncpy_user:
addik r3,r7,0 /* temp_count = len */ addik r3,r7,0 /* temp_count = len */
1: 1:
lbu r4,r6,r0 lbu r4,r6,r0
beqid r4,2f
sb r4,r5,r0 sb r4,r5,r0
addik r3,r3,-1
beqi r3,2f /* break on len */
addik r5,r5,1 addik r5,r5,1
bneid r4,1b
addik r6,r6,1 /* delay slot */ addik r6,r6,1 /* delay slot */
addik r3,r3,1 /* undo "temp_count--" */
addik r3,r3,-1
bnei r3,1b /* break on len */
2: 2:
rsubk r3,r3,r7 /* temp_count = len - temp_count */ rsubk r3,r3,r7 /* temp_count = len - temp_count */
3: 3:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment