diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c index 4aade471afc4..12e339cbf791 100644 --- a/net/openvswitch/actions.c +++ b/net/openvswitch/actions.c @@ -674,6 +674,9 @@ static int set_sctp(struct sk_buff *skb, struct sw_flow_key *flow_key, __le32 old_correct_csum, new_csum, old_csum; int err; + if (flow_key->ip.frag != OVS_FRAG_TYPE_NONE) + return -EINVAL; + err = skb_ensure_writable(skb, sctphoff + sizeof(struct sctphdr)); if (unlikely(err)) return err;