From 6941bc7c8e6562f18346ceb5065b55222d1b861f Mon Sep 17 00:00:00 2001 From: Alan Stern Date: Sun, 25 Jun 2006 05:47:15 -0700 Subject: [PATCH] --- yaml --- r: 29665 b: refs/heads/master c: bbb1747d4e44ce49acc73daa8d66e5f6bd546f1b h: refs/heads/master i: 29663: 7f4d897d096fd04ccdfc4a6761e3643cf1a4b106 v: v3 --- [refs] | 2 +- trunk/kernel/sys.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index ca10e2489f67..5c0cf1af5e25 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bfe5d834195b3089b8846577311340376cc0f450 +refs/heads/master: bbb1747d4e44ce49acc73daa8d66e5f6bd546f1b diff --git a/trunk/kernel/sys.c b/trunk/kernel/sys.c index 90930b28d2ca..7e0927bad713 100644 --- a/trunk/kernel/sys.c +++ b/trunk/kernel/sys.c @@ -137,14 +137,15 @@ static int __kprobes notifier_call_chain(struct notifier_block **nl, unsigned long val, void *v) { int ret = NOTIFY_DONE; - struct notifier_block *nb; + struct notifier_block *nb, *next_nb; nb = rcu_dereference(*nl); while (nb) { + next_nb = rcu_dereference(nb->next); ret = nb->notifier_call(nb, val, v); if ((ret & NOTIFY_STOP_MASK) == NOTIFY_STOP_MASK) break; - nb = rcu_dereference(nb->next); + nb = next_nb; } return ret; }