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