diff options
Diffstat (limited to 'kernel/sys.c')
| -rw-r--r-- | kernel/sys.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index b6941e06d5d5..d09cac23fdfd 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <linux/kernel.h> | 19 | #include <linux/kernel.h> |
| 20 | #include <linux/kexec.h> | 20 | #include <linux/kexec.h> |
| 21 | #include <linux/workqueue.h> | 21 | #include <linux/workqueue.h> |
| 22 | #include <linux/capability.h> | ||
| 22 | #include <linux/device.h> | 23 | #include <linux/device.h> |
| 23 | #include <linux/key.h> | 24 | #include <linux/key.h> |
| 24 | #include <linux/times.h> | 25 | #include <linux/times.h> |
| @@ -223,6 +224,18 @@ int unregister_reboot_notifier(struct notifier_block * nb) | |||
| 223 | 224 | ||
| 224 | EXPORT_SYMBOL(unregister_reboot_notifier); | 225 | EXPORT_SYMBOL(unregister_reboot_notifier); |
| 225 | 226 | ||
| 227 | #ifndef CONFIG_SECURITY | ||
| 228 | int capable(int cap) | ||
| 229 | { | ||
| 230 | if (cap_raised(current->cap_effective, cap)) { | ||
| 231 | current->flags |= PF_SUPERPRIV; | ||
| 232 | return 1; | ||
| 233 | } | ||
| 234 | return 0; | ||
| 235 | } | ||
| 236 | EXPORT_SYMBOL(capable); | ||
| 237 | #endif | ||
| 238 | |||
| 226 | static int set_one_prio(struct task_struct *p, int niceval, int error) | 239 | static int set_one_prio(struct task_struct *p, int niceval, int error) |
| 227 | { | 240 | { |
| 228 | int no_nice; | 241 | int no_nice; |
