Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=6ad... Commit: 6adfa2e69f30d1773035ce495b1a1e0aae618196 Parent: 02520053ae20cffc89cf6f221a9519797171ff59 Author: Jonathan Brassow jbrassow@redhat.com AuthorDate: Tue Dec 22 03:04:18 2009 -0600 Committer: Jonathan Brassow jbrassow@redhat.com CommitterDate: Tue Feb 9 11:06:22 2010 -0600
dm-log-clustered: Remove an entry from a list before freeing memory (bz544253)
Error handling logic failed to remove an item from a list before freeing it. Later, when the list is accessed, a panic occurs. --- cmirror-kernel/src/dm-clog.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/cmirror-kernel/src/dm-clog.c b/cmirror-kernel/src/dm-clog.c index 17e7486..de30d31 100644 --- a/cmirror-kernel/src/dm-clog.c +++ b/cmirror-kernel/src/dm-clog.c @@ -169,6 +169,9 @@ static int cluster_ctr(struct dm_dirty_log *log, struct dm_target *ti, DMERR(" Userspace cluster log server not found");
if (r) { + spin_lock(&log_list_lock); + list_del(&lc->list); + spin_unlock(&log_list_lock); kfree(lc); kfree(ctr_str); } else {
cluster-commits@lists.stg.fedorahosted.org