Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux
authorDavid S. Miller <davem@davemloft.net>
Fri, 20 Jul 2018 21:45:10 +0000 (14:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Jul 2018 04:17:12 +0000 (21:17 -0700)
All conflicts were trivial overlapping changes, so reasonably
easy to resolve.

Signed-off-by: David S. Miller <davem@davemloft.net>
48 files changed:
1  2 
Documentation/devicetree/bindings/net/fsl-fman.txt
MAINTAINERS
drivers/net/ethernet/aquantia/atlantic/aq_hw.h
drivers/net/ethernet/aquantia/atlantic/aq_nic.c
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
drivers/net/ethernet/broadcom/bcmsysport.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h
drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
drivers/net/ethernet/broadcom/tg3.c
drivers/net/ethernet/cavium/Kconfig
drivers/net/ethernet/cavium/liquidio/lio_main.c
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
drivers/net/ethernet/qlogic/qed/qed_main.c
drivers/net/ethernet/qlogic/qed/qed_mcp.c
drivers/net/ethernet/realtek/r8169.c
drivers/net/ethernet/renesas/ravb_main.c
drivers/net/ethernet/renesas/sh_eth.c
drivers/net/ethernet/sfc/efx.c
drivers/net/tun.c
drivers/net/usb/asix_devices.c
drivers/net/usb/lan78xx.c
drivers/net/usb/rtl8150.c
drivers/net/wireless/realtek/rtlwifi/base.c
include/linux/skbuff.h
include/net/ipv6.h
include/net/tcp.h
lib/rhashtable.c
net/batman-adv/debugfs.c
net/core/filter.c
net/core/skbuff.c
net/ipv4/inet_fragment.c
net/ipv4/tcp.c
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_output.c
net/ipv6/ip6_gre.c
net/ipv6/ipv6_sockglue.c
net/netfilter/nf_conntrack_core.c
net/packet/af_packet.c
net/sched/act_csum.c
net/sched/act_tunnel_key.c
net/sched/cls_api.c
net/smc/af_smc.c
net/smc/smc_clc.c
net/tipc/node.c
net/tls/tls_sw.c

diff --cc MAINTAINERS
Simple merge
@@@ -100,9 -98,8 +100,11 @@@ struct aq_stats_s 
  #define AQ_HW_MEDIA_TYPE_TP    1U
  #define AQ_HW_MEDIA_TYPE_FIBRE 2U
  
 +#define AQ_HW_TXD_MULTIPLE 8U
 +#define AQ_HW_RXD_MULTIPLE 8U
 +
+ #define AQ_HW_MULTICAST_ADDRESS_MAX     32U
  struct aq_hw_s {
        atomic_t flags;
        u8 rbl_enabled:1;
Simple merge
@@@ -33,9 -34,9 +33,9 @@@ config THUNDER_NIC_V
  
  config        THUNDER_NIC_BGX
        tristate "Thunder MAC interface driver (BGX)"
-       depends on 64BIT
+       depends on 64BIT && PCI
        select PHYLIB
 -      select MDIO_THUNDER
 +      select MDIO_THUNDER if PCI
        select THUNDER_NIC_RGX
        ---help---
          This driver supports programming and controlling of MAC
@@@ -43,9 -44,9 +43,9 @@@
  
  config        THUNDER_NIC_RGX
        tristate "Thunder MAC interface driver (RGX)"
-       depends on 64BIT
+       depends on 64BIT && PCI
        select PHYLIB
 -      select MDIO_THUNDER
 +      select MDIO_THUNDER if PCI
        ---help---
          This driver supports configuring XCV block of RGX interface
          present on CN81XX chip.
@@@ -65,9 -65,8 +64,9 @@@ config CAVIUM_PT
  
  config LIQUIDIO
        tristate "Cavium LiquidIO support"
-       depends on 64BIT
+       depends on 64BIT && PCI
        depends on MAY_USE_DEVLINK
 +      depends on PCI
        imply PTP_1588_CLOCK
        select FW_LOADER
        select LIBCRC32C
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/tcp.c
Simple merge
@@@ -155,13 -155,25 +155,26 @@@ int tcp_twsk_unique(struct sock *sk, st
           and use initial timestamp retrieved from peer table.
         */
        if (tcptw->tw_ts_recent_stamp &&
 -          (!twp || (reuse && get_seconds() - tcptw->tw_ts_recent_stamp > 1))) {
 +          (!twp || (reuse && time_after32(ktime_get_seconds(),
 +                                          tcptw->tw_ts_recent_stamp)))) {
-               tp->write_seq = tcptw->tw_snd_nxt + 65535 + 2;
-               if (tp->write_seq == 0)
-                       tp->write_seq = 1;
-               tp->rx_opt.ts_recent       = tcptw->tw_ts_recent;
-               tp->rx_opt.ts_recent_stamp = tcptw->tw_ts_recent_stamp;
+               /* In case of repair and re-using TIME-WAIT sockets we still
+                * want to be sure that it is safe as above but honor the
+                * sequence numbers and time stamps set as part of the repair
+                * process.
+                *
+                * Without this check re-using a TIME-WAIT socket with TCP
+                * repair would accumulate a -1 on the repair assigned
+                * sequence number. The first time it is reused the sequence
+                * is -1, the second time -2, etc. This fixes that issue
+                * without appearing to create any others.
+                */
+               if (likely(!tp->repair)) {
+                       tp->write_seq = tcptw->tw_snd_nxt + 65535 + 2;
+                       if (tp->write_seq == 0)
+                               tp->write_seq = 1;
+                       tp->rx_opt.ts_recent       = tcptw->tw_ts_recent;
+                       tp->rx_opt.ts_recent_stamp = tcptw->tw_ts_recent_stamp;
+               }
                sock_hold(sktw);
                return 1;
        }
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -603,8 -597,9 +603,9 @@@ static int tcf_csum_dump(struct sk_buf
        struct tcf_csum_params *params;
        struct tc_csum opt = {
                .index   = p->tcf_index,
 -              .refcnt  = p->tcf_refcnt - ref,
 -              .bindcnt = p->tcf_bindcnt - bind,
 +              .refcnt  = refcount_read(&p->tcf_refcnt) - ref,
 +              .bindcnt = atomic_read(&p->tcf_bindcnt) - bind,
+               .action  = p->tcf_action,
        };
        struct tcf_t t;
  
@@@ -487,8 -252,9 +487,9 @@@ static int tunnel_key_dump(struct sk_bu
        struct tcf_tunnel_key_params *params;
        struct tc_tunnel_key opt = {
                .index    = t->tcf_index,
 -              .refcnt   = t->tcf_refcnt - ref,
 -              .bindcnt  = t->tcf_bindcnt - bind,
 +              .refcnt   = refcount_read(&t->tcf_refcnt) - ref,
 +              .bindcnt  = atomic_read(&t->tcf_bindcnt) - bind,
+               .action   = t->tcf_action,
        };
        struct tcf_t tm;
  
Simple merge
Simple merge
Simple merge
diff --cc net/tipc/node.c
Simple merge
Simple merge