• Joonsoo Kim's avatar
    mm/slub: support left redzone · d86bd1be
    Joonsoo Kim authored
    SLUB already has a redzone debugging feature.  But it is only positioned
    at the end of object (aka right redzone) so it cannot catch left oob.
    Although current object's right redzone acts as left redzone of next
    object, first object in a slab cannot take advantage of this effect.
    This patch explicitly adds a left red zone to each object to detect left
    oob more precisely.
    
    Background:
    
    Someone complained to me that left OOB doesn't catch even if KASAN is
    enabled which does page allocation debugging.  That page is out of our
    control so it would be allocated when left OOB happens and, in this
    case, we can't find OOB.  Moreover, SLUB debugging feature can be
    enabled without page allocator debugging and, in this case, we will miss
    that OOB.
    
    Before trying to implement, I expected that changes would be too
    complex, but, it doesn't look that complex to me now.  Almost changes
    are applied to debug specific functions so I feel okay.
    Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: David Rientjes <rientjes@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d86bd1be
slub.c 134 KB