<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/um/kernel/skas/syscall.c, branch linux-4.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-09-07T16:25:04Z</updated>
<entry>
<title>um/ptrace: Fix the syscall number update after a ptrace</title>
<updated>2016-09-07T16:25:04Z</updated>
<author>
<name>Mickaël Salaün</name>
</author>
<published>2016-08-01T21:01:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce29856a5e1aabe52e18b2c60db1490769a6ab55'/>
<id>urn:sha1:ce29856a5e1aabe52e18b2c60db1490769a6ab55</id>
<content type='text'>
Update the syscall number after each PTRACE_SETREGS on ORIG_*AX.

This is needed to get the potentially altered syscall number in the
seccomp filters after RET_TRACE.

This fix four seccomp_bpf tests:
&gt; [ RUN      ] TRACE_syscall.skip_after_RET_TRACE
&gt; seccomp_bpf.c:1560:TRACE_syscall.skip_after_RET_TRACE:Expected -1 (18446744073709551615) == syscall(39) (26)
&gt; seccomp_bpf.c:1561:TRACE_syscall.skip_after_RET_TRACE:Expected 1 (1) == (*__errno_location ()) (22)
&gt; [     FAIL ] TRACE_syscall.skip_after_RET_TRACE
&gt; [ RUN      ] TRACE_syscall.kill_after_RET_TRACE
&gt; TRACE_syscall.kill_after_RET_TRACE: Test exited normally instead of by signal (code: 1)
&gt; [     FAIL ] TRACE_syscall.kill_after_RET_TRACE
&gt; [ RUN      ] TRACE_syscall.skip_after_ptrace
&gt; seccomp_bpf.c:1622:TRACE_syscall.skip_after_ptrace:Expected -1 (18446744073709551615) == syscall(39) (26)
&gt; seccomp_bpf.c:1623:TRACE_syscall.skip_after_ptrace:Expected 1 (1) == (*__errno_location ()) (22)
&gt; [     FAIL ] TRACE_syscall.skip_after_ptrace
&gt; [ RUN      ] TRACE_syscall.kill_after_ptrace
&gt; TRACE_syscall.kill_after_ptrace: Test exited normally instead of by signal (code: 1)
&gt; [     FAIL ] TRACE_syscall.kill_after_ptrace

Fixes: 26703c636c1f ("um/ptrace: run seccomp after ptrace")

Signed-off-by: Mickaël Salaün &lt;mic@digikod.net&gt;
Acked-by: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: James Morris &lt;jmorris@namei.org&gt;
Cc: user-mode-linux-devel@lists.sourceforge.net
Signed-off-by: James Morris &lt;james.l.morris@oracle.com&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>um/ptrace: Fix the syscall_trace_leave call</title>
<updated>2016-09-07T16:25:04Z</updated>
<author>
<name>Mickaël Salaün</name>
</author>
<published>2016-08-01T21:01:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=972939e28592ec61e2e8334786152be2c80de677'/>
<id>urn:sha1:972939e28592ec61e2e8334786152be2c80de677</id>
<content type='text'>
Keep the same semantic as before the commit 26703c636c1f: deallocate
audit context and fake a proper syscall exit.

This fix a kernel panic triggered by the seccomp_bpf test:
&gt; [ RUN      ] global.ERRNO_valid
&gt; BUG: failure at kernel/auditsc.c:1504/__audit_syscall_entry()!
&gt; Kernel panic - not syncing: BUG!

Fixes: 26703c636c1f ("um/ptrace: run seccomp after ptrace")

Signed-off-by: Mickaël Salaün &lt;mic@digikod.net&gt;
Acked-by: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: James Morris &lt;jmorris@namei.org&gt;
Cc: user-mode-linux-devel@lists.sourceforge.net
Signed-off-by: James Morris &lt;james.l.morris@oracle.com&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>um/ptrace: run seccomp after ptrace</title>
<updated>2016-06-14T17:54:47Z</updated>
<author>
<name>Kees Cook</name>
</author>
<published>2016-06-03T02:59:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26703c636c1f3272b39bd0f6d04d2e970984f1b6'/>
<id>urn:sha1:26703c636c1f3272b39bd0f6d04d2e970984f1b6</id>
<content type='text'>
Close the hole where ptrace can change a syscall out from under seccomp.

Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: user-mode-linux-devel@lists.sourceforge.net
</content>
</entry>
<entry>
<title>seccomp: Add a seccomp_data parameter secure_computing()</title>
<updated>2016-06-14T17:54:39Z</updated>
<author>
<name>Andy Lutomirski</name>
</author>
<published>2016-05-27T19:57:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f275de5d1ed7269913ef9b4c64a13952c0a38e8'/>
<id>urn:sha1:2f275de5d1ed7269913ef9b4c64a13952c0a38e8</id>
<content type='text'>
Currently, if arch code wants to supply seccomp_data directly to
seccomp (which is generally much faster than having seccomp do it
using the syscall_get_xyz() API), it has to use the two-phase
seccomp hooks. Add it to the easy hooks, too.

Cc: linux-arch@vger.kernel.org
Signed-off-by: Andy Lutomirski &lt;luto@kernel.org&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>um: Add seccomp support</title>
<updated>2016-01-10T20:49:49Z</updated>
<author>
<name>Mickaël Salaün</name>
</author>
<published>2015-12-29T20:35:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c50b4659e444b020657e01bdf769c965e5597cb0'/>
<id>urn:sha1:c50b4659e444b020657e01bdf769c965e5597cb0</id>
<content type='text'>
This brings SECCOMP_MODE_STRICT and SECCOMP_MODE_FILTER support through
prctl(2) and seccomp(2) to User-mode Linux for i386 and x86_64
subarchitectures.

secure_computing() is called first in handle_syscall() so that the
syscall emulation will be aborted quickly if matching a seccomp rule.

This is inspired from Meredydd Luff's patch
(https://gerrit.chromium.org/gerrit/21425).

Signed-off-by: Mickaël Salaün &lt;mic@digikod.net&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;
Cc: Will Drewry &lt;wad@chromium.org&gt;
Cc: Chris Metcalf &lt;cmetcalf@ezchip.com&gt;
Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Cc: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Meredydd Luff &lt;meredydd@senatehouse.org&gt;
Cc: David Drysdale &lt;drysdale@google.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Acked-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>um: Fix ptrace GETREGS/SETREGS bugs</title>
<updated>2016-01-10T20:49:48Z</updated>
<author>
<name>Mickaël Salaün</name>
</author>
<published>2015-12-29T20:35:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e04c989eb785af61d2895d76d38c09166296f9c5'/>
<id>urn:sha1:e04c989eb785af61d2895d76d38c09166296f9c5</id>
<content type='text'>
This fix two related bugs:
* PTRACE_GETREGS doesn't get the right orig_ax (syscall) value
* PTRACE_SETREGS can't set the orig_ax value (erased by initial value)

Get rid of the now useless and error-prone get_syscall().

Fix inconsistent behavior in the ptrace implementation for i386 when
updating orig_eax automatically update the syscall number as well. This
is now updated in handle_syscall().

Signed-off-by: Mickaël Salaün &lt;mic@digikod.net&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;
Cc: Will Drewry &lt;wad@chromium.org&gt;
Cc: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Cc: Nicolas Iooss &lt;nicolas.iooss_linux@m4x.org&gt;
Cc: Anton Ivanov &lt;aivanov@brocade.com&gt;
Cc: Meredydd Luff &lt;meredydd@senatehouse.org&gt;
Cc: David Drysdale &lt;drysdale@google.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Acked-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>um: Get rid of open coded NR_SYSCALLS</title>
<updated>2015-11-06T21:49:10Z</updated>
<author>
<name>Richard Weinberger</name>
</author>
<published>2015-10-25T19:28:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f10e6d652bc2dad67b5e7b6e6d890c76f739ed77'/>
<id>urn:sha1:f10e6d652bc2dad67b5e7b6e6d890c76f739ed77</id>
<content type='text'>
We can use __NR_syscall_max.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>um: Store syscall number after syscall_trace_enter()</title>
<updated>2015-11-06T21:49:09Z</updated>
<author>
<name>Richard Weinberger</name>
</author>
<published>2015-10-25T18:54:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1d80f0cda10118d7505bd0a09a5c1c72f3a5f6c8'/>
<id>urn:sha1:1d80f0cda10118d7505bd0a09a5c1c72f3a5f6c8</id>
<content type='text'>
To support changing syscall numbers we have to store
it after syscall_trace_enter().

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>um: Handle tracehook_report_syscall_entry() result</title>
<updated>2015-05-31T20:59:03Z</updated>
<author>
<name>Richard Weinberger</name>
</author>
<published>2015-05-31T20:59:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5334cdae407a5778a297a98a75ca61140e37ebfa'/>
<id>urn:sha1:5334cdae407a5778a297a98a75ca61140e37ebfa</id>
<content type='text'>
tracehook_report_syscall_entry() is allowed to fail,
in case of failure we have to abort the current syscall.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>um: get rid of pointless include "..." where include &lt;...&gt; will do</title>
<updated>2012-10-09T20:28:45Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2012-10-08T02:27:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=37185b33240870719b6b5913a46e6a441f1ae96f'/>
<id>urn:sha1:37185b33240870719b6b5913a46e6a441f1ae96f</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
</feed>
