diff options
Diffstat (limited to 'security')
| -rw-r--r-- | security/capability.c | 3 | ||||
| -rw-r--r-- | security/security.c | 5 | ||||
| -rw-r--r-- | security/selinux/hooks.c | 7 |
3 files changed, 9 insertions, 6 deletions
diff --git a/security/capability.c b/security/capability.c index 8168e3ecd5bf..7e468263f2de 100644 --- a/security/capability.c +++ b/security/capability.c | |||
| @@ -412,7 +412,8 @@ static int cap_task_getioprio(struct task_struct *p) | |||
| 412 | return 0; | 412 | return 0; |
| 413 | } | 413 | } |
| 414 | 414 | ||
| 415 | static int cap_task_setrlimit(unsigned int resource, struct rlimit *new_rlim) | 415 | static int cap_task_setrlimit(struct task_struct *p, unsigned int resource, |
| 416 | struct rlimit *new_rlim) | ||
| 416 | { | 417 | { |
| 417 | return 0; | 418 | return 0; |
| 418 | } | 419 | } |
diff --git a/security/security.c b/security/security.c index 351942a4ca0e..aa510609a955 100644 --- a/security/security.c +++ b/security/security.c | |||
| @@ -769,9 +769,10 @@ int security_task_getioprio(struct task_struct *p) | |||
| 769 | return security_ops->task_getioprio(p); | 769 | return security_ops->task_getioprio(p); |
| 770 | } | 770 | } |
| 771 | 771 | ||
| 772 | int security_task_setrlimit(unsigned int resource, struct rlimit *new_rlim) | 772 | int security_task_setrlimit(struct task_struct *p, unsigned int resource, |
| 773 | struct rlimit *new_rlim) | ||
| 773 | { | 774 | { |
| 774 | return security_ops->task_setrlimit(resource, new_rlim); | 775 | return security_ops->task_setrlimit(p, resource, new_rlim); |
| 775 | } | 776 | } |
| 776 | 777 | ||
| 777 | int security_task_setscheduler(struct task_struct *p, | 778 | int security_task_setscheduler(struct task_struct *p, |
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 5c9f25ba1c95..e3ce6b4127cc 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
| @@ -3371,16 +3371,17 @@ static int selinux_task_getioprio(struct task_struct *p) | |||
| 3371 | return current_has_perm(p, PROCESS__GETSCHED); | 3371 | return current_has_perm(p, PROCESS__GETSCHED); |
| 3372 | } | 3372 | } |
| 3373 | 3373 | ||
| 3374 | static int selinux_task_setrlimit(unsigned int resource, struct rlimit *new_rlim) | 3374 | static int selinux_task_setrlimit(struct task_struct *p, unsigned int resource, |
| 3375 | struct rlimit *new_rlim) | ||
| 3375 | { | 3376 | { |
| 3376 | struct rlimit *old_rlim = current->signal->rlim + resource; | 3377 | struct rlimit *old_rlim = p->signal->rlim + resource; |
| 3377 | 3378 | ||
| 3378 | /* Control the ability to change the hard limit (whether | 3379 | /* Control the ability to change the hard limit (whether |
| 3379 | lowering or raising it), so that the hard limit can | 3380 | lowering or raising it), so that the hard limit can |
| 3380 | later be used as a safe reset point for the soft limit | 3381 | later be used as a safe reset point for the soft limit |
| 3381 | upon context transitions. See selinux_bprm_committing_creds. */ | 3382 | upon context transitions. See selinux_bprm_committing_creds. */ |
| 3382 | if (old_rlim->rlim_max != new_rlim->rlim_max) | 3383 | if (old_rlim->rlim_max != new_rlim->rlim_max) |
| 3383 | return current_has_perm(current, PROCESS__SETRLIMIT); | 3384 | return current_has_perm(p, PROCESS__SETRLIMIT); |
| 3384 | 3385 | ||
| 3385 | return 0; | 3386 | return 0; |
| 3386 | } | 3387 | } |
