Index: kernel/generic/include/proc/program.h
===================================================================
--- kernel/generic/include/proc/program.h	(revision 7faabb7f6879c7279c1423c847dfaedf930cff0f)
+++ kernel/generic/include/proc/program.h	(revision adb5fe3a0d41ea1a2ddb715f4235287c3745c43b)
@@ -53,10 +53,13 @@
 extern void *program_loader;
 
-extern void program_create(as_t *as, uintptr_t entry_addr, program_t *p);
-extern int program_create_from_image(void *image_addr, program_t *p);
-extern int program_create_loader(program_t *p);
+extern void program_create(as_t *as, uintptr_t entry_addr, char *name,
+    program_t *p);
+extern int program_create_from_image(void *image_addr, char *name,
+    program_t *p);
+extern int program_create_loader(program_t *p, char *name);
 extern void program_ready(program_t *p);
 
-extern unative_t sys_program_spawn_loader(int *uspace_phone_id);
+extern unative_t sys_program_spawn_loader(int *uspace_phone_id,
+    char *uspace_name, size_t name_len);
 
 #endif
Index: kernel/generic/include/proc/task.h
===================================================================
--- kernel/generic/include/proc/task.h	(revision 7faabb7f6879c7279c1423c847dfaedf930cff0f)
+++ kernel/generic/include/proc/task.h	(revision adb5fe3a0d41ea1a2ddb715f4235287c3745c43b)
@@ -55,4 +55,6 @@
 #include <udebug/udebug.h>
 
+#define TASK_NAME_BUFLEN	20
+
 struct thread;
 
@@ -68,6 +70,6 @@
 	 */
 	SPINLOCK_DECLARE(lock);
-	
-	char *name;
+
+	char name[TASK_NAME_BUFLEN];
 	/** List of threads contained in this task. */
 	link_t th_head;
