• Feng Tang's avatar
    mm/slub, kunit: add SLAB_SKIP_KFENCE flag for cache creation · 4d9dd4b0
    Feng Tang authored
    When kfence is enabled, the buffer allocated from the test case
    could be from a kfence pool, and the operation could be also
    caught and reported by kfence first, causing the case to fail.
    
    With default kfence setting, this is very difficult to be triggered.
    By changing CONFIG_KFENCE_NUM_OBJECTS from 255 to 16383, and
    CONFIG_KFENCE_SAMPLE_INTERVAL from 100 to 5, the allocation from
    kfence did hit 7 times in different slub_kunit cases out of 900
    times of boot test.
    
    To avoid this, initially we tried is_kfence_address() to check this
    and repeated allocation till finding a non-kfence address. Vlastimil
    Babka suggested SLAB_SKIP_KFENCE flag could be used to achieve this,
    and better add a wrapper function for simplifying cache creation.
    Signed-off-by: default avatarFeng Tang <feng.tang@intel.com>
    Reviewed-by: default avatarMarco Elver <elver@google.com>
    Reviewed-by: default avatarHyeonggon Yoo <42.hyeyoo@gmail.com>
    Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
    4d9dd4b0
slub_kunit.c 3.78 KB