* [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
* 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.