[PATCH v3,net-next 2/2] ip6_gre: fix error path when ip6erspan_rcv failed

2017-12-19 Thread Haishuang Yan
Same as ipv4 code, when ip6erspan_rcv call return PACKET_REJECT, we should call icmpv6_send to send icmp unreachable message in error path. Fixes: 5a963eb61b7c ("ip6_gre: Add ERSPAN native tunnel support") Acked-by: William Tu Cc: William Tu Signed-off-by: Haishuang Yan --- Chang

[PATCH v3,net-next 0/2] net: erspan: fix erspan_rcv/ip6erspan_rcv error path

2017-12-19 Thread Haishuang Yan
This patch series fix potential issue in error path. Haishuang Yan (2): ip_gre: fix error path when erspan_rcv failed ip6_gre: fix error path when ip6erspan_rcv failed net/ipv4/ip_gre.c | 2 ++ net/ipv6/ip6_gre.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) -- 1.8.3.1

[PATCH v3,net-next 1/2] ip_gre: fix error path when erspan_rcv failed

2017-12-19 Thread Haishuang Yan
When erspan_rcv call return PACKET_REJECT, we shoudn't call ipgre_rcv to process packets again, instead send icmp unreachable message in error path. Fixes: 84e54fe0a5ea ("gre: introduce native tunnel support for ERSPAN") Acked-by: William Tu Cc: William Tu Signed-off-by

[PATCH v3,net-next 0/2] net: erspan: fix potential memory leak

2017-12-19 Thread Haishuang Yan
This patch series fix potential memory leak issue. Haishuang Yan (2): ip_gre: fix potential memory leak in erspan_rcv ip6_gre: fix potential memory leak in ip6erspan_rcv net/ipv4/ip_gre.c | 4 +++- net/ipv6/ip6_gre.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) -- 1.8.3.1

[PATCH v3,net-next 2/2] ip6_gre: fix potential memory leak in ip6erspan_rcv

2017-12-19 Thread Haishuang Yan
If md is NULL, tun_dst must be freed, otherwise it will cause memory leak. Fixes: ef7baf5e083c ("ip6_gre: add ip6 erspan collect_md mode") Cc: William Tu Signed-off-by: Haishuang Yan --- Changes since v3: * Rebase on latest master branch. * Fix wrong commit information. ---

[PATCH v3,net-next 1/2] ip_gre: fix potential memory leak in erspan_rcv

2017-12-19 Thread Haishuang Yan
If md is NULL, tun_dst must be freed, otherwise it will cause memory leak. Fixes: 1a66a836da6 ("gre: add collect_md mode to ERSPAN tunnel") Cc: William Tu Signed-off-by: Haishuang Yan --- Changes since v3: * Rebase on latest master branch. * Fix wrong commit information. ---

[PATCH v3,net-next] ip6_gre: fix a pontential issue in ip6erspan_rcv

2017-12-19 Thread Haishuang Yan
pskb_may_pull() can change skb->data, so we need to load ipv6h/ershdr at the right place. Fixes: 5a963eb61b7c ("ip6_gre: Add ERSPAN native tunnel support") Cc: William Tu Acked-by: William Tu Signed-off-by: Haishuang Yan --- Change since v3: * Rebase on latest master branch.

Re: [PATCH v2,net-next 1/2] ip_gre: fix potential memory leak in erspan_rcv

2017-12-19 Thread Haishuang Yan
> On 2017年12月19日, at 下午11:36, David Miller wrote: > > From: Haishuang Yan > Date: Sat, 16 Dec 2017 10:48:38 +0800 > >> If md is NULL, tun_dst must be freed, otherwise it will cause memory >> leak. >> >> Fixes: 1a66a836da6 ("gre: add collect_

Re: [PATCH v2,net-next] ip6_gre: fix a pontential issue in ip6erspan_rcv

2017-12-19 Thread Haishuang Yan
> On 2017年12月19日, at 下午11:34, David Miller wrote: > > From: Haishuang Yan > Date: Sat, 16 Dec 2017 10:25:25 +0800 > >> pskb_may_pull() can change skb->data, so we need to load ipv6h/ershdr at >> the right place. >> >> Fixes: 5a963eb61b7c (

[PATCH net-next 0/2] net: speedup geneve/vxlan tunnels dismantle

2017-12-16 Thread Haishuang Yan
This patch series add batching to vxlan/geneve tunnels so that netns dismantles are less costly. Haishuang Yan (2): vxlan: speedup vxlan tunnels dismantle geneve: speedup geneve tunnels dismantle drivers/net/geneve.c | 24 drivers/net/vxlan.c | 26

[PATCH net-next 2/2] geneve: speedup geneve tunnels dismantle

2017-12-16 Thread Haishuang Yan
Since we now hold RTNL lock in geneve_exit_net, it's better batch them to speedup geneve tunnel dismantle. Signed-off-by: Haishuang Yan --- drivers/net/geneve.c | 24 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/net/geneve.c b/driver

[PATCH net-next 1/2] vxlan: speedup vxlan tunnels dismantle

2017-12-16 Thread Haishuang Yan
Since we now hold RTNL lock in vxlan_exit_net, it's better to batch them to speedup vxlan tunnels dismantle. Signed-off-by: Haishuang Yan --- drivers/net/vxlan.c | 26 +- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/drivers/net/vxlan.c b/driver

[PATCH v2,net-next 2/2] ip6_gre: fix error path when ip6erspan_rcv failed

2017-12-15 Thread Haishuang Yan
Same as ipv4 code, when ip6erspan_rcv call return PACKET_REJECT, we should call icmpv6_send to send icmp unreachable message in error path. Fixes: 5a963eb61b7c ("ip6_gre: Add ERSPAN native tunnel support") Acked-by: William Tu Cc: William Tu Signed-off-by: Haishuang Yan Chang

[PATCH v2,net-next 1/2] ip_gre: fix error path when erspan_rcv failed

2017-12-15 Thread Haishuang Yan
When erspan_rcv call return PACKET_REJECT, we shoudn't call ipgre_rcv to process packets again, instead send icmp unreachable message in error path. Fixes: 84e54fe0a5ea ("gre: introduce native tunnel support for ERSPAN") Acked-by: William Tu Cc: William Tu Signed-off-by: Haishua

[PATCH v2,net-next 2/2] ip6_gre: fix potential memory leak in ip6erspan_rcv

2017-12-15 Thread Haishuang Yan
If md is NULL, tun_dst must be freed, otherwise it will cause memory leak. Fixes: ef7baf5e083c ("ip6_gre: add ip6 erspan collect_md mode") Cc: William Tu Signed-off-by: Haishuang Yan Change since v2: * Rebase on latest master branch. * Correct wrong fix information. --- net/ipv6

[PATCH v2,net-next 1/2] ip_gre: fix potential memory leak in erspan_rcv

2017-12-15 Thread Haishuang Yan
If md is NULL, tun_dst must be freed, otherwise it will cause memory leak. Fixes: 1a66a836da6 ("gre: add collect_md mode to ERSPAN tunnel") Cc: William Tu Signed-off-by: Haishuang Yan Change since v2: * Rebase on latest master branch. * Correct wrong fix information. --- net/ipv

[PATCH v2,net-next] ip6_gre: fix a pontential issue in ip6erspan_rcv

2017-12-15 Thread Haishuang Yan
pskb_may_pull() can change skb->data, so we need to load ipv6h/ershdr at the right place. Fixes: 5a963eb61b7c ("ip6_gre: Add ERSPAN native tunnel support") Acked-by: William Tu Cc: William Tu Signed-off-by: Haishuang Yan --- Change since v2: * Rebase on latest master.

[PATCH] ip6_gre: fix a pontential issue in ip6erspan_rcv

2017-12-14 Thread Haishuang Yan
pskb_may_pull() can change skb->data, so we need to load ipv6h/ershdr at the right place. Fixes: 5a963eb61b7c ("ip6_gre: Add ERSPAN native tunnel support") Cc: William Tu Signed-off-by: Haishuang Yan --- net/ipv6/ip6_gre.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-

[PATCH] ip_gre: fix wrong return value of erspan_rcv

2017-12-14 Thread Haishuang Yan
If pskb_may_pull return failed, return PACKET_REJECT instead of -ENOMEM. Fixes: 84e54fe0a5ea ("gre: introduce native tunnel support for ERSPAN") Cc: William Tu Signed-off-by: Haishuang Yan --- net/ipv4/ip_gre.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH 1/2] ip_gre: fix error path when erspan_rcv failed

2017-12-14 Thread Haishuang Yan
When erspan_rcv call return PACKET_REJECT, we shoudn't call ipgre_rcv to process packets again, instead send icmp unreachable message in error path. Fixes: 84e54fe0a5ea ("gre: introduce native tunnel support for ERSPAN") Cc: William Tu Signed-off-by: Haishuang Yan --- net/ip

[PATCH 2/2] ip6_gre: fix error path when ip6erspan_rcv failed

2017-12-14 Thread Haishuang Yan
Same as ipv4 code, when ip6erspan_rcv call return PACKET_REJECT, we should call icmpv6_send to send icmp unreachable message in error path. Fixes: 5a963eb61b7c ("ip6_gre: Add ERSPAN native tunnel support") Cc: William Tu Signed-off-by: Haishuang Yan --- net/ipv6/ip6_gre.c | 3 +

[PATCH 2/2] ip6_gre: fix potential memory leak in ip6erspan_rcv

2017-12-14 Thread Haishuang Yan
If md is NULL, tun_dst must be freed, otherwise it will cause memory leak Fixes: 5a963eb61b7c ("ip6_gre: Add ERSPAN native tunnel support") Cc: William Tu Signed-off-by: Haishuang Yan --- net/ipv6/ip6_gre.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git

[PATCH 1/2] ip_gre: fix potential memory leak in erspan_rcv

2017-12-14 Thread Haishuang Yan
If md is NULL, tun_dst must be freed, otherwise it will cause memory leak. Fixes: 84e54fe0a5ea ("gre: introduce native tunnel support for ERSPAN") Cc: William Tu Signed-off-by: Haishuang Yan --- net/ipv4/ip_gre.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git

[PATCH v5 2/4] ipv4: Remove the 'publish' logic in tcp_fastopen_init_key_once

2017-09-26 Thread Haishuang Yan
The 'publish' logic is not necessary after commit dfea2aa65424 ("tcp: Do not call tcp_fastopen_reset_cipher from interrupt context"), because in tcp_fastopen_cookie_gen,it wouldn't call tcp_fastopen_init_key_once. Signed-off-by: Haishuang Yan --- include/net/tcp.h

[PATCH v5 3/4] ipv4: Namespaceify tcp_fastopen_key knob

2017-09-26 Thread Haishuang Yan
-ed341702 cookie key in tcp syn packets: Fast Open Cookie Kind: TCP Fast Open Cookie (34) Length: 10 Fast Open Cookie: e213c02bf0afbc8a Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 4 +++ include/net/tcp.h | 6 ++--- net/ipv4/af_inet.c | 2 +- net/ipv4

[PATCH v5 1/4] ipv4: Namespaceify tcp_fastopen knob

2017-09-26 Thread Haishuang Yan
Different namespace application might require enable TCP Fast Open feature independently of the host. This patch series continues making more of the TCP Fast Open related sysctl knobs be per net-namespace. Reported-by: Luca BRUNO Signed-off-by: Haishuang Yan --- Changes since v5: * Splite

[PATCH v5 4/4] ipv4: Namespaceify tcp_fastopen_blackhole_timeout knob

2017-09-26 Thread Haishuang Yan
tOpenBlackhole 1 Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 3 +++ net/ipv4/sysctl_net_ipv4.c | 20 +++- net/ipv4/tcp_fastopen.c| 30 +++--- net/ipv4/tcp_ipv4.c| 2 ++ 4 files changed, 27 insertions(+), 28 deletions(-) diff --g

[PATCH v4 1/3] ipv4: Namespaceify tcp_fastopen knob

2017-09-22 Thread Haishuang Yan
Different namespace application might require enable TCP Fast Open feature independently of the host. This patch series continues making more of the TCP Fast Open related sysctl knobs be per net-namespace. Reported-by: Luca BRUNO Signed-off-by: Haishuang Yan --- Change since v4: * Fix

[PATCH v4 2/3] ipv4: Namespaceify tcp_fastopen_key knob

2017-09-22 Thread Haishuang Yan
-ed341702 cookie key in tcp syn packets: Fast Open Cookie Kind: TCP Fast Open Cookie (34) Length: 10 Fast Open Cookie: e213c02bf0afbc8a Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 4 +++ include/net/tcp.h | 6 ++--- net/ipv4/af_inet.c | 2 +- net/ipv4

[PATCH v4 3/3] ipv4: Namespaceify tcp_fastopen_blackhole_timeout knob

2017-09-22 Thread Haishuang Yan
tOpenBlackhole 1 Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 3 +++ net/ipv4/sysctl_net_ipv4.c | 20 +++- net/ipv4/tcp_fastopen.c| 30 +++--- net/ipv4/tcp_ipv4.c| 2 ++ 4 files changed, 27 insertions(+), 28 deletions(-) diff --g

[Patch v3 1/3] ipv4: Namespaceify tcp_fastopen knob

2017-09-19 Thread Haishuang Yan
Different namespace application might require enable TCP Fast Open feature independently of the host. This patch series continues making more of the TCP Fast Open related sysctl knobs be per net-namespace. Reported-by: Luca BRUNO Signed-off-by: Haishuang Yan Change since v3: * Split the

[Patch v3 2/3] ipv4: Namespaceify tcp_fastopen_key knob

2017-09-19 Thread Haishuang Yan
: Haishuang Yan --- include/net/netns/ipv4.h | 4 include/net/tcp.h | 5 ++--- net/ipv4/af_inet.c | 2 +- net/ipv4/sysctl_net_ipv4.c | 26 net/ipv4/tcp.c | 2 +- net/ipv4/tcp_fastopen.c| 49

[Patch v3 3/3] ipv4: Namespaceify tcp_fastopen_blackhole_timeout knob

2017-09-19 Thread Haishuang Yan
tOpenBlackhole 1 Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 3 +++ net/ipv4/sysctl_net_ipv4.c | 20 +++- net/ipv4/tcp_fastopen.c| 28 ++-- net/ipv4/tcp_ipv4.c| 2 ++ 4 files changed, 26 insertions(+), 27 deletions(-) diff --g

[PATCH v2] ipv4: Namespaceify tcp_fastopen knob

2017-09-13 Thread Haishuang Yan
Different namespace application might require enable TCP Fast Open feature independently of the host. Reported-by: Luca BRUNO Signed-off-by: Haishuang Yan --- Change since v2: * Remove unrelated change by mistake --- include/net/netns/ipv4.h | 2 ++ include/net/tcp.h | 1 - net

[PATCH] ipv4: Namespaceify tcp_fastopen knob

2017-09-12 Thread Haishuang Yan
Different namespace application might require enable TCP Fast Open feature independently of the host. Reported-by: Luca BRUNO Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 2 ++ include/net/tcp.h | 1 - net/ipv4/af_inet.c | 7 --- net/ipv4

[PATCH v4 2/2] ip6_tunnel: fix ip6 tunnel lookup in collect_md mode

2017-09-12 Thread Haishuang Yan
drops on fallback device will be increased as expected. Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") Cc: Alexei Starovoitov Signed-off-by: Haishuang Yan --- Change since v4: * Make the commit message more clearer * Fix wrong recipient address --- net/ip

[PATCH v4 1/2] ip_tunnel: fix ip tunnel lookup in collect_md mode

2017-09-12 Thread Haishuang Yan
drops on fallback device will be increased as expected. Fixes: 2e15ea390e6f ("ip_gre: Add support to collect tunnel metadata.") Cc: Pravin B Shelar Signed-off-by: Haishuang Yan --- Change since v4: * Make the commit message more clearer. * Fix wrong recipient addresss --- net/ipv4/

[PATCH v2] geneve: Fix setting ttl value in collect metadata mode

2017-09-12 Thread Haishuang Yan
Similar to vxlan/ipip tunnel, if key->tos is zero in collect metadata mode, tos should also fallback to ip{4,6}_dst_hoplimit. Signed-off-by: Haishuang Yan --- Changes since v2: * Make the commit message more clearer. --- drivers/net/geneve.c | 6 ++ 1 file changed, 2 insertions(+)

[PATCH 1/2] ip_tunnel: fix setting ttl and tos value in collect_md mode

2017-09-06 Thread Haishuang Yan
ttl and tos variables are declared and assigned, but are not used in iptunnel_xmit() function. Fixes: cfc7381b3002 ("ip_tunnel: add collect_md mode to IPIP tunnel") Cc: Alexei Starovoitov Signed-off-by: Haishuang Yan --- net/ipv4/ip_tunnel.c | 4 ++-- 1 file changed, 2 insert

[PATCH 2/2] ip6_tunnel: fix setting hop_limit value for ipv6 tunnel

2017-09-06 Thread Haishuang Yan
Similar to vxlan/geneve tunnel, if hop_limit is zero, it should fall back to ip6_dst_hoplimt(). Signed-off-by: Haishuang Yan --- net/ipv6/ip6_tunnel.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 3a0ba2a..10a693a 100644 --- a/net/ipv6

[PATCH] ipv4: Namespaceify tcp_max_orphans knob

2017-09-06 Thread Haishuang Yan
Different namespace application might require different maximal number of TCP sockets independently of the host. Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 1 + include/net/tcp.h | 5 +++-- net/ipv4/sysctl_net_ipv4.c | 14 +++--- net/ipv4/tcp.c

[PATCH v3 1/2] ip_tunnel: fix ip tunnel lookup in collect_md mode

2017-09-04 Thread Haishuang Yan
In collect_md mode, if the tun dev is down, it still can call ip_tunnel_rcv to receive on packets, and the rx statistics increase improperly. Fixes: 2e15ea390e6f ("ip_gre: Add support to collect tunnel metadata.") Cc: Pravin B Shelar Signed-off-by: Haishuang Yan --- Chang

[PATCH v3 2/2] ip6_tunnel: fix ip6 tunnel lookup in collect_md mode

2017-09-04 Thread Haishuang Yan
In collect_md mode, if the tun dev is down, it still can call __ip6_tnl_rcv to receive on packets, and the rx statistics increase improperly. Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") Cc: Alexei Starovoitov Signed-off-by: Haishuang Yan --- Chang

[PATCH v3] ip6_tunnel: Correct tos value in collect_md mode

2017-09-03 Thread Haishuang Yan
Same as ip_gre, geneve and vxlan, use key->tos as traffic class value. CC: Peter Dawson Fixes: 0e9a709560db ("ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets”) Signed-off-by: Haishuang Yan --- Changes since v3: * Add fixes information * Remove obsoleted RT_

[PATCH 2/2] ip6_tunnel: fix setting hop_limit value for ipv6 tunnel

2017-09-03 Thread Haishuang Yan
Similar to vxlan/geneve tunnel, if hop_limit is zero, it should fall back to ip6_dst_hoplimt(). Signed-off-by: Haishuang Yan --- net/ipv6/ip6_tunnel.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 3a0ba2a..10a693a 100644 --- a/net/ipv6

[PATCH] geneve: Fix setting ttl value in collect metadata mode

2017-09-03 Thread Haishuang Yan
If key->tos is zero in collect metadata mode, tos should fallback to ip{4,6}_dst_hoplimit, same as normal mode. Signed-off-by: Haishuang Yan --- drivers/net/geneve.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c in

[PATCH] be2net: Fix some u16 fields appropriately

2017-08-27 Thread Haishuang Yan
In be_tx_compl_process, frag_index declared as u32, so it's better to declare last_index as u32 also. CC: Ajit Khaparde Fixes: b0fd2eb28bd4 ("be2net: Declare some u16 fields as u32 to improve performance") Signed-off-by: Haishuang Yan --- drivers/net/ethernet/emulex/bene

[PATCH v3] ip6_tunnel: Correct tos value in collect_md mode

2017-06-16 Thread Haishuang Yan
Same as ip_gre, geneve and vxlan, use key->tos as traffic class value. CC: Peter Dawson Fixes: 0e9a709560db ("ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets”) Signed-off-by: Haishuang Yan --- Changes since v3: * Add fixes information * Remove obsoleted RT_

[PATCH v2 2/2] ip6_tunnel: fix ip6 tunnel lookup in collect_md mode

2017-06-16 Thread Haishuang Yan
In collect_md mode, if the tun dev is down, it still can call __ip6_tnl_rcv to receive on packets, and the rx statistics increase improperly. Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") Cc: Alexei Starovoitov Signed-off-by: Haishuang Yan --- Change since v

[PATCH v2 1/2] ip_tunnel: fix ip tunnel lookup in collect_md mode

2017-06-16 Thread Haishuang Yan
In collect_md mode, if the tun dev is down, it still can call ip_tunnel_rcv to receive on packets, and the rx statistics increase improperly. Fixes: 2e15ea390e6f ("ip_gre: Add support to collect tunnel metadata.") Cc: Pravin B Shelar Signed-off-by: Haishuang Yan --- Change since v

[PATCH 1/2] ip_tunnel: fix ip tunnel lookup in collect_md mode

2017-06-15 Thread Haishuang Yan
In collect_md mode, if the tun dev is down, it still can call ip_tunnel_rcv to receive on packets, and the rx statistics increase improperly. Fixes: 2e15ea390e6f ("ip_gre: Add support to collect tunnel metadata.") Cc: Pravin B Shelar Signed-off-by: Haishuang Yan --- net/ipv4/ip_tu

[PATCH 2/2] ip6_tunnel: fix ip6 tunnel lookup in collect_md mode

2017-06-15 Thread Haishuang Yan
In collect_md mode, if the tun dev is down, it still can call __ip6_tnl_rcv to receive on packets, and the rx statistics increase improperly. Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") Cc: Alexei Starovoitov Signed-off-by: Haishuang Yan --- net/ipv6/ip

[PATCH v2] ip6_tunnel: Correct tos value in collect_md mode

2017-06-14 Thread Haishuang Yan
Same as ip_gre, geneve and vxlan, use key->tos as tos value. CC: Peter Dawson Fixes: 0e9a709560db ("ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets”) Suggested-by: Daniel Borkmann Signed-off-by: Haishuang Yan --- Changes since v2: * Add fixes information * mask

[PATCH v4 2/2] ip6_tunnel: fix potential issue in __ip6_tnl_rcv

2017-06-14 Thread Haishuang Yan
When __ip6_tnl_rcv fails, the tun_dst won't be freed, so call dst_release to free it in error code path. Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") CC: Alexei Starovoitov Tested-by: Zhang Shengju Signed-off-by: Haishuang Yan --- Changes since v4:

[PATCH v4 1/2] ip_tunnel: fix potential issue in ip_tunnel_rcv

2017-06-14 Thread Haishuang Yan
When ip_tunnel_rcv fails, the tun_dst won't be freed, so call dst_release to free it in error code path. Fixes: 2e15ea390e6f ("ip_gre: Add support to collect tunnel metadata.") Acked-by: Eric Dumazet Acked-by: Pravin B Shelar Tested-by: Zhang Shengju Signed-off-by: Haishuang Y

[PATCH] netfilter: conntrack: fix clash resolution in nat

2017-06-14 Thread Haishuang Yan
quot;netfilter: conntrack: skip clash resolution if 25 nat is in place") Signed-off-by: Haishuang Yan --- net/netfilter/nf_conntrack_core.c | 1 - net/netfilter/nf_nat_core.c | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/net/netfilter/nf_conntrack_core.c b/net

[PATCH] ip6_tunnel: Correct tos value in collect_md mode

2017-06-13 Thread Haishuang Yan
Same as ip_gre, geneve and vxlan, use key->tos as tos value. CC: Peter Dawson Fixes: 0e9a709560db ("ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets”) Suggested-by: Daniel Borkmann Signed-off-by: Haishuang Yan --- Changes since v2: * Add fixes information * mask

[PATCH] ip6_tunnel: Correct tos value in collect_md mode

2017-06-13 Thread Haishuang Yan
Same as ip_gre, geneve and vxlan, use key->tos as tos value. Signed-off-by: Haishuang Yan --- net/ipv6/ip6_tunnel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index ef99d59..5f4aff5 100644 --- a/net/ipv6/ip6_tunne

[PATCH] netfilter: ctnetlink: move CTA_TIMEOUT case to outside

2017-06-08 Thread Haishuang Yan
When cda[CTA_TIMEOUT] is zero, ctnetlink_new_conntrack will free allocated ct and return, so move it to outside to optimize this situation. Signed-off-by: Haishuang Yan --- net/netfilter/nf_conntrack_netlink.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/net/netfilter

[PATCH v3 2/2] ip6_tunnel: fix potential issue in __ip6_tnl_rcv

2017-06-07 Thread Haishuang Yan
When __ip6_tnl_rcv fails, the tun_dst won't be freed, so call dst_release to free it in error code path. CC: Alexei Starovoitov Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") Signed-off-by: Haishuang Yan --- Changes in v2: - Add the the missing Fi

[PATCH v3 1/2] ip_tunnel: fix potential issue in ip_tunnel_rcv

2017-06-07 Thread Haishuang Yan
When ip_tunnel_rcv fails, the tun_dst won't be freed, so call dst_release to free it in error code path. CC: Pravin B Shelar Fixes: 2e15ea390e6f ("ip_gre: Add support to collect tunnel metadata.") Signed-off-by: Haishuang Yan --- Changes in v2: - Add the the missing Fixes info

[PATCH v2 2/2] ip6_tunnel: fix potential issue in __ip6_tnl_rcv

2017-06-07 Thread Haishuang Yan
When __ip6_tnl_rcv fails, the tun_dst won't be freed, so move skb_dst_set to begin and tun_dst would be freed by kfree_skb. CC: Alexei Starovoitov Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") Signed-off-by: Haishuang Yan --- net/ipv6/ip6_tunnel.c | 6

[PATCH v2 1/2] ip_tunnel: fix potential issue in ip_tunnel_rcv

2017-06-07 Thread Haishuang Yan
When ip_tunnel_rcv fails, the tun_dst won't be freed, so move skb_dst_set to begin and tun_dst would be freed by kfree_skb. CC: Pravin B Shelar Fixes: 2e15ea390e6f ("ip_gre: Add support to collect tunnel metadata.") Signed-off-by: Haishuang Yan --- net/ipv4/ip_tunnel.c | 6

[PATCH 2/2] ip6_tunnel: fix potential issue in __ip6_tnl_rcv

2017-06-07 Thread Haishuang Yan
When __ip6_tnl_rcv fails, the tun_dst won't be freed, so move skb_dst_set to begin and tun_dst would be freed by kfree_skb. Signed-off-by: Haishuang Yan --- net/ipv6/ip6_tunnel.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/ipv6/ip6_tunnel.c b/net

[PATCH 1/2] ip_tunnel: fix potential issue in ip_tunnel_rcv

2017-06-07 Thread Haishuang Yan
When ip_tunnel_rcv fails, the tun_dst won't be freed, so move skb_dst_set to begin and tun_dst would be freed by kfree_skb. Signed-off-by: Haishuang Yan --- net/ipv4/ip_tunnel.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tun

[PATCH v2] devlink: fix potential memort leak

2017-06-04 Thread Haishuang Yan
We must free allocated skb when genlmsg_put() return fails. Fixes: 1555d204e743 ("devlink: Support for pipeline debug (dpipe)") Signed-off-by: Haishuang Yan --- Changes in v2: - Fix same issue in headers_fill. --- net/core/devlink.c | 8 ++-- 1 file changed, 6 insertions(+), 2

[PATCH] devlink: fix potential memort leak

2017-06-04 Thread Haishuang Yan
We must free allocated skb when genlmsg_put() return fails. Fixes: 1555d204e743 ("devlink: Support for pipeline debug (dpipe)") Signed-off-by: Haishuang Yan --- net/core/devlink.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/core/devlink.c b/net/core

[PATCH] sit: reload iphdr in ipip6_rcv

2017-06-03 Thread Haishuang Yan
Since iptunnel_pull_header() can call pskb_may_pull(), we must reload any pointer that was related to skb->head. Fixes: a09a4c8dd1ec ("tunnels: Remove encapsulation offloads on decap") Signed-off-by: Haishuang Yan --- net/ipv6/sit.c | 1 + 1 file changed, 1 insertion(+) diff --g

[PATCH 1/2] ipv4: Namespaceify tcp_tw_recycle and tcp_max_tw_buckets knob

2016-12-28 Thread Haishuang Yan
Different namespace application might require fast recycling TIME-WAIT sockets independently of the host. Signed-off-by: Haishuang Yan --- include/net/inet_timewait_sock.h | 13 + include/net/netns/ipv4.h | 11 +++ include/net/tcp.h| 1 - net/ipv4

[PATCH 2/2] ipv4: Namespaceify tcp_max_syn_backlog knob

2016-12-28 Thread Haishuang Yan
Different namespace application might require different maximal number of remembered connection requests. Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 1 + include/net/request_sock.h | 4 +--- net/core/request_sock.c| 2 -- net/ipv4/sysctl_net_ipv4.c | 14

[PATCH v2] ipv4: Namespaceify tcp_tw_reuse knob

2016-12-24 Thread Haishuang Yan
Different namespaces might have different requirements to reuse TIME-WAIT sockets for new connections. This might be required in cases where different namespace applications are in place which require TIME_WAIT socket connections to be reduced independently of the host. Signed-off-by: Haishuang

[PATCH] ipv4: Namespaceify tcp_tw_reuse knob

2016-12-24 Thread Haishuang Yan
Signed-off-by: Haishuang Yan --- include/net/netns/ipv4.h | 1 + include/net/tcp.h | 1 - net/ipv4/sysctl_net_ipv4.c | 14 +++--- net/ipv4/tcp_ipv4.c| 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/net/netns/ipv4.h b/include/net

[PATCH] openvswitch: add sanity check in queue_userspace_packet.

2016-11-28 Thread Haishuang Yan
kernel will crash in oops if genlmsg_put return NULL, so add the sanity check. Signed-off-by: Haishuang Yan --- net/openvswitch/datapath.c | 4 1 file changed, 4 insertions(+) diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 2d4c4d3..ceb1b1e 100644 --- a/net

[PATCH v2] vxlan: fix a potential issue when create a new vxlan fdb entry.

2016-11-28 Thread Haishuang Yan
vxlan_fdb_append may return error, so add the proper check, otherwise it will cause memory leak. Signed-off-by: Haishuang Yan Changes in v2: - Unnecessary to initialize rc to zero. --- drivers/net/vxlan.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers

[PATCH] vxlan: fix a potential issue when create a new vxlan fdb entry.

2016-11-27 Thread Haishuang Yan
vxlan_fdb_append may return error, so add the proper check, otherwise it will cause memory leak. Signed-off-by: Haishuang Yan --- drivers/net/vxlan.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 21e92be..3b7b237

[PATCH] geneve: fix ip_hdr_len reserved for geneve6 tunnel.

2016-11-27 Thread Haishuang Yan
It shold reserved sizeof(ipv6hdr) for geneve in ipv6 tunnel. Fixes: c3ef5aa5e5 ('geneve: Merge ipv4 and ipv6 geneve_build_skb()') Signed-off-by: Haishuang Yan --- drivers/net/geneve.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/geneve.c b/d

[PATCH] vxlan: Update tx_errors statistics if vxlan_build_skb return err.

2016-09-04 Thread Haishuang Yan
If vxlan_build_skb return err < 0, tx_errors should be also increased. Signed-off-by: Haishuang Yan --- drivers/net/vxlan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index f605a36..2c72dcd 100644 --- a/drivers/net/vxlan.c +++ b/drivers/

[PATCH v2] geneve: fix max_mtu setting

2016-07-02 Thread Haishuang Yan
For ipv6+udp+geneve encapsulation data, the max_mtu should subtract sizeof(ipv6hdr), instead of sizeof(iphdr). Signed-off-by: Haishuang Yan --- Changes in v2: - As suggested by Jesse Gross, treat AF_UNSPEC same as AF_INET4 to avoid disallowing potentially valid configrations. --- drivers/net

[PATCH] geneve: fix max_mtu setting

2016-06-25 Thread Haishuang Yan
For ipv6+udp+geneve encapsulation data, the max_mtu should subtract sizeof(ipv6hdr), instead of sizeof(iphdr). Signed-off-by: Haishuang Yan --- drivers/net/geneve.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index

[PATCH] geneve: fix tx_errors statistics

2016-06-21 Thread Haishuang Yan
Tx errors present summation of errors encountered while transmitting packets. Signed-off-by: Haishuang Yan --- drivers/net/geneve.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index aa61708..72b2f1c 100644 --- a/drivers

[PATCH v2] ip_tunnel: enclose a code block in macro IS_ENABLED(CONFIG_IPV6)

2016-05-23 Thread Haishuang Yan
For ipv6 case, enclose the code block in macro IS_ENABLED(CONFIG_IPV6). --- Changes in v2: - Place the "#if IS_ENABLED" block before the "} else if (..) {" piece and the "#endif" before the closing brace and this becomes much easier to look at. Signed-off-by

[PATCH] ip_tunnel: enclose a code block in macro IS_ENABLED(CONFIG_IPV6)

2016-05-22 Thread Haishuang Yan
For ipv6 case, enclose the code block in macro IS_ENABLED(CONFIG_IPV6). Signed-off-by: Haishuang Yan --- net/ipv4/ip_tunnel.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index a69ed94..5f3c8de 100644 --- a/net/ipv4

[PATCH v2 2/2] ip6_gre: Set flowi6_proto as IPPROTO_GRE in xmit path.

2016-05-21 Thread Haishuang Yan
In gre6 xmit path, we are sending a GRE packet, so set fl6 proto to IPPROTO_GRE properly. Signed-off-by: Haishuang Yan --- Changes in v2: - Initialize the flow protocol in ip6gre_tnl_link_config --- net/ipv6/ip6_gre.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv6/ip6_gre.c b

[PATCH v2 1/2] ip6_gre: Fix MTU setting for ip6gretap

2016-05-21 Thread Haishuang Yan
erify the dev->type is ARPHRD_ETHER for ip6gretap interface, and then decrease the mtu as early as possible. Signed-off-by: Haishuang Yan --- Changes in v2: - Make the commit message more clearer. --- net/ipv6/ip6_gre.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv6/ip

[PATCH 1/2] ip6_gre: Fix MTU setting for ip6gretap

2016-05-18 Thread Haishuang Yan
2001:0:130::2 remote 2001:0:130::1 ip link show ip6gretap1 12: ip6gretap1@NONE: mtu 1448 ... link/ether 7e:e1:d2:c4:06:5e brd ff:ff:ff:ff:ff:ff Now, the MTU value 1448 is larger than what was needed. This patch fix the issue in this situation. Signed-off-by: Haishuang Yan --- net/ipv6

[PATCH 2/2] ip6_gre: Set flowi6_proto as IPPROTO_GRE in xmit path.

2016-05-18 Thread Haishuang Yan
In gre6 xmit path, we are sending a GRE packet, so set fl6 proto to IPPROTO_GRE properly. Signed-off-by: Haishuang Yan --- net/ipv6/ip6_gre.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c index 8ea5a4d..cc84098 100644 --- a/net/ipv6/ip6_gre.c

[PATCH 1/2] ip6_gre: Fix get_size calculation for gre6 tunnel

2016-05-11 Thread Haishuang Yan
Do not include attribute IFLA_GRE_TOS. Signed-off-by: Haishuang Yan --- net/ipv6/ip6_gre.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c index ee62ec4..3c25fe6 100644 --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c @@ -1394,8 +1394,6 @@ static

[PATCH 2/2] gre: Fix wrong tpi->proto in WCCP

2016-05-11 Thread Haishuang Yan
When dealing with WCCP in gre6 tunnel, it sets the wrong tpi->protocol, that is, ETH_P_IP instead of ETH_P_IPV6 for the encapuslated traffic. Signed-off-by: Haishuang Yan --- include/net/gre.h| 2 +- net/ipv4/gre_demux.c | 6 +++--- net/ipv4/ip_gre.c| 4 ++-- net/ipv6/ip6_gre.c

[PATCH] veth: Fix potential memory leak in veth_newlink

2016-04-27 Thread Haishuang Yan
Free peer netdev when failed to configure peer link or register dev. Signed-off-by: Haishuang Yan --- drivers/net/veth.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/veth.c b/drivers/net/veth.c index f37a6e6..8bb9fb8 100644 --- a/drivers/net/veth.c +++ b/drivers/net/veth.c

[PATCH 1/2] ipv4: l2tp: fix a potential issue in l2tp_ip_recv

2016-04-03 Thread Haishuang Yan
pskb_may_pull() can change skb->data, so we have to load ptr/optr at the right place. Signed-off-by: Haishuang Yan --- net/l2tp/l2tp_ip.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c index ec22078..42de4cc 100644 --- a/

[PATCH 2/2] ipv6: l2tp: fix a potential issue in l2tp_ip6_recv

2016-04-03 Thread Haishuang Yan
pskb_may_pull() can change skb->data, so we have to load ptr/optr at the right place. Signed-off-by: Haishuang Yan --- net/l2tp/l2tp_ip6.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/net/l2tp/l2tp_ip6.c b/net/l2tp/l2tp_ip6.c index 6b54ff3..cd47990 100644 --

[PATCH] netfilter: unnecessary to check whether ip6_route_output() returns NULL

2016-04-03 Thread Haishuang Yan
ip6_route_output() never returns NULL, so it is not appropriate to check if the return value is NULL. Signed-off-by: Haishuang Yan --- net/ipv6/netfilter/nf_reject_ipv6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv6/netfilter/nf_reject_ipv6.c b/net/ipv6

[PATCH] netlink: use nla_get_in_addr and nla_put_in_addr for ipv4 address

2016-03-31 Thread Haishuang Yan
Since nla_get_in_addr and nla_put_in_addr were implemented, so use them appropriately. Signed-off-by: Haishuang Yan --- net/ipv4/ip_tunnel_core.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/ipv4/ip_tunnel_core.c b/net/ipv4/ip_tunnel_core.c index 02dd990

[PATCH] bridge: Allow set bridge ageing time when switchdev disabled

2016-03-29 Thread Haishuang Yan
When NET_SWITCHDEV=n, switchdev_port_attr_set will return -EOPNOTSUPP, we should ignore this error code and continue to set the ageing time. Signed-off-by: Haishuang Yan --- net/bridge/br_stp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/bridge/br_stp.c b/net/bridge

[PATCH] openvswitch: Use proper buffer size in nla_memcpy

2016-03-28 Thread Haishuang Yan
For the input parameter count, it's better to use the size of destination buffer size, as nla_memcpy would take into account the length of the source netlink attribute when a data is copied from an attribute. Signed-off-by: Haishuang Yan --- net/openvswitch/conntrack.c | 3 ++- 1 file ch

[PATCH] net: ping: make ping_v6_sendmsg static

2016-03-23 Thread Haishuang Yan
As ping_v6_sendmsg is used only in this file, making it static The body of "pingv6_prot" and "pingv6_protosw" were moved at the middle of the file, to avoid having to declare some static prototypes. Signed-off-by: Haishuang Yan --- include/net/ping.h | 1 - net

[PATCH] vlan: propagate gso_min_segs

2016-03-22 Thread Haishuang Yan
vlan drivers lack proper propagation of gso_min_segs from lower device. Signed-off-by: Haishuang Yan --- drivers/net/ipvlan/ipvlan_main.c | 2 ++ drivers/net/macvlan.c| 1 + net/8021q/vlan.c | 1 + net/8021q/vlan_dev.c | 1 + 4 files changed, 5 insertions

[PATCH] gre: fix return value of gre_rcv

2016-03-22 Thread Haishuang Yan
Dropped skb's should be documented by an appropriate return value. Use the correct NET_RX_DROP and NET_RX_SUCCESS values for that reason. Signed-off-by: Haishuang Yan --- net/ipv4/ip_gre.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/ip_gre.c b/net