Index: kernel/generic/src/ipc/ipc.c
===================================================================
--- kernel/generic/src/ipc/ipc.c	(revision 7473807b2cbcf501c8b807c52295d1ef0e1e9f37)
+++ kernel/generic/src/ipc/ipc.c	(revision 8800b13065d75eefbc778f2b003bc4253f57fc29)
@@ -118,5 +118,11 @@
 	if (!call)
 		return NULL;
-	kobject_t *kobj = (kobject_t *) malloc(sizeof(kobject_t), flags);
+
+	kobject_t *kobj;
+	if (flags & FRAME_ATOMIC)
+		kobj = (kobject_t *) malloc(sizeof(kobject_t));
+	else
+		kobj = (kobject_t *) nfmalloc(sizeof(kobject_t));
+
 	if (!kobj) {
 		slab_free(call_cache, call);
Index: kernel/generic/src/ipc/ipcrsc.c
===================================================================
--- kernel/generic/src/ipc/ipcrsc.c	(revision 7473807b2cbcf501c8b807c52295d1ef0e1e9f37)
+++ kernel/generic/src/ipc/ipcrsc.c	(revision 8800b13065d75eefbc778f2b003bc4253f57fc29)
@@ -168,5 +168,5 @@
 			return ENOMEM;
 		}
-		kobject_t *kobj = malloc(sizeof(kobject_t), FRAME_ATOMIC);
+		kobject_t *kobj = malloc(sizeof(kobject_t));
 		if (!kobj) {
 			cap_free(TASK, handle);
Index: kernel/generic/src/ipc/irq.c
===================================================================
--- kernel/generic/src/ipc/irq.c	(revision 7473807b2cbcf501c8b807c52295d1ef0e1e9f37)
+++ kernel/generic/src/ipc/irq.c	(revision 8800b13065d75eefbc778f2b003bc4253f57fc29)
@@ -82,5 +82,5 @@
 {
 	/* Copy the physical base addresses aside. */
-	uintptr_t *pbase = malloc(rangecount * sizeof(uintptr_t), FRAME_ATOMIC);
+	uintptr_t *pbase = malloc(rangecount * sizeof(uintptr_t));
 	if (!pbase)
 		return ENOMEM;
@@ -227,5 +227,5 @@
 	irq_cmd_t *cmds = NULL;
 
-	irq_code_t *code = malloc(sizeof(*code), FRAME_ATOMIC);
+	irq_code_t *code = malloc(sizeof(*code));
 	if (!code)
 		return NULL;
@@ -238,6 +238,5 @@
 		goto error;
 
-	ranges = malloc(sizeof(code->ranges[0]) * code->rangecount,
-	    FRAME_ATOMIC);
+	ranges = malloc(sizeof(code->ranges[0]) * code->rangecount);
 	if (!ranges)
 		goto error;
@@ -247,5 +246,5 @@
 		goto error;
 
-	cmds = malloc(sizeof(code->cmds[0]) * code->cmdcount, FRAME_ATOMIC);
+	cmds = malloc(sizeof(code->cmds[0]) * code->cmdcount);
 	if (!cmds)
 		goto error;
@@ -356,5 +355,5 @@
 	}
 
-	kobject_t *kobject = malloc(sizeof(kobject_t), FRAME_ATOMIC);
+	kobject_t *kobject = malloc(sizeof(kobject_t));
 	if (!kobject) {
 		cap_free(TASK, handle);
Index: kernel/generic/src/ipc/ops/dataread.c
===================================================================
--- kernel/generic/src/ipc/ops/dataread.c	(revision 7473807b2cbcf501c8b807c52295d1ef0e1e9f37)
+++ kernel/generic/src/ipc/ops/dataread.c	(revision 8800b13065d75eefbc778f2b003bc4253f57fc29)
@@ -75,5 +75,5 @@
 			IPC_SET_ARG1(answer->data, dst);
 
-			answer->buffer = malloc(size, FRAME_ATOMIC);
+			answer->buffer = malloc(size);
 			if (!answer->buffer) {
 				IPC_SET_RETVAL(answer->data, ENOMEM);
Index: kernel/generic/src/ipc/ops/datawrite.c
===================================================================
--- kernel/generic/src/ipc/ops/datawrite.c	(revision 7473807b2cbcf501c8b807c52295d1ef0e1e9f37)
+++ kernel/generic/src/ipc/ops/datawrite.c	(revision 8800b13065d75eefbc778f2b003bc4253f57fc29)
@@ -56,5 +56,5 @@
 	}
 
-	call->buffer = (uint8_t *) malloc(size, FRAME_ATOMIC);
+	call->buffer = (uint8_t *) malloc(size);
 	if (!call->buffer)
 		return ENOMEM;
