NX emulation fixes

Fix get_gate_vma usage in i386 NX emulation
Fix up dependancy on the dropped randomization patch.
This commit is contained in:
Dave Jones 2011-08-27 13:27:38 -04:00
parent 96b3b74649
commit acf0fc7b14
2 changed files with 6 additions and 2 deletions

View File

@ -2033,6 +2033,10 @@ fi
# ||----w | # ||----w |
# || || # || ||
%changelog %changelog
* Sat Aug 27 2011 Dave Jones <davej@redhat.com>
- Fix get_gate_vma usage in i386 NX emulation
Fix up dependancy on the dropped randomization patch.
* Sat Aug 27 2011 Josh Boyer <jwboyer@redhat.com> * Sat Aug 27 2011 Josh Boyer <jwboyer@redhat.com>
- Linux 3.1-rc3-git6 - Linux 3.1-rc3-git6

View File

@ -249,7 +249,7 @@
+ for (vma = current->mm->mmap; vma; vma = vma->vm_next) + for (vma = current->mm->mmap; vma; vma = vma->vm_next)
+ if ((vma->vm_flags & VM_EXEC) && (vma->vm_end > limit)) + if ((vma->vm_flags & VM_EXEC) && (vma->vm_end > limit))
+ limit = vma->vm_end; + limit = vma->vm_end;
+ vma = get_gate_vma(current); + vma = get_gate_vma(current->mm);
+ if (vma && (vma->vm_flags & VM_EXEC) && (vma->vm_end > limit)) + if (vma && (vma->vm_flags & VM_EXEC) && (vma->vm_end > limit))
+ limit = vma->vm_end; + limit = vma->vm_end;
+ spin_unlock(&current->mm->page_table_lock); + spin_unlock(&current->mm->page_table_lock);
@ -606,7 +606,7 @@ index 57d1868..29c0c35 100644
+ /* in the case of NX emulation, shove the brk segment way out of the + /* in the case of NX emulation, shove the brk segment way out of the
+ way of the exec randomization area, since it can collide with + way of the exec randomization area, since it can collide with
+ future allocations if not. */ + future allocations if not. */
+ if ( (mm->get_unmapped_exec_area == arch_get_unmapped_exec_area) && + if ( (mm->get_unmapped_exec == arch_get_unmapped_exec_area) &&
+ (mm->brk < 0x08000000) ) { + (mm->brk < 0x08000000) ) {
+ bump = (TASK_SIZE/6); + bump = (TASK_SIZE/6);
+ } + }