Re: [PATCH v2] hugetlb: clean up potential spectre issue warnings

From: Mike Kravetz
Date: Mon Feb 21 2022 - 15:24:56 EST


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