Skip to contentSkip to conversation

- linux/arch/ia64/kernel/acpi.c

PATCH In review Jack Steiner 2 participants 2 messages Dec 18, 2003 – Dec 19, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 - linux/arch/ia64/kernel/acpi.c

The code in acpi_numa_memory_affinity_init that sorts the node_memblk can overrun the array & clobber the memory that follows the end of the array. The error will be seen only on systems that fill the node_memblk array and only if SAL doesnt sort the entries in the SRAT.

arch/ia64/kernel/acpi.c +1 -1
@@ -413,7 +413,7 @@
 			break;
 	}
 	if (p < pend) {
-		for (q = pend; q >= p; q--)
+		for (q = pend-1; q >= p; q--)
 			*(q + 1) = *q;
 	}
 	p->start_paddr = paddr;
Signature · 4 lines
Thanks

Jack Steiner ([email protected])          651-683-5302
Principal Engineer                      SGI - Silicon Graphics, Inc.
#1 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Jack Steiner

Jack> The code in acpi_numa_memory_affinity_init that sorts the Jack> node_memblk can overrun the array & clobber the memory that Jack> follows the end of the array. The error will be seen only on Jack> systems that fill the node_memblk array and only if SAL doesnt Jack> sort the entries in the SRAT.

arch/ia64/kernel/acpi.c line 419

Quoted 11 lines
arch/ia64/kernel/acpi.c +1 -1
@@ -413,7 +413,7 @@
 			break;
 	}
 	if (p < pend) {
-		for (q = pend; q >= p; q--)
+		for (q = pend - 1; q >= p; q--)
 			*(q + 1) = *q;
 	}
 	p->start_paddr = paddr;

Looks correct to me. Applied.

	--david