From 7a5c994613363befa8fea5c541e9f6992afd4954 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 23 Jan 2025 17:12:34 +0100 Subject: [PATCH] lospace: Add missing lock in allocation path --- src/large-object-space.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/large-object-space.h b/src/large-object-space.h index 897a7b9e6..43f2936eb 100644 --- a/src/large-object-space.h +++ b/src/large-object-space.h @@ -425,8 +425,10 @@ large_object_space_alloc(struct large_object_space *space, size_t npages) { struct large_object tail = {node->key.addr + size, node->key.size - size}; struct large_object_data tail_value = {0,}; node->key.size = size; + pthread_mutex_lock(&space->object_tree_lock); struct large_object_node *tail_node = large_object_tree_insert(&space->object_tree, tail, tail_value); + pthread_mutex_unlock(&space->object_tree_lock); large_object_space_add_to_freelist(space, tail_node); }