1. 30 1月, 2008 4 次提交
    • H
      x86: rename the struct pt_regs members for 32/64-bit consistency · 65ea5b03
      H. Peter Anvin 提交于
      We have a lot of code which differs only by the naming of specific
      members of structures that contain registers.  In order to enable
      additional unifications, this patch drops the e- or r- size prefix
      from the register names in struct pt_regs, and drops the x- prefixes
      for segment registers on the 32-bit side.
      
      This patch also performs the equivalent renames in some additional
      places that might be candidates for unification in the future.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      65ea5b03
    • R
      x86 vDSO: consolidate vdso32 · af65d648
      Roland McGrath 提交于
      This makes x86_64's ia32 emulation support share the sources used in the
      32-bit kernel for the 32-bit vDSO and much of its setup code.
      
      The 32-bit vDSO mapping now behaves the same on x86_64 as on native 32-bit.
      The abi.syscall32 sysctl on x86_64 now takes the same values that
      vm.vdso_enabled takes on the 32-bit kernel.  That is, 1 means a randomized
      vDSO location, 2 means the fixed old address.  The CONFIG_COMPAT_VDSO
      option is now available to make this the default setting, the same meaning
      it has for the 32-bit kernel.  (This does not affect the 64-bit vDSO.)
      
      The argument vdso32=[012] can be used on both 32-bit and 64-bit kernels to
      set this paramter at boot time.  The vdso=[012] argument still does this
      same thing on the 32-bit kernel.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      af65d648
    • R
      x86 vDSO: i386 vdso32 · 6c3652ef
      Roland McGrath 提交于
      This makes the i386 kernel use the new vDSO build in arch/x86/vdso/vdso32/
      to replace the old one from arch/x86/kernel/.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      6c3652ef
    • J
      x86: randomize brk · c1d171a0
      Jiri Kosina 提交于
      Randomize the location of the heap (brk) for i386 and x86_64.  The range is
      randomized in the range starting at current brk location up to 0x02000000
      offset for both architectures.  This, together with
      pie-executable-randomization.patch and
      pie-executable-randomization-fix.patch, should make the address space
      randomization on i386 and x86_64 complete.
      
      Arjan says:
      
      This is known to break older versions of some emacs variants, whose dumper
      code assumed that the last variable declared in the program is equal to the
      start of the dynamically allocated memory region.
      
      (The dumper is the code where emacs effectively dumps core at the end of it's
      compilation stage; this coredump is then loaded as the main program during
      normal use)
      
      iirc this was 5 years or so; we found this way back when I was at RH and we
      first did the security stuff there (including this brk randomization).  It
      wasn't all variants of emacs, and it got fixed as a result (I vaguely remember
      that emacs already had code to deal with it for other archs/oses, just
      ifdeffed wrongly).
      
      It's a rare and wrong assumption as a general thing, just on x86 it mostly
      happened to be true (but to be honest, it'll break too if gcc does
      something fancy or if the linker does a non-standard order).  Still its
      something we should at least document.
      
      Note 2: afaik it only broke the emacs *build*.  I'm not 100% sure about that
      (it IS 5 years ago) though.
      
      [ akpm@linux-foundation.org: deuglification ]
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: Jakub Jelinek <jakub@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      c1d171a0
  2. 24 10月, 2007 1 次提交
  3. 11 10月, 2007 1 次提交