On Mon, Feb 26, 2018 at 03:02:21PM +0200, Leon Romanovsky wrote: > From: Yishai Hadas <yishaih@xxxxxxxxxxxx> > > This patch explicitly aligns 'mlx4_uverbs_ex_query_device_resp' layout > to u64 and use the correct response's length when copying the data to > the user area. > > The uAPI should be u64 aligned, currently on 64 bit systems this is done > implicitly as of the next u64 field in the rss_caps structure. > > Legacy user space 32 bit system application in any case is broken with > 64 bit system kernel before this change. > > A matching change will be done in the user area for future use also on > 32 bit systems. > > In addition, we move the structure to the uAPI file where it's expected > to be from day one. > > Fixes: 09d208b258a2 ("IB/mlx4: Add report for RSS capabilities by vendor channel") > Reviewed-by: Mark Bloch <markb@xxxxxxxxxxxx> > Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx> > drivers/infiniband/hw/mlx4/main.c | 5 +++-- > drivers/infiniband/hw/mlx4/mlx4_ib.h | 14 -------------- > include/uapi/rdma/mlx4-abi.h | 16 ++++++++++++++++ > 3 files changed, 19 insertions(+), 16 deletions(-) So I am unhappy that we keep finding these 32/64 compat bugs. I sent a RFC patch for rxe as well. Any change like this breaks any previously working 32/32 configuration. So what is the position here? The 32/32 API is 'not used' but the 32/64 is being used, so we break one to fix the other? How do we justify this to Linus? Jason -- 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