diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c index 794a96f6b8d9668bd53025f637f3a0fc2f03a1a8..fe5cda0deb395db1d6a619e2145c22945ea05d74 100644 --- a/net/openvswitch/actions.c +++ b/net/openvswitch/actions.c @@ -477,6 +477,8 @@ static int sample(struct datapath *dp, struct sk_buff *skb, skb_get(skb); } else { sample_skb = skb_clone(skb, GFP_ATOMIC); + if (!sample_skb) /* Skip sample action when out of memory. */ + return 0; } /* Note that do_execute_actions() never consumes skb.