Re: [PATCH 1/5] IB/user_mad: Fix bug in ib_umad_remove_one when rdma_cap_ib_mad implementation changed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 12, 2015 at 01:15:05PM -0600, Jason Gunthorpe wrote:
> On Mon, May 11, 2015 at 09:46:54PM -0400, ira.weiny@xxxxxxxxx wrote:
> > From: Ira Weiny <ira.weiny@xxxxxxxxx>
> > 
> > The addition of the rdma_cap_ib_mad is technically broken in ib_umad_remove_one
> > because the loop "i" value is not a port value.
> > 
> > This bug resulted in the ib_umad failing to properly remove its resources when
> > the core capability functions were converted to bit fields.
> > 
> > NOTE: This original patch did not result in broken behavior on its own.  It was
> > only an issue when the implementation of rdma_cap_ib_mad was changed.
> 
> Didn't cause a bug, but is certainly wrong..
> 
> >+  		if (rdma_cap_ib_mad(device, i))
> >-  		if (rdma_cap_ib_mad(device, i + start_port(device)))
> 
> Is alot simpler. At the very least, use start_port/end_port to compute
> those ranges...

I was really hoping to avoid making start/end port public.  But you are
correct...

Additional patches on the way.

Ira


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




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux