From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754858AbcAORmN (ORCPT ); Fri, 15 Jan 2016 12:42:13 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:44882 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754796AbcAORmJ (ORCPT ); Fri, 15 Jan 2016 12:42:09 -0500 From: Peter Senna Tschudin To: thomas@winischhofer.net, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, joe@perches.com, sergei.shtylyov@cogentembedded.com Cc: Peter Senna Tschudin Subject: [PATCH V2 7/7] usb-misc: sisusbvga: fix error path Date: Fri, 15 Jan 2016 18:41:34 +0100 Message-Id: <1452879694-21206-8-git-send-email-peter.senna@collabora.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1452879694-21206-1-git-send-email-peter.senna@collabora.com> References: <1452879694-21206-1-git-send-email-peter.senna@collabora.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Remove a call to dev_err() that was reporting an unsuccesful call to kmalloc(), as reporting memory allocation failures is redundant. Instead of logging the error, clean up previously allocated resources and abort the probe with -ENOMEM. Before this change sisusb->SiS_Pr could be dereferenced even if null after failure of memory allocation. Signed-off-by: Peter Senna Tschudin --- Changes from V1: - This patch fixes the bug and does cleanup only on the error path that was causing the bug. Tested by compilation only. drivers/usb/misc/sisusbvga/sisusb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c index b3713d5..a22de52 100644 --- a/drivers/usb/misc/sisusbvga/sisusb.c +++ b/drivers/usb/misc/sisusbvga/sisusb.c @@ -3112,7 +3112,8 @@ static int sisusb_probe(struct usb_interface *intf, /* Allocate our SiS_Pr */ sisusb->SiS_Pr = kmalloc(sizeof(struct SiS_Private), GFP_KERNEL); if (!sisusb->SiS_Pr) { - dev_err(&sisusb->sisusb_dev->dev, "Failed to allocate SiS_Pr\n"); + retval = -ENOMEM; + goto error_4; } #endif -- 2.5.0