1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include <linux/module.h> #include <linux/preempt.h> #include <asm/msr.h> struct msr *msrs_alloc(void) { struct msr *msrs = NULL; msrs = alloc_percpu(struct msr); if (!msrs) { pr_warning("%s: error allocating msrs\n", __func__); return NULL; } return msrs; } EXPORT_SYMBOL(msrs_alloc); void msrs_free(struct msr *msrs) { free_percpu(msrs); } EXPORT_SYMBOL(msrs_free);