From 90804bd59e30c2e48ff2980af124ed99f7bc4e38 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 5 Dec 2002 05:55:08 -0800 Subject: [PATCH] setrlimit incorrectly allows hard limits to exceed soft limits From: Kingsley Cheung --- kernel/sys.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'kernel') diff --git a/kernel/sys.c b/kernel/sys.c index e8bd2c9f969b..b06552e349e5 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1233,6 +1233,8 @@ asmlinkage long sys_setrlimit(unsigned int resource, struct rlimit *rlim) return -EINVAL; if(copy_from_user(&new_rlim, rlim, sizeof(*rlim))) return -EFAULT; + if (new_rlim.rlim_cur > new_rlim.rlim_max) + return -EINVAL; old_rlim = current->rlim + resource; if (((new_rlim.rlim_cur > old_rlim->rlim_max) || (new_rlim.rlim_max > old_rlim->rlim_max)) && -- cgit v1.2.3