On 2/21/22 00:42, Michal Hocko wrote: > On Fri 18-02-22 13:29:46, Mike Kravetz wrote: > [...] >> @@ -4161,7 +4162,7 @@ static int __init hugepages_setup(char *s) >> } >> if (tmp >= nr_online_nodes) >> goto invalid; >> - node = tmp; >> + node = array_index_nospec(tmp, nr_online_nodes); >> p += count + 1; >> /* Parse hugepages */ >> if (sscanf(p, "%lu%n", &tmp, &count) != 1) >> @@ -6889,9 +6890,9 @@ static int __init cmdline_parse_hugetlb_cma(char *p) >> break; >> >> if (s[count] == ':') { >> - nid = tmp; >> - if (nid < 0 || nid >= MAX_NUMNODES) >> + if (tmp >= MAX_NUMNODES) >> break; >> + nid = array_index_nospec(tmp, MAX_NUMNODES); >> >> s += count + 1; >> tmp = memparse(s, &s); > > This is an early boot code, how is this supposed to be used as a side > channel? I do not have an evil hacker mind, but I can not think of a way this one time use of a user specified index could be an issue. It does add noise to the BUILD REGRESSION emails sent to Andrew. -- Mike Kravetz