drivers: lustre: ptlrpc: check result of register_shrinker()
authorAliaksei Karaliou <akaraliou.dev@gmail.com>
Thu, 7 Dec 2017 07:25:51 +0000 (10:25 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Dec 2017 11:37:50 +0000 (12:37 +0100)
sptlrpc_enc_pool_init() does not check result of register_shrinker()
which was tagged __must_check recently, reported by sparse.

Signed-off-by: Aliaksei Karaliou <akaraliou.dev@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c

index 77a3721..134ee72 100644 (file)
@@ -396,6 +396,8 @@ static struct shrinker pools_shrinker = {
 
 int sptlrpc_enc_pool_init(void)
 {
+       int rc;
+
        /*
         * maximum capacity is 1/8 of total physical memory.
         * is the 1/8 a good number?
@@ -432,9 +434,11 @@ int sptlrpc_enc_pool_init(void)
        if (!page_pools.epp_pools)
                return -ENOMEM;
 
-       register_shrinker(&pools_shrinker);
+       rc = register_shrinker(&pools_shrinker);
+       if (rc)
+               enc_pools_free();
 
-       return 0;
+       return rc;
 }
 
 void sptlrpc_enc_pool_fini(void)