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

Commit eb18860e authored by Chuck Lever's avatar Chuck Lever Committed by Trond Myklebust
Browse files

NLM: NLM protocol version numbers are u32



Clean up: RPC protocol version numbers are u32.  Make sure we use an
appropriate type for NLM version numbers when calling nlm_lookup_host().

Eliminates a harmless mixed sign comparison in nlm_host_lookup().

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 90d5b180
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -42,9 +42,10 @@ static struct nsm_handle * nsm_find(const struct sockaddr_in *sin,
/*
 * Common host lookup routine for server & client
 */
static struct nlm_host *
nlm_lookup_host(int server, const struct sockaddr_in *sin,
		int proto, int version, const char *hostname,
static struct nlm_host *nlm_lookup_host(int server,
					const struct sockaddr_in *sin,
					int proto, u32 version,
					const char *hostname,
					unsigned int hostname_len,
					const struct sockaddr_in *ssin)
{
@@ -55,7 +56,7 @@ nlm_lookup_host(int server, const struct sockaddr_in *sin,
	int		hash;

	dprintk("lockd: nlm_lookup_host("NIPQUAD_FMT"->"NIPQUAD_FMT
			", p=%d, v=%d, my role=%s, name=%.*s)\n",
			", p=%d, v=%u, my role=%s, name=%.*s)\n",
			NIPQUAD(ssin->sin_addr.s_addr),
			NIPQUAD(sin->sin_addr.s_addr), proto, version,
			server? "server" : "client",
@@ -175,9 +176,10 @@ nlm_destroy_host(struct nlm_host *host)
/*
 * Find an NLM server handle in the cache. If there is none, create it.
 */
struct nlm_host *
nlmclnt_lookup_host(const struct sockaddr_in *sin, int proto, int version,
			const char *hostname, unsigned int hostname_len)
struct nlm_host *nlmclnt_lookup_host(const struct sockaddr_in *sin,
				     int proto, u32 version,
				     const char *hostname,
				     unsigned int hostname_len)
{
	struct sockaddr_in ssin = {0};

+4 −2
Original line number Diff line number Diff line
@@ -173,8 +173,10 @@ void nlmclnt_next_cookie(struct nlm_cookie *);
/*
 * Host cache
 */
struct nlm_host  *nlmclnt_lookup_host(const struct sockaddr_in *, int, int,
					const char *, unsigned int);
struct nlm_host  *nlmclnt_lookup_host(const struct sockaddr_in *sin,
					int proto, u32 version,
					const char *hostname,
					unsigned int hostname_len);
struct nlm_host  *nlmsvc_lookup_host(struct svc_rqst *, const char *,
					unsigned int);
struct rpc_clnt * nlm_bind_host(struct nlm_host *);