diff --git a/fs/bcachefs/btree_key_cache.c b/fs/bcachefs/btree_key_cache.c index d96188b92db2..6a5bdfff1f25 100644 --- a/fs/bcachefs/btree_key_cache.c +++ b/fs/bcachefs/btree_key_cache.c @@ -137,6 +137,10 @@ static struct bkey_cached *__bkey_cached_alloc(unsigned key_u64s, gfp_t gfp) if (unlikely(!ck)) return NULL; ck->k = kmalloc(key_u64s * sizeof(u64), gfp); + if (!ck->k) + return -ENOMEM; + memset(ck->k, 0, key_u64s * sizeof(u64)); + if (unlikely(!ck->k)) { kmem_cache_free(bch2_key_cache, ck); return NULL;