Re: [PATCH] opensm/osm_trap_rcv.c: fix possible core dump

2010-11-30 Thread Sasha Khapyorsky
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 klit...@dev.mellanox.co.il

Applied. Thanks.

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


Re: [PATCH] opensm/osm_trap_rcv.c: fix possible core dump

2010-09-12 Thread 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 Kliteynikklit...@dev.mellanox.co.il
 ---
   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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] opensm/osm_trap_rcv.c: fix possible core dump

2010-09-07 Thread Sasha Khapyorsky
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 klit...@dev.mellanox.co.il
 ---
  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html