diff options
author | Richard Braun <rbraun@sceen.net> | 2014-10-09 20:29:23 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2014-10-09 20:29:23 +0200 |
commit | 1839368a4f2bdfb0e1cd784f22bf0a70d868ff13 (patch) | |
tree | ae8f6e2b5f68f077d7b3e94df55b2448d373d70c | |
parent | da897d10183c04de2a7acbf14bcd516934eab4b2 (diff) |
kern/percpu: make percpu_area check its return value
-rw-r--r-- | kern/percpu.c | 2 | ||||
-rw-r--r-- | kern/percpu.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/kern/percpu.c b/kern/percpu.c index 3696842b..a7dd73ef 100644 --- a/kern/percpu.c +++ b/kern/percpu.c @@ -78,7 +78,7 @@ percpu_add(unsigned int cpu) return ERROR_INVAL; } - if (percpu_area(cpu) != NULL) { + if (percpu_areas[cpu] != NULL) { printk("percpu: error: id %u ignored, already registered\n", cpu); return ERROR_INVAL; } diff --git a/kern/percpu.h b/kern/percpu.h index 46d33ed7..820fed63 100644 --- a/kern/percpu.h +++ b/kern/percpu.h @@ -83,9 +83,12 @@ static inline void * percpu_area(unsigned int cpu) { extern void *percpu_areas[MAX_CPUS]; + void *area; assert(cpu < MAX_CPUS); - return percpu_areas[cpu]; + area = percpu_areas[cpu]; + assert(area != NULL); + return area; } /* |