1. 08 May, 2007 3 commits
    • David Woodhouse's avatar
      Increase slab redzone to 64bits · b46b8f19
      David Woodhouse authored
      There are two problems with the existing redzone implementation.
      
      Firstly, it's causing misalignment of structures which contain a 64-bit
      integer, such as netfilter's 'struct ipt_entry' -- causing netfilter
      modules to fail to load because of the misalignment.  (In particular, the
      first check in
      net/ipv4/netfilter/ip_tables.c::check_entry_size_and_hooks())
      
      On ppc32 and sparc32, amongst others, __alignof__(uint64_t) == 8.
      
      With slab debugging, we use 32-bit redzones. And allocated slab objects
      aren't sufficiently aligned to hold a structure containing a uint64_t.
      
      By _just_ setting ARCH_KMALLOC_MINALIGN to __alignof__(u64) we'd disable
      redzone checks on those architectures.  By using 64-bit redzones we avoid that
      loss of debugging, and also fix the other problem while we're at it.
      
      When investigating this, I noticed that on 64-bit platforms we're using a
      32-bit value of RED_ACTIVE/RED_INACTIVE in the 64-bit memory location set
      aside for the redzone.  Which means that the four bytes immediately before
      or after the allocated object at 0x00,0x00,0x00,0x00 for LE and BE
      machines, respectively.  Which is probably not the most useful choice of
      poison value.
      
      One way to fix both of those at once is just to switch to 64-bit
      redzones in all cases.
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      Acked-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Christoph Lameter <clameter@engr.sgi.com>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b46b8f19
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 · 5b94f675
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
        [SCSI] esp_scsi: Fix section mismatch warnings.
        [VIDEO] sunxvr2500: Fix PCI device ID table.
      5b94f675
    • Linus Torvalds's avatar
      Fix bluetooth HCI sysfs compile · d12db0b0
      Linus Torvalds authored
      More fallout from the removal of "struct subsystem" from the core device
      model.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d12db0b0
  2. 07 May, 2007 37 commits