kernel: disable pre-emption when accessing per-cpu variables

This commit is contained in:
2023-03-28 21:41:07 +01:00
parent 7d003da960
commit 13c06a827e

View File

@@ -3,6 +3,7 @@
#include <socks/status.h>
#include <socks/compiler.h>
#include <socks/sched.h>
#ifdef __cplusplus
extern "C" {
@@ -11,9 +12,13 @@ extern "C" {
#define DEFINE_PERCPU_VAR(type, name) \
__section(".data.percpu") type name
#define percpu_get(var) __percpu_get(var)
#define percpu_get(var) \
__extension__({ \
preempt_disable(); \
__percpu_get(var); \
})
#define percpu_put(var)
#define percpu_put(var) preempt_enable();
extern kern_status_t init_per_cpu_areas(void);
extern void *__percpu_get(void *var);