X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=kernel%2Fpid.c;h=686255e2c39e4874a13d78051afc8f54c7d4ae63;hb=0bb80f240520c4148b623161e7856858c021696d;hp=de9af600006f8cd73020b7d25b3dc4fc28be5eab;hpb=c157750a901d767ecb95f1dbabd0972dee396b1e;p=profile%2Fivi%2Fkernel-x86-ivi.git diff --git a/kernel/pid.c b/kernel/pid.c index de9af60..686255e 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #define pid_hashfn(nr, ns) \ @@ -331,7 +332,7 @@ out: return pid; out_unlock: - spin_unlock(&pidmap_lock); + spin_unlock_irq(&pidmap_lock); out_free: while (++i <= ns->level) free_pidmap(pid->numbers + i); @@ -350,10 +351,9 @@ void disable_pid_allocation(struct pid_namespace *ns) struct pid *find_pid_ns(int nr, struct pid_namespace *ns) { - struct hlist_node *elem; struct upid *pnr; - hlist_for_each_entry_rcu(pnr, elem, + hlist_for_each_entry_rcu(pnr, &pid_hash[pid_hashfn(nr, ns)], pid_chain) if (pnr->nr == nr && pnr->ns == ns) return container_of(pnr, struct pid,