diff mbox

seccomp: not compatible with ARM OABI

Message ID 20131106233117.GA24545@www.outflux.net (mailing list archive)
State New, archived
Headers show

Commit Message

Kees Cook Nov. 6, 2013, 11:31 p.m. UTC
Make sure that seccomp filter won't be built when ARM OABI is in use,
since there is work needed to distinguish calling conventions. Until
that is done (which is likely never since OABI is deprecated), make
sure seccomp filter is unavailable in the OABI compat world.

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 arch/Kconfig |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Will Drewry Nov. 7, 2013, 3:26 a.m. UTC | #1
Thanks!

Reviewed-By: Will Drewry <wad@chromium.org>

On Wed, Nov 6, 2013 at 5:31 PM, Kees Cook <keescook@chromium.org> wrote:
> Make sure that seccomp filter won't be built when ARM OABI is in use,
> since there is work needed to distinguish calling conventions. Until
> that is done (which is likely never since OABI is deprecated), make
> sure seccomp filter is unavailable in the OABI compat world.
>
> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
>  arch/Kconfig |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/Kconfig b/arch/Kconfig
> index af2cc6eabcc7..6eaca7d92399 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -331,12 +331,15 @@ config HAVE_ARCH_SECCOMP_FILTER
>
>  config SECCOMP_FILTER
>         def_bool y
> -       depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET
> +       depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET && !OABI_COMPAT
>         help
>           Enable tasks to build secure computing environments defined
>           in terms of Berkeley Packet Filter programs which implement
>           task-defined system call filtering polices.
>
> +         Not available on ARM when built with OABI compatibility due to
> +         lack of a sensible way to distinguish the calling conventions.
> +
>           See Documentation/prctl/seccomp_filter.txt for details.
>
>  config HAVE_CONTEXT_TRACKING
> --
> 1.7.9.5
>
>
> --
> Kees Cook
> Chrome OS Security
James Hogan Nov. 7, 2013, 10:59 a.m. UTC | #2
Hi,

On 06/11/13 23:31, Kees Cook wrote:
> diff --git a/arch/Kconfig b/arch/Kconfig
> index af2cc6eabcc7..6eaca7d92399 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -331,12 +331,15 @@ config HAVE_ARCH_SECCOMP_FILTER
>  
>  config SECCOMP_FILTER
>  	def_bool y
> -	depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET
> +	depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET && !OABI_COMPAT

Isn't this the whole point of HAVE_ARCH_SECCOMP_FILTER?

Just change the select in arch/arm/Kconfig to this:

	select HAVE_ARCH_SECCOMP_FILTER if !OABI_COMPAT

Cheers
James
Kees Cook Nov. 7, 2013, 5:26 p.m. UTC | #3
On Thu, Nov 7, 2013 at 2:59 AM, James Hogan <james.hogan@imgtec.com> wrote:
> Hi,
>
> On 06/11/13 23:31, Kees Cook wrote:
>> diff --git a/arch/Kconfig b/arch/Kconfig
>> index af2cc6eabcc7..6eaca7d92399 100644
>> --- a/arch/Kconfig
>> +++ b/arch/Kconfig
>> @@ -331,12 +331,15 @@ config HAVE_ARCH_SECCOMP_FILTER
>>
>>  config SECCOMP_FILTER
>>       def_bool y
>> -     depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET
>> +     depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET && !OABI_COMPAT
>
> Isn't this the whole point of HAVE_ARCH_SECCOMP_FILTER?
>
> Just change the select in arch/arm/Kconfig to this:
>
>         select HAVE_ARCH_SECCOMP_FILTER if !OABI_COMPAT

Oh! Yeah, that's a much cleaner way to handle it. I totally forgot
that "select" could be conditional. I will respin it that way.

Thanks!

-Kees
diff mbox

Patch

diff --git a/arch/Kconfig b/arch/Kconfig
index af2cc6eabcc7..6eaca7d92399 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -331,12 +331,15 @@  config HAVE_ARCH_SECCOMP_FILTER
 
 config SECCOMP_FILTER
 	def_bool y
-	depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET
+	depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET && !OABI_COMPAT
 	help
 	  Enable tasks to build secure computing environments defined
 	  in terms of Berkeley Packet Filter programs which implement
 	  task-defined system call filtering polices.
 
+	  Not available on ARM when built with OABI compatibility due to
+	  lack of a sensible way to distinguish the calling conventions.
+
 	  See Documentation/prctl/seccomp_filter.txt for details.
 
 config HAVE_CONTEXT_TRACKING