From d477096cb0635aed95553d448e9290d4ad470174 Mon Sep 17 00:00:00 2001 From: Tomoki Shirasawa Date: Fri, 25 Dec 2015 15:35:33 +0900 Subject: [PATCH] getrlimit, setrlimit: offload to linux when an unknown parameter was specified refs #660 --- kernel/syscall.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/syscall.c b/kernel/syscall.c index bf83fd47..edfc9c4b 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -3786,8 +3786,9 @@ SYSCALL_DECLARE(setrlimit) mcresource = rlimits[i + 1]; break; } - if(i >= sizeof(rlimits) / sizeof(int)) - return -EINVAL; + if(i >= sizeof(rlimits) / sizeof(int)){ + return syscall_generic_forwarding(__NR_setrlimit, ctx); + } if(copy_from_user(thread->proc->rlimit + mcresource, rlm, sizeof(struct rlimit))) return -EFAULT; @@ -3808,8 +3809,9 @@ SYSCALL_DECLARE(getrlimit) mcresource = rlimits[i + 1]; break; } - if(i >= sizeof(rlimits) / sizeof(int)) - return -EINVAL; + if(i >= sizeof(rlimits) / sizeof(int)){ + return syscall_generic_forwarding(__NR_getrlimit, ctx); + } // TODO: check limit if(copy_to_user(rlm, thread->proc->rlimit + mcresource, sizeof(struct rlimit)))