Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934234AbcKWKw1 (ORCPT ); Wed, 23 Nov 2016 05:52:27 -0500 Received: from fw-tnat.cambridge.arm.com ([217.140.96.140]:53617 "EHLO cam-smtp0.cambridge.arm.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933056AbcKWKwZ (ORCPT ); Wed, 23 Nov 2016 05:52:25 -0500 From: Liviu Dudau To: Eric Engestrom Cc: David Airlie , DRI devel , LKML , Rob Clark , Jani Nikula , Daniel Vetter Subject: [PATCH v2] drm: check for NULL parameter in exported drm_get_format_name() function. Date: Wed, 23 Nov 2016 10:52:13 +0000 Message-Id: <20161123105213.27674-1-Liviu.Dudau@arm.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1372 Lines: 38 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. v2: Use BUG_ON() to annoy users that did not pass valid parameters to function. 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 --- I still think sanity checking the parameters of an exported function is worth doing, even if the way one triggers the NULL pointer crash is priviledged. Not a big fan of the verbosity of BUG_ON() and would rather silently reject NULL buf pointer, but that is a matter of taste. drivers/gpu/drm/drm_fourcc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index 90d2cc8..6d80239 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -85,6 +85,8 @@ EXPORT_SYMBOL(drm_mode_legacy_fb_format); */ const char *drm_get_format_name(uint32_t format, struct drm_format_name_buf *buf) { + BUG_ON(!buf); + snprintf(buf->str, sizeof(buf->str), "%c%c%c%c %s-endian (0x%08x)", printable_char(format & 0xff), -- 2.10.2