Skip to content

Commit 2a96661

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
David writes: "Sparc fixes: The main bit here is fixing how fallback system calls are handled in the sparc vDSO. Unfortunately, I fat fingered the commit and some perf debugging hacks slipped into the vDSO fix, which I revert in the very next commit." * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc: Revert unintended perf changes. sparc: vDSO: Silence an uninitialized variable warning sparc: Fix syscall fallback bugs in VDSO.
2 parents 7555c5d + 27faeeb commit 2a96661

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

arch/sparc/vdso/vclock_gettime.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,19 @@
3333
#define TICK_PRIV_BIT (1ULL << 63)
3434
#endif
3535

36+
#ifdef CONFIG_SPARC64
3637
#define SYSCALL_STRING \
3738
"ta 0x6d;" \
38-
"sub %%g0, %%o0, %%o0;" \
39+
"bcs,a 1f;" \
40+
" sub %%g0, %%o0, %%o0;" \
41+
"1:"
42+
#else
43+
#define SYSCALL_STRING \
44+
"ta 0x10;" \
45+
"bcs,a 1f;" \
46+
" sub %%g0, %%o0, %%o0;" \
47+
"1:"
48+
#endif
3949

4050
#define SYSCALL_CLOBBERS \
4151
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \

arch/sparc/vdso/vma.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,9 @@ static __init int vdso_setup(char *s)
262262
unsigned long val;
263263

264264
err = kstrtoul(s, 10, &val);
265+
if (err)
266+
return err;
265267
vdso_enabled = val;
266-
return err;
268+
return 0;
267269
}
268270
__setup("vdso=", vdso_setup);

0 commit comments

Comments
 (0)