git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
pid: tighten pidmap spinlock critical section by removing kfree()
[safe/jmp/linux-2.6]
/
kernel
/
pid.c
diff --git
a/kernel/pid.c
b/kernel/pid.c
index
d3f722d
..
55fd590
100644
(file)
--- a/
kernel/pid.c
+++ b/
kernel/pid.c
@@
-141,11
+141,12
@@
static int alloc_pidmap(struct pid_namespace *pid_ns)
* installing it:
*/
spin_lock_irq(&pidmap_lock);
- if (map->page)
- kfree(page);
- else
+ if (!map->page) {
map->page = page;
+ page = NULL;
+ }
spin_unlock_irq(&pidmap_lock);
+ kfree(page);
if (unlikely(!map->page))
break;
}