X-Git-Url: https://git.stricted.de/?p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git;a=blobdiff_plain;f=kernel%2Fsched%2Fcore.c;fp=kernel%2Fsched%2Fcore.c;h=b817cf43ff44bac1e4ae2119c003b27a073a165f;hp=3c359e0c83808e9a7802b1e7f6d25c8fd943ed14;hb=672c40a112898c4a6467892e22d5979c14aa0820;hpb=0f63c0e88f76878a55b375f81e8b326a21dee2ef diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 3c359e0c8380..b817cf43ff44 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -102,6 +102,38 @@ # include #endif +static atomic_t __su_instances; + +int su_instances(void) +{ + return atomic_read(&__su_instances); +} + +bool su_running(void) +{ + return su_instances() > 0; +} + +bool su_visible(void) +{ + kuid_t uid = current_uid(); + if (su_running()) + return true; + if (uid_eq(uid, GLOBAL_ROOT_UID) || uid_eq(uid, GLOBAL_SYSTEM_UID)) + return true; + return false; +} + +void su_exec(void) +{ + atomic_inc(&__su_instances); +} + +void su_exit(void) +{ + atomic_dec(&__su_instances); +} + void start_bandwidth_timer(struct hrtimer *period_timer, ktime_t period) { unsigned long delta;