public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 9/10] drivers/mmc: Move a dereference below a NULL test
@ 2009-07-19 15:30 Julia Lawall
  2009-07-20  8:01 ` Adrian Hunter
  0 siblings, 1 reply; 5+ messages in thread
From: Julia Lawall @ 2009-07-19 15:30 UTC (permalink / raw)
  To: jarkko.lavinen, linux-omap, linux-kernel, kernel-janitors

From: Julia Lawall <julia@diku.dk>

If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T;
expression E,E1;
identifier i,fld;
statement S;
@@

- T i = E->fld;
+ T i;
  ... when != E=E1
      when != i
  BUG_ON (E == NULL||
-     i
+     E->fld
       == NULL || ...);
+ i = E->fld;
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>

---
 drivers/mmc/host/omap.c             |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index e7a331d..89281ab 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -255,11 +255,12 @@ static void mmc_omap_slot_release_work(struct work_struct *work)
 
 static void mmc_omap_release_slot(struct mmc_omap_slot *slot, int clk_enabled)
 {
-	struct mmc_omap_host *host = slot->host;
+	struct mmc_omap_host *host;
 	unsigned long flags;
 	int i;
 
-	BUG_ON(slot == NULL || host->mmc == NULL);
+	BUG_ON(slot == NULL || slot->host->mmc == NULL);
+	host = slot->host;
 
 	if (clk_enabled)
 		/* Keeps clock running for at least 8 cycles on valid freq */

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-07-20 12:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-19 15:30 [PATCH 9/10] drivers/mmc: Move a dereference below a NULL test Julia Lawall
2009-07-20  8:01 ` Adrian Hunter
2009-07-20 12:33   ` arun c
2009-07-20 12:43     ` Adrian Hunter
2009-07-20 12:47       ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox