mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-24 06:24:27 +00:00
driver core: numa: fix BUILD_BUG_ON for node_read_distance
node_read_distance() has a BUILD_BUG_ON() to prevent buffer overruns when the number of nodes printed will exceed the buffer length. Each node only needs four chars: three for distance (maximum distance is 255) and one for a seperating space or a trailing newline. Signed-off-by: David Rientjes <rientjes@google.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
f0eae0ed3b
commit
12ee3c0a0a
@ -165,8 +165,11 @@ static ssize_t node_read_distance(struct sys_device * dev,
|
|||||||
int len = 0;
|
int len = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* buf currently PAGE_SIZE, need ~4 chars per node */
|
/*
|
||||||
BUILD_BUG_ON(MAX_NUMNODES*4 > PAGE_SIZE/2);
|
* buf is currently PAGE_SIZE in length and each node needs 4 chars
|
||||||
|
* at the most (distance + space or newline).
|
||||||
|
*/
|
||||||
|
BUILD_BUG_ON(MAX_NUMNODES * 4 > PAGE_SIZE);
|
||||||
|
|
||||||
for_each_online_node(i)
|
for_each_online_node(i)
|
||||||
len += sprintf(buf + len, "%s%d", i ? " " : "", node_distance(nid, i));
|
len += sprintf(buf + len, "%s%d", i ? " " : "", node_distance(nid, i));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user