diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2017-12-08 08:26:58 -0800 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2017-12-20 12:41:46 -0800 |
commit | 79435ac78d160e4c245544d457850a56f805ac0d (patch) | |
tree | 9416b54b5a0d1c71b1cc1140c28f98f79ea0a417 /arch/arc/include | |
parent | d7de73b586b2db540187ff8a077330fa1a8efd64 (diff) | |
download | op-kernel-dev-79435ac78d160e4c245544d457850a56f805ac0d.zip op-kernel-dev-79435ac78d160e4c245544d457850a56f805ac0d.tar.gz |
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 3c7c7a2fc8811 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: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include')
-rw-r--r-- | arch/arc/include/asm/uaccess.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arc/include/asm/uaccess.h b/arch/arc/include/asm/uaccess.h index f35974e..c9173c0 100644 --- a/arch/arc/include/asm/uaccess.h +++ b/arch/arc/include/asm/uaccess.h @@ -668,6 +668,7 @@ __arc_strncpy_from_user(char *dst, const char __user *src, long count) return 0; __asm__ __volatile__( + " mov lp_count, %5 \n" " lp 3f \n" "1: ldb.ab %3, [%2, 1] \n" " breq.d %3, 0, 3f \n" @@ -684,8 +685,8 @@ __arc_strncpy_from_user(char *dst, const char __user *src, long count) " .word 1b, 4b \n" " .previous \n" : "+r"(res), "+r"(dst), "+r"(src), "=r"(val) - : "g"(-EFAULT), "l"(count) - : "memory"); + : "g"(-EFAULT), "r"(count) + : "lp_count", "lp_start", "lp_end", "memory"); return res; } |