Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756252AbcKVSti (ORCPT ); Tue, 22 Nov 2016 13:49:38 -0500 Received: from foss.arm.com ([217.140.101.70]:36518 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756009AbcKVStg (ORCPT ); Tue, 22 Nov 2016 13:49:36 -0500 Date: Tue, 22 Nov 2016 18:49:34 +0000 From: Liviu Dudau To: Rob Clark Cc: Ville =?utf-8?B?U3lyasOkbMOk?= , 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: <20161122184933.GV1005@e106497-lin.cambridge.arm.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-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 Content-Length: 2262 Lines: 73 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)... Nah, I don't want to start spamming the logs. You passed nothing, you get nothing, no reason to throw a tantrum. Best regards, Liviu > > 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 -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯