aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/syscall.h
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-11-05 20:06:43 +0000
committerMark Brown <broonie@linaro.org>2013-11-05 20:06:43 +0000
commit47cf66ff098ac408194713be6531a7bb57d1b99b (patch)
tree6711205bc3d5f6200adea4ba2173f2d1d9b0c063 /arch/arm/include/asm/syscall.h
parent66cadb7bd46c6691eea6f671380405ab03b423ad (diff)
parent7c9373fbcd0b29f6ccc28407c11ecd51cfa7a3c2 (diff)
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Diffstat (limited to 'arch/arm/include/asm/syscall.h')
-rw-r--r--arch/arm/include/asm/syscall.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/include/asm/syscall.h b/arch/arm/include/asm/syscall.h
index f1d96d4e809..73ddd7239b3 100644
--- a/arch/arm/include/asm/syscall.h
+++ b/arch/arm/include/asm/syscall.h
@@ -57,6 +57,9 @@ static inline void syscall_get_arguments(struct task_struct *task,
unsigned int i, unsigned int n,
unsigned long *args)
{
+ if (n == 0)
+ return;
+
if (i + n > SYSCALL_MAX_ARGS) {
unsigned long *args_bad = args + SYSCALL_MAX_ARGS - i;
unsigned int n_bad = n + i - SYSCALL_MAX_ARGS;
@@ -81,6 +84,9 @@ static inline void syscall_set_arguments(struct task_struct *task,
unsigned int i, unsigned int n,
const unsigned long *args)
{
+ if (n == 0)
+ return;
+
if (i + n > SYSCALL_MAX_ARGS) {
pr_warning("%s called with max args %d, handling only %d\n",
__func__, i + n, SYSCALL_MAX_ARGS);