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>
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:
kfree(im);
out1:
kfree(msg);
out0:
- complete_request_key(cons, ret);
+ key_revoke(cons->key);
+ key_revoke(cons->authkey);
return ret;
}