s390/numa: allocate memory with correct alignment
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 15 Jan 2016 13:50:25 +0000 (14:50 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 19 Jan 2016 11:14:01 +0000 (12:14 +0100)
Allocating memory with a requested minimum alignment of 1 is wrong
since pg_data_t contains a spinlock which requires an alignment of 4
bytes.

Therefore fix this and ask for an alignment of 8 bytes like it is
guarenteed for all kmalloc requests.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/numa/numa.c

index 43f32ce..b75ac43 100644 (file)
@@ -57,7 +57,7 @@ static __init pg_data_t *alloc_node_data(void)
 {
        pg_data_t *res;
 
-       res = (pg_data_t *) memblock_alloc(sizeof(pg_data_t), 1);
+       res = (pg_data_t *) memblock_alloc(sizeof(pg_data_t), 8);
        if (!res)
                panic("Could not allocate memory for node data!\n");
        memset(res, 0, sizeof(pg_data_t));