linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Move call to PTR_ERR after reassignment
@ 2012-02-02 14:00 Julia Lawall
  2012-02-02 14:00 ` [PATCH 1/3] drivers/power/pda_power.c: " Julia Lawall
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Julia Lawall @ 2012-02-02 14:00 UTC (permalink / raw)
  To: linux-kernel; +Cc: kernel-janitors

These patches fix cases where a location is reset to NULL before being
passed to PTR_ERR.


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

* [PATCH 1/3] drivers/power/pda_power.c: Move call to PTR_ERR after reassignment
  2012-02-02 14:00 [PATCH 0/3] Move call to PTR_ERR after reassignment Julia Lawall
@ 2012-02-02 14:00 ` Julia Lawall
  2012-02-02 14:00 ` [PATCH 2/3] drivers/net/ethernet/ti/davinci_xxx.c: " Julia Lawall
  2012-02-02 14:00 ` [PATCH 3/3] kernel/rcutorture.c: " Julia Lawall
  2 siblings, 0 replies; 4+ messages in thread
From: Julia Lawall @ 2012-02-02 14:00 UTC (permalink / raw)
  To: linux-kernel, josh; +Cc: kernel-janitors, Julia Lawall

From: Julia Lawall <julia@diku.dk>

Delete successive assignments to the same location.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e,e1;
constant c;
@@

*e = c
... when != e = e1
    when != &e
    when != true IS_ERR(e)
*PTR_ERR(e)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Reported-by: Josh Triplett <josh@joshtriplett.org>

---
This patch probably only half way solves the problem with this code.  It would
seem that it should have a goto at the end, but I am not sure to where.

 drivers/power/pda_power.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c
index fd49689..16611c3 100644
--- a/drivers/power/pda_power.c
+++ b/drivers/power/pda_power.c
@@ -316,8 +316,8 @@ static int pda_power_probe(struct platform_device *pdev)
 	ac_draw = regulator_get(dev, "ac_draw");
 	if (IS_ERR(ac_draw)) {
 		dev_dbg(dev, "couldn't get ac_draw regulator\n");
-		ac_draw = NULL;
 		ret = PTR_ERR(ac_draw);
+		ac_draw = NULL;
 	}
 
 #ifdef CONFIG_USB_OTG_UTILS


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

* [PATCH 2/3] drivers/net/ethernet/ti/davinci_xxx.c: Move call to PTR_ERR after reassignment
  2012-02-02 14:00 [PATCH 0/3] Move call to PTR_ERR after reassignment Julia Lawall
  2012-02-02 14:00 ` [PATCH 1/3] drivers/power/pda_power.c: " Julia Lawall
@ 2012-02-02 14:00 ` Julia Lawall
  2012-02-02 14:00 ` [PATCH 3/3] kernel/rcutorture.c: " Julia Lawall
  2 siblings, 0 replies; 4+ messages in thread
From: Julia Lawall @ 2012-02-02 14:00 UTC (permalink / raw)
  To: netdev; +Cc: kernel-janitors, linux-kernel, josh, Julia Lawall

From: Julia Lawall <julia@diku.dk>

Delete successive assignments to the same location.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e,e1;
constant c;
@@

*e = c
... when != e = e1
    when != &e
    when != true IS_ERR(e)
*PTR_ERR(e)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Reported-by: Josh Triplett <josh@joshtriplett.org>

---
 drivers/net/ethernet/ti/davinci_emac.c |    3 ++-
 drivers/net/ethernet/ti/davinci_mdio.c |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index efd4f3e..922a937 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1600,8 +1600,9 @@ static int emac_dev_open(struct net_device *ndev)
 		if (IS_ERR(priv->phydev)) {
 			dev_err(emac_dev, "could not connect to phy %s\n",
 				priv->phy_id);
+			ret = PTR_ERR(priv->phydev);
 			priv->phydev = NULL;
-			return PTR_ERR(priv->phydev);
+			return ret;
 		}
 
 		priv->link = 0;
diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
index ef7c9c1..af8b8fc 100644
--- a/drivers/net/ethernet/ti/davinci_mdio.c
+++ b/drivers/net/ethernet/ti/davinci_mdio.c
@@ -318,9 +318,9 @@ static int __devinit davinci_mdio_probe(struct platform_device *pdev)
 
 	data->clk = clk_get(dev, NULL);
 	if (IS_ERR(data->clk)) {
-		data->clk = NULL;
 		dev_err(dev, "failed to get device clock\n");
 		ret = PTR_ERR(data->clk);
+		data->clk = NULL;
 		goto bail_out;
 	}
 


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

* [PATCH 3/3] kernel/rcutorture.c: Move call to PTR_ERR after reassignment
  2012-02-02 14:00 [PATCH 0/3] Move call to PTR_ERR after reassignment Julia Lawall
  2012-02-02 14:00 ` [PATCH 1/3] drivers/power/pda_power.c: " Julia Lawall
  2012-02-02 14:00 ` [PATCH 2/3] drivers/net/ethernet/ti/davinci_xxx.c: " Julia Lawall
@ 2012-02-02 14:00 ` Julia Lawall
  2 siblings, 0 replies; 4+ messages in thread
From: Julia Lawall @ 2012-02-02 14:00 UTC (permalink / raw)
  To: Josh Triplett
  Cc: kernel-janitors, Paul E. McKenney, linux-kernel, Julia Lawall

From: Julia Lawall <julia@diku.dk>

Delete successive assignments to the same location.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e,e1;
constant c;
@@

*e = c
... when != e = e1
    when != &e
    when != true IS_ERR(e)
*PTR_ERR(e)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Reported-by: Josh Triplett <josh@joshtriplett.org>

---
 kernel/rcutorture.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
index a58ac28..4b3cd87 100644
--- a/kernel/rcutorture.c
+++ b/kernel/rcutorture.c
@@ -1450,12 +1450,15 @@ rcu_torture_onoff(void *arg)
 static int __cpuinit
 rcu_torture_onoff_init(void)
 {
+	int ret;
+
 	if (onoff_interval <= 0)
 		return 0;
 	onoff_task = kthread_run(rcu_torture_onoff, NULL, "rcu_torture_onoff");
 	if (IS_ERR(onoff_task)) {
+		ret = PTR_ERR(onoff_task);
 		onoff_task = NULL;
-		return PTR_ERR(onoff_task);
+		return ret;
 	}
 	return 0;
 }


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

end of thread, other threads:[~2012-02-02 14:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-02 14:00 [PATCH 0/3] Move call to PTR_ERR after reassignment Julia Lawall
2012-02-02 14:00 ` [PATCH 1/3] drivers/power/pda_power.c: " Julia Lawall
2012-02-02 14:00 ` [PATCH 2/3] drivers/net/ethernet/ti/davinci_xxx.c: " Julia Lawall
2012-02-02 14:00 ` [PATCH 3/3] kernel/rcutorture.c: " Julia Lawall

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).