diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-09-27 19:43:02 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-29 16:12:41 -0700 |
commit | 3a1d5c84ed2fa4034f86e3b204129c139471516e (patch) | |
tree | 621b55281a61bdac15efe36ea00dd30fdba49cb5 /arch/sparc/lib/copy_user.S | |
parent | d6c641026dec68acfb4b0baa98aad960e963ed97 (diff) | |
download | talos-op-linux-3a1d5c84ed2fa4034f86e3b204129c139471516e.tar.gz talos-op-linux-3a1d5c84ed2fa4034f86e3b204129c139471516e.zip |
[SPARC]: Don't zero out tail during copy_from_user_inatomic().
Actually, since we use the same code for all the copying
types in and out of userspace, we check at runtime whether
preemption is disabled.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/lib/copy_user.S')
-rw-r--r-- | arch/sparc/lib/copy_user.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sparc/lib/copy_user.S b/arch/sparc/lib/copy_user.S index 577505b692ae..ef095b6c43b1 100644 --- a/arch/sparc/lib/copy_user.S +++ b/arch/sparc/lib/copy_user.S @@ -14,6 +14,7 @@ #include <asm/ptrace.h> #include <asm/asmmacro.h> #include <asm/page.h> +#include <asm/thread_info.h> /* Work around cpp -rob */ #define ALLOC #alloc @@ -366,6 +367,9 @@ fixupretl: blu 1f cmp %o1, %g1 bgeu 1f + ld [%g6 + TI_PREEMPT], %g1 + cmp %g1, 0 + bne 1f nop save %sp, -64, %sp mov %i0, %o0 |