summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2014-10-09 20:29:23 +0200
committerRichard Braun <rbraun@sceen.net>2014-10-09 20:29:23 +0200
commit1839368a4f2bdfb0e1cd784f22bf0a70d868ff13 (patch)
treeae8f6e2b5f68f077d7b3e94df55b2448d373d70c
parentda897d10183c04de2a7acbf14bcd516934eab4b2 (diff)
kern/percpu: make percpu_area check its return value
-rw-r--r--kern/percpu.c2
-rw-r--r--kern/percpu.h5
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;
}
/*