From: Kevin Winchester <kjwinchester@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
To: Ingo Molnar <mingo@elte.hu>
Cc: Kevin Winchester <kjwinchester@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: [PATCH 1/2] Fix warning: 'calltime.tv64' may be used uninitialized in this function in init/main.c
Date: Wed, 7 Jul 2010 21:09:10 -0300 [thread overview]
Message-ID: <1278547751-2237-1-git-send-email-kjwinchester@gmail.com> (raw)
In-Reply-To: <20100707152640.586442f3.akpm@linux-foundation.org>
Using:
gcc (GCC) 4.5.0 20100610 (prerelease)
The following warning appears:
init/main.c: In function ‘do_one_initcall’:
init/main.c:730:10: warning: ‘calltime.tv64’ may be used uninitialized in this function
This warning is actually correct, as the global initcall_debug
could arguably be changed by the initcall.
Correct this warning by extracting a new function,
do_one_initcall_debug, that performs the initcall for the debug
case.
Signed-off-by: Kevin Winchester <kjwinchester@gmail.com>
---
init/main.c | 34 ++++++++++++++++++++--------------
1 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/init/main.c b/init/main.c
index 3e0f4b5..828ffac 100644
--- a/init/main.c
+++ b/init/main.c
@@ -724,27 +724,33 @@ core_param(initcall_debug, initcall_debug, bool, 0644);
static char msgbuf[64];
-int do_one_initcall(initcall_t fn)
+static int do_one_initcall_debug(initcall_t fn)
{
- int count = preempt_count();
ktime_t calltime, delta, rettime;
unsigned long long duration;
int ret;
- if (initcall_debug) {
- printk("calling %pF @ %i\n", fn, task_pid_nr(current));
- calltime = ktime_get();
- }
-
+ printk(KERN_DEBUG "calling %pF @ %i\n", fn, task_pid_nr(current));
+ calltime = ktime_get();
ret = fn();
+ rettime = ktime_get();
+ delta = ktime_sub(rettime, calltime);
+ duration = (unsigned long long) ktime_to_ns(delta) >> 10;
+ printk(KERN_DEBUG "initcall %pF returned %d after %lld usecs\n", fn,
+ ret, duration);
- if (initcall_debug) {
- rettime = ktime_get();
- delta = ktime_sub(rettime, calltime);
- duration = (unsigned long long) ktime_to_ns(delta) >> 10;
- printk("initcall %pF returned %d after %lld usecs\n", fn,
- ret, duration);
- }
+ return ret;
+}
+
+int do_one_initcall(initcall_t fn)
+{
+ int count = preempt_count();
+ int ret;
+
+ if (initcall_debug)
+ ret = do_one_initcall_debug(fn);
+ else
+ ret = fn();
msgbuf[0] = 0;
--
1.7.1
next prev parent reply other threads:[~2010-07-08 0:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-03 23:26 [PATCH] Fix uninitialized variable warning in do_one_initcall Kevin Winchester
2010-07-07 22:26 ` Andrew Morton
2010-07-08 0:09 ` Kevin Winchester [this message]
2010-07-08 0:09 ` [PATCH 2/2] Mark do_one_initcall* as __init_or_module Kevin Winchester
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1278547751-2237-1-git-send-email-kjwinchester@gmail.com \
--to=kjwinchester@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome