diff mbox

nfsd: use correct byte order on rdma port.

Message ID 1456164550-6369-1-git-send-email-steved@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Steve Dickson Feb. 22, 2016, 6:09 p.m. UTC
The returned port from getservbyname() is in
network order. Convert the port to host order
before writing it to the portlist file.

Reported-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
---
 utils/nfsd/nfssvc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Chuck Lever Feb. 22, 2016, 6:33 p.m. UTC | #1
> On Feb 22, 2016, at 1:09 PM, Steve Dickson <SteveD@redhat.com> wrote:
> 
> The returned port from getservbyname() is in
> network order. Convert the port to host order
> before writing it to the portlist file.

Reviewed-by: Chuck Lever <chuck.lever@oracle.com>

/etc/services has:

nfsrdma    20049/tcp
nfsrdma    20049/udp
nfsrdma    20049/sctp

which RFC 5666 defines, but I couldn't find in the
IANA protocols registry.

 struct servent *sv = getservbyname("nfsrdma", "tcp");

Is weird.


> Reported-by: Chuck Lever <chuck.lever@oracle.com>
> Signed-off-by: Steve Dickson <steved@redhat.com>
> ---
> utils/nfsd/nfssvc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c
> index e8efd06..dcb430a 100644
> --- a/utils/nfsd/nfssvc.c
> +++ b/utils/nfsd/nfssvc.c
> @@ -282,7 +282,7 @@ nfssvc_set_rdmaport(const char *port)
> 	int fd;
> 
> 	if (sv)
> -		nport = sv->s_port;
> +		nport = ntohs(sv->s_port);
> 	else {
> 		char *ep;
> 		nport = strtol(port, &ep, 10);
> -- 
> 2.5.0
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
Chuck Lever




--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tom Talpey Feb. 22, 2016, 6:46 p.m. UTC | #2
On 2/22/2016 10:33 AM, Chuck Lever wrote:
>
>> On Feb 22, 2016, at 1:09 PM, Steve Dickson <SteveD@redhat.com> wrote:
>>
>> The returned port from getservbyname() is in
>> network order. Convert the port to host order
>> before writing it to the portlist file.
>
> Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
>
> /etc/services has:
>
> nfsrdma    20049/tcp
> nfsrdma    20049/udp
> nfsrdma    20049/sctp
>
> which RFC 5666 defines, but I couldn't find in the
> IANA protocols registry.

They're there:

http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt

nfsrdma            20049       tcp    Network File System (NFS) 
 
                                                               [RFC5666]
                                       over RDMA
nfsrdma            20049       udp    Network File System (NFS) 
 
                                                               [RFC5666]
                                       over RDMA
nfsrdma            20049      sctp    Network File System (NFS) 
 
                                                               [RFC5666]
                                       over RDMA


>
>   struct servent *sv = getservbyname("nfsrdma", "tcp");
>
> Is weird.
>
>
>> Reported-by: Chuck Lever <chuck.lever@oracle.com>
>> Signed-off-by: Steve Dickson <steved@redhat.com>
>> ---
>> utils/nfsd/nfssvc.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c
>> index e8efd06..dcb430a 100644
>> --- a/utils/nfsd/nfssvc.c
>> +++ b/utils/nfsd/nfssvc.c
>> @@ -282,7 +282,7 @@ nfssvc_set_rdmaport(const char *port)
>> 	int fd;
>>
>> 	if (sv)
>> -		nport = sv->s_port;
>> +		nport = ntohs(sv->s_port);
>> 	else {
>> 		char *ep;
>> 		nport = strtol(port, &ep, 10);
>> --
>> 2.5.0
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
> --
> Chuck Lever
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steve Dickson March 1, 2016, 5:30 p.m. UTC | #3
On 02/22/2016 01:09 PM, Steve Dickson wrote:
> The returned port from getservbyname() is in
> network order. Convert the port to host order
> before writing it to the portlist file.
> 
> Reported-by: Chuck Lever <chuck.lever@oracle.com>
> Signed-off-by: Steve Dickson <steved@redhat.com>
Committed.. 

steved.

> ---
>  utils/nfsd/nfssvc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c
> index e8efd06..dcb430a 100644
> --- a/utils/nfsd/nfssvc.c
> +++ b/utils/nfsd/nfssvc.c
> @@ -282,7 +282,7 @@ nfssvc_set_rdmaport(const char *port)
>  	int fd;
>  
>  	if (sv)
> -		nport = sv->s_port;
> +		nport = ntohs(sv->s_port);
>  	else {
>  		char *ep;
>  		nport = strtol(port, &ep, 10);
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c
index e8efd06..dcb430a 100644
--- a/utils/nfsd/nfssvc.c
+++ b/utils/nfsd/nfssvc.c
@@ -282,7 +282,7 @@  nfssvc_set_rdmaport(const char *port)
 	int fd;
 
 	if (sv)
-		nport = sv->s_port;
+		nport = ntohs(sv->s_port);
 	else {
 		char *ep;
 		nport = strtol(port, &ep, 10);