Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following patchset container Netfilter/IPVS update for net-next: 1) Add UDP tunnel support for ICMP errors in IPVS. Julian Anastasov says: This patchset is a followup to the commit that adds UDP/GUE tunnel: "ipvs: allow tunneling with gue encapsulation". What we do is to put tunnel real servers in hash table (patch 1), add function to lookup tunnels (patch 2) and use it to strip the embedded tunnel headers from ICMP errors (patch 3). 2) Extend xt_owner to match for supplementary groups, from Lukasz Pawelczyk. 3) Remove unused oif field in flow_offload_tuple object, from Taehee Yoo. 4) Release basechain counters from workqueue to skip synchronize_rcu() call. From Florian Westphal. 5) Replace skb_make_writable() by skb_ensure_writable(). Patchset from Florian Westphal. 6) Checksum support for gue encapsulation in IPVS, from Jacky Hu. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -17,7 +17,7 @@ target(struct sk_buff *skb, const struct xt_action_param *par)
|
||||
unsigned char *arpptr;
|
||||
int pln, hln;
|
||||
|
||||
if (!skb_make_writable(skb, skb->len))
|
||||
if (skb_ensure_writable(skb, skb->len))
|
||||
return NF_DROP;
|
||||
|
||||
arp = arp_hdr(skb);
|
||||
|
@@ -32,7 +32,7 @@ set_ect_ip(struct sk_buff *skb, const struct ipt_ECN_info *einfo)
|
||||
|
||||
if ((iph->tos & IPT_ECN_IP_MASK) != (einfo->ip_ect & IPT_ECN_IP_MASK)) {
|
||||
__u8 oldtos;
|
||||
if (!skb_make_writable(skb, sizeof(struct iphdr)))
|
||||
if (skb_ensure_writable(skb, sizeof(struct iphdr)))
|
||||
return false;
|
||||
iph = ip_hdr(skb);
|
||||
oldtos = iph->tos;
|
||||
@@ -61,7 +61,7 @@ set_ect_tcp(struct sk_buff *skb, const struct ipt_ECN_info *einfo)
|
||||
tcph->cwr == einfo->proto.tcp.cwr))
|
||||
return true;
|
||||
|
||||
if (!skb_make_writable(skb, ip_hdrlen(skb) + sizeof(*tcph)))
|
||||
if (skb_ensure_writable(skb, ip_hdrlen(skb) + sizeof(*tcph)))
|
||||
return false;
|
||||
tcph = (void *)ip_hdr(skb) + ip_hdrlen(skb);
|
||||
|
||||
|
@@ -59,7 +59,7 @@ static int set_addr(struct sk_buff *skb, unsigned int protoff,
|
||||
net_notice_ratelimited("nf_nat_h323: nf_nat_mangle_udp_packet error\n");
|
||||
return -1;
|
||||
}
|
||||
/* nf_nat_mangle_udp_packet uses skb_make_writable() to copy
|
||||
/* nf_nat_mangle_udp_packet uses skb_ensure_writable() to copy
|
||||
* or pull everything in a linear buffer, so we can safely
|
||||
* use the skb pointers now */
|
||||
*data = skb->data + ip_hdrlen(skb) + sizeof(struct udphdr);
|
||||
|
@@ -186,7 +186,7 @@ static int help(struct sk_buff *skb, unsigned int protoff,
|
||||
return NF_DROP;
|
||||
}
|
||||
|
||||
if (!skb_make_writable(skb, skb->len)) {
|
||||
if (skb_ensure_writable(skb, skb->len)) {
|
||||
nf_ct_helper_log(skb, ct, "cannot mangle packet");
|
||||
return NF_DROP;
|
||||
}
|
||||
|
Reference in New Issue
Block a user