Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11588f49 authored by Bryan Schumaker's avatar Bryan Schumaker Committed by Trond Myklebust
Browse files

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: default avatarBryan Schumaker <bjschuma@netapp.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 4b7c8dd2
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -656,14 +656,19 @@ static int nfs_idmap_legacy_upcall(struct key_construction *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:
	kfree(im);
out1:
	kfree(msg);
out0:
	complete_request_key(cons, ret);
	key_revoke(cons->key);
	key_revoke(cons->authkey);
	return ret;
}