diff mbox series

[RFC,10/11] mm/mempolicy: mpol_parse_str should ignore trailing characters in nodelist

Message ID 20231122211200.31620-11-gregory.price@memverge.com (mailing list archive)
State New
Headers show
Series mm/mempolicy: Make task->mempolicy externally modifiable via syscall and procfs | expand

Commit Message

Gregory Price Nov. 22, 2023, 9:11 p.m. UTC
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@memverge.com>
---
 mm/mempolicy.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
diff mbox series

Patch

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;