aboutsummaryrefslogtreecommitdiff
path: root/common/uapi/conf.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-11-12 16:41:36 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2022-11-12 16:41:36 +0200
commit41ead8de77963bae907375c1bb115dad3315f46b (patch)
tree4b364db137bd3bea69853f15329292af7662897d /common/uapi/conf.c
parent1d37792fb7a47135f0e7b7fc245e83bb1d8fc496 (diff)
downloadkmi-41ead8de77963bae907375c1bb115dad3315f46b.tar.gz
kmi-41ead8de77963bae907375c1bb115dad3315f46b.zip
initial rpc implementations
Diffstat (limited to 'common/uapi/conf.c')
-rw-r--r--common/uapi/conf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/common/uapi/conf.c b/common/uapi/conf.c
index 7e88358..2094604 100644
--- a/common/uapi/conf.c
+++ b/common/uapi/conf.c
@@ -57,6 +57,10 @@ SYSCALL_DEFINE2(conf_set)(sys_arg_t param, sys_arg_t val)
*/
SYSCALL_DEFINE1(poweroff)(sys_arg_t type)
{
+ struct tcb *t = cur_tcb();
+ if (!(has_cap(t->caps, CAP_POWER)))
+ return SYS_RET1(ERR_PERM);
+
switch (type) {
case SHUTDOWN:
case COLD_REBOOT: