diff options
author | Dave Jones <davej@redhat.com> | 2012-03-22 12:05:20 -0400 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2012-03-22 12:05:20 -0400 |
commit | 7bd4dec4713c108dfe307272f1cfc22071d306a1 (patch) | |
tree | e15eef4a48831f55562f0d58a712782ccde1b6d9 /linux-2.6-i386-nx-emulation.patch | |
parent | 70f8133b7196205f2d5d745d69eb8e62027ff650 (diff) | |
download | kernel-7bd4dec4713c108dfe307272f1cfc22071d306a1.tar.gz kernel-7bd4dec4713c108dfe307272f1cfc22071d306a1.tar.xz kernel-7bd4dec4713c108dfe307272f1cfc22071d306a1.zip |
Linux v3.3-4074-g5375871
Diffstat (limited to 'linux-2.6-i386-nx-emulation.patch')
-rw-r--r-- | linux-2.6-i386-nx-emulation.patch | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/linux-2.6-i386-nx-emulation.patch b/linux-2.6-i386-nx-emulation.patch index d1624362b..565d616e1 100644 --- a/linux-2.6-i386-nx-emulation.patch +++ b/linux-2.6-i386-nx-emulation.patch @@ -476,10 +476,10 @@ index 12eb07b..c48ed49 100644 .load_idt = xen_load_idt, .load_tls = xen_load_tls, diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c -index bcb884e..94e82fa 100644 +index 81878b7..2536ec3 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c -@@ -711,6 +711,15 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) +@@ -711,6 +711,16 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) if (retval) goto out_free_dentry; @@ -492,9 +492,10 @@ index bcb884e..94e82fa 100644 + arch_add_exec_range(current->mm, -1); +#endif + ++ /* OK, This is the point of no return */ - current->flags &= ~PF_FORKNOEXEC; current->mm->def_flags = def_flags; + diff --git a/include/linux/sched.h b/include/linux/sched.h index 7d379a6..90ccb05 100644 --- a/include/linux/sched.h @@ -576,10 +577,10 @@ index 3f758c7..0e29e1b 100644 err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); /* Success. */ -@@ -2243,6 +2265,7 @@ void exit_mmap(struct mm_struct *mm) +@@ -2266,6 +2266,7 @@ void exit_mmap(struct mm_struct *mm) free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, 0); - tlb_finish_mmu(&tlb, 0, end); + tlb_finish_mmu(&tlb, 0, -1); + arch_flush_exec_range(mm); /* |