Skip to content

Commit 8456e98

Browse files
committed
Merge branch 'parisc-5.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull parisc fixes from Helge Deller: "Fix ptrace syscall number modification which has been broken since kernel v4.5 and provide alternative email addresses for the remaining users of the retired parisc-linux.org email domain" * 'parisc-5.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: CREDITS/MAINTAINERS: Retire parisc-linux.org email domain parisc: Fix ptrace syscall number modification
2 parents 77dc118 + 71d73a0 commit 8456e98

File tree

3 files changed

+32
-22
lines changed

3 files changed

+32
-22
lines changed

CREDITS

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -842,10 +842,9 @@ D: ax25-utils maintainer.
842842

843843
N: Helge Deller
844844
E: deller@gmx.de
845-
E: hdeller@redhat.de
846-
D: PA-RISC Linux hacker, LASI-, ASP-, WAX-, LCD/LED-driver
847-
S: Schimmelsrain 1
848-
S: D-69231 Rauenberg
845+
W: http://www.parisc-linux.org/
846+
D: PA-RISC Linux architecture maintainer
847+
D: LASI-, ASP-, WAX-, LCD/LED-driver
849848
S: Germany
850849

851850
N: Jean Delvare
@@ -1361,7 +1360,7 @@ S: Stellenbosch, Western Cape
13611360
S: South Africa
13621361

13631362
N: Grant Grundler
1364-
E: grundler@parisc-linux.org
1363+
E: grantgrundler@gmail.com
13651364
W: http://obmouse.sourceforge.net/
13661365
W: http://www.parisc-linux.org/
13671366
D: obmouse - rewrote Olivier Florent's Omnibook 600 "pop-up" mouse driver
@@ -2492,7 +2491,7 @@ S: Syracuse, New York 13206
24922491
S: USA
24932492

24942493
N: Kyle McMartin
2495-
E: kyle@parisc-linux.org
2494+
E: kyle@mcmartin.ca
24962495
D: Linux/PARISC hacker
24972496
D: AD1889 sound driver
24982497
S: Ottawa, Canada
@@ -3780,14 +3779,13 @@ S: 21513 Conradia Ct
37803779
S: Cupertino, CA 95014
37813780
S: USA
37823781

3783-
N: Thibaut Varene
3784-
E: T-Bone@parisc-linux.org
3785-
W: http://www.parisc-linux.org/~varenet/
3786-
P: 1024D/B7D2F063 E67C 0D43 A75E 12A5 BB1C FA2F 1E32 C3DA B7D2 F063
3782+
N: Thibaut Varène
3783+
E: hacks+kernel@slashdirt.org
3784+
W: http://hacks.slashdirt.org/
37873785
D: PA-RISC port minion, PDC and GSCPS2 drivers, debuglocks and other bits
37883786
D: Some ARM at91rm9200 bits, S1D13XXX FB driver, random patches here and there
37893787
D: AD1889 sound driver
3790-
S: Paris, France
3788+
S: France
37913789

37923790
N: Heikki Vatiainen
37933791
E: hessu@cs.tut.fi

MAINTAINERS

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -409,8 +409,7 @@ F: drivers/platform/x86/wmi.c
409409
F: include/uapi/linux/wmi.h
410410

411411
AD1889 ALSA SOUND DRIVER
412-
M: Thibaut Varene <T-Bone@parisc-linux.org>
413-
W: http://wiki.parisc-linux.org/AD1889
412+
W: https://parisc.wiki.kernel.org/index.php/AD1889
414413
L: linux-parisc@vger.kernel.org
415414
S: Maintained
416415
F: sound/pci/ad1889.*
@@ -11488,7 +11487,7 @@ F: Documentation/blockdev/paride.txt
1148811487
F: drivers/block/paride/
1148911488

1149011489
PARISC ARCHITECTURE
11491-
M: "James E.J. Bottomley" <jejb@parisc-linux.org>
11490+
M: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
1149211491
M: Helge Deller <deller@gmx.de>
1149311492
L: linux-parisc@vger.kernel.org
1149411493
W: http://www.parisc-linux.org/

arch/parisc/kernel/ptrace.c

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -308,15 +308,29 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
308308

309309
long do_syscall_trace_enter(struct pt_regs *regs)
310310
{
311-
if (test_thread_flag(TIF_SYSCALL_TRACE) &&
312-
tracehook_report_syscall_entry(regs)) {
311+
if (test_thread_flag(TIF_SYSCALL_TRACE)) {
312+
int rc = tracehook_report_syscall_entry(regs);
313+
313314
/*
314-
* Tracing decided this syscall should not happen or the
315-
* debugger stored an invalid system call number. Skip
316-
* the system call and the system call restart handling.
315+
* As tracesys_next does not set %r28 to -ENOSYS
316+
* when %r20 is set to -1, initialize it here.
317317
*/
318-
regs->gr[20] = -1UL;
319-
goto out;
318+
regs->gr[28] = -ENOSYS;
319+
320+
if (rc) {
321+
/*
322+
* A nonzero return code from
323+
* tracehook_report_syscall_entry() tells us
324+
* to prevent the syscall execution. Skip
325+
* the syscall call and the syscall restart handling.
326+
*
327+
* Note that the tracer may also just change
328+
* regs->gr[20] to an invalid syscall number,
329+
* that is handled by tracesys_next.
330+
*/
331+
regs->gr[20] = -1UL;
332+
return -1;
333+
}
320334
}
321335

322336
/* Do the secure computing check after ptrace. */
@@ -340,7 +354,6 @@ long do_syscall_trace_enter(struct pt_regs *regs)
340354
regs->gr[24] & 0xffffffff,
341355
regs->gr[23] & 0xffffffff);
342356

343-
out:
344357
/*
345358
* Sign extend the syscall number to 64bit since it may have been
346359
* modified by a compat ptrace call

0 commit comments

Comments
 (0)