[PATCH] clk: __clk_set_parent: set uninitialized variable

Subsystems: common clk framework, the rest

STALE5177d

4 messages, 3 authors, 2012-07-02 · open the first message on its own page

[PATCH] clk: __clk_set_parent: set uninitialized variable

From: mkl@pengutronix.de (Marc Kleine-Budde)
Date: 2012-07-01 21:18:59

This patch fixes the following warning:

    drivers/clk/clk.c: In function '__clk_set_parent':
    drivers/clk/clk.c:1083:5: warning: 'i' may be used uninitialized in this function [-Wuninitialized]

which has been introduced with commit:

    commit 7975059db572eb47f0fb272a62afeae272a4b209
    Author: Rajendra Nayak [off-list ref]
    Date:   Wed Jun 6 14:41:31 2012 +0530

        clk: Allow late cache allocation for clk->parents

This patch applies to linux-3.5-rc5

Cc: Rajendra Nayak <redacted>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
Hello,

please check if this is the correct fix. The original patch has been
schedules for stable, this fix may be a candicate, too.

regards, Marc


 drivers/clk/clk.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index dcbe056..60d1bb4 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1063,7 +1063,7 @@ static int __clk_set_parent(struct clk *clk, struct clk *parent)
 	struct clk *old_parent;
 	unsigned long flags;
 	int ret = -EINVAL;
-	u8 i;
+	u8 i = 0;
 
 	old_parent = clk->parent;
 
-- 
1.7.10

[PATCH] clk: __clk_set_parent: set uninitialized variable

From: Rajendra Nayak <hidden>
Date: 2012-07-02 05:57:13

On Monday 02 July 2012 02:48 AM, Marc Kleine-Budde wrote:
This patch fixes the following warning:

     drivers/clk/clk.c: In function '__clk_set_parent':
     drivers/clk/clk.c:1083:5: warning: 'i' may be used uninitialized in this function [-Wuninitialized]

which has been introduced with commit:
hmm, are you sure about that? The below commit neither introduces the
variable 'i', nor seem to change the way the variable is used in the
function.
quoted hunk
     commit 7975059db572eb47f0fb272a62afeae272a4b209
     Author: Rajendra Nayak[off-list ref]
     Date:   Wed Jun 6 14:41:31 2012 +0530

         clk: Allow late cache allocation for clk->parents

This patch applies to linux-3.5-rc5

Cc: Rajendra Nayak<redacted>
Signed-off-by: Marc Kleine-Budde<mkl@pengutronix.de>
---
Hello,

please check if this is the correct fix. The original patch has been
schedules for stable, this fix may be a candicate, too.

regards, Marc


  drivers/clk/clk.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index dcbe056..60d1bb4 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1063,7 +1063,7 @@ static int __clk_set_parent(struct clk *clk, struct clk *parent)
  	struct clk *old_parent;
  	unsigned long flags;
  	int ret = -EINVAL;
-	u8 i;
+	u8 i = 0;

  	old_parent = clk->parent;

[PATCH] clk: __clk_set_parent: set uninitialized variable

From: Uwe Kleine-König <hidden>
Date: 2012-07-02 06:47:37

On Mon, Jul 02, 2012 at 11:27:13AM +0530, Rajendra Nayak wrote:
On Monday 02 July 2012 02:48 AM, Marc Kleine-Budde wrote:
quoted
This patch fixes the following warning:

    drivers/clk/clk.c: In function '__clk_set_parent':
    drivers/clk/clk.c:1083:5: warning: 'i' may be used uninitialized in this function [-Wuninitialized]

which has been introduced with commit:
hmm, are you sure about that? The below commit neither introduces the
variable 'i', nor seem to change the way the variable is used in the
function.
It does. The following hunk:

-       for (i = 0; i < clk->num_parents; i++)
-               if (clk->parents[i] == parent)
-                       break;
+       if (clk->parents)
+               for (i = 0; i < clk->num_parents; i++)
+                       if (clk->parents[i] == parent)
+                               break;
+       else
+               clk->parents = kzalloc((sizeof(struct clk*) * clk->num_parents),
+                                                               GFP_KERNEL);

results in i being uninitialized if clk->parents is NULL. But I wonder
if for this case i should be set to clk->num_parents instead of 0?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[PATCH] clk: __clk_set_parent: set uninitialized variable

From: Rajendra Nayak <hidden>
Date: 2012-07-02 07:24:30

On Monday 02 July 2012 12:17 PM, Uwe Kleine-K?nig wrote:
On Mon, Jul 02, 2012 at 11:27:13AM +0530, Rajendra Nayak wrote:
quoted
On Monday 02 July 2012 02:48 AM, Marc Kleine-Budde wrote:
quoted
This patch fixes the following warning:

     drivers/clk/clk.c: In function '__clk_set_parent':
     drivers/clk/clk.c:1083:5: warning: 'i' may be used uninitialized in this function [-Wuninitialized]

which has been introduced with commit:
hmm, are you sure about that? The below commit neither introduces the
variable 'i', nor seem to change the way the variable is used in the
function.
It does. The following hunk:

-       for (i = 0; i<  clk->num_parents; i++)
-               if (clk->parents[i] == parent)
-                       break;
+       if (clk->parents)
+               for (i = 0; i<  clk->num_parents; i++)
+                       if (clk->parents[i] == parent)
+                               break;
+       else
+               clk->parents = kzalloc((sizeof(struct clk*) * clk->num_parents),
+                                                               GFP_KERNEL);

results in i being uninitialized if clk->parents is NULL. But I wonder
ok, got it.
if for this case i should be set to clk->num_parents instead of 0?
yes, that seems like the right thing to do.
Best regards
Uwe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help