Merged, and SRCREV bumps sent to the oe-core mailing list. Bruce
On Tue, Aug 8, 2023 at 4:38 PM Jon Mason <jdma...@kudzu.us> wrote: > > From: Jon Mason <jon.ma...@arm.com> > > __fill_var is used by both drm_fb_helper_check_var and > drm_fb_helper_fill_var. In drm_fb_helper_check_var, it is possible that > some of the variables in fb_info-> var which are currently being zero'ed > have pre-existing values. Zeroing these causes some fb tests to fail > with (from the Xorg.log): > > [ 9.897] (II) Module fbdevhw: vendor="X.Org Foundation" > [ 9.897] compiled for 1.21.1.8, module version = 0.0.2 > [ 9.897] ABI class: X.Org Video Driver, version 25.2 > [ 9.898] (II) FBDEV(0): using default device > [ 9.901] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32 > [ 9.902] (==) FBDEV(0): RGB weight 888 > [ 9.902] (==) FBDEV(0): Default visual is TrueColor > [ 9.902] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0) > [ 9.902] (II) FBDEV(0): hardware: virtio_gpudrmfb (video memory: > 4000kB) > [ 9.902] (DB) xf86MergeOutputClassOptions unsupported bus type 0 > [ 9.903] (II) FBDEV(0): checking modes against framebuffer device... > [ 9.904] (II) FBDEV(0): mode "640x480" test failed > [ 9.904] (II) FBDEV(0): mode "640x480" test failed > [ 9.904] (II) FBDEV(0): mode "640x480" test failed > [ 9.904] (II) FBDEV(0): mode "640x480" test failed > [ 9.904] (II) FBDEV(0): mode "640x480" not found > [ 9.904] (II) FBDEV(0): checking modes against monitor... > [ 9.905] (II) FBDEV(0): Virtual size is 1280x800 (pitch 1280) > [ 9.905] (**) FBDEV(0): Built-in mode "current" > [ 9.905] (==) FBDEV(0): DPI set to (96, 96) > > Previously, these values were not modified. Moving the zero'ing of the > variables to drm_fb_helper_fill_var resolves the issue. > > Fixes: ee4cce0a8f03 ("drm/fb-helper: fix input validation gaps in check_var") > Signed-off-by: Jon Mason <jon.ma...@arm.com> > --- > drivers/gpu/drm/drm_fb_helper.c | 20 +++++++++----------- > 1 file changed, 9 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > index fd27f1978635..ddc12c080dcc 100644 > --- a/drivers/gpu/drm/drm_fb_helper.c > +++ b/drivers/gpu/drm/drm_fb_helper.c > @@ -1548,8 +1548,6 @@ static void drm_fb_helper_fill_pixel_fmt(struct > fb_var_screeninfo *var, > static void __fill_var(struct fb_var_screeninfo *var, struct fb_info *info, > struct drm_framebuffer *fb) > { > - int i; > - > var->xres_virtual = fb->width; > var->yres_virtual = fb->height; > var->accel_flags = 0; > @@ -1557,15 +1555,6 @@ static void __fill_var(struct fb_var_screeninfo *var, > struct fb_info *info, > > var->height = info->var.height; > var->width = info->var.width; > - > - var->left_margin = var->right_margin = 0; > - var->upper_margin = var->lower_margin = 0; > - var->hsync_len = var->vsync_len = 0; > - var->sync = var->vmode = 0; > - var->rotate = 0; > - var->colorspace = 0; > - for (i = 0; i < 4; i++) > - var->reserved[i] = 0; > } > > /** > @@ -2059,6 +2048,7 @@ static void drm_fb_helper_fill_var(struct fb_info *info, > { > struct drm_framebuffer *fb = fb_helper->fb; > const struct drm_format_info *format = fb->format; > + int i; > > switch (format->format) { > case DRM_FORMAT_C1: > @@ -2076,6 +2066,14 @@ static void drm_fb_helper_fill_var(struct fb_info > *info, > info->pseudo_palette = fb_helper->pseudo_palette; > info->var.xoffset = 0; > info->var.yoffset = 0; > + info->var.left_margin = info->var.right_margin = 0; > + info->var.upper_margin = info->var.lower_margin = 0; > + info->var.hsync_len = info->var.vsync_len = 0; > + info->var.sync = info->var.vmode = 0; > + info->var.rotate = 0; > + info->var.colorspace = 0; > + for (i = 0; i < 4; i++) > + info->var.reserved[i] = 0; > __fill_var(&info->var, info, fb); > info->var.activate = FB_ACTIVATE_NOW; > > -- > 2.30.2 > -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12949): https://lists.yoctoproject.org/g/linux-yocto/message/12949 Mute This Topic: https://lists.yoctoproject.org/mt/100630659/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/leave/6687884/21656/624485779/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-