Good catch some comments below.
> -----Original Message-----
> From: Hal Rosenstock [mailto:[email protected]]
> Sent: Monday, December 30, 2013 6:51 AM
> To: Ira Weiny
> Cc: linux-rdma ([email protected]); Dan Ben-Yosef
> Subject: [PATCH infiniband-diags] libibnetdisc/ibnetdisc.c: fix insert of
> invalid
> lid 0xFFFF into lid_port hash_table
>
> From: Dan Ben Yosef <[email protected]>
>
> Signed-off-by: Dan Ben Yosef <[email protected]>
> ---
> libibnetdisc/src/ibnetdisc.c | 12 +++++++-----
> 1 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/libibnetdisc/src/ibnetdisc.c b/libibnetdisc/src/ibnetdisc.c index
> 9d120dd..121fe35 100644
> --- a/libibnetdisc/src/ibnetdisc.c
> +++ b/libibnetdisc/src/ibnetdisc.c
> @@ -647,11 +647,13 @@ void add_to_portlid_hash(ibnd_port_t * port,
> GHashTable *htable)
> uint16_t base_lid = port->base_lid;
> uint16_t lid_mask = ((1 << port->lmc) -1);
> uint16_t lid = 0;
> -
> - /* We add the port for all lids
> - * so it is easier to find any "random" lid specified */
> - for (lid = base_lid; lid <= (base_lid + lid_mask); lid++) {
> - g_hash_table_insert(htable, GINT_TO_POINTER(lid), port);
> + /* 0 < valid lid <= 0xbfff */
> + if (base_lid > 0 && base_lid <= 0xbfff) {
Shouldn't we check the "max LID" (based on LMC) here to make sure they are all
vaild?
Ira
> + /* We add the port for all lids
> + * so it is easier to find any "random" lid specified */
> + for (lid = base_lid; lid <= (base_lid + lid_mask); lid++) {
> + g_hash_table_insert(htable, GINT_TO_POINTER(lid),
> port);
> + }
> }
> }
>
> --
> 1.7.8.2
--
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