Re: [PATCH v1][cover-letter] mm/mempolicy.c: Fix get_nodes() off-by-one error.

From: Andi Kleen
Date: Fri Oct 06 2017 - 18:12:45 EST


Luis Felipe Sandoval Castro <luis.felipe.sandoval.castro@xxxxxxxxx>
writes:

> According to mbind() and set_mempolicy()'s man pages the argument "maxnode"
> specifies the max number of bits in the "nodemask" (which is also to be passed
> to these functions) that should be considered for the memory policy. If maxnode
> = 2, only two bits are to be considered thus valid node masks are: 0b00, 0b01,
> 0b10 and 0b11.

We can't change this unfortunately, it would break old binaries (like
libnuma) which assume the old interface.

The only way to fix it would be to add a new system call and keep
the old one for compatibility, but that would seem like overkill just
for this.

You always have to add +1, sorry.

Perhaps it could be better documented.

-Andi