arm64: Correct __NR_compat_syscalls for bpf
authorMark Rutland <mark.rutland@arm.com>
Mon, 5 Jan 2015 12:24:47 +0000 (12:24 +0000)
committerWill Deacon <will.deacon@arm.com>
Wed, 7 Jan 2015 11:40:58 +0000 (11:40 +0000)
commit0f9132ceab112ab75d34865f5aeddf0bac234896
tree11209f8c56edbfe614da3bf0b8a95c90e5cfc7d9
parentb1940cd21c0f4abdce101253e860feff547291b0
arm64: Correct __NR_compat_syscalls for bpf

Commit 97b56be10352a70c (arm64: compat: Enable bpf syscall) made the
usual mistake of forgetting to update __NR_compat_syscalls. Due to this,
when el0_sync_compat calls el0_svc_naked, the test against sc_nr
(__NR_compat_syscalls) will fail, and we'll call ni_sys, returning
-ENOSYS to userspace.

This patch bumps __NR_compat_syscalls appropriately, enabling the use of
the bpf syscall from compat tasks.

Due to the reorganisation of unistd{,32}.h as part of commit
f3e5c847ec3d12b4 (arm64: Add __NR_* definitions for compat syscalls) it
is not currently possible to include both headers and sanity-check the
value of __NR_compat_syscalls at build-time to prevent this from
happening again. Additional rework is required to make such niceties a
possibility.

Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/unistd.h