diff options
| author | Takashi Iwai <tiwai@suse.de> | 2012-10-25 15:20:36 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2012-10-25 15:20:36 -0400 |
| commit | c64064ce9376a404e0888ca4a2985c8a4c16cec3 (patch) | |
| tree | f34d3b84ca970fdb381dad9a195c1367ce5d10f4 /kernel/pid_namespace.c | |
| parent | 21b3de881b38a84002c07b1b4bfb91892644e83f (diff) | |
| parent | 456ba5a7802e58eccb5aa9751b3ab515ef99b9ca (diff) | |
Merge tag 'asoc-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.7
A couple of driver fixes, one that improves the interoperability of
WM8994 with controllers that are sensitive to extra BCLK cycles and some
build break fixes for ux500.
Diffstat (limited to 'kernel/pid_namespace.c')
| -rw-r--r-- | kernel/pid_namespace.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c index 478bad2745e3..eb00be205811 100644 --- a/kernel/pid_namespace.c +++ b/kernel/pid_namespace.c | |||
| @@ -133,19 +133,26 @@ struct pid_namespace *copy_pid_ns(unsigned long flags, struct pid_namespace *old | |||
| 133 | return create_pid_namespace(old_ns); | 133 | return create_pid_namespace(old_ns); |
| 134 | } | 134 | } |
| 135 | 135 | ||
| 136 | void free_pid_ns(struct kref *kref) | 136 | static void free_pid_ns(struct kref *kref) |
| 137 | { | 137 | { |
| 138 | struct pid_namespace *ns, *parent; | 138 | struct pid_namespace *ns; |
| 139 | 139 | ||
| 140 | ns = container_of(kref, struct pid_namespace, kref); | 140 | ns = container_of(kref, struct pid_namespace, kref); |
| 141 | |||
| 142 | parent = ns->parent; | ||
| 143 | destroy_pid_namespace(ns); | 141 | destroy_pid_namespace(ns); |
| 142 | } | ||
| 144 | 143 | ||
| 145 | if (parent != NULL) | 144 | void put_pid_ns(struct pid_namespace *ns) |
| 146 | put_pid_ns(parent); | 145 | { |
| 146 | struct pid_namespace *parent; | ||
| 147 | |||
| 148 | while (ns != &init_pid_ns) { | ||
| 149 | parent = ns->parent; | ||
| 150 | if (!kref_put(&ns->kref, free_pid_ns)) | ||
| 151 | break; | ||
| 152 | ns = parent; | ||
| 153 | } | ||
| 147 | } | 154 | } |
| 148 | EXPORT_SYMBOL_GPL(free_pid_ns); | 155 | EXPORT_SYMBOL_GPL(put_pid_ns); |
| 149 | 156 | ||
| 150 | void zap_pid_ns_processes(struct pid_namespace *pid_ns) | 157 | void zap_pid_ns_processes(struct pid_namespace *pid_ns) |
| 151 | { | 158 | { |
