Currently, it leaks when the allocation fails.
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
        unsigned int npools = svc_pool_map_get();
 
        serv = __svc_create(prog, bufsize, npools, shutdown);
+       if (!serv)
+               goto out_err;
 
-       if (serv != NULL) {
-               serv->sv_function = func;
-               serv->sv_module = mod;
-       }
-
+       serv->sv_function = func;
+       serv->sv_module = mod;
        return serv;
+out_err:
+       svc_pool_map_put();
+       return NULL;
 }
 EXPORT_SYMBOL_GPL(svc_create_pooled);