From: tip-bot for Dave Hansen <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: hpa@zytor.com, dvlasenk@redhat.com, peterz@infradead.org,
bp@suse.de, brgerst@gmail.com, dave.hansen@linux.intel.com,
bp@alien8.de, tglx@linutronix.de, mingo@kernel.org,
torvalds@linux-foundation.org, luto@amacapital.net,
linux-kernel@vger.kernel.org
Subject: [tip:x86/boot] x86/boot: Simplify early command line parsing
Date: Wed, 3 Feb 2016 03:35:42 -0800 [thread overview]
Message-ID: <tip-4de07ea481361b08fe13735004dafae862482d38@git.kernel.org> (raw)
In-Reply-To: <20151222225241.15365E43@viggo.jf.intel.com>
Commit-ID: 4de07ea481361b08fe13735004dafae862482d38
Gitweb: http://git.kernel.org/tip/4de07ea481361b08fe13735004dafae862482d38
Author: Dave Hansen <dave.hansen@linux.intel.com>
AuthorDate: Tue, 22 Dec 2015 14:52:41 -0800
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 3 Feb 2016 12:03:17 +0100
x86/boot: Simplify early command line parsing
__cmdline_find_option_bool() tries to account for both NULL-terminated
and non-NULL-terminated strings. It keeps 'pos' to look for the end of
the buffer and also looks for '!c' in a bunch of places to look for NULL
termination.
But, it also calls strlen(). You can't call strlen on a
non-NULL-terminated string.
If !strlen(cmdline), then cmdline[0]=='\0'. In that case, we will go in
to the while() loop, set c='\0', hit st_wordstart, notice !c, and will
immediately return 0.
So, remove the strlen(). It is unnecessary and unsafe.
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: fenghua.yu@intel.com
Cc: yu-cheng.yu@intel.com
Link: http://lkml.kernel.org/r/20151222225241.15365E43@viggo.jf.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/lib/cmdline.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/arch/x86/lib/cmdline.c b/arch/x86/lib/cmdline.c
index ff8d1be..945a639 100644
--- a/arch/x86/lib/cmdline.c
+++ b/arch/x86/lib/cmdline.c
@@ -39,9 +39,6 @@ int cmdline_find_option_bool(const char *cmdline, const char *option)
if (!cmdline)
return -1; /* No command line */
- if (!strlen(cmdline))
- return 0;
-
/*
* This 'pos' check ensures we do not overrun
* a non-NULL-terminated 'cmdline'
next prev parent reply other threads:[~2016-02-03 11:36 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 22:52 [PATCH 0/5] x86: early command-line parsing fixes / tests (v2) Dave Hansen
2015-12-22 22:52 ` [PATCH 1/5] x86: fix early command-line parsing when matching at end Dave Hansen
2016-01-05 18:35 ` Borislav Petkov
2016-01-05 18:51 ` Dave Hansen
2016-01-06 17:10 ` Borislav Petkov
2016-01-06 17:57 ` Dave Hansen
2016-01-06 18:14 ` Borislav Petkov
2016-02-03 11:34 ` [tip:x86/boot] x86/boot: Fix " tip-bot for Dave Hansen
2015-12-22 22:52 ` [PATCH 2/5] x86: fix early command-line parsing, when partial word match Dave Hansen
2016-02-03 11:35 ` [tip:x86/boot] x86/boot: Fix early command-line parsing when partial word matches tip-bot for Dave Hansen
2015-12-22 22:52 ` [PATCH 3/5] x86: simplify early command line parsing Dave Hansen
2016-01-06 17:10 ` Borislav Petkov
2016-01-06 17:35 ` Dave Hansen
2016-01-06 17:37 ` Dave Hansen
2016-01-06 17:48 ` Borislav Petkov
2016-02-03 11:35 ` tip-bot for Dave Hansen [this message]
2015-12-22 22:52 ` [PATCH 4/5] x86: pass in size to early cmdline parsing Dave Hansen
2016-02-03 11:36 ` [tip:x86/boot] x86/boot: Pass " tip-bot for Dave Hansen
2015-12-22 22:52 ` [PATCH 5/5] x86: test early command-line code Dave Hansen
2016-01-27 12:28 ` Borislav Petkov
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=tip-4de07ea481361b08fe13735004dafae862482d38@git.kernel.org \
--to=tipbot@zytor.com \
--cc=bp@alien8.de \
--cc=bp@suse.de \
--cc=brgerst@gmail.com \
--cc=dave.hansen@linux.intel.com \
--cc=dvlasenk@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.