From patchwork Mon Feb 11 13:02:40 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: syrine tlili X-Patchwork-Id: 219597 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id EDE952C02E9 for ; Tue, 12 Feb 2013 00:03:51 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757213Ab3BKNDX (ORCPT ); Mon, 11 Feb 2013 08:03:23 -0500 Received: from mail-we0-f176.google.com ([74.125.82.176]:55346 "EHLO mail-we0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757112Ab3BKNDV (ORCPT ); Mon, 11 Feb 2013 08:03:21 -0500 Received: by mail-we0-f176.google.com with SMTP id s43so4924296wey.35 for ; Mon, 11 Feb 2013 05:03:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer; bh=WNVshm0R2QbBoC61++hvomgc2k5D6BdVLjuQyN+kfGk=; b=Zn/lXj8SmTFoGctAzCy+fW+oTzOouVp1IkxPOHXfCIjXG4pkEAe+4onB+9kSW5xj8+ kBEOWkkwpKrV0+vUoaftxEAfOoV//9f7p6l1Rjn88FcZrP/Bo5G3pvLepoFov/nEkSHV e62r+EftbRLpRcCS1TDMjbhG5IPtwkkWkJi7IRei1/6xgpT1oFi5mLspsebmwmOCYpwk AjnfsRBo53NMVv+92jCBwJwxFcGlN4OgYuRgmxbt/w36TsguxN9+QxhP5yZmeG2LuzOn LeLvvOLtZWPpYYXqMMW3a//RtT6l/hWf6U6W51SeLSumGeWWqSfjzcRewuh+JBrvSuUg MCtA== X-Received: by 10.180.75.177 with SMTP id d17mr16020968wiw.16.1360587799701; Mon, 11 Feb 2013 05:03:19 -0800 (PST) Received: from syrine-pc.lan ([197.5.14.35]) by mx.google.com with ESMTPS id s10sm33052457wiw.4.2013.02.11.05.03.17 (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 11 Feb 2013 05:03:18 -0800 (PST) From: syrine.tl@gmail.com To: matt.fleming@intel.com, sage@inktank.com, isdn@linux-pingi.de, megaraidlinux@lsi.com Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Syrine Tlili Subject: [PATCH] Fixes missing Null Check Date: Mon, 11 Feb 2013 14:02:40 +0100 Message-Id: <1360587760-6211-1-git-send-email-syrine.tlili@gmail.com> X-Mailer: git-send-email 1.7.11.7 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Syrine Tlili This patch fixes missing null check of memory allocation functions return values. Signed-off-by: Syrine Tlili --- arch/x86/platform/efi/efi.c | 2 ++ drivers/isdn/mISDN/fsm.c | 2 ++ drivers/scsi/megaraid.c | 7 +++++++ fs/ceph/mdsmap.c | 2 ++ 4 files changed, 13 insertions(+) diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index 77cf009..88b60e0 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c @@ -924,6 +924,8 @@ void __init efi_enter_virtual_mode(void) new_memmap = krealloc(new_memmap, (count + 1) * memmap.desc_size, GFP_KERNEL); + if (!new_memmap) + return -ENOMEM; memcpy(new_memmap + (count * memmap.desc_size), md, memmap.desc_size); count++; diff --git a/drivers/isdn/mISDN/fsm.c b/drivers/isdn/mISDN/fsm.c index 26477d4..09000dd 100644 --- a/drivers/isdn/mISDN/fsm.c +++ b/drivers/isdn/mISDN/fsm.c @@ -34,6 +34,8 @@ mISDN_FsmNew(struct Fsm *fsm, fsm->jumpmatrix = kzalloc(sizeof(FSMFNPTR) * fsm->state_count * fsm->event_count, GFP_KERNEL); + if (!fsm->jumpmatrix) + return -ENOMEM; for (i = 0; i < fncount; i++) if ((fnlist[i].state >= fsm->state_count) || diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c index 9504ec0..e6d1822 100644 --- a/drivers/scsi/megaraid.c +++ b/drivers/scsi/megaraid.c @@ -4437,6 +4437,8 @@ mega_internal_command(adapter_t *adapter, megacmd_t *mc, mega_passthru *pthru) memset(scb, 0, sizeof(scb_t)); sdev = kzalloc(sizeof(struct scsi_device), GFP_KERNEL); + if (!sdev) + goto err_out; scmd->device = sdev; memset(adapter->int_cdb, 0, sizeof(adapter->int_cdb)); @@ -4482,6 +4484,11 @@ mega_internal_command(adapter_t *adapter, megacmd_t *mc, mega_passthru *pthru) scsi_free_command(GFP_KERNEL, scmd); return rval; + +err_out: + mutex_unlock(&adapter->int_mtx); + scsi_free_command(GFP_KERNEL, scmd); + return -ENOMEM; } diff --git a/fs/ceph/mdsmap.c b/fs/ceph/mdsmap.c index 73b7d44..d04ab8b 100644 --- a/fs/ceph/mdsmap.c +++ b/fs/ceph/mdsmap.c @@ -132,6 +132,8 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end) m->m_info[mds].export_targets = kcalloc(num_export_targets, sizeof(u32), GFP_NOFS); + if (m->m_info[mds].export_targets == NULL) + goto badmem; for (j = 0; j < num_export_targets; j++) m->m_info[mds].export_targets[j] = ceph_decode_32(&pexport_targets);