[systemd-devel] [PATCH 07/12] policy: use the db->entries_hash to access the policy db entries
Daniel Mack
daniel at zonque.org
Fri Jun 20 11:01:04 PDT 2014
On 06/20/2014 07:28 PM, Daniel Mack wrote:
> On 06/20/2014 06:50 PM, Djalal Harouni wrote:
>> Use the db->entries_hash to access the policy db entries instead of the
>> db->send_access_hash which is just a cache for send entries.
Ah, you're purging the other entries in patch #12. Alright then, now it
makes sense.
Applied both #7 and #9 now.
Thanks,
Daniel
>>
>> Signed-off-by: Djalal Harouni <tixxdz at opendz.org>
>> ---
>> policy.c | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/policy.c b/policy.c
>> index bf49f68..79d6fa4 100644
>> --- a/policy.c
>> +++ b/policy.c
>> @@ -373,7 +373,7 @@ static void __kdbus_policy_remove_owner(struct kdbus_policy_db *db,
>> struct hlist_node *tmp;
>> int i;
>>
>> - hash_for_each_safe(db->send_access_hash, i, tmp, e, hentry)
>> + hash_for_each_safe(db->entries_hash, i, tmp, e, hentry)
>
> Hmm, we need to do both, right? If an owner goes away, we need to kill
> both the entries it created *and* the cached entries it is related to.
>
> Now that I look at the code, I see that we miss an owner assignment for
> the cache entries. I can fix that up later.
>
>> @@ -482,7 +483,7 @@ int kdbus_policy_set(struct kdbus_policy_db *db,
>> * At the same time, the lookup mechanism won't find any collisions
>> * when looking for already exising names.
>> */
>> - hash_for_each_safe(db->send_access_hash, i, tmp, e, hentry)
>> + hash_for_each_safe(db->entries_hash, i, tmp, e, hentry)
>> if (e->owner == owner) {
>> struct kdbus_policy_list_entry *l;
>
> This change looks right though.
>
>
>
> Daniel
>
>
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
>
More information about the systemd-devel
mailing list