From 10d43c40dd406178af6ff0dfa14194283e123778 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 2 Jan 2023 14:05:57 +0100 Subject: [PATCH] ext/opcache/zend_shared_alloc: change "locked" check to assertion Calling zend_shared_alloc() without holding the lock is always a bug, not a fatal runtime error. --- ext/opcache/zend_shared_alloc.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ext/opcache/zend_shared_alloc.c b/ext/opcache/zend_shared_alloc.c index c2b48531bc9..703796d51d8 100644 --- a/ext/opcache/zend_shared_alloc.c +++ b/ext/opcache/zend_shared_alloc.c @@ -336,6 +336,8 @@ static size_t zend_shared_alloc_get_largest_free_block(void) void *zend_shared_alloc(size_t size) { + ZEND_ASSERT(ZCG(locked)); + int i; unsigned int block_size = ZEND_ALIGNED_SIZE(size); @@ -343,11 +345,6 @@ void *zend_shared_alloc(size_t size) zend_accel_error_noreturn(ACCEL_LOG_ERROR, "Possible integer overflow in shared memory allocation (%zu + %zu)", size, PLATFORM_ALIGNMENT); } -#if 1 - if (!ZCG(locked)) { - zend_accel_error_noreturn(ACCEL_LOG_ERROR, "Shared memory lock not obtained"); - } -#endif if (block_size > ZSMMG(shared_free)) { /* No hope to find a big-enough block */ SHARED_ALLOC_FAILED(); return NULL;