mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
io_uring/rsrc: use kvfree() for the imu cache
Currently anything that requires kvmalloc_flex() for allocations will not get re-cached, and hence the cache freeing path is correct in that it always uses kfree() to free the allocated memory. But this seems a bit fragile as it's something that could get mix should that situation change, so switch io_free_imu() and io_alloc_cache_free() to use kvfree as the desctructor. Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
53262c91f7
commit
02b8d41c17
|
|
@ -64,7 +64,7 @@ static inline void *io_cache_alloc(struct io_alloc_cache *cache, gfp_t gfp)
|
||||||
static inline void io_cache_free(struct io_alloc_cache *cache, void *obj)
|
static inline void io_cache_free(struct io_alloc_cache *cache, void *obj)
|
||||||
{
|
{
|
||||||
if (!io_alloc_cache_put(cache, obj))
|
if (!io_alloc_cache_put(cache, obj))
|
||||||
kfree(obj);
|
kvfree(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,7 @@ bool io_rsrc_cache_init(struct io_ring_ctx *ctx)
|
||||||
void io_rsrc_cache_free(struct io_ring_ctx *ctx)
|
void io_rsrc_cache_free(struct io_ring_ctx *ctx)
|
||||||
{
|
{
|
||||||
io_alloc_cache_free(&ctx->node_cache, kfree);
|
io_alloc_cache_free(&ctx->node_cache, kfree);
|
||||||
io_alloc_cache_free(&ctx->imu_cache, kfree);
|
io_alloc_cache_free(&ctx->imu_cache, kvfree);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void io_clear_table_tags(struct io_rsrc_data *data)
|
static void io_clear_table_tags(struct io_rsrc_data *data)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user