diff options
author | Julia Lawall <julia@diku.dk> | 2010-08-10 18:01:14 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-11 08:59:00 -0700 |
commit | d23670069ad60c82234e51a945e8b472e8c7bde2 (patch) | |
tree | d53b466dbc3d2be81e9b88cb014ce2bb331da9d2 /drivers/message/i2o/i2o_block.c | |
parent | 95cc7baa7f19e191b4790d144b7cbe47369cfe32 (diff) | |
download | op-kernel-dev-d23670069ad60c82234e51a945e8b472e8c7bde2.zip op-kernel-dev-d23670069ad60c82234e51a945e8b472e8c7bde2.tar.gz |
drivers/message: move dereference after NULL test
If the NULL test on dev->i2o_dev or i2o_dev is needed, then the dereference
should be after the NULL test.
A simplified version of the semantic match that detects this problem is as
follows (http://coccinelle.lip6.fr/):
// <smpl>
@match exists@
expression x, E;
identifier fld;
@@
* x->fld
... when != \(x = E\|&x\)
* x == NULL
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: James Bottomley <James.Bottomley@suse.de>
Cc: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/message/i2o/i2o_block.c')
-rw-r--r-- | drivers/message/i2o/i2o_block.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c index e6733bc..f0f1e66 100644 --- a/drivers/message/i2o/i2o_block.c +++ b/drivers/message/i2o/i2o_block.c @@ -727,7 +727,7 @@ static int i2o_block_transfer(struct request *req) { struct i2o_block_device *dev = req->rq_disk->private_data; struct i2o_controller *c; - u32 tid = dev->i2o_dev->lct_data.tid; + u32 tid; struct i2o_message *msg; u32 *mptr; struct i2o_block_request *ireq = req->special; @@ -743,6 +743,7 @@ static int i2o_block_transfer(struct request *req) goto exit; } + tid = dev->i2o_dev->lct_data.tid; c = dev->i2o_dev->iop; msg = i2o_msg_get(c); |