X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=fs%2Fmbcache.c;h=c5bd19ffa326a1c8c30dc7d89263640d0aa82739;hb=12e3d3cdd975fe986cc5c35f60b1467a8ec20b80;hp=eccda3a02de6ff6a914b1636d5e80da0557eadde;hpb=d7124d69a519fdbc52e7bb18f8726872122b2a1e;p=cascardo%2Flinux.git diff --git a/fs/mbcache.c b/fs/mbcache.c index eccda3a02de6..c5bd19ffa326 100644 --- a/fs/mbcache.c +++ b/fs/mbcache.c @@ -366,7 +366,11 @@ struct mb_cache *mb_cache_create(int bucket_bits) cache->c_shrink.count_objects = mb_cache_count; cache->c_shrink.scan_objects = mb_cache_scan; cache->c_shrink.seeks = DEFAULT_SEEKS; - register_shrinker(&cache->c_shrink); + if (register_shrinker(&cache->c_shrink)) { + kfree(cache->c_hash); + kfree(cache); + goto err_out; + } INIT_WORK(&cache->c_shrink_work, mb_cache_shrink_worker);