On Thu, Jun 12, 2014 at 1:42 PM, Andy Zhou <[email protected]> wrote: > In queue_userspace_packet(), the ovs_nla_put_flow return value is > not checked. This is fine as long as key_attr_size() returns the > correct value. In case it does not, the current code may corrupt buffer > memory. Add a run time assertion catch this case to avoid silent > failure. > > Reported-by: Ben Pfaff <[email protected]> > Signed-off-by: Andy Zhou <[email protected]>
Looks good. Acked-by: Pravin B Shelar <[email protected]> > --- > datapath/datapath.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/datapath/datapath.c b/datapath/datapath.c > index 1d2f414..a4d6473 100644 > --- a/datapath/datapath.c > +++ b/datapath/datapath.c > @@ -487,7 +487,8 @@ static int queue_userspace_packet(struct datapath *dp, > struct sk_buff *skb, > upcall->dp_ifindex = dp_ifindex; > > nla = nla_nest_start(user_skb, OVS_PACKET_ATTR_KEY); > - ovs_nla_put_flow(upcall_info->key, upcall_info->key, user_skb); > + err = ovs_nla_put_flow(upcall_info->key, upcall_info->key, user_skb); > + BUG_ON(err); > nla_nest_end(user_skb, nla); > > if (upcall_info->userdata) > -- > 1.9.1 > > _______________________________________________ > dev mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
