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:   Tue, 3 May 2022 21:02:44 -0700
From:   Deepak Rawat <drawat.floss@...il.com>
To:     Michael Kelley <mikelley@...rosoft.com>
Cc:     K Y Srinivasan <kys@...rosoft.com>,
        Haiyang Zhang <haiyangz@...rosoft.com>,
        Stephen Hemminger <sthemmin@...rosoft.com>,
        Wei Liu <wei.liu@...nel.org>, linux-kernel@...r.kernel.org,
        linux-hyperv@...r.kernel.org,
        Vitaly Kuznetsov <vkuznets@...hat.com>,
        Dexuan Cui <decui@...rosoft.com>,
        David Airlie <airlied@...ux.ie>,
        Daniel Vetter <daniel@...ll.ch>, jejb@...ux.ibm.com,
        martin.petersen@...cle.com, deller@....de,
        dri-devel@...ts.freedesktop.org, linux-scsi@...r.kernel.org,
        linux-fbdev@...r.kernel.org
Subject: Re: [PATCH 4/4] drm/hyperv: Remove support for Hyper-V 2008 and 2008R2/Win7

On Mon, May 2, 2022 at 9:37 AM Michael Kelley <mikelley@...rosoft.com> wrote:
>
> The DRM Hyper-V driver has special case code for running on the first
> released versions of Hyper-V: 2008 and 2008 R2/Windows 7.  These versions
> are now out of support (except for extended security updates) and lack
> support for performance features that are needed for effective production
> usage of Linux guests.
>
> The negotiation of the VMbus protocol versions required by these old
> Hyper-V versions has been removed from the VMbus driver.  So now remove
> the handling of these VMbus protocol versions from the DRM Hyper-V
> driver.
>
> Signed-off-by: Michael Kelley <mikelley@...rosoft.com>
> ---
>  drivers/gpu/drm/hyperv/hyperv_drm_proto.c | 23 +++++++----------------
>  1 file changed, 7 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_proto.c b/drivers/gpu/drm/hyperv/hyperv_drm_proto.c
> index c0155c6..76a182a 100644
> --- a/drivers/gpu/drm/hyperv/hyperv_drm_proto.c
> +++ b/drivers/gpu/drm/hyperv/hyperv_drm_proto.c
> @@ -18,16 +18,16 @@
>  #define SYNTHVID_VERSION(major, minor) ((minor) << 16 | (major))
>  #define SYNTHVID_VER_GET_MAJOR(ver) (ver & 0x0000ffff)
>  #define SYNTHVID_VER_GET_MINOR(ver) ((ver & 0xffff0000) >> 16)
> +
> +/* Support for VERSION_WIN7 is removed. #define is retained for reference. */
>  #define SYNTHVID_VERSION_WIN7 SYNTHVID_VERSION(3, 0)
>  #define SYNTHVID_VERSION_WIN8 SYNTHVID_VERSION(3, 2)
>  #define SYNTHVID_VERSION_WIN10 SYNTHVID_VERSION(3, 5)
>
> -#define SYNTHVID_DEPTH_WIN7 16
>  #define SYNTHVID_DEPTH_WIN8 32
> -#define SYNTHVID_FB_SIZE_WIN7 (4 * 1024 * 1024)
> +#define SYNTHVID_WIDTH_WIN8 1600
> +#define SYNTHVID_HEIGHT_WIN8 1200
>  #define SYNTHVID_FB_SIZE_WIN8 (8 * 1024 * 1024)
> -#define SYNTHVID_WIDTH_MAX_WIN7 1600
> -#define SYNTHVID_HEIGHT_MAX_WIN7 1200
>
>  enum pipe_msg_type {
>         PIPE_MSG_INVALID,
> @@ -496,12 +496,6 @@ int hyperv_connect_vsp(struct hv_device *hdev)
>         case VERSION_WIN8:
>         case VERSION_WIN8_1:
>                 ret = hyperv_negotiate_version(hdev, SYNTHVID_VERSION_WIN8);
> -               if (!ret)
> -                       break;
> -               fallthrough;
> -       case VERSION_WS2008:
> -       case VERSION_WIN7:
> -               ret = hyperv_negotiate_version(hdev, SYNTHVID_VERSION_WIN7);
>                 break;
>         default:
>                 ret = hyperv_negotiate_version(hdev, SYNTHVID_VERSION_WIN10);
> @@ -513,18 +507,15 @@ int hyperv_connect_vsp(struct hv_device *hdev)
>                 goto error;
>         }
>
> -       if (hv->synthvid_version == SYNTHVID_VERSION_WIN7)
> -               hv->screen_depth = SYNTHVID_DEPTH_WIN7;
> -       else
> -               hv->screen_depth = SYNTHVID_DEPTH_WIN8;
> +       hv->screen_depth = SYNTHVID_DEPTH_WIN8;
>
>         if (hyperv_version_ge(hv->synthvid_version, SYNTHVID_VERSION_WIN10)) {
>                 ret = hyperv_get_supported_resolution(hdev);
>                 if (ret)
>                         drm_err(dev, "Failed to get supported resolution from host, use default\n");
>         } else {
> -               hv->screen_width_max = SYNTHVID_WIDTH_MAX_WIN7;
> -               hv->screen_height_max = SYNTHVID_HEIGHT_MAX_WIN7;
> +               hv->screen_width_max = SYNTHVID_WIDTH_WIN8;
> +               hv->screen_height_max = SYNTHVID_HEIGHT_WIN8;
>         }
>
>         hv->mmio_megabytes = hdev->channel->offermsg.offer.mmio_megabytes;

Do we need a new version for Windows 11? If the synthetic device
version is decoupled from Windows version, then I guess we can rename
the macro to reflect that.

Reviewed-by: Deepak Rawat <drawat.floss@...il.com>

> --
> 1.8.3.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ