From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm: check for NULL parameter in exported drm_get_format_name() function. Date: Tue, 22 Nov 2016 19:31:57 +0200 Message-ID: <20161122173157.GD31595@intel.com> References: <20161122164106.31852-1-Liviu.Dudau@arm.com> <20161122165017.GC31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 400E16E332 for ; Tue, 22 Nov 2016 17:32:01 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark Cc: Jani Nikula , Daniel Vetter , Eric Engestrom , Liviu Dudau , LKML , DRI devel List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBOb3YgMjIsIDIwMTYgYXQgMTI6MjM6NTlQTSAtMDUwMCwgUm9iIENsYXJrIHdyb3Rl Ogo+IE9uIFR1ZSwgTm92IDIyLCAyMDE2IGF0IDExOjUwIEFNLCBWaWxsZSBTeXJqw6Rsw6QKPiA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+IHdyb3RlOgo+ID4gT24gVHVlLCBOb3YgMjIs IDIwMTYgYXQgMDQ6NDE6MDZQTSArMDAwMCwgTGl2aXUgRHVkYXUgd3JvdGU6Cj4gPj4gZHJtX2dl dF9mb3JtYXRfbmFtZSgpIGRlLXJlZmVyZW5jZXMgdGhlIGJ1ZiBwYXJhbWV0ZXIgd2l0aG91dCBj aGVja2luZwo+ID4+IGlmIHRoZSBwb2ludGVyIHdhcyBub3QgTlVMTC4gR2l2ZW4gdGhhdCB0aGUg ZnVuY3Rpb24gaXMgRVhQT1JULWVkLCBsZXRzCj4gPj4gc2FuaXRpc2UgdGhlIHBhcmFtZXRlcnMg YmVmb3JlIHByb2NlZWRpbmcuCj4gPj4KPiA+PiBGaXhlczogYjNjMTFhYzI2N2Q0NjFkM2Q1ICgi ZHJtOiBtb3ZlIGFsbG9jYXRpb24gb3V0IG9mIGRybV9nZXRfZm9ybWF0X25hbWUoKSkKPiA+PiBD YzogRXJpYyBFbmdlc3Ryb20gPGVyaWNAZW5nZXN0cm9tLmNoPgo+ID4+IENjOiBSb2IgQ2xhcmsg PHJvYmRjbGFya0BnbWFpbC5jb20+Cj4gPj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBp bnRlbC5jb20+Cj4gPj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ Cj4gPj4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBMaXZpdSBEdWRhdSA8TGl2aXUuRHVkYXVAYXJtLmNv bT4KPiA+PiAtLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9mb3VyY2MuYyB8IDMgKysrCj4g Pj4gIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKPiA+Pgo+ID4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvdXJjYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3Vy Y2MuYwo+ID4+IGluZGV4IDkwZDJjYzguLjBhM2ZmMGIgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9mb3VyY2MuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm91 cmNjLmMKPiA+PiBAQCAtODUsNiArODUsOSBAQCBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2xlZ2Fj eV9mYl9mb3JtYXQpOwo+ID4+ICAgKi8KPiA+PiAgY29uc3QgY2hhciAqZHJtX2dldF9mb3JtYXRf bmFtZSh1aW50MzJfdCBmb3JtYXQsIHN0cnVjdCBkcm1fZm9ybWF0X25hbWVfYnVmICpidWYpCj4g Pj4gIHsKPiA+PiArICAgICBpZiAoIWJ1ZikKPiA+PiArICAgICAgICAgICAgIHJldHVybiBOVUxM Owo+ID4+ICsKPiA+Cj4gPiBTZWVtcyByYXRoZXIgcG9pbnRsZXNzIHRvIG1lLiBXaHkgd291bGQg eW91IGV2ZXIgcGFzcyBOVUxMIHRvIHRoaXMgZ3V5Pwo+IAo+IHBlcmhhcHMgQlVHX09OKCFidWYp Li4uCgpBbmQgaG93IGRvZXMgdGhhdCBkaWZmZXIgZnJvbSBqdXN0IGJ1Zi0+Zm9vPwoKPiAKPiBC UiwKPiAtUgo+IAo+ID4+ICAgICAgIHNucHJpbnRmKGJ1Zi0+c3RyLCBzaXplb2YoYnVmLT5zdHIp LAo+ID4+ICAgICAgICAgICAgICAgICIlYyVjJWMlYyAlcy1lbmRpYW4gKDB4JTA4eCkiLAo+ID4+ ICAgICAgICAgICAgICAgIHByaW50YWJsZV9jaGFyKGZvcm1hdCAmIDB4ZmYpLAo+ID4+IC0tCj4g Pj4gMi4xMC4yCj4gPj4KPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+ID4+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+PiBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiA+Cj4gPiAtLQo+ID4gVmlsbGUgU3lyasOkbMOkCj4g PiBJbnRlbCBPVEMKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756444AbcKVRcG (ORCPT ); Tue, 22 Nov 2016 12:32:06 -0500 Received: from mga14.intel.com ([192.55.52.115]:30588 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752965AbcKVRcE (ORCPT ); Tue, 22 Nov 2016 12:32:04 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,533,1473145200"; d="scan'208";a="789562556" Date: Tue, 22 Nov 2016 19:31:57 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Rob Clark Cc: Liviu Dudau , Jani Nikula , Daniel Vetter , Eric Engestrom , LKML , DRI devel Subject: Re: [PATCH] drm: check for NULL parameter in exported drm_get_format_name() function. Message-ID: <20161122173157.GD31595@intel.com> References: <20161122164106.31852-1-Liviu.Dudau@arm.com> <20161122165017.GC31595@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 22, 2016 at 12:23:59PM -0500, Rob Clark wrote: > On Tue, Nov 22, 2016 at 11:50 AM, Ville Syrjälä > wrote: > > On Tue, Nov 22, 2016 at 04:41:06PM +0000, Liviu Dudau wrote: > >> drm_get_format_name() de-references the buf parameter without checking > >> if the pointer was not NULL. Given that the function is EXPORT-ed, lets > >> sanitise the parameters before proceeding. > >> > >> Fixes: b3c11ac267d461d3d5 ("drm: move allocation out of drm_get_format_name()) > >> Cc: Eric Engestrom > >> Cc: Rob Clark > >> Cc: Jani Nikula > >> Cc: Daniel Vetter > >> > >> Signed-off-by: Liviu Dudau > >> --- > >> drivers/gpu/drm/drm_fourcc.c | 3 +++ > >> 1 file changed, 3 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c > >> index 90d2cc8..0a3ff0b 100644 > >> --- a/drivers/gpu/drm/drm_fourcc.c > >> +++ b/drivers/gpu/drm/drm_fourcc.c > >> @@ -85,6 +85,9 @@ EXPORT_SYMBOL(drm_mode_legacy_fb_format); > >> */ > >> const char *drm_get_format_name(uint32_t format, struct drm_format_name_buf *buf) > >> { > >> + if (!buf) > >> + return NULL; > >> + > > > > Seems rather pointless to me. Why would you ever pass NULL to this guy? > > perhaps BUG_ON(!buf)... And how does that differ from just buf->foo? > > BR, > -R > > >> snprintf(buf->str, sizeof(buf->str), > >> "%c%c%c%c %s-endian (0x%08x)", > >> printable_char(format & 0xff), > >> -- > >> 2.10.2 > >> > >> _______________________________________________ > >> dri-devel mailing list > >> dri-devel@lists.freedesktop.org > >> https://lists.freedesktop.org/mailman/listinfo/dri-devel > > > > -- > > Ville Syrjälä > > Intel OTC > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Ville Syrjälä Intel OTC