sunrpc: release svc_pool_map reference when serv allocation fails
Currently, it leaks when the allocation fails. Signed-off-by: Jeff Layton <jlayton@primarydata.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
8d65ef760d
commit
067f96ef17
|
@ -503,13 +503,15 @@ svc_create_pooled(struct svc_program *prog, unsigned int bufsize,
|
||||||
unsigned int npools = svc_pool_map_get();
|
unsigned int npools = svc_pool_map_get();
|
||||||
|
|
||||||
serv = __svc_create(prog, bufsize, npools, shutdown);
|
serv = __svc_create(prog, bufsize, npools, shutdown);
|
||||||
|
if (!serv)
|
||||||
|
goto out_err;
|
||||||
|
|
||||||
if (serv != NULL) {
|
|
||||||
serv->sv_function = func;
|
serv->sv_function = func;
|
||||||
serv->sv_module = mod;
|
serv->sv_module = mod;
|
||||||
}
|
|
||||||
|
|
||||||
return serv;
|
return serv;
|
||||||
|
out_err:
|
||||||
|
svc_pool_map_put();
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(svc_create_pooled);
|
EXPORT_SYMBOL_GPL(svc_create_pooled);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue