KMALLOC_SLAB_MASK
KKASSERT(((uintptr_t)slab & KMALLOC_SLAB_MASK) == 0);
KKASSERT(((uintptr_t)slab & KMALLOC_SLAB_MASK) == 0);
KKASSERT(((uintptr_t)slab & KMALLOC_SLAB_MASK) == 0);
KKASSERT(((uintptr_t)next & KMALLOC_SLAB_MASK) == 0);
KKASSERT(((uintptr_t)save & KMALLOC_SLAB_MASK) == 0);
KKASSERT(((uintptr_t)slab & KMALLOC_SLAB_MASK) == 0);
KKASSERT(((uintptr_t)slab & KMALLOC_SLAB_MASK) == 0);
KKASSERT(((uintptr_t)slab & KMALLOC_SLAB_MASK) == 0);
size_t i = (((uintptr_t)obj & KMALLOC_SLAB_MASK) - slab->offset) /
size_t i = (((uintptr_t)obj & KMALLOC_SLAB_MASK) - slab->offset) /
~KMALLOC_SLAB_MASK) == 0);
~KMALLOC_SLAB_MASK) == 0, ("SLAB %p ncount %zd objsize %zd obj=%p\n", slab, slab->ncount, slab->objsize, obj));
slab = (void *)((uintptr_t)obj & ~KMALLOC_SLAB_MASK);