Skip to content

Commit

Permalink
Merge pull request #1498 from robertbaldyga/fix-kmemleak
Browse files Browse the repository at this point in the history
rpool: Mark an entry for kmemleak outside of atomic context
  • Loading branch information
robertbaldyga authored Sep 2, 2024
2 parents 80f22e9 + 20ad047 commit dd04038
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions modules/cas_cache/utils/utils_rpool.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,12 +218,15 @@ void *cas_rpool_try_get(struct cas_reserve_pool *rpool_master, int *cpu)
entry = RPOOL_ITEM_TO_ENTRY(rpool_master, item);
list_del(item);
atomic_dec(&current_rpool->count);
/* The actuall allocation - kmemleak should start tracking page */
kmemleak_alloc(entry, rpool_master->entry_size, 1, GFP_NOIO);
}

spin_unlock_irqrestore(&current_rpool->lock, flags);

if (entry) {
/* The actual allocation - kmemleak should start tracking page */
kmemleak_alloc(entry, rpool_master->entry_size, 1, GFP_NOIO);
}

CAS_DEBUG_PARAM("[%s]Removed item from reserve pool [%s] for cpu [%d], "
"items in pool %d", rpool_master->name,
item == NULL ? "SKIPPED" : "OK", *cpu,
Expand Down

0 comments on commit dd04038

Please sign in to comment.