Re: [PATCH] rust: slab: add basic slab module

Danilo Krummrich
2025-09-26T15:55:11Z

On Fri Sep 26, 2025 at 5:33 PM CEST, Danilo Krummrich wrote:
> The only thing we need on the Rust side is that existing allocations remain
> valid even if the cache is destroyed. Or the other way around the cache is
> silently kept alive internally.

Or to express it in C code:

struct kmem_cache *cache = kmem_cache_create();
struct Foo *foo = kmem_cache_alloc();

// After this call cache will never be accessed; leaves a zombie cache,
// since foo is still alive.
kmem_cache_destroy(cache);

// This must still be valid.
foo->bar = 42;

// Frees foo and causes the "zombie" cache to actually be destroyed.
kmem_cache_free(foo);