Re: [PATCH v2 1/4] x86/hyper-v: move synic/stimer control structures definitions to hyperv-tlfs.h

From: Thomas Gleixner
Date: Thu Nov 29 2018 - 14:22:23 EST


On Thu, 29 Nov 2018, Vitaly Kuznetsov wrote:
> Nadav Amit <nadav.amit@xxxxxxxxx> writes:
>
> >> On Nov 28, 2018, at 5:07 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> >>
> >> On Wed, 28 Nov 2018, Vitaly Kuznetsov wrote:
> >>
> >>> Nadav Amit <nadav.amit@xxxxxxxxx> writes:
> >>>
> >>>> On a different note: how come all of the hyper-v structs are not marked
> >>>> with the âpacked" attribute?
> >>>
> >>> "packed" should not be needed with proper padding; I vaguely remember
> >>> someone (from x86@?) arguing _against_ "packed".
> >>
> >> Packed needs to be used, when describing fixed format data structures in
> >> hardware or other ABIs, so the compiler cannot put alignment holes into
> >> them.
> >>
> >> Using packed for generic data structures might result in suboptimal layouts
> >> and prevents layout randomization.
> >
> > Right, I forgot about the structs randomization. So at least for it, the
> > attribute should be needed.
> >
>
> Not sure when randomization.s used but Hyper-V drivers will of course be
> utterly broken with it.
>
> > To prevent conflicts, I think that this series should also add the
> > attribute in a first patch, which would be tagged for stable.
>
> As the patchset doesn't add new definitions and as Paolo already queued
> it I'd go with a follow-up patch adding "packed" to all hyperv-tlfs.h
> structures. The question is how to avoid conflicts when Linus will be
> merging this. We can do:
> - Topic branch in kvm
> - Send the patch to x86, make topic branch and reabse kvm
> - Send the patch to kvm
> - ... ?
>
> Paolo/Thomas, what would be your preference?

As Paolo already has it, just route it through his tree please.

Thanks,

tglx