[ovs-dev] [PATCH] ofproto: Fix potential leak during flow mods.
Jarno Rajahalme
jrajahalme at nicira.com
Wed Apr 30 22:26:32 UTC 2014
On Apr 30, 2014, at 3:07 PM, Ethan Jackson <ethan at nicira.com> wrote:
> I'm not sure of a good way to make them fit . . .
>
Oops, it was my email client with variable width font that created an “optical illusion of space”…
Jarno
> At any rate, I'm getting rid of the rule_from_cls_rule() function in a
> future patch so that will clean this up quite a bit.
>
> Ethan
>
> On Wed, Apr 30, 2014 at 3:02 PM, Jarno Rajahalme <jrajahalme at nicira.com> wrote:
>> Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>
>>
>> I would put the match and priority parameters on the same line, though.
>>
>> Jarno
>>
>> On Apr 30, 2014, at 2:53 PM, Ethan Jackson <ethan at nicira.com> wrote:
>>
>>> This code created a cls_rule without destroying it. Found by
>>> inspection.
>>>
>>> Signed-off-by: Ethan Jackson <ethan at nicira.com>
>>> ---
>>> ofproto/ofproto.c | 7 +++----
>>> 1 file changed, 3 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
>>> index 3d788a6..208efc1 100644
>>> --- a/ofproto/ofproto.c
>>> +++ b/ofproto/ofproto.c
>>> @@ -1975,14 +1975,13 @@ ofproto_flow_mod(struct ofproto *ofproto, struct ofputil_flow_mod *fm)
>>> if (fm->command == OFPFC_MODIFY_STRICT && fm->table_id != OFPTT_ALL
>>> && !(fm->flags & OFPUTIL_FF_RESET_COUNTS)) {
>>> struct oftable *table = &ofproto->tables[fm->table_id];
>>> - struct cls_rule match_rule;
>>> struct rule *rule;
>>> bool done = false;
>>>
>>> - cls_rule_init(&match_rule, &fm->match, fm->priority);
>>> fat_rwlock_rdlock(&table->cls.rwlock);
>>> - rule = rule_from_cls_rule(classifier_find_rule_exactly(&table->cls,
>>> - &match_rule));
>>> + rule = rule_from_cls_rule(classifier_find_match_exactly(&table->cls,
>>> + &fm->match,
>>> + fm->priority));
>>> if (rule) {
>>> /* Reading many of the rule fields and writing on 'modified'
>>> * requires the rule->mutex. Also, rule->actions may change
>>> --
>>> 1.8.1.2
>>>
>>> _______________________________________________
>>> dev mailing list
>>> dev at openvswitch.org
>>> http://openvswitch.org/mailman/listinfo/dev
>>
>>
More information about the dev
mailing list