vserver 1.9.5.x5
[linux-2.6.git] / fs / binfmt_som.c
index cabf3cc..7ce202f 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/shm.h>
 #include <linux/personality.h>
 #include <linux/init.h>
+#include <linux/vs_memory.h>
 
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
@@ -254,12 +255,13 @@ load_som_binary(struct linux_binprm * bprm, struct pt_regs * regs)
 
        set_binfmt(&som_format);
        compute_creds(bprm);
-       setup_arg_pages(bprm, EXSTACK_DEFAULT);
+       setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT);
 
        create_som_tables(bprm);
 
        current->mm->start_stack = bprm->p;
-       current->mm->rss = 0;
+       // current->mm->rss = 0;
+       vx_rsspages_sub(current->mm, current->mm->rss);
 
 #if 0
        printk("(start_brk) %08lx\n" , (unsigned long) current->mm->start_brk);
@@ -305,5 +307,5 @@ static void __exit exit_som_binfmt(void)
        unregister_binfmt(&som_format);
 }
 
-module_init(init_som_binfmt);
+core_initcall(init_som_binfmt);
 module_exit(exit_som_binfmt);