All of lore.kernel.org
 help / color / mirror / Atom feed
From: Will Drewry <wad@chromium.org>
To: linux-kernel@vger.kernel.org
Cc: linux-security-module@vger.kernel.org,
	linux-arch@vger.kernel.org, linux-doc@vger.kernel.org,
	kernel-hardening@lists.openwall.com, netdev@vger.kernel.org,
	x86@kernel.org, arnd@arndb.de, davem@davemloft.net,
	hpa@zytor.com, mingo@redhat.com, oleg@redhat.com,
	peterz@infradead.org, rdunlap@xenotime.net,
	mcgrathr@chromium.org, tglx@linutronix.de, luto@mit.edu,
	eparis@redhat.com, serge.hallyn@canonical.com, djm@mindrot.org,
	scarybeasts@gmail.com, indan@nul.nu, pmoore@redhat.com,
	akpm@linux-foundation.org, corbet@lwn.net,
	eric.dumazet@gmail.com, markus@chromium.org,
	coreyb@linux.vnet.ibm.com, keescook@chromium.org,
	jmorris@namei.org, Will Drewry <wad@chromium.org>
Subject: [PATCH v17 07/15] asm/syscall.h: add syscall_get_arch
Date: Thu, 29 Mar 2012 15:01:52 -0500	[thread overview]
Message-ID: <1333051320-30872-8-git-send-email-wad@chromium.org> (raw)
In-Reply-To: <1333051320-30872-1-git-send-email-wad@chromium.org>

Adds a stub for a function that will return the AUDIT_ARCH_*
value appropriate to the supplied task based on the system
call convention.

For audit's use, the value can generally be hard-coded at the
audit-site.  However, for other functionality not inlined into
syscall entry/exit, this makes that information available.
seccomp_filter is the first planned consumer and, as such,
the comment indicates a tie to HAVE_ARCH_SECCOMP_FILTER.  That
is probably an unneeded detail.

Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Suggested-by: Roland McGrath <mcgrathr@chromium.org>
Signed-off-by: Will Drewry <wad@chromium.org>

v14..v17: rebase/nochanges
v13: rebase on to 88ebdda6159ffc15699f204c33feb3e431bf9bdc
v12: rebase on to linux-next
v11: fixed improper return type
v10: introduced
---
 include/asm-generic/syscall.h |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/include/asm-generic/syscall.h b/include/asm-generic/syscall.h
index 5c122ae..a2c13dc 100644
--- a/include/asm-generic/syscall.h
+++ b/include/asm-generic/syscall.h
@@ -142,4 +142,18 @@ void syscall_set_arguments(struct task_struct *task, struct pt_regs *regs,
 			   unsigned int i, unsigned int n,
 			   const unsigned long *args);
 
+/**
+ * syscall_get_arch - return the AUDIT_ARCH for the current system call
+ * @task:	task of interest, must be in system call entry tracing
+ * @regs:	task_pt_regs() of @task
+ *
+ * Returns the AUDIT_ARCH_* based on the system call convention in use.
+ *
+ * It's only valid to call this when @task is stopped on entry to a system
+ * call, due to %TIF_SYSCALL_TRACE, %TIF_SYSCALL_AUDIT, or %TIF_SECCOMP.
+ *
+ * Note, at present this function is only required with
+ * CONFIG_HAVE_ARCH_SECCOMP_FILTER.
+ */
+int syscall_get_arch(struct task_struct *task, struct pt_regs *regs);
 #endif	/* _ASM_SYSCALL_H */
-- 
1.7.5.4


WARNING: multiple messages have this Message-ID (diff)
From: Will Drewry <wad@chromium.org>
To: linux-kernel@vger.kernel.org
Cc: linux-security-module@vger.kernel.org,
	linux-arch@vger.kernel.org, linux-doc@vger.kernel.org,
	kernel-hardening@lists.openwall.com, netdev@vger.kernel.org,
	x86@kernel.org, arnd@arndb.de, davem@davemloft.net,
	hpa@zytor.com, mingo@redhat.com, oleg@redhat.com,
	peterz@infradead.org, rdunlap@xenotime.net,
	mcgrathr@chromium.org, tglx@linutronix.de, luto@mit.edu,
	eparis@redhat.com, serge.hallyn@canonical.com, djm@mindrot.org,
	scarybeasts@gmail.com, indan@nul.nu, pmoore@redhat.com,
	akpm@linux-foundation.org, corbet@lwn.net,
	eric.dumazet@gmail.com, markus@chromium.org,
	coreyb@linux.vnet.ibm.com, keescook@chromium.org,
	jmorris@namei.org, Will Drewry <wad@chromium.org>
Subject: [kernel-hardening] [PATCH v17 07/15] asm/syscall.h: add syscall_get_arch
Date: Thu, 29 Mar 2012 15:01:52 -0500	[thread overview]
Message-ID: <1333051320-30872-8-git-send-email-wad@chromium.org> (raw)
In-Reply-To: <1333051320-30872-1-git-send-email-wad@chromium.org>

Adds a stub for a function that will return the AUDIT_ARCH_*
value appropriate to the supplied task based on the system
call convention.

For audit's use, the value can generally be hard-coded at the
audit-site.  However, for other functionality not inlined into
syscall entry/exit, this makes that information available.
seccomp_filter is the first planned consumer and, as such,
the comment indicates a tie to HAVE_ARCH_SECCOMP_FILTER.  That
is probably an unneeded detail.

Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Suggested-by: Roland McGrath <mcgrathr@chromium.org>
Signed-off-by: Will Drewry <wad@chromium.org>

v14..v17: rebase/nochanges
v13: rebase on to 88ebdda6159ffc15699f204c33feb3e431bf9bdc
v12: rebase on to linux-next
v11: fixed improper return type
v10: introduced
---
 include/asm-generic/syscall.h |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/include/asm-generic/syscall.h b/include/asm-generic/syscall.h
index 5c122ae..a2c13dc 100644
--- a/include/asm-generic/syscall.h
+++ b/include/asm-generic/syscall.h
@@ -142,4 +142,18 @@ void syscall_set_arguments(struct task_struct *task, struct pt_regs *regs,
 			   unsigned int i, unsigned int n,
 			   const unsigned long *args);
 
+/**
+ * syscall_get_arch - return the AUDIT_ARCH for the current system call
+ * @task:	task of interest, must be in system call entry tracing
+ * @regs:	task_pt_regs() of @task
+ *
+ * Returns the AUDIT_ARCH_* based on the system call convention in use.
+ *
+ * It's only valid to call this when @task is stopped on entry to a system
+ * call, due to %TIF_SYSCALL_TRACE, %TIF_SYSCALL_AUDIT, or %TIF_SECCOMP.
+ *
+ * Note, at present this function is only required with
+ * CONFIG_HAVE_ARCH_SECCOMP_FILTER.
+ */
+int syscall_get_arch(struct task_struct *task, struct pt_regs *regs);
 #endif	/* _ASM_SYSCALL_H */
-- 
1.7.5.4

  parent reply	other threads:[~2012-03-29 20:06 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-29 20:01 [PATCH v17 00/15] seccomp_filter: BPF-based syscall filtering Will Drewry
2012-03-29 20:01 ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 01/15] Add PR_{GET,SET}_NO_NEW_PRIVS to prevent execve from granting privs Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-04-06 19:49   ` Andrew Morton
2012-04-06 19:49     ` [kernel-hardening] " Andrew Morton
2012-04-06 19:55     ` Andy Lutomirski
2012-04-06 19:55       ` [kernel-hardening] " Andy Lutomirski
2012-04-06 19:55       ` Andy Lutomirski
2012-04-06 20:47     ` Markus Gutschke
2012-04-06 20:47       ` [kernel-hardening] " Markus Gutschke
2012-04-06 20:54       ` Andrew Lutomirski
2012-04-06 20:54         ` [kernel-hardening] " Andrew Lutomirski
2012-04-06 21:04         ` Markus Gutschke
2012-04-06 21:04           ` [kernel-hardening] " Markus Gutschke
2012-04-06 21:15           ` Andrew Lutomirski
2012-04-06 21:15             ` [kernel-hardening] " Andrew Lutomirski
2012-04-06 21:32             ` Markus Gutschke
2012-04-06 21:32               ` [kernel-hardening] " Markus Gutschke
2012-04-10 19:12     ` Will Drewry
2012-04-10 19:12       ` [kernel-hardening] " Will Drewry
2012-04-06 19:55   ` Andrew Morton
2012-04-06 19:55     ` [kernel-hardening] " Andrew Morton
2012-04-06 19:55     ` Andrew Morton
2012-04-06 20:01     ` Andrew Lutomirski
2012-04-06 20:01       ` [kernel-hardening] " Andrew Lutomirski
2012-04-06 20:28       ` Jonathan Corbet
2012-04-06 20:28         ` [kernel-hardening] " Jonathan Corbet
2012-04-06 20:37         ` Andrew Lutomirski
2012-04-06 20:37           ` [kernel-hardening] " Andrew Lutomirski
2012-04-11 19:31         ` Michael Kerrisk (man-pages)
2012-04-11 19:31           ` [kernel-hardening] " Michael Kerrisk (man-pages)
2012-04-12  0:15           ` Michael Kerrisk (man-pages)
2012-04-12  0:15             ` [kernel-hardening] " Michael Kerrisk (man-pages)
2012-04-12  0:50           ` Andrew Lutomirski
2012-04-12  0:50             ` [kernel-hardening] " Andrew Lutomirski
2012-04-16 19:11           ` Rob Landley
2012-04-16 19:11             ` [kernel-hardening] " Rob Landley
2012-04-10 20:37       ` Rob Landley
2012-04-10 20:37         ` [kernel-hardening] " Rob Landley
2012-04-10 19:03     ` Will Drewry
2012-04-10 19:03       ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 02/15] Fix apparmor for PR_{GET,SET}_NO_NEW_PRIVS Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 03/15] sk_run_filter: add BPF_S_ANC_SECCOMP_LD_W Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 04/15] net/compat.c,linux/filter.h: share compat_sock_fprog Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 05/15] seccomp: kill the seccomp_t typedef Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 06/15] arch/x86: add syscall_get_arch to syscall.h Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` Will Drewry [this message]
2012-03-29 20:01   ` [kernel-hardening] [PATCH v17 07/15] asm/syscall.h: add syscall_get_arch Will Drewry
2012-04-06 20:05   ` Andrew Morton
2012-04-06 20:05     ` [kernel-hardening] " Andrew Morton
2012-04-09 19:24     ` Will Drewry
2012-04-09 19:24       ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 08/15] seccomp: add system call filtering using BPF Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-31  4:40   ` Vladimir Murzin
2012-03-31  4:40     ` [kernel-hardening] " Vladimir Murzin
2012-03-31 18:14     ` Will Drewry
2012-03-31 18:14       ` [kernel-hardening] " Will Drewry
2012-04-06 20:23   ` Andrew Morton
2012-04-06 20:23     ` [kernel-hardening] " Andrew Morton
2012-04-06 20:44     ` Kees Cook
2012-04-06 20:44       ` [kernel-hardening] " Kees Cook
2012-04-06 21:05       ` Andrew Morton
2012-04-06 21:05         ` [kernel-hardening] " Andrew Morton
2012-04-06 21:06         ` H. Peter Anvin
2012-04-06 21:06           ` [kernel-hardening] " H. Peter Anvin
2012-04-06 21:09           ` Andrew Morton
2012-04-06 21:09             ` [kernel-hardening] " Andrew Morton
2012-04-08 18:22     ` Indan Zupancic
2012-04-08 18:22       ` [kernel-hardening] " Indan Zupancic
2012-04-09 19:59       ` Will Drewry
2012-04-09 19:59         ` [kernel-hardening] " Will Drewry
2012-04-10  9:48         ` James Morris
2012-04-10  9:48           ` [kernel-hardening] " James Morris
2012-04-10 20:00         ` Andrew Morton
2012-04-10 20:00           ` [kernel-hardening] " Andrew Morton
2012-04-10 20:16           ` Will Drewry
2012-04-10 20:16             ` [kernel-hardening] " Will Drewry
2012-04-10 20:16             ` Will Drewry
2012-04-10 10:34       ` Eric Dumazet
2012-04-10 10:34         ` [kernel-hardening] " Eric Dumazet
2012-04-10 19:54       ` Andrew Morton
2012-04-10 19:54         ` [kernel-hardening] " Andrew Morton
2012-04-10 20:15         ` Will Drewry
2012-04-10 20:15           ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 09/15] seccomp: remove duplicated failure logging Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-04-06 21:14   ` Andrew Morton
2012-04-06 21:14     ` [kernel-hardening] " Andrew Morton
2012-04-09 19:26     ` Will Drewry
2012-04-09 19:26       ` [kernel-hardening] " Will Drewry
2012-04-09 19:26       ` Will Drewry
2012-04-09 19:32       ` Kees Cook
2012-04-09 19:32         ` [kernel-hardening] " Kees Cook
2012-04-09 19:33       ` Eric Paris
2012-04-09 19:33         ` Eric Paris
2012-04-09 19:39         ` [kernel-hardening] " Kees Cook
2012-04-09 19:39           ` Kees Cook
2012-03-29 20:01 ` [PATCH v17 10/15] seccomp: add SECCOMP_RET_ERRNO Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-04-06 21:19   ` Andrew Morton
2012-04-06 21:19     ` [kernel-hardening] " Andrew Morton
2012-04-09 19:19     ` Will Drewry
2012-04-09 19:19       ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 11/15] signal, x86: add SIGSYS info and make it synchronous Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 12/15] seccomp: Add SECCOMP_RET_TRAP Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 13/15] ptrace,seccomp: Add PTRACE_SECCOMP support Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-04-06 21:24   ` Andrew Morton
2012-04-06 21:24     ` [kernel-hardening] " Andrew Morton
2012-04-09 19:38     ` Will Drewry
2012-04-09 19:38       ` [kernel-hardening] " Will Drewry
2012-03-29 20:01 ` [PATCH v17 14/15] x86: Enable HAVE_ARCH_SECCOMP_FILTER Will Drewry
2012-03-29 20:01   ` [kernel-hardening] " Will Drewry
2012-03-29 20:02 ` [PATCH v17 15/15] Documentation: prctl/seccomp_filter Will Drewry
2012-03-29 20:02   ` [kernel-hardening] " Will Drewry
2012-04-06 21:26   ` Andrew Morton
2012-04-06 21:26     ` [kernel-hardening] " Andrew Morton
2012-04-09 19:46     ` Will Drewry
2012-04-09 19:46       ` [kernel-hardening] " Will Drewry
2012-04-09 20:47       ` Markus Gutschke
2012-04-09 20:47         ` [kernel-hardening] " Markus Gutschke
2012-04-09 20:58         ` Ryan Ware
2012-04-09 20:58           ` [kernel-hardening] " Ryan Ware
2012-04-09 20:58           ` Ryan Ware
2012-04-09 22:47           ` Will Drewry
2012-04-09 22:47             ` [kernel-hardening] " Will Drewry
2012-04-10 17:49             ` Ryan Ware
2012-04-10 17:49               ` [kernel-hardening] " Ryan Ware
2012-04-10 17:49               ` Ryan Ware
2012-03-29 23:11 ` [PATCH v17 00/15] seccomp_filter: BPF-based syscall filtering James Morris
2012-03-29 23:11   ` [kernel-hardening] " James Morris
2012-04-06 21:28   ` Andrew Morton
2012-04-06 21:28     ` [kernel-hardening] " Andrew Morton
2012-04-06 21:28     ` Andrew Morton
2012-04-09  3:48     ` James Morris
2012-04-09  3:48       ` [kernel-hardening] " James Morris
2012-04-09  3:48       ` James Morris

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=1333051320-30872-8-git-send-email-wad@chromium.org \
    --to=wad@chromium.org \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=corbet@lwn.net \
    --cc=coreyb@linux.vnet.ibm.com \
    --cc=davem@davemloft.net \
    --cc=djm@mindrot.org \
    --cc=eparis@redhat.com \
    --cc=eric.dumazet@gmail.com \
    --cc=hpa@zytor.com \
    --cc=indan@nul.nu \
    --cc=jmorris@namei.org \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=luto@mit.edu \
    --cc=markus@chromium.org \
    --cc=mcgrathr@chromium.org \
    --cc=mingo@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=pmoore@redhat.com \
    --cc=rdunlap@xenotime.net \
    --cc=scarybeasts@gmail.com \
    --cc=serge.hallyn@canonical.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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.