On Mon, May 13, 2019 at 09:55:21PM -0300, Jason Gunthorpe wrote: > gcc 9 now does allocation size tracking and thinks that passing the member > of a union and then accessing beyond that member's bounds is an overflow. > > Instead of using the union member, use the entire union with a cast to > get to the sockaddr. gcc will now know that the memory extends the full > size of the union. > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > --- > drivers/infiniband/core/addr.c | 16 ++++++++-------- > drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 5 ++--- > drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 5 ++--- > 3 files changed, 12 insertions(+), 14 deletions(-) > > I missed the ocrdma files in the v1 > > We can revisit what to do with that repetitive union after the merge > window, but this simple patch will eliminate the warnings for now. > > Linus, I'll send this as a PR tomorrow - there is also a bug fix for > the rdma-netlink changes posted that should go too. <2c> I would be very happy to see this revisited in such a way that some use is made of the C type system (instead of casts). </2c>