提交 79435ac7 编写于 作者: V Vineet Gupta

ARC: uaccess: dont use "l" gcc inline asm constraint modifier

This used to setup the LP_COUNT register automatically, but now has been
removed.

There was an earlier fix 3c7c7a2f which fixed instance in delay.h but
somehow missed this one as gcc change had not made its way into
production toolchains and was not pedantic as it is now !

Cc: stable@vger.kernel.org
Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
上级 d7de73b5
...@@ -668,6 +668,7 @@ __arc_strncpy_from_user(char *dst, const char __user *src, long count) ...@@ -668,6 +668,7 @@ __arc_strncpy_from_user(char *dst, const char __user *src, long count)
return 0; return 0;
__asm__ __volatile__( __asm__ __volatile__(
" mov lp_count, %5 \n"
" lp 3f \n" " lp 3f \n"
"1: ldb.ab %3, [%2, 1] \n" "1: ldb.ab %3, [%2, 1] \n"
" breq.d %3, 0, 3f \n" " breq.d %3, 0, 3f \n"
...@@ -684,8 +685,8 @@ __arc_strncpy_from_user(char *dst, const char __user *src, long count) ...@@ -684,8 +685,8 @@ __arc_strncpy_from_user(char *dst, const char __user *src, long count)
" .word 1b, 4b \n" " .word 1b, 4b \n"
" .previous \n" " .previous \n"
: "+r"(res), "+r"(dst), "+r"(src), "=r"(val) : "+r"(res), "+r"(dst), "+r"(src), "=r"(val)
: "g"(-EFAULT), "l"(count) : "g"(-EFAULT), "r"(count)
: "memory"); : "lp_count", "lp_start", "lp_end", "memory");
return res; return res;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册