aboutsummaryrefslogtreecommitdiff
path: root/src/uapi
diff options
context:
space:
mode:
Diffstat (limited to 'src/uapi')
-rw-r--r--src/uapi/mem.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/uapi/mem.c b/src/uapi/mem.c
index 5c18797..561b5eb 100644
--- a/src/uapi/mem.c
+++ b/src/uapi/mem.c
@@ -100,6 +100,9 @@ SYSCALL_DEFINE3(req_pmem)(struct tcb *t, sys_arg_t paddr, sys_arg_t size,
* that keeps track of used regions outside of RAM. We'll see.
*/
struct tcb *r = get_cproc(t);
+ if (!has_cap(r->caps, CAP_PHYSICAL))
+ return_args1(t, ERR_PERM);
+
flags = sanitize_uvflags(flags);
vm_t start = alloc_devmem(r, paddr, size, flags);
if (ERR_CODE(start))