All of lore.kernel.org
 help / color / mirror / Atom feed
From: Will Deacon <will.deacon@arm.com>
To: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Kees Cook <keescook@chromium.org>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Deepak Saxena <dsaxena@linaro.org>,
	"arndb@arndb.de" <arndb@arndb.de>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linaro-kernel@lists.linaro.org" <linaro-kernel@lists.linaro.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v6 2/6] arm64: ptrace: allow tracer to skip a system call
Date: Fri, 3 Oct 2014 16:23:28 +0100	[thread overview]
Message-ID: <20141003152328.GB32451@arm.com> (raw)
In-Reply-To: <542BE095.3010107@linaro.org>

On Wed, Oct 01, 2014 at 12:08:05PM +0100, AKASHI Takahiro wrote:
> Will,
> 
> When I was looking into syscall_trace_exit() more closely, I found
> another (big) problem.
> There are two system calls, execve() and rt_sigreturn(), which change
> 'syscallno' in pt_regs to -1 in start_thread() and restore_sigframe(),
> respectively.
> 
> Since syscallno is not valid anymore in syscall_trace_exit() for these
> system calls, we cannot create a correct syscall exit record for tracepoint
> in trace_sys_exit() (=> ftrace_syscall_exit()) and for audit in audit_syscall_exit().
> 
> This does not happen on arm because syscall numbers are kept in
> thread_info on arm.
> 
> How can we deal with this issue?

How is this handled on other architectures? x86, for example, seems to zero
orig_ax when restoring the sigcontext, but leaves it alone in start_thread.

What is the impact of this problem? AFAICT, we just miss some exits, right
(as opposed to an OOPs or the like)?

Will

WARNING: multiple messages have this Message-ID (diff)
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 2/6] arm64: ptrace: allow tracer to skip a system call
Date: Fri, 3 Oct 2014 16:23:28 +0100	[thread overview]
Message-ID: <20141003152328.GB32451@arm.com> (raw)
In-Reply-To: <542BE095.3010107@linaro.org>

On Wed, Oct 01, 2014 at 12:08:05PM +0100, AKASHI Takahiro wrote:
> Will,
> 
> When I was looking into syscall_trace_exit() more closely, I found
> another (big) problem.
> There are two system calls, execve() and rt_sigreturn(), which change
> 'syscallno' in pt_regs to -1 in start_thread() and restore_sigframe(),
> respectively.
> 
> Since syscallno is not valid anymore in syscall_trace_exit() for these
> system calls, we cannot create a correct syscall exit record for tracepoint
> in trace_sys_exit() (=> ftrace_syscall_exit()) and for audit in audit_syscall_exit().
> 
> This does not happen on arm because syscall numbers are kept in
> thread_info on arm.
> 
> How can we deal with this issue?

How is this handled on other architectures? x86, for example, seems to zero
orig_ax when restoring the sigcontext, but leaves it alone in start_thread.

What is the impact of this problem? AFAICT, we just miss some exits, right
(as opposed to an OOPs or the like)?

Will

  reply	other threads:[~2014-10-03 15:23 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-21  8:56 [PATCH v6 0/6] arm64: add seccomp support AKASHI Takahiro
2014-08-21  8:56 ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 1/6] arm64: ptrace: add PTRACE_SET_SYSCALL AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 16:47   ` Kees Cook
2014-08-21 16:47     ` Kees Cook
2014-08-22  0:19     ` AKASHI Takahiro
2014-08-22  0:19       ` AKASHI Takahiro
2014-08-26 17:46       ` Will Deacon
2014-08-26 17:46         ` Will Deacon
2014-08-27  5:32         ` AKASHI Takahiro
2014-08-27  5:32           ` AKASHI Takahiro
2014-09-03 18:34           ` Kees Cook
2014-09-03 18:34             ` Kees Cook
2014-08-21  8:56 ` [PATCH v6 2/6] arm64: ptrace: allow tracer to skip a system call AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 17:08   ` Kees Cook
2014-08-21 17:08     ` Kees Cook
2014-08-22  0:35     ` AKASHI Takahiro
2014-08-22  0:35       ` AKASHI Takahiro
2014-08-26 17:51       ` Will Deacon
2014-08-26 17:51         ` Will Deacon
2014-08-27  5:55         ` AKASHI Takahiro
2014-08-27  5:55           ` AKASHI Takahiro
2014-09-01 11:37           ` Will Deacon
2014-09-01 11:37             ` Will Deacon
2014-09-02  7:58             ` AKASHI Takahiro
2014-09-02  7:58               ` AKASHI Takahiro
2014-09-01 11:47           ` Russell King - ARM Linux
2014-09-01 11:47             ` Russell King - ARM Linux
2014-09-02  8:47             ` AKASHI Takahiro
2014-09-02  8:47               ` AKASHI Takahiro
2014-09-02  9:16               ` Russell King - ARM Linux
2014-09-02  9:16                 ` Russell King - ARM Linux
2014-09-02  9:31                 ` Russell King - ARM Linux
2014-09-02  9:31                   ` Russell King - ARM Linux
2014-09-05 10:08                 ` AKASHI Takahiro
2014-09-05 10:08                   ` AKASHI Takahiro
2014-10-01 11:08         ` AKASHI Takahiro
2014-10-01 11:08           ` AKASHI Takahiro
2014-10-03 15:23           ` Will Deacon [this message]
2014-10-03 15:23             ` Will Deacon
2014-10-06  8:04             ` AKASHI Takahiro
2014-10-06  8:04               ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 3/6] asm-generic: add generic seccomp.h for secure computing mode 1 AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 17:51   ` Kees Cook
2014-08-21 17:51     ` Kees Cook
2014-08-22  0:38     ` AKASHI Takahiro
2014-08-22  0:38       ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 4/6] arm64: add seccomp syscall for compat task AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 17:52   ` Kees Cook
2014-08-21 17:52     ` Kees Cook
2014-08-22  0:39     ` AKASHI Takahiro
2014-08-22  0:39       ` AKASHI Takahiro
2014-08-26 17:53   ` Will Deacon
2014-08-26 17:53     ` Will Deacon
2014-08-27  5:57     ` AKASHI Takahiro
2014-08-27  5:57       ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 5/6] arm64: add SIGSYS siginfo " AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 17:54   ` Kees Cook
2014-08-21 17:54     ` Kees Cook
2014-08-22  0:44     ` AKASHI Takahiro
2014-08-22  0:44       ` AKASHI Takahiro
2014-08-26 17:55   ` Will Deacon
2014-08-26 17:55     ` Will Deacon
2014-08-27  5:58     ` AKASHI Takahiro
2014-08-27  5:58       ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 6/6] arm64: add seccomp support AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141003152328.GB32451@arm.com \
    --to=will.deacon@arm.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=arndb@arndb.de \
    --cc=dsaxena@linaro.org \
    --cc=keescook@chromium.org \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=takahiro.akashi@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.