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 <tix...@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@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
> 

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to