From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759451AbcLUNz1 (ORCPT ); Wed, 21 Dec 2016 08:55:27 -0500 Received: from faui40.informatik.uni-erlangen.de ([131.188.34.40]:35425 "EHLO faui40.informatik.uni-erlangen.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752812AbcLUNzZ (ORCPT ); Wed, 21 Dec 2016 08:55:25 -0500 X-Greylist: delayed 481 seconds by postgrey-1.27 at vger.kernel.org; Wed, 21 Dec 2016 08:55:24 EST From: Burak Ok To: linux-kernel@vger.kernel.org Cc: linux-scsi@vger.kernel.org, Martin K Petersen , James E J Bottomley , Sesidhar Baddela , Karan Tilak Kumar , Narsimhulu Musini , linux-kernel@i4.cs.fau.de, Burak Ok , Andreas Schaertl Subject: [PATCH] snic: Return error code on memory allocation failure Date: Wed, 21 Dec 2016 14:45:53 +0100 Message-Id: <1482327953-4140-1-git-send-email-burak-kernel@bur0k.de> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If a call to mempool_create_slab_pool() in snic_probe() returns NULL, return -ENOMEM to indicate failure. mempool_creat_slab_pool() only fails if it cannot allocate memory. https://bugzilla.kernel.org/show_bug.cgi?id=189061 Reported-by: bianpan2010@ruc.edu.cn Signed-off-by: Burak Ok Signed-off-by: Andreas Schaertl --- drivers/scsi/snic/snic_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c index 396b32d..7cf70aa 100644 --- a/drivers/scsi/snic/snic_main.c +++ b/drivers/scsi/snic/snic_main.c @@ -591,6 +591,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!pool) { SNIC_HOST_ERR(shost, "dflt sgl pool creation failed\n"); + ret = -ENOMEM; goto err_free_res; } @@ -601,6 +602,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!pool) { SNIC_HOST_ERR(shost, "max sgl pool creation failed\n"); + ret = -ENOMEM; goto err_free_dflt_sgl_pool; } @@ -611,6 +613,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!pool) { SNIC_HOST_ERR(shost, "snic tmreq info pool creation failed.\n"); + ret = -ENOMEM; goto err_free_max_sgl_pool; } -- 2.7.4