[PATCH 4/5] x86: pass in size to early cmdline parsing

From: Dave Hansen
Date: Tue Dec 22 2015 - 17:52:48 EST



From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>

We will use this in a few patches to implement tests for early
parsing.

Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: fenghua.yu@xxxxxxxxx
Cc: yu-cheng.yu@xxxxxxxxx
---

b/arch/x86/lib/cmdline.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff -puN arch/x86/lib/cmdline.c~pass-in-cmdline-size arch/x86/lib/cmdline.c
--- a/arch/x86/lib/cmdline.c~pass-in-cmdline-size 2015-12-22 11:56:59.859204417 -0800
+++ b/arch/x86/lib/cmdline.c 2015-12-22 11:56:59.862204552 -0800
@@ -25,7 +25,8 @@ static inline int myisspace(u8 c)
* as an entire word in @cmdline. For instance, if @option="car"
* then a cmdline which contains "cart" will not match.
*/
-int cmdline_find_option_bool(const char *cmdline, const char *option)
+static int __cmdline_find_option_bool(const char *cmdline,
+ int max_cmdline_size, const char *option)
{
char c;
int pos = 0, wstart = 0;
@@ -43,7 +44,7 @@ int cmdline_find_option_bool(const char
* This 'pos' check ensures we do not overrun
* a non-NULL-terminated 'cmdline'
*/
- while (pos < COMMAND_LINE_SIZE) {
+ while (pos < max_cmdline_size) {
c = *(char *)cmdline++;
pos++;

@@ -101,3 +102,9 @@ int cmdline_find_option_bool(const char

return 0; /* Buffer overrun */
}
+
+int cmdline_find_option_bool(const char *cmdline, const char *option)
+{
+ return __cmdline_find_option_bool(cmdline, COMMAND_LINE_SIZE,
+ option);
+}
_
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/