--- ./include/linux/vps_info.h.vps_uts_core 2006-02-03 16:49:51.000000000 +0300 +++ ./include/linux/vps_info.h 2006-02-03 16:50:39.000000000 +0300 @@ -6,6 +6,7 @@ struct task_struct; struct list_head; +struct new_utsname; struct vps_info { u32 id; @@ -13,6 +14,7 @@ atomic_t refcnt; struct list_head *vps_uid_hash; + struct new_utsname *vps_uts_name; }; extern struct vps_info host_vps_info; --- ./include/linux/utsname.h.vps_uts_core 2006-02-03 16:38:17.000000000 +0300 +++ ./include/linux/utsname.h 2006-02-03 16:50:26.000000000 +0300 @@ -1,6 +1,8 @@ #ifndef _LINUX_UTSNAME_H #define _LINUX_UTSNAME_H +#include + #define __OLD_UTS_LEN 8 struct oldold_utsname { @@ -31,6 +33,7 @@ }; extern struct new_utsname system_utsname; +#define vps_utsname (*(current_vps()->vps_uts_name)) extern struct rw_semaphore uts_sem; #endif --- ./init/main.c.vps_uts_core 2006-02-03 16:43:18.000000000 +0300 +++ ./init/main.c 2006-02-03 16:50:26.000000000 +0300 @@ -439,6 +439,7 @@ .id = 0, .init_task = &init_task, .refcnt = ATOMIC_INIT(1), + .vps_uts_name = &system_utsname, }; EXPORT_SYMBOL(host_vps_info);