Index: kernel/generic/include/proc/program.h
===================================================================
--- kernel/generic/include/proc/program.h	(revision 7faabb7f6879c7279c1423c847dfaedf930cff0f)
+++ kernel/generic/include/proc/program.h	(revision 6c8d267f6f936c9ea1e6b6c21a5dcb0e47cb7c6e)
@@ -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 6c8d267f6f936c9ea1e6b6c21a5dcb0e47cb7c6e)
@@ -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;
