Pārlūkot izejas kodu

openvswitch: Use nla_memcpy() to memcpy() data from attributes

Less error prone as it takes into account the length of both the
destination buffer and the source attribute and documents when
data is copied from an attribute.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Thomas Graf 12 gadi atpakaļ
vecāks
revīzija
32686a9d29
2 mainītis faili ar 2 papildinājumiem un 2 dzēšanām
  1. 1 1
      net/openvswitch/datapath.c
  2. 1 1
      net/openvswitch/flow.c

+ 1 - 1
net/openvswitch/datapath.c

@@ -672,7 +672,7 @@ static int ovs_packet_cmd_execute(struct sk_buff *skb, struct genl_info *info)
 		goto err;
 		goto err;
 	skb_reserve(packet, NET_IP_ALIGN);
 	skb_reserve(packet, NET_IP_ALIGN);
 
 
-	memcpy(__skb_put(packet, len), nla_data(a[OVS_PACKET_ATTR_PACKET]), len);
+	nla_memcpy(__skb_put(packet, len), a[OVS_PACKET_ATTR_PACKET], len);
 
 
 	skb_reset_mac_header(packet);
 	skb_reset_mac_header(packet);
 	eth = eth_hdr(packet);
 	eth = eth_hdr(packet);

+ 1 - 1
net/openvswitch/flow.c

@@ -211,7 +211,7 @@ struct sw_flow_actions *ovs_flow_actions_alloc(const struct nlattr *actions)
 		return ERR_PTR(-ENOMEM);
 		return ERR_PTR(-ENOMEM);
 
 
 	sfa->actions_len = actions_len;
 	sfa->actions_len = actions_len;
-	memcpy(sfa->actions, nla_data(actions), actions_len);
+	nla_memcpy(sfa->actions, actions, actions_len);
 	return sfa;
 	return sfa;
 }
 }