summaryrefslogtreecommitdiff
path: root/lib/slab.c
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2023-04-28 23:48:03 +0200
committerMaria Matejka <mq@ucw.cz>2023-05-03 21:30:29 +0200
commit9f25dd79b8e9fdea9050c9f7e3a10cea8791d745 (patch)
tree3e72b3f665d6e18d65c25ad6baf37a015c8767bf /lib/slab.c
parent010c26c29602d52e704ea7cb83f2f6acacbddd0d (diff)
Allocation from linpools and slabs requires the appropriate lock to be taken
Diffstat (limited to 'lib/slab.c')
-rw-r--r--lib/slab.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/slab.c b/lib/slab.c
index 23316e82..7d2c87e9 100644
--- a/lib/slab.c
+++ b/lib/slab.c
@@ -256,6 +256,7 @@ void *
sl_alloc(slab *s)
{
struct sl_head *h;
+ ASSERT_DIE(DG_IS_LOCKED(resource_parent(&s->r)->domain));
redo:
if (!(h = s->partial_heads.first))
@@ -331,6 +332,7 @@ sl_free(void *oo)
{
struct sl_head *h = SL_GET_HEAD(oo);
struct slab *s = h->slab;
+ ASSERT_DIE(DG_IS_LOCKED(resource_parent(&s->r)->domain));
#ifdef POISON
memset(oo, 0xdb, s->data_size);