public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] opensm/osm_switch.c: In osm_switch_set_hops, return, error when port_num is invalid
@ 2012-05-20 14:45 Hal Rosenstock
       [not found] ` <4FB9036F.7080803-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Hal Rosenstock @ 2012-05-20 14:45 UTC (permalink / raw)
  To: Alex Netes
  Cc: Vincent Ficet,
	linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)

>From d9c3d7500e1a3abe871fc41a3c17246d6fede695 Mon Sep 17 00:00:00 2001
From: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Date: Fri, 11 May 2012 14:58:17 +0300
Subject: [PATCH 1/2] opensm/osm_switch.c: In osm_switch_set_hops, return
 error when port_num is invalid

Port number can be 255 (which means drop) and such port number is past the end
of the hops array for that LID.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff0f84700 (LWP 9890)]
0x0000000000440d33 in osm_switch_set_hops (p_sw=0x7fffc839c340, lid_ho=9447,
    port_num=255 '\377', num_hops=<value optimized out>) at osm_switch.c:74
74              p_sw->hops[lid_ho][port_num] = num_hops;
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.25.el6.x86_64
(gdb) bt
    lid_ho=9447, port_num=255 '\377', num_hops=<value optimized out>)
    at osm_switch.c:74
    at osm_ucast_ftree.c:750
    at osm_ucast_mgr.c:1058
    signal=<value optimized out>) at osm_state_mgr.c:1341
    at osm_state_mgr.c:1468
    at cl_thread.c:57

Signed-off-by: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
 opensm/osm_switch.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/opensm/osm_switch.c b/opensm/osm_switch.c
index 6377742..d756e24 100644
--- a/opensm/osm_switch.c
+++ b/opensm/osm_switch.c
@@ -64,6 +64,8 @@ cl_status_t osm_switch_set_hops(IN osm_switch_t * p_sw, IN uint16_t lid_ho,
 {
 	if (!lid_ho || lid_ho > p_sw->max_lid_ho)
 		return -1;
+	if (port_num >= p_sw->num_ports)
+		return -1;
 	if (!p_sw->hops[lid_ho]) {
 		p_sw->hops[lid_ho] = malloc(p_sw->num_ports);
 		if (!p_sw->hops[lid_ho])
-- 
1.7.8.2

--
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] 2+ messages in thread

* Re: [PATCH] opensm/osm_switch.c: In osm_switch_set_hops, return, error when port_num is invalid
       [not found] ` <4FB9036F.7080803-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
@ 2012-05-28  8:15   ` Alex Netes
  0 siblings, 0 replies; 2+ messages in thread
From: Alex Netes @ 2012-05-28  8:15 UTC (permalink / raw)
  To: Hal Rosenstock
  Cc: Vincent Ficet,
	linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)

Hi Hal,

On 10:45 Sun 20 May     , Hal Rosenstock wrote:
> From d9c3d7500e1a3abe871fc41a3c17246d6fede695 Mon Sep 17 00:00:00 2001
> From: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> Date: Fri, 11 May 2012 14:58:17 +0300
> Subject: [PATCH 1/2] opensm/osm_switch.c: In osm_switch_set_hops, return
>  error when port_num is invalid
> 
> Port number can be 255 (which means drop) and such port number is past the end
> of the hops array for that LID.
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7ffff0f84700 (LWP 9890)]
> 0x0000000000440d33 in osm_switch_set_hops (p_sw=0x7fffc839c340, lid_ho=9447,
>     port_num=255 '\377', num_hops=<value optimized out>) at osm_switch.c:74
> 74              p_sw->hops[lid_ho][port_num] = num_hops;
> Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.25.el6.x86_64
> (gdb) bt
>     lid_ho=9447, port_num=255 '\377', num_hops=<value optimized out>)
>     at osm_switch.c:74
>     at osm_ucast_ftree.c:750
>     at osm_ucast_mgr.c:1058
>     signal=<value optimized out>) at osm_state_mgr.c:1341
>     at osm_state_mgr.c:1468
>     at cl_thread.c:57
> 
> Signed-off-by: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> ---

Applied. Thanks.
--
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] 2+ messages in thread

end of thread, other threads:[~2012-05-28  8:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-20 14:45 [PATCH] opensm/osm_switch.c: In osm_switch_set_hops, return, error when port_num is invalid Hal Rosenstock
     [not found] ` <4FB9036F.7080803-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2012-05-28  8:15   ` Alex Netes

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