Re: [GIT PULL] Please pull RDMA subsystem changes

From: Jason Gunthorpe
Date: Wed May 16 2018 - 13:17:11 EST


On Wed, May 16, 2018 at 07:39:08PM +0200, Eugene Syromiatnikov wrote:
> On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote:
> > RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
> Looks like this change changed the size of struct hfi1_ctxt_info and the
> value of HFI1_IOCTL_CTXT_INFO ioctl number as a result.

Only on 32 bit..

HF1 does not build on 32 bit kernels, so the 32 bit version of the
ioctl is never supported.

HFI1 also does not define '.compat_ioctl' so even a 32 bit user space
on 64 bit kernel cannot call this ioctl.

So, yes it changed, but it doesn't matter.

> > IB/uverbs: Extend uverbs_ioctl header with driver_id
> This patch changed the value of the RDMA_VERBS_IOCTL ioctl number.
>
> (see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html
> for the reference)

Yes.

RDMA_VERBS_IOCTL has been considered experimental and was protected by
a CONFIG option.

After the above commit the experimental was dropped and the ABI was
fixed, but prior to doing so, the struct was revised based on
feedback.

There is no userspace user of the old struct, only the new struct.

Basically from strace's perspective it should use the new ioctl #'s
across all kernel revs and it will be correct as there is no user
space that will issue the old ioctls.

Jason