lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 8 Mar 2018 16:29:04 +0000
From:   "Michael Kelley (EOSG)" <Michael.H.Kelley@...rosoft.com>
To:     Vitaly Kuznetsov <vkuznets@...hat.com>,
        Radim Krčmář <rkrcmar@...hat.com>
CC:     Roman Kagan <rkagan@...tuozzo.com>,
        "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
        "x86@...nel.org" <x86@...nel.org>,
        Paolo Bonzini <pbonzini@...hat.com>,
        KY Srinivasan <kys@...rosoft.com>,
        Haiyang Zhang <haiyangz@...rosoft.com>,
        Stephen Hemminger <sthemmin@...rosoft.com>,
        Mohammed Gamal <mmorsy@...hat.com>,
        Cathy Avery <cavery@...hat.com>, Bandan Das <bsd@...hat.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2 1/5] x86/kvm: rename HV_X64_MSR_APIC_ASSIST_PAGE to
 HV_X64_MSR_VP_ASSIST_PAGE

> >> > Removing definitions from userspace api isn't a good idea.
> >> >
> >> > I have no idea why hyper.h is a userspace api, though -- Linux doesn't
> >> > define any of those, so we could copy the definitions to a private
> >> > header, rename, and never look at this file again.
> >>
> >> That was a thinko when it was moved to uapi, and it has already been
> >> identified as a problem, so now QEMU has its own header with the
> >> definitions it needs, and I'm unaware of any other userspace project
> >> that depends on this stuff.  So I've been planning to remove it from
> >> uapi but still haven't got around to posting the patch :(
> >
> > Great, let's be bold here.
> 
> asm/hyperv.h is not uapi.
> 
> I would include a patch renaming arch/x86/include/uapi/asm/hyperv.h to
> arch/x86/include/asm/hyperv.h but we already have 'mshyperv.h' there and
> I don't quite understand the difference. We can either merge them or
> come up with a rule distinguishing them.
> 
> K. Y., Michael, what do you think?

Good timing for this topic, as I'm now looking at cloning these two
files into the arch/arm64 tree for Hyper-V on ARM64.  It would be great
to get a plan agreed on so I can be consistent on the arm64 side.

I would suggest keeping two files:  one with just the data structures and
#defines that come from the Hyper-V Top-Level Functional Spec (TLFS),  
and the other with additional data structures, macros, function prototypes,
etc. that are specific to Linux guest code.   uapi/asm/hyperv.h is already
the first one, and asm/mshyperv.h is mostly the second one, though it has
some things that should probably move to the first one.   There are also a
few stray definitions from the Hyper-V TLFS in drivers/pci/host/pci-hyperv.c
(HVCALL_RETARGET_INTERRUPT and HV_PARTITION_ID_SELF, for example)
that really belong in the first file.

And since we're already changing the location of the first file, let's rename
it to hyperv-tlfs.h or something similar.

Michael

> 
> --
>   Vitaly

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ