* [PATCH 1/11] drivers/ide: Move a dereference below a NULL test
@ 2008-12-16 15:11 Julia Lawall
2008-12-16 20:49 ` Bartlomiej Zolnierkiewicz
2008-12-22 10:28 ` Sergei Shtylyov
0 siblings, 2 replies; 3+ messages in thread
From: Julia Lawall @ 2008-12-16 15:11 UTC (permalink / raw)
To: bzolnier, linux-ide, linux-kernel, kernel-janitors
From: Julia Lawall <julia@diku.dk>
In each case, 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;
identifier i,fld;
statement S;
@@
- T i = E->fld;
+ T i;
... when != E
when != i
if (E == NULL) S
+ i = E->fld;
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
drivers/ide/cs5530.c | 3 ++-
drivers/ide/sc1200.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/ide/cs5530.c b/drivers/ide/cs5530.c
index 53f079c..d8ede85 100644
--- a/drivers/ide/cs5530.c
+++ b/drivers/ide/cs5530.c
@@ -81,11 +81,12 @@ static u8 cs5530_udma_filter(ide_drive_t *drive)
{
ide_hwif_t *hwif = drive->hwif;
ide_drive_t *mate = ide_get_pair_dev(drive);
- u16 *mateid = mate->id;
+ u16 *mateid;
u8 mask = hwif->ultra_mask;
if (mate == NULL)
goto out;
+ mateid = mate->id;
if (ata_id_has_dma(mateid) && __ide_dma_bad_drive(mate) == 0) {
if ((mateid[ATA_ID_FIELD_VALID] & 4) &&
diff --git a/drivers/ide/sc1200.c b/drivers/ide/sc1200.c
index f1a8758..ec7f766 100644
--- a/drivers/ide/sc1200.c
+++ b/drivers/ide/sc1200.c
@@ -104,11 +104,12 @@ static u8 sc1200_udma_filter(ide_drive_t *drive)
{
ide_hwif_t *hwif = drive->hwif;
ide_drive_t *mate = ide_get_pair_dev(drive);
- u16 *mateid = mate->id;
+ u16 *mateid;
u8 mask = hwif->ultra_mask;
if (mate == NULL)
goto out;
+ mateid = mate->id;
if (ata_id_has_dma(mateid) && __ide_dma_bad_drive(mate) == 0) {
if ((mateid[ATA_ID_FIELD_VALID] & 4) &&
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/11] drivers/ide: Move a dereference below a NULL test
2008-12-16 15:11 [PATCH 1/11] drivers/ide: Move a dereference below a NULL test Julia Lawall
@ 2008-12-16 20:49 ` Bartlomiej Zolnierkiewicz
2008-12-22 10:28 ` Sergei Shtylyov
1 sibling, 0 replies; 3+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2008-12-16 20:49 UTC (permalink / raw)
To: Julia Lawall; +Cc: linux-ide, linux-kernel, kernel-janitors
On Tuesday 16 December 2008, Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
>
> In each case, if the NULL test is necessary, then the dereference should be
> moved below the NULL test.
applied, thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/11] drivers/ide: Move a dereference below a NULL test
2008-12-16 15:11 [PATCH 1/11] drivers/ide: Move a dereference below a NULL test Julia Lawall
2008-12-16 20:49 ` Bartlomiej Zolnierkiewicz
@ 2008-12-22 10:28 ` Sergei Shtylyov
1 sibling, 0 replies; 3+ messages in thread
From: Sergei Shtylyov @ 2008-12-22 10:28 UTC (permalink / raw)
To: Julia Lawall; +Cc: bzolnier, linux-ide, linux-kernel, kernel-janitors
Hello.
Julia Lawall wrote:
> In each case, 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;
> identifier i,fld;
> statement S;
> @@
>
> - T i = E->fld;
> + T i;
> ... when != E
> when != i
> if (E == NULL) S
> + i = E->fld;
> // </smpl>
>
> Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
MBR, Sergei
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-12-22 10:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-16 15:11 [PATCH 1/11] drivers/ide: Move a dereference below a NULL test Julia Lawall
2008-12-16 20:49 ` Bartlomiej Zolnierkiewicz
2008-12-22 10:28 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).