NFS: Check return value from rpc_queue_upcall()
This function could fail to queue the upcall if rpc.idmapd is not running, causing a warning message to be printed. Instead, I want to check the return value and revoke the key if the upcall can't be run. Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
committed by
Trond Myklebust
parent
4b7c8dd205
commit
11588f493a
@@ -656,14 +656,19 @@ static int nfs_idmap_legacy_upcall(struct key_construction *cons,
|
|||||||
|
|
||||||
idmap->idmap_key_cons = cons;
|
idmap->idmap_key_cons = cons;
|
||||||
|
|
||||||
return rpc_queue_upcall(idmap->idmap_pipe, msg);
|
ret = rpc_queue_upcall(idmap->idmap_pipe, msg);
|
||||||
|
if (ret < 0)
|
||||||
|
goto out2;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
|
||||||
out2:
|
out2:
|
||||||
kfree(im);
|
kfree(im);
|
||||||
out1:
|
out1:
|
||||||
kfree(msg);
|
kfree(msg);
|
||||||
out0:
|
out0:
|
||||||
complete_request_key(cons, ret);
|
key_revoke(cons->key);
|
||||||
|
key_revoke(cons->authkey);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user