--- olpc-2.6-master.00/fs/inode.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/inode.c 2007-03-01 11:52:20.000000000 -0500 @@ -233,6 +236,8 @@ void __iget(struct inode * inode) inodes_stat.nr_unused--; } +EXPORT_SYMBOL_GPL(__iget); + /** * clear_inode - clear an inode * @inode: inode to clear --- olpc-2.6-master.00/include/asm-i386/elf.h 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/include/asm-i386/elf.h 2007-03-01 11:52:20.000000000 -0500 @@ -75,7 +75,7 @@ typedef struct user_fxsr_struct elf_fpxr the loader. We need to make sure that it is out of the way of the program that it will "exec", and that there is sufficient room for the brk. */ -#define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2) +#define ELF_ET_DYN_BASE ((TASK_UNMAPPED_BASE) * 2) /* regs is struct pt_regs, pr_reg is elf_gregset_t (which is now struct_user_regs, they are different) */ --- olpc-2.6-master.00/fs/ext2/ioctl.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/ext2/ioctl.c 2007-03-01 11:52:20.000000000 -0500 @@ -13,6 +13,7 @@ #include #include #include +#include #include #include --- olpc-2.6-master.00/fs/ext3/ioctl.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/ext3/ioctl.c 2007-03-01 17:09:59.000000000 -0500 @@ -8,6 +8,7 @@ */ #include +#include #include #include #include --- olpc-2.6-master.00/fs/ext4/ioctl.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/ext4/ioctl.c 2007-03-01 17:09:59.000000000 -0500 @@ -8,6 +8,7 @@ */ #include +#include #include #include #include --- olpc-2.6-master.00/fs/hfsplus/ioctl.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/hfsplus/ioctl.c 2007-03-01 11:52:20.000000000 -0500 @@ -16,6 +16,7 @@ #include #include #include +#include #include #include "hfsplus_fs.h" --- olpc-2.6-master.00/fs/jfs/ioctl.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/jfs/ioctl.c 2007-03-01 11:52:20.000000000 -0500 @@ -10,6 +10,7 @@ #include #include #include +#include #include #include --- olpc-2.6-master.00/fs/ocfs2/inode.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/ocfs2/inode.c 2007-03-01 11:52:20.000000000 -0500 @@ -43,6 +44,7 @@ #include "file.h" #include "heartbeat.h" #include "inode.h" +#include "ioctl.h" #include "journal.h" #include "namei.h" #include "suballoc.h" --- olpc-2.6-master.00/fs/reiserfs/ioctl.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/reiserfs/ioctl.c 2007-03-01 11:52:20.000000000 -0500 @@ -4,6 +4,7 @@ #include #include +#include #include #include #include --- olpc-2.6-master.00/fs/reiserfs/xattr.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/reiserfs/xattr.c 2007-03-01 11:52:20.000000000 -0500 @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include --- olpc-2.6-master.00/fs/utimes.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/utimes.c 2007-03-01 11:52:20.000000000 -0500 @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include --- olpc-2.6-master.00/fs/xattr.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/xattr.c 2007-03-01 11:52:20.000000000 -0500 @@ -18,6 +18,7 @@ #include #include #include +#include #include --- olpc-2.6-master.00/include/net/route.h 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/include/net/route.h 2007-03-01 17:09:59.000000000 -0500 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include --- olpc-2.6-master.00/include/net/route.h 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/include/net/route.h 2007-03-01 17:09:59.000000000 -0500 @@ -33,6 +34,7 @@ ***** #include #include #include +#include #ifndef __KERNEL__ #warning This file is not supposed to be used outside of kernel. --- olpc-2.6-master.00/kernel/sys.c 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/kernel/sys.c 2007-03-01 11:52:20.000000000 -0500 @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include --- olpc-2.6-master.00/net/ipv4/tcp.c 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/net/ipv4/tcp.c 2007-03-01 11:52:20.000000000 -0500 @@ -259,6 +259,7 @@ #include #include #include +#include #include #include --- olpc-2.6-master.00/init/Makefile 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/init/Makefile 2007-03-01 11:52:20.000000000 -0500 @@ -20,6 +20,7 @@ clean-files := ../include/linux/compile. # dependencies on generated files need to be listed explicitly +$(obj)/main.o: include/linux/compile.h $(obj)/version.o: include/linux/compile.h # compile.h changes depending on hostname, generation number, etc, --- olpc-2.6-master.00/drivers/char/random.c 2007-02-28 20:05:26.000000000 -0500 +++ olpc-2.6-master-vs22x.02/drivers/char/random.c 2007-03-01 11:52:20.000000000 -0500 @@ -1178,7 +1178,7 @@ static char sysctl_bootid[16]; static int proc_do_uuid(ctl_table *table, int write, struct file *filp, void __user *buffer, size_t *lenp, loff_t *ppos) { - ctl_table fake_table; + ctl_table fake_table = {0}; unsigned char buf[64], tmp_uuid[16], *uuid; uuid = table->data; --- olpc-2.6-master.00/include/linux/sysctl.h 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/include/linux/sysctl.h 2007-03-01 11:52:20.000000000 -0500 @@ -939,6 +940,9 @@ typedef int ctl_handler (ctl_table *tabl typedef int proc_handler (ctl_table *ctl, int write, struct file * filp, void __user *buffer, size_t *lenp, loff_t *ppos); +typedef int virt_handler (struct ctl_table *ctl, int write, xid_t xid, + void **datap, size_t *lenp); + extern int proc_dostring(ctl_table *, int, struct file *, void __user *, size_t *, loff_t *); extern int proc_dointvec(ctl_table *, int, struct file *, --- olpc-2.6-master.00/include/linux/sysctl.h 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/include/linux/sysctl.h 2007-03-01 11:52:20.000000000 -0500 @@ -1024,6 +1028,7 @@ struct ctl_table ctl_table *child; ctl_table *parent; /* Automatically set */ proc_handler *proc_handler; /* Callback for text formatting */ + virt_handler *virt_handler; /* Context virtualization */ ctl_handler *strategy; /* Callback function for all r/w */ void *extra1; void *extra2; --- olpc-2.6-master.00/fs/locks.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/locks.c 2007-03-01 12:01:25.000000000 -0500 @@ -811,6 +832,8 @@ static int __posix_lock_file_conf(struct struct file_lock **before; int error, added = 0; + vxd_assert(xid == vx_current_xid(), + "xid(%d) == current(%d)", xid, vx_current_xid()); /* * We may need two file_lock structures for this operation, * so we get them in advance to avoid races. --- olpc-2.6-master.00/arch/um/kernel/syscall.c 2007-02-28 20:05:26.000000000 -0500 +++ olpc-2.6-master-vs22x.02/arch/um/kernel/syscall.c 2007-03-01 11:52:20.000000000 -0500 @@ -118,6 +119,7 @@ long sys_uname(struct old_utsname __user long sys_olduname(struct oldold_utsname __user * name) { long error; + struct new_utsname *ptr; if (!name) return -EFAULT; --- olpc-2.6-master.00/kernel/fork.c 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/kernel/fork.c 2007-03-01 11:52:20.000000000 -0500 @@ -333,8 +342,6 @@ static struct mm_struct * mm_init(struct INIT_LIST_HEAD(&mm->mmlist); mm->core_waiters = 0; mm->nr_ptes = 0; - set_mm_counter(mm, file_rss, 0); - set_mm_counter(mm, anon_rss, 0); spin_lock_init(&mm->page_table_lock); rwlock_init(&mm->ioctx_list_lock); mm->ioctx_list = NULL; --- olpc-2.6-master.00/mm/mmap.c 2007-02-28 20:05:29.000000000 -0500 +++ olpc-2.6-master-vs22x.02/mm/mmap.c 2007-03-01 11:52:20.000000000 -0500 @@ -1987,6 +1990,11 @@ void exit_mmap(struct mm_struct *mm) free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, 0); tlb_finish_mmu(tlb, 0, end); + set_mm_counter(mm, file_rss, 0); + set_mm_counter(mm, anon_rss, 0); + vx_vmpages_sub(mm, mm->total_vm); + vx_vmlocked_sub(mm, mm->locked_vm); + /* * Walk the list again, actually closing and freeing it, * with preemption enabled, without holding any MM locks. --- olpc-2.6-master.00/fs/quota.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/quota.c 2007-03-01 11:52:20.000000000 -0500 @@ -17,6 +17,7 @@ #include #include #include +#include /* Check validity of generic quotactl commands */ static int generic_quotactl_valid(struct super_block *sb, int type, int cmd, qid_t id) --- olpc-2.6-master.00/arch/alpha/mm/init.c 2007-02-28 20:05:25.000000000 -0500 +++ olpc-2.6-master-vs22x.02/arch/alpha/mm/init.c 2007-03-01 11:52:20.000000000 -0500 @@ -20,6 +20,7 @@ #include #include /* max_low_pfn */ #include +#include #include #include --- olpc-2.6-master.00/fs/proc/generic.c 2007-02-28 20:05:28.000000000 -0500 +++ olpc-2.6-master-vs22x.02/fs/proc/generic.c 2007-03-01 11:52:20.000000000 -0500 @@ -20,6 +20,7 @@ #include #include #include +#include #include #include "internal.h"