From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S943969AbcJaPNw (ORCPT ); Mon, 31 Oct 2016 11:13:52 -0400 Received: from slow1-d.mail.gandi.net ([217.70.178.86]:58562 "EHLO slow1-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S943855AbcJaPNv (ORCPT ); Mon, 31 Oct 2016 11:13:51 -0400 X-Originating-IP: 82.170.150.80 From: Maarten ter Huurne To: Vinod Koul Cc: Andrew Morton , dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, Maarten ter Huurne Subject: [PATCH] dma-debug: Avoid NULL dereference when checking sync Date: Mon, 31 Oct 2016 16:11:41 +0100 Message-Id: <1477926701-14782-1-git-send-email-maarten@treewalker.org> X-Mailer: git-send-email 2.6.6 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org check_sync() calls bucket_find_contain(), which in turn calls dma_get_max_seg_size(), which dereferences the device pointer. Signed-off-by: Maarten ter Huurne --- lib/dma-debug.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/dma-debug.c b/lib/dma-debug.c index 8971370..84c6e88 100644 --- a/lib/dma-debug.c +++ b/lib/dma-debug.c @@ -1223,6 +1223,11 @@ static void check_sync(struct device *dev, struct hash_bucket *bucket; unsigned long flags; + if (!ref->dev) { + err_printk(dev, NULL, "DMA-API: device driver passes NULL for device to DMA sync function; cannot check usage\n"); + return; + } + bucket = get_hash_bucket(ref, &flags); entry = bucket_find_contain(&bucket, ref, &flags); -- 2.6.6