2012-11-08 09:35:42

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH -next] mtip32xx: fix potential NULL pointer dereference in mtip_timeout_function()

From: Wei Yongjun <[email protected]>

The dereference to port should be moved below the NULL test.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/block/mtip32xx/mtip32xx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index adc6f36..fe16b32 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -559,7 +559,7 @@ static void mtip_timeout_function(unsigned long int data)
struct mtip_cmd *command;
int tag, cmdto_cnt = 0;
unsigned int bit, group;
- unsigned int num_command_slots = port->dd->slot_groups * 32;
+ unsigned int num_command_slots;
unsigned long to, tagaccum[SLOTBITS_IN_LONGS];

if (unlikely(!port))
@@ -572,6 +572,7 @@ static void mtip_timeout_function(unsigned long int data)
}
/* clear the tag accumulator */
memset(tagaccum, 0, SLOTBITS_IN_LONGS * sizeof(long));
+ num_command_slots = port->dd->slot_groups * 32;

for (tag = 0; tag < num_command_slots; tag++) {
/*


2012-11-08 11:52:14

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH -next] mtip32xx: fix potential NULL pointer dereference in mtip_timeout_function()

On 2012-11-08 10:35, Wei Yongjun wrote:
> From: Wei Yongjun <[email protected]>
>
> The dereference to port should be moved below the NULL test.
>
> dpatch engine is used to auto generate this patch.
> (https://github.com/weiyj/dpatch)

Thanks, it definitely doesn't make sense to check for !port after having
dereferenced it. Applied.

--
Jens Axboe