I think the cause here is staring us in the face; we have a do { ... }
while(1) loop wrapping this code. The only escape are the 2 return
statements. If neither trigger it'll spin, which is what the symptoms
seem to indicate.

1) "-- " as a parameter
2) !len (in other words, len==0)

In the first call to __parse_cmdline() bool parse_aliases == true so the
re-entrant call into itself with parse_aliases == false should be done
if the memcmp() finds any of the alises[i].alias in the current option.

Now, in the example command lines I've seen, none of the aliases is
present.

It surely cannot be coincidence though that we have:

#define FTR_ALIAS_NAME_LEN  30
#define FTR_ALIAS_OPTION_LEN  116
...
static const struct {
char  alias[FTR_ALIAS_NAME_LEN];
char  feature[FTR_ALIAS_OPTION_LEN];
} aliases[]

that means each element is 146 characters long - the length at which I
can trigger the bug.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2069534

Title:
  linux 6.8 fails to boot on arm64 if any param is more than 140 chars

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2069534/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to