#include <linux/personality.h>
#include <linux/init.h>
#include <linux/flat.h>
+#include <linux/vs_memory.h>
#include <asm/byteorder.h>
#include <asm/system.h>
#include <asm/uaccess.h>
-#include <asm/pgalloc.h>
#include <asm/unaligned.h>
#include <asm/cacheflush.h>
* size limits imposed on them by creating programs with large
* arrays in the data or bss.
*/
- rlim = current->rlim[RLIMIT_DATA].rlim_cur;
+ rlim = current->signal->rlim[RLIMIT_DATA].rlim_cur;
if (rlim >= RLIM_INFINITY)
rlim = ~0;
if (data_len + bss_len > rlim)
return -ENOEXEC;
/* Get the pointer's value. */
- addr = flat_get_addr_from_rp(rp, relval);
+ addr = flat_get_addr_from_rp(rp, relval, flags);
if (addr != 0) {
/*
* Do the relocation. PIC relocs in the data section are
/****************************************************************************/
-module_init(init_flat_binfmt);
+core_initcall(init_flat_binfmt);
module_exit(exit_flat_binfmt);
/****************************************************************************/