diff options
author | mochel@digitalimplant.org <mochel@digitalimplant.org> | 2005-03-24 18:59:59 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-06-20 15:15:19 -0700 |
commit | 0293a509405dccecc30783a5d729d615b68d6a77 (patch) | |
tree | 69856eefdaba010e35dd7fbe2e5bb152a110d186 /lib/klist.c | |
parent | 0956af53afea290c5676c75249fc2c180d831375 (diff) | |
download | lwn-0293a509405dccecc30783a5d729d615b68d6a77.tar.gz lwn-0293a509405dccecc30783a5d729d615b68d6a77.zip |
[PATCH] Don't reference NULL klist pointer in klist_remove().
Signed-off-by: Patrick Mochel <mochel@digitalimplant.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff -Nru a/lib/klist.c b/lib/klist.c
Diffstat (limited to 'lib/klist.c')
-rw-r--r-- | lib/klist.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/klist.c b/lib/klist.c index 02177d72dc89..738ab810160a 100644 --- a/lib/klist.c +++ b/lib/klist.c @@ -145,9 +145,10 @@ EXPORT_SYMBOL_GPL(klist_del); void klist_remove(struct klist_node * n) { - spin_lock(&n->n_klist->k_lock); + struct klist * k = n->n_klist; + spin_lock(&k->k_lock); klist_dec_and_del(n); - spin_unlock(&n->n_klist->k_lock); + spin_unlock(&k->k_lock); wait_for_completion(&n->n_removed); } |