From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from racke (bk1.linbit [10.9.9.6]) by mail09.linbit.com (LINBIT Mail Daemon) with ESMTP id 05FEB105B393 for ; Mon, 29 Mar 2010 14:28:05 +0200 (CEST) Resent-Message-ID: <20100329122805.GB3486@racke> Date: Sat, 27 Mar 2010 17:59:50 +0300 From: Dan Carpenter To: Lars Ellenberg Message-ID: <20100327145950.GG5069@bicker> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Philipp Reisner , drbd-user@lists.linbit.com, Jens Axboe Subject: [Drbd-dev] [patch] drbd: potential null dereference List-Id: Coordination of development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , If "e" is NULL then "bm_ext" would be NULL too. Signed-off-by: Dan Carpenter --- Found by static analysis and compile tested only. Sorry. :/ diff --git a/drivers/block/drbd/drbd_actlog.c b/drivers/block/drbd/drbd_actlog.c index 17956ff..b68b778 100644 --- a/drivers/block/drbd/drbd_actlog.c +++ b/drivers/block/drbd/drbd_actlog.c @@ -1328,7 +1328,7 @@ int drbd_rs_del_all(struct drbd_conf *mdev) for (i = 0; i < mdev->resync->nr_elements; i++) { e = lc_element_by_index(mdev->resync, i); bm_ext = e ? lc_entry(e, struct bm_extent, lce) : NULL; - if (bm_ext->lce.lc_number == LC_FREE) + if (!bm_ext || bm_ext->lce.lc_number == LC_FREE) continue; if (bm_ext->lce.lc_number == mdev->resync_wenr) { dev_info(DEV, "dropping %u in drbd_rs_del_all, apparently"