On Tue, Mar 20, 2018 at 02:19:45PM -0600, Jason Gunthorpe wrote: > From: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > The design of the uAPI had intended all structs to share the same layout on 32 > and 64 bit compiles. Unfortunately over the years some errors have crept in. > > This series fixes all the incompatabilities. It goes along with a userspace > rdma-core series that causes the providers to use these structs directly and > then does various self-checks on the command formation. > > Those checks were combined with output from pahole on 32 and 64 bit compiles > to confirm that the structure layouts are the same. > > This series does not make implicit padding explicit, as long as the implicit > padding is the same on 32 and 64 bit compiles. > > Finally, the issue is put to rest by using __aligned_u64 in the uapi headers, > if new code copies that type, and is checked in userspace, it is unlikely we > will see problems in future. > > There are two patches that break the ABI for a 32 bit kernel, one for rxe and > one for mlx4. Both patches have notes, but the overall feeling from Doug and I > is that providing compat is just too difficult and not necessary since there > is no real user of a 32 bit userspace and 32 bit kernel for various good > reasons. > > The 32 bit userspace / 64 bit kernel case however does seem to have some real > users and does need to work as designed. Series applied to for-next 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