Verify in execute_actions() that 'skb' is not shared.
authorBen Pfaff <blp@nicira.com>
Tue, 11 Nov 2008 23:40:48 +0000 (15:40 -0800)
committerBen Pfaff <blp@nicira.com>
Thu, 13 Nov 2008 20:44:04 +0000 (12:44 -0800)
datapath/dp_act.c

index 14eaac33a341674863329bc0c023c1af2f269e4b..c41a32993590e0fe991aae4b7aa210d43f6dd734 100644 (file)
@@ -460,6 +460,7 @@ void execute_actions(struct datapath *dp, struct sk_buff *skb,
                struct ofp_action_header *ah = (struct ofp_action_header *)p;
                size_t len = htons(ah->len);
 
+               WARN_ON_ONCE(skb_shared(skb));
                if (prev_port != -1) {
                        do_output(dp, skb_clone(skb, GFP_ATOMIC),
                                  max_len, prev_port, ignore_no_fwd);