From 9aba4ee856cc0e3d60b2c1b4eb0224ac23042a0a Mon Sep 17 00:00:00 2001 From: Armin Luntzer <armin.luntzer@univie.ac.at> Date: Mon, 16 Jul 2018 14:26:26 +0200 Subject: [PATCH] SPARC bootmem: disable interrupts for alloc/free sections --- arch/sparc/kernel/bootmem.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/sparc/kernel/bootmem.c b/arch/sparc/kernel/bootmem.c index 58d289d..26241a7 100644 --- a/arch/sparc/kernel/bootmem.c +++ b/arch/sparc/kernel/bootmem.c @@ -28,6 +28,7 @@ #include <kernel/printk.h> #include <kernel/kernel.h> +#include <asm/irqflags.h> #include <chunk.h> @@ -101,7 +102,9 @@ void *bootmem_alloc(size_t size) if (!size) return NULL; + arch_local_irq_disable(); ptr = chunk_alloc(&phys_mem_pool, size); + arch_local_irq_enable(); if (!ptr) { pr_emerg("BOOTMEM: allocator out of memory\n"); @@ -120,7 +123,9 @@ void *bootmem_alloc(size_t size) void bootmem_free(void *ptr) { + arch_local_irq_disable(); chunk_free(&phys_mem_pool, ptr); + arch_local_irq_enable(); } -- GitLab