Merge patch series "Fix RISC-V toolchain extension support detection"
[platform/kernel/linux-starfive.git] / drivers / of / fdt.c
index 1c573e7..7b571a6 100644 (file)
@@ -828,15 +828,6 @@ uint32_t __init of_get_flat_dt_phandle(unsigned long node)
        return fdt_get_phandle(initial_boot_params, node);
 }
 
-struct fdt_scan_status {
-       const char *name;
-       int namelen;
-       int depth;
-       int found;
-       int (*iterator)(unsigned long node, const char *uname, int depth, void *data);
-       void *data;
-};
-
 const char * __init of_flat_dt_get_machine_name(void)
 {
        const char *name;
@@ -936,6 +927,8 @@ static void __init early_init_dt_check_for_initrd(unsigned long node)
        if (!prop)
                return;
        end = of_read_number(prop, len/4);
+       if (start > end)
+               return;
 
        __early_init_dt_declare_initrd(start, end);
        phys_initrd_start = start;
@@ -1178,7 +1171,7 @@ int __init early_init_dt_scan_chosen(char *cmdline)
        /* Retrieve command line */
        p = of_get_flat_dt_prop(node, "bootargs", &l);
        if (p != NULL && l > 0)
-               strlcpy(cmdline, p, min(l, COMMAND_LINE_SIZE));
+               strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE));
 
        /*
         * CONFIG_CMDLINE is meant to be a default in case nothing else
@@ -1190,11 +1183,11 @@ int __init early_init_dt_scan_chosen(char *cmdline)
        strlcat(cmdline, " ", COMMAND_LINE_SIZE);
        strlcat(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
 #elif defined(CONFIG_CMDLINE_FORCE)
-       strlcpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+       strscpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
 #else
        /* No arguments from boot loader, use kernel's  cmdl*/
        if (!((char *)cmdline)[0])
-               strlcpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+               strscpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
 #endif
 #endif /* CONFIG_CMDLINE */