On 7/19/22 16:15, Rongwei Wang wrote: > ... >> + >> + slab_unlock(slab, &flags2); >> + spin_unlock_irqrestore(&n->list_lock, flags); >> + if (!ret) >> + slab_fix(s, "Object at 0x%p not freed", object); >> + if (slab_to_discard) { >> + stat(s, FREE_SLAB); >> + discard_slab(s, slab); >> + } >> + >> + return ret; >> +} > I had test this patch, and it indeed deal with the bug that I described. Thanks. > Though I am also has prepared this part of code, your code is ok to me. Aha, feel free to post your version, maybe it's simpler? We can compare.