From: Jens Axboe Date: Tue, 17 Mar 2015 16:45:18 +0000 (-0600) Subject: smalloc: don't crash on being passed a bad pointer X-Git-Tag: fio-2.2.7~22 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=45a65144dd71ecc963a94d3dfd7bc01d4bde664a;hp=95e564523d502e5a682ae7f6ee793ca4c9ca76ca smalloc: don't crash on being passed a bad pointer This can happen if we pass sfree() memory not allocated by smalloc. Ignore it and log an error instead of triggering an assert(). Signed-off-by: Jens Axboe --- diff --git a/smalloc.c b/smalloc.c index b460d657..447d5c55 100644 --- a/smalloc.c +++ b/smalloc.c @@ -363,8 +363,12 @@ void sfree(void *ptr) global_read_unlock(); - assert(pool); - sfree_pool(pool, ptr); + if (pool) { + sfree_pool(pool, ptr); + return; + } + + log_err("smalloc: ptr %p not from smalloc pool\n", ptr); } static void *__smalloc_pool(struct pool *pool, size_t size)