public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ibacm/acme.c: Eliminate seg fault when source not supplied
@ 2012-05-30 21:31 Hal Rosenstock
       [not found] ` <4FC6919E.9090805-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Hal Rosenstock @ 2012-05-30 21:31 UTC (permalink / raw)
  To: Hefty, Sean
  Cc: linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)


Signed-off-by: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
diff --git a/src/acme.c b/src/acme.c
index d3f8174..533588c 100644
--- a/src/acme.c
+++ b/src/acme.c
@@ -618,12 +618,18 @@ static void resolve(char *svc)
 				ret = resolve_name(&path);
 				break;
 			case 'l':
-				memset(&path, 0, sizeof path);
-				ret = resolve_lid(&path);
+				if (src_addr) {
+					memset(&path, 0, sizeof path);
+					ret = resolve_lid(&path);
+				} else
+					ret = -1;
 				break;
 			case 'g':
-				memset(&path, 0, sizeof path);
-				ret = resolve_gid(&path);
+				if (src_addr) {
+					memset(&path, 0, sizeof path);
+					ret = resolve_gid(&path);
+				} else
+					ret = -1;
 				break;
 			default:
 				break;
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH] ibacm/acme.c: Eliminate seg fault when source not supplied
       [not found] ` <4FC6919E.9090805-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
@ 2012-06-01  0:04   ` Hefty, Sean
       [not found]     ` <1828884A29C6694DAF28B7E6B8A8237346A255F3-P5GAC/sN6hmkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Hefty, Sean @ 2012-06-01  0:04 UTC (permalink / raw)
  To: Hal Rosenstock
  Cc: linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)

> diff --git a/src/acme.c b/src/acme.c
> index d3f8174..533588c 100644
> --- a/src/acme.c
> +++ b/src/acme.c
> @@ -618,12 +618,18 @@ static void resolve(char *svc)
>  				ret = resolve_name(&path);
>  				break;
>  			case 'l':
> -				memset(&path, 0, sizeof path);
> -				ret = resolve_lid(&path);
> +				if (src_addr) {
> +					memset(&path, 0, sizeof path);
> +					ret = resolve_lid(&path);
> +				} else
> +					ret = -1;
>  				break;
>  			case 'g':
> -				memset(&path, 0, sizeof path);
> -				ret = resolve_gid(&path);
> +				if (src_addr) {
> +					memset(&path, 0, sizeof path);
> +					ret = resolve_gid(&path);
> +				} else
> +					ret = -1;
>  				break;
>  			default:
>  				break;

Thanks.

For this problem, I'd prefer to check for a NULL src_addr in resolve_lid and resolve_gid.  The ibacm service could then select a SLID/SGID based on the specified DLID/DGID.  This makes things easier for the user.

But until ibacm handles a 0 SLID/SGID, have ib_acme provide a more usable failure message.

I can make this patch if this sounds workable to you.

- Sean
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ibacm/acme.c: Eliminate seg fault when source not supplied
       [not found]     ` <1828884A29C6694DAF28B7E6B8A8237346A255F3-P5GAC/sN6hmkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2012-06-01  0:10       ` Hal Rosenstock
  0 siblings, 0 replies; 3+ messages in thread
From: Hal Rosenstock @ 2012-06-01  0:10 UTC (permalink / raw)
  To: Hefty, Sean
  Cc: linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)

On 5/31/2012 8:04 PM, Hefty, Sean wrote:
>> diff --git a/src/acme.c b/src/acme.c
>> index d3f8174..533588c 100644
>> --- a/src/acme.c
>> +++ b/src/acme.c
>> @@ -618,12 +618,18 @@ static void resolve(char *svc)
>>  				ret = resolve_name(&path);
>>  				break;
>>  			case 'l':
>> -				memset(&path, 0, sizeof path);
>> -				ret = resolve_lid(&path);
>> +				if (src_addr) {
>> +					memset(&path, 0, sizeof path);
>> +					ret = resolve_lid(&path);
>> +				} else
>> +					ret = -1;
>>  				break;
>>  			case 'g':
>> -				memset(&path, 0, sizeof path);
>> -				ret = resolve_gid(&path);
>> +				if (src_addr) {
>> +					memset(&path, 0, sizeof path);
>> +					ret = resolve_gid(&path);
>> +				} else
>> +					ret = -1;
>>  				break;
>>  			default:
>>  				break;
> 
> Thanks.
> 
> For this problem, I'd prefer to check for a NULL src_addr in resolve_lid and resolve_gid.  The ibacm service could then select a SLID/SGID based on the specified DLID/DGID.  This makes things easier for the user.
> 
> But until ibacm handles a 0 SLID/SGID, have ib_acme provide a more usable failure message.
> 
> I can make this patch if this sounds workable to you.

Sure; sounds like a better approach. Thanks.

-- Hal

> 
> - Sean
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-06-01  0:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-30 21:31 [PATCH] ibacm/acme.c: Eliminate seg fault when source not supplied Hal Rosenstock
     [not found] ` <4FC6919E.9090805-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2012-06-01  0:04   ` Hefty, Sean
     [not found]     ` <1828884A29C6694DAF28B7E6B8A8237346A255F3-P5GAC/sN6hmkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2012-06-01  0:10       ` Hal Rosenstock

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox