* [PATCH] opensm/osm_trap_rcv.c: fix possible core dump
@ 2010-09-07 14:53 Yevgeny Kliteynik
[not found] ` <4C8651CF.2080807-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Yevgeny Kliteynik @ 2010-09-07 14:53 UTC (permalink / raw)
To: Sasha Khapyorsky, Linux RDMA
Handle the case when source physical port
for trap 145 wasn't found.
Signed-off-by: Yevgeny Kliteynik <kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
---
opensm/opensm/osm_trap_rcv.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/opensm/opensm/osm_trap_rcv.c b/opensm/opensm/osm_trap_rcv.c
index 500632c..9f39644 100644
--- a/opensm/opensm/osm_trap_rcv.c
+++ b/opensm/opensm/osm_trap_rcv.c
@@ -510,10 +510,16 @@ static void trap_rcv_process_request(IN osm_sm_t * sm,
"ERR 3812: No physical port found for "
"trap 144: \"node description update\"\n");
goto check_sweep;
- } else if (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 145)
- /* this assumes that trap 145 content is not broken? */
- p_physp->p_node->node_info.sys_guid =
- p_ntci->data_details.ntc_145.new_sys_guid;
+ } else if (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 145) {
+ if (p_physp)
+ /* this assumes that trap 145 content is not broken? */
+ p_physp->p_node->node_info.sys_guid =
+ p_ntci->data_details.ntc_145.new_sys_guid;
+ else
+ OSM_LOG(sm->p_log, OSM_LOG_ERROR,
+ "ERR 3813: No physical port found for "
+ "trap 145: \"SystemImageGUID update\"\n");
+ }
check_sweep:
/* do a sweep if we received a trap */
--
1.6.2.4
--
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] 4+ messages in thread[parent not found: <4C8651CF.2080807-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>]
* Re: [PATCH] opensm/osm_trap_rcv.c: fix possible core dump [not found] ` <4C8651CF.2080807-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org> @ 2010-09-07 19:58 ` Sasha Khapyorsky 2010-09-12 10:06 ` Yevgeny Kliteynik 2010-11-30 16:18 ` Sasha Khapyorsky 1 sibling, 1 reply; 4+ messages in thread From: Sasha Khapyorsky @ 2010-09-07 19:58 UTC (permalink / raw) To: kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb; +Cc: Linux RDMA On 17:53 Tue 07 Sep , Yevgeny Kliteynik wrote: > Handle the case when source physical port > for trap 145 wasn't found. > > Signed-off-by: Yevgeny Kliteynik <kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> > --- > opensm/opensm/osm_trap_rcv.c | 14 ++++++++++---- > 1 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/opensm/opensm/osm_trap_rcv.c b/opensm/opensm/osm_trap_rcv.c > index 500632c..9f39644 100644 > --- a/opensm/opensm/osm_trap_rcv.c > +++ b/opensm/opensm/osm_trap_rcv.c > @@ -510,10 +510,16 @@ static void trap_rcv_process_request(IN osm_sm_t * sm, > "ERR 3812: No physical port found for " > "trap 144: \"node description update\"\n"); > goto check_sweep; > - } else if (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 145) > - /* this assumes that trap 145 content is not broken? */ > - p_physp->p_node->node_info.sys_guid = > - p_ntci->data_details.ntc_145.new_sys_guid; > + } else if (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 145) { > + if (p_physp) > + /* this assumes that trap 145 content is not broken? */ > + p_physp->p_node->node_info.sys_guid = > + p_ntci->data_details.ntc_145.new_sys_guid; > + else > + OSM_LOG(sm->p_log, OSM_LOG_ERROR, > + "ERR 3813: No physical port found for " > + "trap 145: \"SystemImageGUID update\"\n"); > + } Wouldn't it be better to make such check for all traps and not separately for selected values? Sasha > > check_sweep: > /* do a sweep if we received a trap */ > -- > 1.6.2.4 > -- 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] 4+ messages in thread
* Re: [PATCH] opensm/osm_trap_rcv.c: fix possible core dump 2010-09-07 19:58 ` Sasha Khapyorsky @ 2010-09-12 10:06 ` Yevgeny Kliteynik 0 siblings, 0 replies; 4+ messages in thread From: Yevgeny Kliteynik @ 2010-09-12 10:06 UTC (permalink / raw) To: Sasha Khapyorsky; +Cc: Linux RDMA, Yevgeny Kliteynik On 07-Sep-10 10:58 PM, Sasha Khapyorsky wrote: > On 17:53 Tue 07 Sep , Yevgeny Kliteynik wrote: >> Handle the case when source physical port >> for trap 145 wasn't found. >> >> Signed-off-by: Yevgeny Kliteynik<kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> >> --- >> opensm/opensm/osm_trap_rcv.c | 14 ++++++++++---- >> 1 files changed, 10 insertions(+), 4 deletions(-) >> >> diff --git a/opensm/opensm/osm_trap_rcv.c b/opensm/opensm/osm_trap_rcv.c >> index 500632c..9f39644 100644 >> --- a/opensm/opensm/osm_trap_rcv.c >> +++ b/opensm/opensm/osm_trap_rcv.c >> @@ -510,10 +510,16 @@ static void trap_rcv_process_request(IN osm_sm_t * sm, >> "ERR 3812: No physical port found for " >> "trap 144: \"node description update\"\n"); >> goto check_sweep; >> - } else if (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 145) >> - /* this assumes that trap 145 content is not broken? */ >> - p_physp->p_node->node_info.sys_guid = >> - p_ntci->data_details.ntc_145.new_sys_guid; >> + } else if (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 145) { >> + if (p_physp) >> + /* this assumes that trap 145 content is not broken? */ >> + p_physp->p_node->node_info.sys_guid = >> + p_ntci->data_details.ntc_145.new_sys_guid; >> + else >> + OSM_LOG(sm->p_log, OSM_LOG_ERROR, >> + "ERR 3813: No physical port found for " >> + "trap 145: \"SystemImageGUID update\"\n"); >> + } > > Wouldn't it be better to make such check for all traps and not > separately for selected values? Such check exists: 407 if (p_physp) 408 p_smp->m_key = p_physp->port_info.m_key; 409 else 410 OSM_LOG(sm->p_log, OSM_LOG_ERROR, "ERR 3809: " 411 "Failed to find source physical port for trap\n"); However, even if p_physp wasn't found, the function continues, and for each trap it is doing something else. For instance, p_physp can be absent, but trap 144 will still cause heavy sweep. -- Yevgeny > Sasha > >> >> check_sweep: >> /* do a sweep if we received a trap */ >> -- >> 1.6.2.4 >> > -- 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] 4+ messages in thread
* Re: [PATCH] opensm/osm_trap_rcv.c: fix possible core dump [not found] ` <4C8651CF.2080807-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org> 2010-09-07 19:58 ` Sasha Khapyorsky @ 2010-11-30 16:18 ` Sasha Khapyorsky 1 sibling, 0 replies; 4+ messages in thread From: Sasha Khapyorsky @ 2010-11-30 16:18 UTC (permalink / raw) To: kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb; +Cc: Linux RDMA On 17:53 Tue 07 Sep , Yevgeny Kliteynik wrote: > Handle the case when source physical port > for trap 145 wasn't found. > > Signed-off-by: Yevgeny Kliteynik <kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> Applied. Thanks. Sasha -- 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] 4+ messages in thread
end of thread, other threads:[~2010-11-30 16:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-07 14:53 [PATCH] opensm/osm_trap_rcv.c: fix possible core dump Yevgeny Kliteynik
[not found] ` <4C8651CF.2080807-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>
2010-09-07 19:58 ` Sasha Khapyorsky
2010-09-12 10:06 ` Yevgeny Kliteynik
2010-11-30 16:18 ` Sasha Khapyorsky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox