--- linux-2.6.16-rc4/arch/alpha/Kconfig	2006-02-18 14:39:40 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/alpha/Kconfig	2006-02-17 23:26:32 +0100
@@ -619,6 +619,8 @@ source "arch/alpha/oprofile/Kconfig"
 
 source "arch/alpha/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/arm/Kconfig	2006-02-18 14:39:40 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/arm/Kconfig	2006-02-17 23:26:32 +0100
@@ -825,6 +825,8 @@ source "arch/arm/oprofile/Kconfig"
 
 source "arch/arm/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/arm26/Kconfig	2006-02-18 14:39:41 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/arm26/Kconfig	2006-02-17 23:26:32 +0100
@@ -230,6 +230,8 @@ source "drivers/usb/Kconfig"
 
 source "arch/arm26/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/cris/Kconfig	2006-02-18 14:39:42 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/cris/Kconfig	2006-02-17 23:26:32 +0100
@@ -173,6 +173,8 @@ source "drivers/usb/Kconfig"
 
 source "arch/cris/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/h8300/Kconfig	2006-02-18 14:39:42 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/h8300/Kconfig	2006-02-18 15:33:51 +0100
@@ -191,6 +191,8 @@ source "fs/Kconfig"
 
 source "arch/h8300/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/i386/Kconfig	2006-02-18 14:39:42 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/i386/Kconfig	2006-02-17 23:26:32 +0100
@@ -481,8 +500,9 @@ *****
 
 config PAGE_OFFSET
 	hex
-	default 0xB0000000 if VMSPLIT_3G_OPT
-	default 0x78000000 if VMSPLIT_2G
+	default 0xA0000000 if VMSPLIT_25G
+	default 0x80000000 if VMSPLIT_2G
+	default 0x60000000 if VMSPLIT_15G
 	default 0x40000000 if VMSPLIT_1G
 	default 0xC0000000
 
--- linux-2.6.16-rc4/arch/i386/Kconfig	2006-02-18 14:39:42 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/i386/Kconfig	2006-02-17 23:26:32 +0100
@@ -1070,6 +1090,8 @@ endmenu
 
 source "arch/i386/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/ia64/Kconfig	2006-02-18 14:39:43 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/ia64/Kconfig	2006-02-17 23:26:32 +0100
@@ -463,6 +463,8 @@ endmenu
 
 source "arch/ia64/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/m68k/Kconfig	2006-02-18 14:39:44 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/m68k/Kconfig	2006-02-18 15:33:51 +0100
@@ -650,6 +650,8 @@ source "fs/Kconfig"
 
 source "arch/m68k/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/m68knommu/Kconfig	2006-02-18 14:39:44 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/m68knommu/Kconfig	2006-02-18 15:33:51 +0100
@@ -646,6 +646,8 @@ source "fs/Kconfig"
 
 source "arch/m68knommu/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/mips/Kconfig	2006-02-18 14:39:44 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/mips/Kconfig	2006-02-17 23:26:32 +0100
@@ -1810,6 +1810,8 @@ source "arch/mips/oprofile/Kconfig"
 
 source "arch/mips/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/parisc/Kconfig	2006-02-18 14:39:45 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/parisc/Kconfig	2006-02-18 15:33:51 +0100
@@ -213,6 +213,8 @@ source "arch/parisc/oprofile/Kconfig"
 
 source "arch/parisc/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/powerpc/Kconfig	2006-02-18 14:39:46 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/powerpc/Kconfig	2006-02-17 23:26:32 +0100
@@ -974,6 +974,8 @@ endmenu
 
 source "arch/powerpc/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 config KEYS_COMPAT
--- linux-2.6.16-rc4/arch/ppc/Kconfig	2006-02-18 14:39:47 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/ppc/Kconfig	2006-02-17 23:26:32 +0100
@@ -1394,6 +1394,8 @@ source "arch/powerpc/oprofile/Kconfig"
 
 source "arch/ppc/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/s390/Kconfig	2006-02-18 14:39:47 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/s390/Kconfig	2006-02-18 15:33:51 +0100
@@ -472,6 +472,8 @@ source "arch/s390/oprofile/Kconfig"
 
 source "arch/s390/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/sh/Kconfig	2006-02-18 14:39:48 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/sh/Kconfig	2006-02-18 15:33:51 +0100
@@ -633,6 +633,8 @@ source "arch/sh/oprofile/Kconfig"
 
 source "arch/sh/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/sparc/Kconfig	2006-02-18 14:39:49 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/sparc/Kconfig	2006-02-17 23:26:32 +0100
@@ -284,6 +284,8 @@ source "fs/Kconfig"
 
 source "arch/sparc/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/sparc64/Kconfig	2006-02-18 14:39:49 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/sparc64/Kconfig	2006-02-17 23:26:32 +0100
@@ -393,6 +393,8 @@ endmenu
 
 source "arch/sparc64/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/um/Kconfig	2006-02-18 14:39:49 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/um/Kconfig	2006-02-17 23:26:32 +0100
@@ -290,6 +290,8 @@ source "drivers/connector/Kconfig"
 
 source "fs/Kconfig"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/v850/Kconfig	2006-02-18 14:39:50 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/v850/Kconfig	2006-02-18 15:33:51 +0100
@@ -320,6 +320,8 @@ source "drivers/usb/Kconfig"
 
 source "arch/v850/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/arch/x86_64/Kconfig	2006-02-18 14:39:50 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/arch/x86_64/Kconfig	2006-02-17 23:26:32 +0100
@@ -602,6 +602,8 @@ endmenu
 
 source "arch/x86_64/Kconfig.debug"
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
--- linux-2.6.16-rc4/include/linux/capability.h	2006-02-18 14:40:32 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/include/linux/capability.h	2006-02-17 23:26:32 +0100
@@ -235,6 +235,7 @@ typedef __u32 kernel_cap_t;
    arbitrary SCSI commands */
 /* Allow setting encryption key on loopback filesystem */
 /* Allow setting zone reclaim policy */
+/* Allow the selection of a security context */
 
 #define CAP_SYS_ADMIN        21
 
--- linux-2.6.16-rc4/include/linux/capability.h	2006-02-18 14:40:32 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/include/linux/capability.h	2006-02-17 23:26:32 +0100
@@ -288,6 +289,11 @@ typedef __u32 kernel_cap_t;
 
 #define CAP_AUDIT_CONTROL    30
 
+/* Allow context manipulations */
+/* Allow changing context info on files */
+
+#define CAP_CONTEXT	     31
+
 #ifdef __KERNEL__
 /* 
  * Bounding set
--- linux-2.6.16-rc4/include/linux/percpu.h	2006-02-18 14:40:35 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/include/linux/percpu.h	2006-02-17 23:26:32 +0100
@@ -8,7 +8,7 @@
 
 /* Enough to cover all DEFINE_PER_CPUs in kernel, including modules. */
 #ifndef PERCPU_ENOUGH_ROOM
-#define PERCPU_ENOUGH_ROOM 32768
+#define PERCPU_ENOUGH_ROOM 65536
 #endif
 
 /* Must be an lvalue. */
--- linux-2.6.16-rc4/kernel/Makefile	2006-02-18 14:40:37 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/kernel/Makefile	2006-02-17 23:26:33 +0100
@@ -10,6 +10,8 @@ obj-y     = sched.o fork.o exec_domain.o
 	    kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \
 	    hrtimer.o
 
+obj-y	  += vserver/
+
 obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o
 obj-$(CONFIG_FUTEX) += futex.o
 obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
--- linux-2.6.16-rc4/kernel/vserver/Kconfig	1970-01-01 01:00:00 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/kernel/vserver/Kconfig	2006-02-17 23:26:33 +0100
@@ -0,0 +1,218 @@
+#
+# Linux VServer configuration
+#
+
+config	VSERVER
+	bool
+	default y
+
+config	VSERVER_SECURITY
+	bool
+	depends on SECURITY
+	default y
+	select SECURITY_CAPABILITIES
+
+config	VSERVER_LEGACYNET
+	bool
+	depends on !VSERVER_NGNET
+	default y
+
+menu "Linux VServer"
+
+config	VSERVER_LEGACY
+	bool	"Enable Legacy Kernel API"
+	default y
+	help
+	  This enables the legacy API used in vs1.xx, maintaining
+	  compatibility with older vserver tools, and guest images
+	  that are configured using the legacy method.  This is
+	  probably a good idea for now, for migration purposes.
+
+	  Note that some tools have not yet been altered to use
+	  this API, so disabling this option may reduce some
+	  functionality.
+
+config	VSERVER_LEGACY_VERSION
+	bool	"Show a Legacy Version ID"
+	depends on VSERVER_LEGACY
+	default n
+	help
+	  This shows a special legacy version to very old tools
+	  which do not handle the current version correctly.
+
+	  This will probably disable some features of newer tools
+	  so better avoid it, unless you really, really need it
+	  for backwards compatibility.
+
+config	VSERVER_DYNAMIC_IDS
+	bool	"Enable dynamic context IDs"
+	depends on VSERVER_LEGACY
+	default y
+	help
+	  This enables support of in kernel dynamic context IDs,
+	  which is deprecated and will probably be removed in the
+	  next release.
+
+config	VSERVER_NGNET
+	bool	"Disable Legacy Networking Kernel API"
+	depends on EXPERIMENTAL
+	default n
+	help
+	  This disables the legacy networking API which is required
+	  by the chbind tool. Do not disable it unless you exactly
+	  know what you are doing.
+
+config	VSERVER_COWBL
+	bool	"Enable COW Immutable Link Breaking"
+	depends on EXPERIMENTAL
+	default y
+	help
+	  This enables the COW (Copy-On-Write) link break code.
+	  It allows you to treat unified files like normal files
+	  when writing to them (which will implicitely break the
+	  link and create a copy of the unified file)
+
+config	VSERVER_PROC_SECURE
+	bool	"Enable Proc Security"
+	depends on PROC_FS
+	default y
+	help
+	  This configures ProcFS security to initially hide
+	  non-process entries for all contexts except the main and
+	  spectator context (i.e. for all guests), which is a secure
+	  default.
+
+	  (note: on 1.2x the entries were visible by default)
+
+config	VSERVER_HARDCPU
+	bool	"Enable Hard CPU Limits"
+	depends on EXPERIMENTAL
+	default n
+	help
+	  Activate the Hard CPU Limits
+
+	  This will compile in code that allows the Token Bucket
+	  Scheduler to put processes on hold when a context's
+	  tokens are depleted (provided that its per-context
+	  sched_hard flag is set).
+
+	  Processes belonging to that context will not be able
+	  to consume CPU resources again until a per-context
+	  configured minimum of tokens has been reached.
+
+config	VSERVER_IDLETIME
+	bool	"Avoid idle CPUs by skipping Time"
+	depends on VSERVER_HARDCPU
+	default n
+	help
+	  This option allows the scheduler to artificially
+	  advance time (per cpu) when otherwise the idle
+	  task would be scheduled, thus keeping the cpu
+	  busy and sharing the available resources among
+	  certain contexts.
+
+config	VSERVER_IDLELIMIT
+	bool	"Limit the IDLE task"
+	depends on VSERVER_HARDCPU
+	default n
+	help
+	  Limit the idle slices, so the the next context
+	  will be scheduled as soon as possible.
+
+	  This might improve interactivity and latency, but
+	  will also marginally increase scheduling overhead.
+
+choice
+	prompt	"Persistent Inode Tagging"
+	default	TAGGING_ID24
+	help
+	  This adds persistent context information to filesystems
+	  mounted with the tagxid option. Tagging is a requirement
+	  for per-context disk limits and per-context quota.
+
+
+config	TAGGING_NONE
+	bool	"Disabled"
+	help
+	  do not store per-context information in inodes.
+
+config	TAGGING_UID16
+	bool	"UID16/GID32"
+	help
+	  reduces UID to 16 bit, but leaves GID at 32 bit.
+
+config	TAGGING_GID16
+	bool	"UID32/GID16"
+	help
+	  reduces GID to 16 bit, but leaves UID at 32 bit.
+
+config	TAGGING_ID24
+	bool	"UID24/GID24"
+	help
+	  uses the upper 8bit from UID and GID for XID tagging
+	  which leaves 24bit for UID/GID each, which should be
+	  more than sufficient for normal use.
+
+config	TAGGING_INTERN
+	bool	"UID32/GID32"
+	help
+	  this uses otherwise reserved inode fields in the on
+	  disk representation, which limits the use to a few
+	  filesystems (currently ext2 and ext3)
+
+config	TAGGING_RUNTIME
+	bool	"Runtime"
+	depends on EXPERIMENTAL
+	help
+	  inodes are tagged when first accessed, this doesn't
+	  require any persistant information, but might give
+	  funny results for mixed access.
+
+endchoice
+
+config	TAG_NFSD
+	bool	"Tag NFSD User Auth and Files"
+	default n
+	help
+	  Enable this if you do want the in-kernel NFS
+	  Server to use the tagging specified above.
+	  (will require patched clients too)
+
+config	PROPAGATE
+	bool	"Enable Inode Tag Propagation"
+	default n
+	depends on EXPERIMENTAL
+	help
+	  This allows for the tagid= mount option to specify
+	  a tagid which is to be used for the entire mount
+	  tree.
+
+config	VSERVER_DEBUG
+	bool	"VServer Debugging Code"
+	default n
+	help
+	  Set this to yes if you want to be able to activate
+	  debugging output at runtime. It adds a probably small
+	  overhead to all vserver related functions and
+	  increases the kernel size by about 20k.
+
+config	VSERVER_HISTORY
+	bool	"VServer History Tracing"
+	depends on VSERVER_DEBUG
+	default n
+	help
+	  Set this to yes if you want to record the history of
+	  linux-vserver activities, so they can be replayed in
+	  the event of a kernel panic or oops.
+
+config	VSERVER_HISTORY_SIZE
+	int "Per-CPU History Size (32-65536)"
+	depends on VSERVER_HISTORY
+	range 32 65536
+	default 64
+	help
+	  This allows you to specify the number of entries in
+	  the per-CPU history buffer.
+
+endmenu
+
--- linux-2.6.16-rc4/kernel/vserver/Makefile	1970-01-01 01:00:00 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/kernel/vserver/Makefile	2006-02-17 23:26:33 +0100
@@ -0,0 +1,16 @@
+#
+# Makefile for the Linux vserver routines.
+#
+
+
+obj-y		+= vserver.o
+
+vserver-y	:= switch.o context.o namespace.o sched.o network.o inode.o \
+		   limit.o cvirt.o signal.o helper.o init.o dlimit.o
+
+vserver-$(CONFIG_PROC_FS) += proc.o
+vserver-$(CONFIG_VSERVER_DEBUG) += sysctl.o debug.o
+vserver-$(CONFIG_VSERVER_LEGACY) += legacy.o
+vserver-$(CONFIG_VSERVER_LEGACYNET) += legacynet.o
+vserver-$(CONFIG_VSERVER_HISTORY) += history.o
+
--- linux-2.6.16-rc4/kernel/vserver/init.c	1970-01-01 01:00:00 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/kernel/vserver/init.c	2006-02-17 23:26:33 +0100
@@ -0,0 +1,47 @@
+/*
+ *  linux/kernel/init.c
+ *
+ *  Virtual Server Init
+ *
+ *  Copyright (C) 2004-2005  Herbert Pötzl
+ *
+ *  V0.01  basic structure
+ *
+ */
+
+#include <linux/config.h>
+#include <linux/errno.h>
+#include <linux/init.h>
+#include <linux/module.h>
+
+int	vserver_register_sysctl(void);
+void	vserver_unregister_sysctl(void);
+
+
+static int __init init_vserver(void)
+{
+	int ret = 0;
+
+#ifdef	CONFIG_VSERVER_DEBUG
+	vserver_register_sysctl();
+#endif
+	return ret;
+}
+
+
+static void __exit exit_vserver(void)
+{
+
+#ifdef	CONFIG_VSERVER_DEBUG
+	vserver_unregister_sysctl();
+#endif
+	return;
+}
+
+long vx_slab[GFP_ZONETYPES];
+long vx_area;
+
+
+module_init(init_vserver);
+module_exit(exit_vserver);
+
--- linux-2.6.16-rc4/include/linux/vserver/global.h	1970-01-01 01:00:00 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/include/linux/vserver/global.h	2006-02-17 23:26:33 +0100
@@ -0,0 +1,8 @@
+#ifndef _VX_GLOBAL_H
+#define _VX_GLOBAL_H
+
+
+extern atomic_t vx_global_ctotal;
+extern atomic_t vx_global_cactive;
+
+#endif /* _VX_GLOBAL_H */
--- linux-2.6.16-rc4/kernel/exit.c	2006-02-18 14:40:37 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/kernel/exit.c	2006-02-20 23:19:58 +0100
@@ -855,6 +889,8 @@ fastcall NORET_TYPE void do_exit(long co
 	__exit_files(tsk);
 	__exit_fs(tsk);
 	exit_namespace(tsk);
+	exit_vx_info(tsk);
+	exit_nx_info(tsk);
 	exit_thread();
 	cpuset_exit(tsk);
 	exit_keys(tsk);
--- linux-2.6.16-rc4/include/linux/init_task.h	2006-01-03 17:30:09 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/include/linux/init_task.h	2006-02-17 23:26:32 +0100
@@ -121,6 +121,10 @@ extern struct group_info init_groups;
 	.journal_info	= NULL,						\
 	.cpu_timers	= INIT_CPU_TIMERS(tsk.cpu_timers),		\
 	.fs_excl	= ATOMIC_INIT(0),				\
+	.xid		= 0,						\
+	.vx_info	= NULL,						\
+	.nid		= 0,						\
+	.nx_info	= NULL,						\
 }
 
 
--- linux-2.6.16-rc4/include/linux/sched.h	2006-02-18 14:40:35 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/include/linux/sched.h	2006-02-18 15:33:57 +0100
@@ -817,6 +825,14 @@ struct task_struct {
 	
 	void *security;
 	struct audit_context *audit_context;
+
+/* vserver context data */
+	struct vx_info *vx_info;
+	struct nx_info *nx_info;
+
+	xid_t xid;
+	nid_t nid;
+
 	seccomp_t seccomp;
 
 /* Thread group tracking */
--- linux-2.6.16-rc4/include/linux/types.h	2006-02-18 14:40:35 +0100
+++ linux-2.6.16-rc4-vs2.1.1-rc8/include/linux/types.h	2006-02-17 23:26:33 +0100
@@ -38,6 +38,9 @@ typedef __kernel_uid32_t	uid_t;
 typedef __kernel_gid32_t	gid_t;
 typedef __kernel_uid16_t        uid16_t;
 typedef __kernel_gid16_t        gid16_t;
+typedef unsigned int		xid_t;
+typedef unsigned int		nid_t;
+typedef unsigned int		tag_t;
 
 #ifdef CONFIG_UID16
 /* This is defined by include/asm-{arch}/posix_types.h */
