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 <e...@engestrom.ch> Cc: Rob Clark <robdcl...@gmail.com> Cc: Jani Nikula <jani.nik...@intel.com> Cc: Daniel Vetter <daniel.vet...@ffwll.ch> Signed-off-by: Liviu Dudau <liviu.du...@arm.com> --- 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