From: Ingo Molnar <mingo@kernel.org>
To: hpa@zytor.com, linux-kernel@vger.kernel.org, shuahkhan@gmail.com,
joe@perches.com, tglx@linutronix.de
Cc: linux-tip-commits@vger.kernel.org
Subject: Re: [tip:x86/cleanups] x86/early_printk: Replace obsolete simple_strtoul() usage with kstrtoint()
Date: Fri, 22 Jun 2012 16:24:56 +0200 [thread overview]
Message-ID: <20120622142456.GA24850@gmail.com> (raw)
In-Reply-To: <tip-fbd24153c48b8425b09c161a020483cd77da870e@git.kernel.org>
* tip-bot for Shuah Khan <shuahkhan@gmail.com> wrote:
> Commit-ID: fbd24153c48b8425b09c161a020483cd77da870e
> Gitweb: http://git.kernel.org/tip/fbd24153c48b8425b09c161a020483cd77da870e
> Author: Shuah Khan <shuahkhan@gmail.com>
> AuthorDate: Wed, 30 May 2012 18:40:03 -0600
> Committer: Ingo Molnar <mingo@kernel.org>
> CommitDate: Wed, 6 Jun 2012 11:44:22 +0200
>
> x86/early_printk: Replace obsolete simple_strtoul() usage with kstrtoint()
>
> Change early_serial_init() to call kstrtoul() instead of calling
> obsoleted simple_strtoul().
>
> Signed-off-by: Shuah Khan <shuahkhan@gmail.com>
> Cc: Joe Perches <joe@perches.com>
> Link: http://lkml.kernel.org/r/1338424803.3569.5.camel@lorien2
> Signed-off-by: Ingo Molnar <mingo@kernel.org>
> ---
> arch/x86/kernel/early_printk.c | 12 ++++++------
> 1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c
> index 9b9f18b..5e47712 100644
> --- a/arch/x86/kernel/early_printk.c
> +++ b/arch/x86/kernel/early_printk.c
> @@ -119,7 +119,7 @@ static __init void early_serial_init(char *s)
> unsigned char c;
> unsigned divisor;
> unsigned baud = DEFAULT_BAUD;
> - char *e;
> + ssize_t ret;
>
> if (*s == ',')
> ++s;
> @@ -127,14 +127,14 @@ static __init void early_serial_init(char *s)
> if (*s) {
> unsigned port;
> if (!strncmp(s, "0x", 2)) {
> - early_serial_base = simple_strtoul(s, &e, 16);
> + ret = kstrtoint(s, 16, &early_serial_base);
> } else {
> static const int __initconst bases[] = { 0x3f8, 0x2f8 };
>
> if (!strncmp(s, "ttyS", 4))
> s += 4;
> - port = simple_strtoul(s, &e, 10);
> - if (port > 1 || s == e)
> + ret = kstrtouint(s, 10, &port);
> + if (ret || port > 1)
> port = 0;
> early_serial_base = bases[port];
> }
> @@ -149,8 +149,8 @@ static __init void early_serial_init(char *s)
> outb(0x3, early_serial_base + MCR); /* DTR + RTS */
>
> if (*s) {
> - baud = simple_strtoul(s, &e, 0);
> - if (baud == 0 || s == e)
> + ret = kstrtouint(s, 0, &baud);
> + if (ret || baud == 0)
> baud = DEFAULT_BAUD;
> }
This commit is quite buggy: kstrto*int() can return an error but
it's not checked in every path above. simple_strtoul() on the
other hand could not fail, so this patch subtly intruduces new
failure modes.
I'm dropping this patch.
Thanks,
Ingo
next prev parent reply other threads:[~2012-06-22 14:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-27 16:48 [PATCH] x86: kernel/early_printk.c simple_strtoul cleanup Shuah Khan
2012-05-27 20:51 ` Joe Perches
2012-05-29 20:41 ` Shuah Khan
2012-05-31 0:40 ` [PATCH RESEND] " Shuah Khan
2012-06-06 15:15 ` [tip:x86/cleanups] x86/early_printk: Replace obsolete simple_strtoul() usage with kstrtoint() tip-bot for Shuah Khan
2012-06-22 14:24 ` Ingo Molnar [this message]
2012-06-25 17:17 ` Shuah Khan
2012-06-29 12:50 ` Ingo Molnar
2012-06-22 14:40 ` [tip:x86/cleanups] Revert "x86/early_printk: Replace obsolete simple_strtoul() usage with kstrtoint()" tip-bot for Ingo Molnar
2012-07-22 13:58 ` [tip:x86/platform] " tip-bot for Ingo Molnar
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=20120622142456.GA24850@gmail.com \
--to=mingo@kernel.org \
--cc=hpa@zytor.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=shuahkhan@gmail.com \
--cc=tglx@linutronix.de \
/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;
as well as URLs for NNTP newsgroup(s).