• Thomas Gleixner's avatar
    highmem: Make DEBUG_HIGHMEM functional · 389755c2
    Thomas Gleixner authored
    For some obscure reason when CONFIG_DEBUG_HIGHMEM is enabled the stack
    depth is increased from 20 to 41. But the only thing DEBUG_HIGHMEM does is
    to enable a few BUG_ON()'s in the mapping code.
    
    That's a leftover from the historical mapping code which had fixed entries
    for various purposes. DEBUG_HIGHMEM inserted guard mappings between the map
    types. But that got all ditched when kmap_atomic() switched to a stack
    based map management. Though the WITH_KM_FENCE magic survived without being
    functional. All the thing does today is to increase the stack depth.
    
    Add a working implementation to the generic kmap_local* implementation.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Linus Torvalds <torvalds@linuxfoundation.org>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Link: https://lore.kernel.org/r/20201103095857.268258322@linutronix.de
    389755c2
highmem.c 15.2 KB