caller_ptr = proc_addr(m.m_source);
/* See if the caller made a valid request and try to handle it. */
- if (! (priv(caller_ptr)->s_call_mask & (1<<call_nr)) &&
- m.m_type != SYS_IOPENABLE ) {
+ if (! (priv(caller_ptr)->s_call_mask & (1<<call_nr))) {
#if DEBUG_ENABLE_IPC_WARNINGS
kprintf("SYSTEM: request %d from %d denied.\n", call_nr,m.m_source);
#endif
#define FS_C (c(SYS_KILL) | c(SYS_VIRCOPY) | c(SYS_VIRVCOPY) | c(SYS_UMAP) | c(SYS_GETINFO) | c(SYS_EXIT) | c(SYS_TIMES) | c(SYS_SETALARM))
#define DRV_C (FS_C | c(SYS_SEGCTL) | c(SYS_IRQCTL) | c(SYS_INT86) | c(SYS_DEVIO) | c(SYS_VDEVIO) | c(SYS_SDEVIO))
#define TTY_C (DRV_C | c(SYS_ABORT))
-#define MEM_C (DRV_C | c(SYS_PHYSCOPY) | c(SYS_PHYSVCOPY) | c(SYS_VM_MAP))
+#define MEM_C (DRV_C | c(SYS_PHYSCOPY) | c(SYS_PHYSVCOPY) | c(SYS_VM_MAP) | \
+ c(SYS_IOPENABLE))
/* The system image table lists all programs that are part of the boot image.
* The order of the entries here MUST agree with the order of the programs