RE: [PATCH 1/1] video: hyperv_fb: Fix validation of screen resolution

From: Michael Kelley (LINUX)
Date: Sun Jan 23 2022 - 17:28:06 EST


From: Wei Liu <wei.liu@xxxxxxxxxx> Sent: Sunday, January 23, 2022 1:56 PM
>
> On Sun, Jan 16, 2022 at 09:53:06PM +0000, Haiyang Zhang wrote:
> >
> >
> > > -----Original Message-----
> > > From: Michael Kelley (LINUX) <mikelley@xxxxxxxxxxxxx>
> > > Sent: Sunday, January 16, 2022 2:19 PM
> > > To: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang
> <haiyangz@xxxxxxxxxxxxx>; Stephen
> > > Hemminger <sthemmin@xxxxxxxxxxxxx>; wei.liu@xxxxxxxxxx; Wei Hu
> <weh@xxxxxxxxxxxxx>; Dexuan
> > > Cui <decui@xxxxxxxxxxxxx>; drawat.floss@xxxxxxxxx; hhei <hhei@xxxxxxxxxx>;
> linux-
> > > kernel@xxxxxxxxxxxxxxx; linux-hyperv@xxxxxxxxxxxxxxx; linux-
> fbdev@xxxxxxxxxxxxxxx; dri-
> > > devel@xxxxxxxxxxxxxxxxxxxxx
> > > Cc: Michael Kelley (LINUX) <mikelley@xxxxxxxxxxxxx>
> > > Subject: [PATCH 1/1] video: hyperv_fb: Fix validation of screen resolution
> > >
> > > In the WIN10 version of the Synthetic Video protocol with Hyper-V,
> > > Hyper-V reports a list of supported resolutions as part of the protocol
> > > negotiation. The driver calculates the maximum width and height from
> > > the list of resolutions, and uses those maximums to validate any screen
> > > resolution specified in the video= option on the kernel boot line.
> > >
> > > This method of validation is incorrect. For example, the list of
> > > supported resolutions could contain 1600x1200 and 1920x1080, both of
> > > which fit in an 8 Mbyte frame buffer. But calculating the max width
> > > and height yields 1920 and 1200, and 1920x1200 resolution does not fit
> > > in an 8 Mbyte frame buffer. Unfortunately, this resolution is accepted,
> > > causing a kernel fault when the driver accesses memory outside the
> > > frame buffer.
> > >
> > > Instead, validate the specified screen resolution by calculating
> > > its size, and comparing against the frame buffer size. Delete the
> > > code for calculating the max width and height from the list of
> > > resolutions, since these max values have no use. Also add the
> > > frame buffer size to the info message to aid in understanding why
> > > a resolution might be rejected.
> > >
> > > Fixes: 67e7cdb4829d ("video: hyperv: hyperv_fb: Obtain screen resolution from Hyper-V
> > > host")
> > > Signed-off-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>
> [...]
> >
> > Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> >
>
> Applied to hyperv-fixes. Thanks.

This fix got pulled into the fbdev/for-next tree by a new maintainer, Helge Deller.
See https://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev.git/commit/?h=for-next&id=bcc48f8d980b12e66a3d59dfa1041667db971d86

Michael