When validating MPOL_PREFERRED, the nodelist has already been parsed and error checked by nodelist_parse. So rather than looping through the string again, we should just check that the weight of the nodemask is 1, which is the actual condition we care to check. This also handles the case where newline characters are present. Signed-off-by: Gregory Price <gregory.price@xxxxxxxxxxxx> --- mm/mempolicy.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index a418af0a1359..eac71f2adfdc 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -3159,12 +3159,7 @@ int mpol_parse_str(char *str, struct mempolicy **mpol) * nodelist (or nodes) cannot be empty. */ if (nodelist) { - char *rest = nodelist; - while (isdigit(*rest)) - rest++; - if (*rest) - goto out; - if (nodes_empty(nodes)) + if (nodes_weight(nodes) != 1) goto out; } break; -- 2.39.1