From mboxrd@z Thu Jan 1 00:00:00 1970 From: eugeniy.paltsev@synopsys.com (Eugeniy Paltsev) Date: Wed, 3 Oct 2018 14:30:05 +0000 Subject: [PATCH] drm: fb-helper: Validate requested pixel format against bpp In-Reply-To: <20181003123047.GK9144@intel.com> References: <20181003110457.9318-1-Eugeniy.Paltsev@synopsys.com> <20181003123047.GK9144@intel.com> List-ID: Message-ID: <1538577004.11140.5.camel@synopsys.com> To: linux-snps-arc@lists.infradead.org On Wed, 2018-10-03@15:30 +0300, Ville Syrj?l? wrote: > On Wed, Oct 03, 2018@01:36:00PM +0200, Daniel Vetter wrote: > > On Wed, Oct 3, 2018 at 1:05 PM Eugeniy Paltsev > > wrote: > > > > > > Validate requested pixel format against bits_per_pixel to reject > > > invalid formats with subcomponents length sum is greater than requested > > > bits_per_pixel. > > > > > > weston 5.0.0 with fbdev backend tries to set up an ARGB x8r8g8b8 pixel > > > format without bits_per_pixel updating. So it can request > > > x8r8g8b8 with 16 bpp which is obviously incorrect and should be > > > rejected. > > > > > > Cc: stable at vger.kernel.org > > > Signed-off-by: Eugeniy Paltsev > > > > drm fbdev emulation doesn't support changing the pixel format at all. > > I think we should reject all such request, not just the invalid ones. > > Can you pls respin? > > FYI I once posted a patch to tighten up the fb-helper pixel format > stuff: > https://patchwork.freedesktop.org/patch/203189/ Hi Daniel, will you take Ville's patch or should I create the new one which is only related to new pixel format validation in drm_fb_helper_check_var() ? > > Thanks, Daniel > > > > > --- > > > drivers/gpu/drm/drm_fb_helper.c | 7 +++++++ > > > 1 file changed, 7 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > > > index 16ec93b75dbf..4f39da07f053 100644 > > > --- a/drivers/gpu/drm/drm_fb_helper.c > > > +++ b/drivers/gpu/drm/drm_fb_helper.c > > > @@ -1610,6 +1610,13 @@ int drm_fb_helper_check_var(struct fb_var_screeninfo *var, > > > return -EINVAL; > > > } > > > > > > + if ((var->green.length + var->blue.length + var->red.length + > > > + var->transp.length) > var->bits_per_pixel) { > > > + DRM_DEBUG("fb requested pixel format can't fit in %d bpp\n", > > > + var->bits_per_pixel); > > > + return -EINVAL; > > > + } > > > + > > > switch (var->bits_per_pixel) { > > > case 16: > > > depth = (var->green.length == 6) ? 16 : 15; > > > -- > > > 2.14.4 > > > > > > _______________________________________________ > > > dri-devel mailing list > > > dri-devel at lists.freedesktop.org > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_mailman_listinfo_dri-2Ddevel&d=DwIDAw&c=DPL6_X_6JkXFx7AXWqB0tg&r=ZlJN > > > 1MriPUTkBKCrPSx67GmaplEUGcAEk9yPtCLdUXI&m=f12ZyEESIeavtqCUKutiZ9F6xtRFC2UUvdqnM4ywBx8&s=CPS8taMiYbIgXo-fxhqErOJXvO6PMTzmr-BNnGJIoy0&e= > > > > > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > +41 (0) 79 365 57 48 - https://urldefense.proofpoint.com/v2/url?u=http-3A__blog.ffwll.ch&d=DwIDAw&c=DPL6_X_6JkXFx7AXWqB0tg&r=ZlJN1MriPUTkBKCrPSx67 > > GmaplEUGcAEk9yPtCLdUXI&m=f12ZyEESIeavtqCUKutiZ9F6xtRFC2UUvdqnM4ywBx8&s=Vt8OX9s9ljSK6GDgbnwsF-Yd35fbBUfe8SBV2jPnVaQ&e= > > _______________________________________________ > > dri-devel mailing list > > dri-devel at lists.freedesktop.org > > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_mailman_listinfo_dri-2Ddevel&d=DwIDAw&c=DPL6_X_6JkXFx7AXWqB0tg&r=ZlJN1M > > riPUTkBKCrPSx67GmaplEUGcAEk9yPtCLdUXI&m=f12ZyEESIeavtqCUKutiZ9F6xtRFC2UUvdqnM4ywBx8&s=CPS8taMiYbIgXo-fxhqErOJXvO6PMTzmr-BNnGJIoy0&e= > > -- Eugeniy Paltsev From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eugeniy Paltsev Subject: Re: [PATCH] drm: fb-helper: Validate requested pixel format against bpp Date: Wed, 3 Oct 2018 14:30:05 +0000 Message-ID: <1538577004.11140.5.camel@synopsys.com> References: <20181003110457.9318-1-Eugeniy.Paltsev@synopsys.com> <20181003123047.GK9144@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181003123047.GK9144@intel.com> Content-Language: en-US Content-ID: <7B80D7FA0D6CE947BF018A477450D5A5@internal.synopsys.com> Sender: stable-owner@vger.kernel.org To: "ville.syrjala@linux.intel.com" , "daniel@ffwll.ch" Cc: "linux-kernel@vger.kernel.org" , "alexey.brodkin@synopsys.com" , "Eugeniy.Paltsev@synopsys.com" , "linux-snps-arc@lists.infradead.org" , "stable@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "sean@poorly.run" , "airlied@linux.ie" List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAyMDE4LTEwLTAzIGF0IDE1OjMwICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 DQo+IE9uIFdlZCwgT2N0IDAzLCAyMDE4IGF0IDAxOjM2OjAwUE0gKzAyMDAsIERhbmllbCBWZXR0 ZXIgd3JvdGU6DQo+ID4gT24gV2VkLCBPY3QgMywgMjAxOCBhdCAxOjA1IFBNIEV1Z2VuaXkgUGFs dHNldg0KPiA+IDxFdWdlbml5LlBhbHRzZXZAc3lub3BzeXMuY29tPiB3cm90ZToNCj4gPiA+IA0K PiA+ID4gVmFsaWRhdGUgcmVxdWVzdGVkIHBpeGVsIGZvcm1hdCBhZ2FpbnN0IGJpdHNfcGVyX3Bp eGVsIHRvIHJlamVjdA0KPiA+ID4gaW52YWxpZCBmb3JtYXRzIHdpdGggc3ViY29tcG9uZW50cyBs ZW5ndGggc3VtIGlzIGdyZWF0ZXIgdGhhbiByZXF1ZXN0ZWQNCj4gPiA+IGJpdHNfcGVyX3BpeGVs Lg0KPiA+ID4gDQo+ID4gPiB3ZXN0b24gNS4wLjAgd2l0aCBmYmRldiBiYWNrZW5kIHRyaWVzIHRv IHNldCB1cCBhbiBBUkdCIHg4cjhnOGI4IHBpeGVsDQo+ID4gPiBmb3JtYXQgd2l0aG91dCBiaXRz X3Blcl9waXhlbCB1cGRhdGluZy4gU28gaXQgY2FuIHJlcXVlc3QNCj4gPiA+IHg4cjhnOGI4IHdp dGggMTYgYnBwIHdoaWNoIGlzIG9idmlvdXNseSBpbmNvcnJlY3QgYW5kIHNob3VsZCBiZQ0KPiA+ ID4gcmVqZWN0ZWQuDQo+ID4gPiANCj4gPiA+IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnDQo+ ID4gPiBTaWduZWQtb2ZmLWJ5OiBFdWdlbml5IFBhbHRzZXYgPEV1Z2VuaXkuUGFsdHNldkBzeW5v cHN5cy5jb20+DQo+ID4gDQo+ID4gZHJtIGZiZGV2IGVtdWxhdGlvbiBkb2Vzbid0IHN1cHBvcnQg Y2hhbmdpbmcgdGhlIHBpeGVsIGZvcm1hdCBhdCBhbGwuDQo+ID4gSSB0aGluayB3ZSBzaG91bGQg cmVqZWN0IGFsbCBzdWNoIHJlcXVlc3QsIG5vdCBqdXN0IHRoZSBpbnZhbGlkIG9uZXMuDQo+ID4g Q2FuIHlvdSBwbHMgcmVzcGluPw0KPiANCj4gRllJIEkgb25jZSBwb3N0ZWQgYSBwYXRjaCB0byB0 aWdodGVuIHVwIHRoZSBmYi1oZWxwZXIgcGl4ZWwgZm9ybWF0DQo+IHN0dWZmOg0KPiBodHRwczov L3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMjAzMTg5Lw0KDQoNCkhpIERhbmllbCwN Cg0Kd2lsbCB5b3UgdGFrZSBWaWxsZSdzIHBhdGNoIG9yIHNob3VsZCBJIGNyZWF0ZSB0aGUgbmV3 IG9uZSB3aGljaCBpcyBvbmx5IHJlbGF0ZWQNCnRvIG5ldyBwaXhlbCBmb3JtYXQgdmFsaWRhdGlv biBpbiBkcm1fZmJfaGVscGVyX2NoZWNrX3ZhcigpID8NCg0KDQo+ID4gVGhhbmtzLCBEYW5pZWwN Cj4gPiANCj4gPiA+IC0tLQ0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMg fCA3ICsrKysrKysNCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspDQo+ID4g PiANCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYw0KPiA+ID4gaW5kZXggMTZlYzkzYjc1ZGJm Li40ZjM5ZGEwN2YwNTMgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Zi X2hlbHBlci5jDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jDQo+ ID4gPiBAQCAtMTYxMCw2ICsxNjEwLDEzIEBAIGludCBkcm1fZmJfaGVscGVyX2NoZWNrX3Zhcihz dHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKnZhciwNCj4gPiA+ICAgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsNCj4gPiA+ICAgICAgICAgfQ0KPiA+ID4gDQo+ID4gPiArICAgICAgIGlmICgo dmFyLT5ncmVlbi5sZW5ndGggKyB2YXItPmJsdWUubGVuZ3RoICsgdmFyLT5yZWQubGVuZ3RoICsN Cj4gPiA+ICsgICAgICAgICAgIHZhci0+dHJhbnNwLmxlbmd0aCkgPiB2YXItPmJpdHNfcGVyX3Bp eGVsKSB7DQo+ID4gPiArICAgICAgICAgICAgICAgRFJNX0RFQlVHKCJmYiByZXF1ZXN0ZWQgcGl4 ZWwgZm9ybWF0IGNhbid0IGZpdCBpbiAlZCBicHBcbiIsDQo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgIHZhci0+Yml0c19wZXJfcGl4ZWwpOw0KPiA+ID4gKyAgICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOw0KPiA+ID4gKyAgICAgICB9DQo+ID4gPiArDQo+ID4gPiAgICAgICAgIHN3 aXRjaCAodmFyLT5iaXRzX3Blcl9waXhlbCkgew0KPiA+ID4gICAgICAgICBjYXNlIDE2Og0KPiA+ ID4gICAgICAgICAgICAgICAgIGRlcHRoID0gKHZhci0+Z3JlZW4ubGVuZ3RoID09IDYpID8gMTYg OiAxNTsNCj4gPiA+IC0tDQo+ID4gPiAyLjE0LjQNCj4gPiA+IA0KPiA+ID4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+IGRyaS1kZXZlbCBtYWls aW5nIGxpc3QNCj4gPiA+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gPiA+IGh0 dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fbGlzdHMu ZnJlZWRlc2t0b3Aub3JnX21haWxtYW5fbGlzdGluZm9fZHJpLTJEZGV2ZWwmZD1Ed0lEQXcmYz1E UEw2X1hfNkprWEZ4N0FYV3FCMHRnJnI9WmxKTg0KPiA+ID4gMU1yaVBVVGtCS0NyUFN4NjdHbWFw bEVVR2NBRWs5eVB0Q0xkVVhJJm09ZjEyWnlFRVNJZWF2dHFDVUt1dGlaOUY2eHRSRkMyVVV2ZHFu TTR5d0J4OCZzPUNQUzh0YU1pWWJJZ1hvLWZ4aHFFck9KWHZPNlBNVHptci1CTm5HSklveTAmZT0N Cj4gPiANCj4gPiANCj4gPiANCj4gPiAtLSANCj4gPiBEYW5pZWwgVmV0dGVyDQo+ID4gU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uDQo+ID4gKzQxICgwKSA3OSAzNjUgNTcgNDgg LSBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cC0zQV9fYmxv Zy5mZndsbC5jaCZkPUR3SURBdyZjPURQTDZfWF82SmtYRng3QVhXcUIwdGcmcj1abEpOMU1yaVBV VGtCS0NyUFN4NjcNCj4gPiBHbWFwbEVVR2NBRWs5eVB0Q0xkVVhJJm09ZjEyWnlFRVNJZWF2dHFD VUt1dGlaOUY2eHRSRkMyVVV2ZHFuTTR5d0J4OCZzPVZ0OE9YOXM5bGpTSzZHRGdibndzRi1ZZDM1 ZmJCVWZlOFNCVjJqUG5WYVEmZT0NCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KPiA+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiBkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9p bnQuY29tL3YyL3VybD91PWh0dHBzLTNBX19saXN0cy5mcmVlZGVza3RvcC5vcmdfbWFpbG1hbl9s aXN0aW5mb19kcmktMkRkZXZlbCZkPUR3SURBdyZjPURQTDZfWF82SmtYRng3QVhXcUIwdGcmcj1a bEpOMU0NCj4gPiByaVBVVGtCS0NyUFN4NjdHbWFwbEVVR2NBRWs5eVB0Q0xkVVhJJm09ZjEyWnlF RVNJZWF2dHFDVUt1dGlaOUY2eHRSRkMyVVV2ZHFuTTR5d0J4OCZzPUNQUzh0YU1pWWJJZ1hvLWZ4 aHFFck9KWHZPNlBNVHptci1CTm5HSklveTAmZT0NCj4gDQo+IA0KLS0gDQogRXVnZW5peSBQYWx0 c2V2