Fixes wrong assertion failed in osm_switch_get_lft_block()
PATCH 1/1 Fixes wrong assertion failed in osm_switch_get_lft_block()
From a399cd7398a86b72541c628588365c252882cd80 Mon Sep 17 00:00:00 2001
From: Vangelis Tasoulas <[email protected]>
Date: Sat, 20 Dec 2014 19:10:33 +0100
Subject: [PATCH] Fixes wrong assertion failed in osm_switch_get_lft_block()
when LIDs from the top LFT block (0xbfc0-0xbfff) are used.
--- opensm/osm_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
opensm/osm_switch.c +0 -0
@@ -168,7 +168,7 @@ boolean_t osm_switch_get_lft_block(IN const
osm_switch_t * p_sw,
if (base_lid_ho > p_sw->max_lid_ho)
return FALSE;- CL_ASSERT(base_lid_ho + IB_SMP_DATA_SIZE <= IB_LID_UCAST_END_HO);
+ CL_ASSERT(base_lid_ho + IB_SMP_DATA_SIZE - 1 <=
IB_LID_UCAST_END_HO);
memcpy(p_block, &(p_sw->lft[base_lid_ho]), IB_SMP_DATA_SIZE);
return TRUE;}
Signature · 1 line
1.9.1
From a399cd7398a86b72541c628588365c252882cd80 Mon Sep 17 00:00:00 2001
From: Vangelis Tasoulas <[email protected]>
Date: Sat, 20 Dec 2014 19:10:33 +0100
Subject: [PATCH] Fixes wrong assertion failed in osm_switch_get_lft_block()
when LIDs from the top LFT block (0xbfc0-0xbfff) are used.
--- opensm/osm_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
opensm/osm_switch.c +1 -1
@@ -168,7 +168,7 @@ boolean_t osm_switch_get_lft_block(IN const osm_switch_t * p_sw,if (base_lid_ho > p_sw->max_lid_ho)return FALSE; -CL_ASSERT (base_lid_ho +IB_SMP_DATA_SIZE <=IB_LID_UCAST_END_HO ); +CL_ASSERT (base_lid_ho +IB_SMP_DATA_SIZE -1 <=IB_LID_UCAST_END_HO );memcpy (p_block, &(p_sw->lft[base_lid_ho]),IB_SMP_DATA_SIZE );return TRUE; }
Signature · 1 line
1.9.1
Quoted 15 lines · Vangelis Tasoulas
From
a399cd7398a86b72541c628588365c252882cd80Mon Sep 17 00:00:00 2001
From: Vangelis Tasoulas <[email protected]>
Date: Sat, 20 Dec 2014 19:10:33 +0100
Subject: [PATCH] Fixes wrong assertion failed inosm_switch_get_lft_block()
when LIDs from the top LFT block (0xbfc0-0xbfff) are used.--- opensm/osm_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)opensm/osm_switch.c +0
-0
opensm/osm_switch.c boolean_t osm_switch_get_lft_block(IN const · line 173
Quoted 7 lines
opensm/osm_switch.c +1
-1@@ -168,7 +168,7 @@ boolean_t osm_switch_get_lft_block(IN const osm_switch_t * p_sw, if (base_lid_ho > p_sw->max_lid_ho)return FALSE; -CL_ASSERT (base_lid_ho +IB_SMP_DATA_SIZE <=IB_LID_UCAST_END_HO ); +CL_ASSERT (base_lid_ho +IB_SMP_DATA_SIZE -1 <=IB_LID_UCAST_END_HO );
What about using IB_LID_MCAST_START_HO (49152) instead of IB_LID_UCAST_END_HO (49151)? No additional arithemtic will be needed then.
Quoted 4 lines
opensm/osm_switch.c +0
-0memcpy (p_block, &(p_sw->lft[base_lid_ho]),IB_SMP_DATA_SIZE );return TRUE;}
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 20 lines · Ilya Nelkenbaum
Quoted 19 lines · Vangelis Tasoulas
From
a399cd7398a86b72541c628588365c252882cd80Mon Sep 17 00:00:00 2001
From: Vangelis Tasoulas <[email protected]>
Date: Sat, 20 Dec 2014 19:10:33 +0100
Subject: [PATCH] Fixes wrong assertion failed inosm_switch_get_lft_block()
when LIDs from the top LFT block (0xbfc0-0xbfff) are used.--- opensm/osm_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)opensm/osm_switch.c +0
-0@@ -168,7 +168,7 @@ boolean_t osm_switch_get_lft_block(IN const osm_switch_t * p_sw, if (base_lid_ho > p_sw->max_lid_ho)return FALSE;
Quoted 5 lines
opensm/osm_switch.c boolean_t osm_switch_get_lft_block(IN const · line 173
Quoted 3 lines
opensm/osm_switch.c +1
-1-CL_ASSERT (base_lid_ho +IB_SMP_DATA_SIZE <=IB_LID_UCAST_END_HO ); +CL_ASSERT (base_lid_ho +IB_SMP_DATA_SIZE -1 <=IB_LID_UCAST_END_HO );What about using
IB_LID_MCAST_START_HO(49152) instead ofIB_LID_UCAST_END_HO(49151)? No additional arithemtic will be needed then.
This function is about the LFTs and not the MFTs, so having '<= IB_LID_MCAST_START_HO' would look a bit confusing -at least to me- at a first glance due to the equal sign.
Less or equal to the first mcast LID? I understand the less, but why equal?
Quoted 6 lines
Quoted 5 lines
opensm/osm_switch.c +0
-0memcpy (p_block, &(p_sw->lft[base_lid_ho]),IB_SMP_DATA_SIZE );return TRUE;}
Quoted 27 lines · Vangelis Tasoulas
Quoted 20 lines · Ilya Nelkenbaum
Quoted 19 lines · Vangelis Tasoulas
From
a399cd7398a86b72541c628588365c252882cd80Mon Sep 17 00:00:00 2001
From: Vangelis Tasoulas <[email protected]>
Date: Sat, 20 Dec 2014 19:10:33 +0100
Subject: [PATCH] Fixes wrong assertion failed inosm_switch_get_lft_block()
when LIDs from the top LFT block (0xbfc0-0xbfff) are used.--- opensm/osm_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)opensm/osm_switch.c +0
-0@@ -168,7 +168,7 @@ boolean_t osm_switch_get_lft_block(IN const osm_switch_t * p_sw, if (base_lid_ho > p_sw->max_lid_ho)return FALSE;Quoted 5 lines
opensm/osm_switch.c boolean_t osm_switch_get_lft_block(IN const · line 173
Quoted 3 lines
opensm/osm_switch.c +1
-1-CL_ASSERT (base_lid_ho +IB_SMP_DATA_SIZE <=IB_LID_UCAST_END_HO ); +CL_ASSERT (base_lid_ho +IB_SMP_DATA_SIZE -1 <=IB_LID_UCAST_END_HO );What about using
IB_LID_MCAST_START_HO(49152) instead ofIB_LID_UCAST_END_HO(49151)? No additional arithemtic will be needed then.
Quoted 3 lines
This function is about the LFTs and not the MFTs, so having '<=
IB_LID_MCAST_START_HO' would look a bit confusing -at least to me- at a first glance due to the equal sign.
Sounds reasonable.
Quoted 11 lines
Less or equal to the first mcast LID? I understand the less, but why equal?
Quoted 6 lines
Quoted 5 lines
opensm/osm_switch.c +0
-0memcpy (p_block, &(p_sw->lft[base_lid_ho]),IB_SMP_DATA_SIZE );return TRUE;}
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 5 lines · Vangelis Tasoulas
From
a399cd7398a86b72541c628588365c252882cd80Mon Sep 17 00:00:00 2001
From: Vangelis Tasoulas <[email protected]>
Date: Sat, 20 Dec 2014 19:10:33 +0100
Subject: [PATCH] Fixes wrong assertion failed inosm_switch_get_lft_block()
when LIDs from the top LFT block (0xbfc0-0xbfff) are used.
Thanks. Applied.
-- Hal
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html