Re: [Xen-devel] [PATCH RFC] xen-block: correctly define structuresin public headers

From: Ian Campbell
Date: Tue Dec 03 2013 - 06:15:33 EST


On Tue, 2013-12-03 at 11:11 +0000, Jan Beulich wrote:
> >>> On 03.12.13 at 12:05, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > On Tue, 2013-12-03 at 11:57 +0100, Roger Pau Monne wrote:
> >> Using __packed__ on the public interface is not correct, this
> >> structures should be compiled using the native ABI, and __packed__
> >> should only be used in the backend counterpart of those structures
> >> (which needs to handle different ABIs).
> >>
> >> This was even worse in the ARM case, where the Linux kernel was
> >> incorrectly using the X86_32 protocol ABI. This patch fixes it, but
> >> also breaks compatibility, so an ARM DomU kernel compiled with
> >> this patch will fail to communicate with PV disk devices unless the
> >> Dom0 also has this patch.
> >
> > This is acceptable IMHO, the ARM ABI is clearly defined and previous
> > kernels were simply buggy. The fact that front and backend were
> > equivalently buggy and so it happened to work is not an excuse.
>
> But afaics the change is not just to the ARM form of the ABI,
> but to x86 (32- and 64-bit) too. And that clearly must not be
> altered.

I understood there to be no (intentional) change to the x86 ABIs here.
Obviously that would be a bug in the patch.

Ian.

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