summaryrefslogtreecommitdiff
path: root/policy.c
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2013-04-02 20:35:27 +0200
committerDaniel Mack <zonque@gmail.com>2013-04-02 20:35:27 +0200
commitb0630abe69d52f63c5f7960bea6525081dbc3759 (patch)
tree5171d87688752313a2c011dab847b91209592329 /policy.c
parentc44afec9b6ff9dbb2d26d585772558c55bc5af7e (diff)
downloadkdbus-bus-b0630abe69d52f63c5f7960bea6525081dbc3759.tar.gz
kdbus-bus-b0630abe69d52f63c5f7960bea6525081dbc3759.tar.bz2
kdbus-bus-b0630abe69d52f63c5f7960bea6525081dbc3759.zip
policy: hold lock on hash operations
Diffstat (limited to 'policy.c')
-rw-r--r--policy.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/policy.c b/policy.c
index de6c914e98d..dc0ce17a8b9 100644
--- a/policy.c
+++ b/policy.c
@@ -46,10 +46,12 @@ static void __kdbus_policy_db_free(struct kref *kref)
container_of(kref, struct kdbus_policy_db, kref);
int i;
+ mutex_lock(&db->entries_lock);
hash_for_each_safe(db->entries_hash, i, tmp, e, hentry) {
hash_del(&e->hentry);
kfree(e);
}
+ mutex_unlock(&db->entries_lock);
kfree(db);
}