|
@@ -289,12 +289,22 @@ int __cmdline_find_option(u32 cmdline_ptr, const char *option, char *buffer, int
|
|
|
int __cmdline_find_option_bool(u32 cmdline_ptr, const char *option);
|
|
|
static inline int cmdline_find_option(const char *option, char *buffer, int bufsize)
|
|
|
{
|
|
|
- return __cmdline_find_option(boot_params.hdr.cmd_line_ptr, option, buffer, bufsize);
|
|
|
+ u32 cmd_line_ptr = boot_params.hdr.cmd_line_ptr;
|
|
|
+
|
|
|
+ if (cmd_line_ptr >= 0x100000)
|
|
|
+ return -1; /* inaccessible */
|
|
|
+
|
|
|
+ return __cmdline_find_option(cmd_line_ptr, option, buffer, bufsize);
|
|
|
}
|
|
|
|
|
|
static inline int cmdline_find_option_bool(const char *option)
|
|
|
{
|
|
|
- return __cmdline_find_option_bool(boot_params.hdr.cmd_line_ptr, option);
|
|
|
+ u32 cmd_line_ptr = boot_params.hdr.cmd_line_ptr;
|
|
|
+
|
|
|
+ if (cmd_line_ptr >= 0x100000)
|
|
|
+ return -1; /* inaccessible */
|
|
|
+
|
|
|
+ return __cmdline_find_option_bool(cmd_line_ptr, option);
|
|
|
}
|
|
|
|
|
|
|