diff options
| author | Rusty Russell <rusty@rustcorp.com.au> | 2002-12-05 05:55:08 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-12-05 05:55:08 -0800 |
| commit | 90804bd59e30c2e48ff2980af124ed99f7bc4e38 (patch) | |
| tree | bd24fb676e6a7056fd5a12b4189579e41ca65c58 | |
| parent | d2a0e2b698789414e7a11334f14431d22f0ec738 (diff) | |
[PATCH] setrlimit incorrectly allows hard limits to exceed soft limits
From: Kingsley Cheung <kingsley@aurema.com>
| -rw-r--r-- | kernel/sys.c | 2 |
1 files changed, 2 insertions, 0 deletions
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)) && |
