From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756405AbZHNLdQ (ORCPT ); Fri, 14 Aug 2009 07:33:16 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755550AbZHNLdO (ORCPT ); Fri, 14 Aug 2009 07:33:14 -0400 Received: from mtagate4.de.ibm.com ([195.212.29.153]:46795 "EHLO mtagate4.de.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755482AbZHNL0T (ORCPT ); Fri, 14 Aug 2009 07:26:19 -0400 Message-Id: <20090814112615.383275103@de.ibm.com> References: <20090814112517.982007860@de.ibm.com> User-Agent: quilt/0.46-1 Date: Fri, 14 Aug 2009 13:25:29 +0200 From: Martin Schwidefsky To: linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org Cc: Heiko Carstens , Julia Lawall , Martin Schwidefsky Subject: [patch 12/34] drivers/s390: put NULL test before dereference Content-Disposition: inline; filename=111-dasd-null-pointer.diff Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Julia Lawall If the NULL test on block is needed, it should be before the dereference of the base field. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ expression E1,E2; identifier fld; statement S1,S2; @@ E1 = E2->fld; ( if (E1 == NULL) S1 else S2 | *if (E2 == NULL) S1 else S2 ) // Signed-off-by: Julia Lawall Signed-off-by: Martin Schwidefsky --- drivers/s390/block/dasd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: quilt-2.6/drivers/s390/block/dasd.c =================================================================== --- quilt-2.6.orig/drivers/s390/block/dasd.c +++ quilt-2.6/drivers/s390/block/dasd.c @@ -2133,9 +2133,9 @@ static int dasd_getgeo(struct block_devi struct dasd_device *base; block = bdev->bd_disk->private_data; - base = block->base; if (!block) return -ENODEV; + base = block->base; if (!base->discipline || !base->discipline->fill_geometry) -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.