[source] ipq806x: fix boot hang if cmdline contains words with r in the middle

LEDE Commits lede-commits at lists.infradead.org
Sun Jul 31 15:13:58 PDT 2016


jogo pushed a commit to source.git, branch master:
https://git.lede-project.org/?p=source.git;a=commitdiff;h=532eb5f58109f310d6705d142422d8b2820bf654

commit 532eb5f58109f310d6705d142422d8b2820bf654
Author: Jonas Gorski <jonas.gorski at gmail.com>
AuthorDate: Thu Jul 28 18:08:35 2016 +0200

    ipq806x: fix boot hang if cmdline contains words with r in the middle
    
    The ATB DTB mangle code will enter an infinite loop if it encounters a
    word in the command line that contains an r in the middle of the word.
    
    Fix this by increasing ptr everytime before invoking strchr, ot avoid
    finding the same r again.
    
    This fixes booting at least on Netgear R7500v1, which contains
    "ubi.mtd=rootfs" in its commandline, triggering the misbehaviour.
    
    Fixes: 0ddcbee26151 ("ipq806x: activate ATAG DTB mangle and EA8500 rootblock in dts")
    Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
---
 .../linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch b/target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch
index 8d5cbf9..be15ec4 100644
--- a/target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch
+++ b/target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch
@@ -64,9 +64,9 @@ Signed-off-by: Adrian Panella <ianchi74 at outlook.com>
 +	ptr = str - 1;
 +
 +	do {
-+		ptr++;
 +		//first find an 'r' at the begining or after a space
 +		do {
++			ptr++;
 +			ptr = strchr(ptr, 'r');
 +			if(!ptr) return dest;
 +



More information about the lede-commits mailing list