Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorJakub Kicinski <kuba@kernel.org>
Sat, 28 Jan 2023 06:25:19 +0000 (22:25 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 28 Jan 2023 06:56:18 +0000 (22:56 -0800)
Conflicts:

drivers/net/ethernet/intel/ice/ice_main.c
  418e53401e47 ("ice: move devlink port creation/deletion")
  643ef23bd9dd ("ice: Introduce local var for readability")
https://lore.kernel.org/all/20230127124025.0dacef40@canb.auug.org.au/
https://lore.kernel.org/all/20230124005714.3996270-1-anthony.l.nguyen@intel.com/

drivers/net/ethernet/engleder/tsnep_main.c
  3d53aaef4332 ("tsnep: Fix TX queue stop/wake for multiple queues")
  25faa6a4c5ca ("tsnep: Replace TX spin_lock with __netif_tx_lock")
https://lore.kernel.org/all/20230127123604.36bb3e99@canb.auug.org.au/

net/netfilter/nf_conntrack_proto_sctp.c
  13bd9b31a969 ("Revert "netfilter: conntrack: add sctp DATA_SENT state"")
  a44b7651489f ("netfilter: conntrack: unify established states for SCTP paths")
  f71cb8f45d09 ("netfilter: conntrack: sctp: use nf log infrastructure for invalid packets")
https://lore.kernel.org/all/20230127125052.674281f9@canb.auug.org.au/
https://lore.kernel.org/all/d36076f3-6add-a442-6d4b-ead9f7ffff86@tessares.net/

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
15 files changed:
1  2 
MAINTAINERS
arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
drivers/net/ethernet/adi/adin1110.c
drivers/net/ethernet/engleder/tsnep_main.c
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/intel/iavf/iavf.h
drivers/net/ethernet/intel/iavf/iavf_main.c
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
drivers/net/ethernet/intel/ice/ice_lib.c
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/renesas/rswitch.c
drivers/net/mdio/mdio-mux-meson-g12a.c
drivers/net/virtio_net.c
drivers/scsi/iscsi_tcp.c
net/netfilter/nf_conntrack_proto_sctp.c

diff --cc MAINTAINERS
Simple merge
Simple merge
@@@ -458,8 -450,10 +458,8 @@@ static netdev_tx_t tsnep_xmit_frame_rin
                /* ring full, shall not happen because queue is stopped if full
                 * below
                 */
-               netif_stop_queue(tx->adapter->netdev);
+               netif_stop_subqueue(tx->adapter->netdev, tx->queue_index);
  
 -              spin_unlock_irqrestore(&tx->lock, flags);
 -
                return NETDEV_TX_BUSY;
        }
  
  
        if (tsnep_tx_desc_available(tx) < (MAX_SKB_FRAGS + 1)) {
                /* ring can get full with next frame */
-               netif_stop_queue(tx->adapter->netdev);
+               netif_stop_subqueue(tx->adapter->netdev, tx->queue_index);
        }
  
 -      spin_unlock_irqrestore(&tx->lock, flags);
 -
        return NETDEV_TX_OK;
  }
  
@@@ -701,13 -567,13 +701,13 @@@ static bool tsnep_tx_poll(struct tsnep_
        } while (likely(budget));
  
        if ((tsnep_tx_desc_available(tx) >= ((MAX_SKB_FRAGS + 1) * 2)) &&
-           netif_queue_stopped(tx->adapter->netdev)) {
-               netif_wake_queue(tx->adapter->netdev);
+           netif_tx_queue_stopped(nq)) {
+               netif_tx_wake_queue(nq);
        }
  
 -      spin_unlock_irqrestore(&tx->lock, flags);
 +      __netif_tx_unlock(nq);
  
 -      return (budget != 0);
 +      return budget != 0;
  }
  
  static bool tsnep_tx_pending(struct tsnep_tx *tx)
@@@ -5083,7 -5090,8 +5091,8 @@@ static void ice_remove(struct pci_dev *
                ice_remove_arfs(pf);
        ice_setup_mc_magic_wake(pf);
        ice_vsi_release_all(pf);
 -      mutex_destroy(&(&pf->hw)->fdir_fltr_lock);
 +      mutex_destroy(&hw->fdir_fltr_lock);
+       ice_devlink_destroy_pf_port(pf);
        ice_set_wake(pf);
        ice_free_irq_msix_misc(pf);
        ice_for_each_vsi(pf, i) {
Simple merge
Simple merge
@@@ -243,16 -238,14 +227,12 @@@ static int sctp_new_state(enum ip_connt
                i = 9;
                break;
        case SCTP_CID_HEARTBEAT_ACK:
 -              pr_debug("SCTP_CID_HEARTBEAT_ACK");
                i = 10;
                break;
-       case SCTP_CID_DATA:
-       case SCTP_CID_SACK:
-               i = 11;
-               break;
        default:
                /* Other chunks like DATA or SACK do not change the state */
 -              pr_debug("Unknown chunk type, Will stay in %s\n",
 -                       sctp_conntrack_names[cur_state]);
 +              pr_debug("Unknown chunk type %d, Will stay in %s\n",
 +                       chunk_type, sctp_conntrack_names[cur_state]);
                return cur_state;
        }
  
@@@ -386,21 -381,19 +364,21 @@@ int nf_conntrack_sctp_packet(struct nf_
  
                if (!sctp_new(ct, skb, sh, dataoff))
                        return -NF_ACCEPT;
-       } else {
-               /* Check the verification tag (Sec 8.5) */
-               if (!test_bit(SCTP_CID_INIT, map) &&
-                   !test_bit(SCTP_CID_SHUTDOWN_COMPLETE, map) &&
-                   !test_bit(SCTP_CID_COOKIE_ECHO, map) &&
-                   !test_bit(SCTP_CID_ABORT, map) &&
-                   !test_bit(SCTP_CID_SHUTDOWN_ACK, map) &&
-                   !test_bit(SCTP_CID_HEARTBEAT, map) &&
-                   !test_bit(SCTP_CID_HEARTBEAT_ACK, map) &&
-                   sh->vtag != ct->proto.sctp.vtag[dir]) {
-                       nf_ct_l4proto_log_invalid(skb, ct, state,
-                                                 "verification tag check failed %x vs %x for dir %d",
-                                                 sh->vtag, ct->proto.sctp.vtag[dir], dir);
-                       goto out;
-               }
+       }
+       /* Check the verification tag (Sec 8.5) */
+       if (!test_bit(SCTP_CID_INIT, map) &&
+           !test_bit(SCTP_CID_SHUTDOWN_COMPLETE, map) &&
+           !test_bit(SCTP_CID_COOKIE_ECHO, map) &&
+           !test_bit(SCTP_CID_ABORT, map) &&
+           !test_bit(SCTP_CID_SHUTDOWN_ACK, map) &&
+           !test_bit(SCTP_CID_HEARTBEAT, map) &&
+           !test_bit(SCTP_CID_HEARTBEAT_ACK, map) &&
+           sh->vtag != ct->proto.sctp.vtag[dir]) {
 -              pr_debug("Verification tag check failed\n");
++              nf_ct_l4proto_log_invalid(skb, ct, state,
++                                        "verification tag check failed %x vs %x for dir %d",
++                                        sh->vtag, ct->proto.sctp.vtag[dir], dir);
+               goto out;
        }
  
        old_state = new_state = SCTP_CONNTRACK_NONE;