diff options
-rw-r--r-- | include/linux/sched.h | 13 | ||||
-rw-r--r-- | kernel/sys.c | 12 |
2 files changed, 13 insertions, 12 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index c4ee35d..2ae8711 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1113,19 +1113,8 @@ static inline int sas_ss_flags(unsigned long sp) } -#ifdef CONFIG_SECURITY -/* code is in security.c */ +/* code is in security.c or kernel/sys.c if !SECURITY */ extern int capable(int cap); -#else -static inline int capable(int cap) -{ - if (cap_raised(current->cap_effective, cap)) { - current->flags |= PF_SUPERPRIV; - return 1; - } - return 0; -} -#endif /* * Routines for handling mm_structs diff --git a/kernel/sys.c b/kernel/sys.c index b6941e0..9ccf713 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -223,6 +223,18 @@ int unregister_reboot_notifier(struct notifier_block * nb) EXPORT_SYMBOL(unregister_reboot_notifier); +#ifndef CONFIG_SECURITY +int capable(int cap) +{ + if (cap_raised(current->cap_effective, cap)) { + current->flags |= PF_SUPERPRIV; + return 1; + } + return 0; +} +EXPORT_SYMBOL(capable); +#endif + static int set_one_prio(struct task_struct *p, int niceval, int error) { int no_nice; |