Hi Andrew, Here is the updated series that caused the bug found by 0day test robot. To ease the load on your memory, this series is aimed at replacing the following: Original buggy series: mm-remove-stale-comment-from-page-struct.patch slub-use-slab_list-instead-of-lru.patch slab-use-slab_list-instead-of-lru.patch slob-use-slab_list-instead-of-lru.patch slub-add-comments-to-endif-pre-processor-macros.patch slob-respect-list_head-abstraction-layer.patch list-add-function-list_rotate_to_front.patch And the bug fix patch: slob-only-use-list-functions-when-safe-to-do-so.patch Applies cleanly on top of Linus' tree (tag: v5.1-rc3). This series differs from the bug fix above by adding a separate return parameter to slob_page_alloc() instead of using a double pointer. This is defensive in case later someone adds code that accesses sp (struct page *), also it is easier to read/verify the code since its less 'tricky'. Tested by building and booting a kernel using the SLOB allocator and with CONFIG_DEBUG_LIST. >From v4 ... Currently the slab allocators (ab)use the struct page 'lru' list_head. We have a list head for slab allocators to use, 'slab_list'. During v2 it was noted by Christoph that the SLOB allocator was reaching into a list_head, this version adds 2 patches to the front of the set to fix that. Clean up all three allocators by using the 'slab_list' list_head instead of overloading the 'lru' list_head. Changes since v4: - Add return parameter to slob_page_alloc() to indicate whether the page is removed from the freelist during allocation. - Only do list rotate optimisation if the page was _not_ removed from the freelist (fix bug found by 0day test robot). Changes since v3: - Change all ->lru to ->slab_list in slob (thanks Roman). Changes since v2: - Add list_rotate_to_front(). - Fix slob to use list_head API. - Re-order patches to put the list.h changes up front. - Add acks from Christoph. Changes since v1: - Verify object files are the same before and after the patch set is applied (suggested by Matthew). - Add extra explanation to the commit logs explaining why these changes are safe to make (suggested by Roman). - Remove stale comment (thanks Willy). thanks, Tobin. Tobin C. Harding (7): list: Add function list_rotate_to_front() slob: Respect list_head abstraction layer slob: Use slab_list instead of lru slub: Add comments to endif pre-processor macros slub: Use slab_list instead of lru slab: Use slab_list instead of lru mm: Remove stale comment from page struct include/linux/list.h | 18 ++++++++++++ include/linux/mm_types.h | 2 +- mm/slab.c | 49 ++++++++++++++++---------------- mm/slob.c | 59 +++++++++++++++++++++++++++------------ mm/slub.c | 60 ++++++++++++++++++++-------------------- 5 files changed, 115 insertions(+), 73 deletions(-) -- 2.21.0