Merge branch 'netif_rx-part3'
authorDavid S. Miller <davem@davemloft.net>
Mon, 7 Mar 2022 11:40:41 +0000 (11:40 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 7 Mar 2022 11:40:41 +0000 (11:40 +0000)
Sebastian Andrzej Siewior says:

====================
net: Convert user to netif_rx(), part 3.

This is the third and last batch of converting netif_rx_ni() caller to
netif_rx(). The change making this possible is net-next and
netif_rx_ni() is a wrapper around netif_rx(). This is a clean up in
order to remove netif_rx_ni().

The micrel phy driver is patched twice within this series: the first is
is to replace netif_rx_ni() and second to move netif_rx() outside of the
IRQ-off section. It is probably simpler to keep it within this series.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
13 files changed:
drivers/net/phy/micrel.c
drivers/net/tun.c
drivers/net/vxlan/vxlan_core.c
drivers/s390/net/ctcm_main.c
drivers/s390/net/netiucv.c
drivers/staging/gdm724x/gdm_lte.c
drivers/staging/wlan-ng/p80211netdev.c
include/linux/netdevice.h
net/batman-adv/bridge_loop_avoidance.c
net/bluetooth/6lowpan.c
net/bluetooth/bnep/core.c
net/phonet/af_phonet.c
net/tipc/bearer.c

index 9e6b29b..19b11e8 100644 (file)
@@ -2034,8 +2034,6 @@ static bool lan8814_match_rx_ts(struct kszphy_ptp_priv *ptp_priv,
                memset(shhwtstamps, 0, sizeof(*shhwtstamps));
                shhwtstamps->hwtstamp = ktime_set(rx_ts->seconds,
                                                  rx_ts->nsec);
-               netif_rx_ni(skb);
-
                list_del(&rx_ts->list);
                kfree(rx_ts);
 
@@ -2044,6 +2042,8 @@ static bool lan8814_match_rx_ts(struct kszphy_ptp_priv *ptp_priv,
        }
        spin_unlock_irqrestore(&ptp_priv->rx_ts_lock, flags);
 
+       if (ret)
+               netif_rx(skb);
        return ret;
 }
 
@@ -2387,7 +2387,7 @@ static bool lan8814_match_skb(struct kszphy_ptp_priv *ptp_priv,
                shhwtstamps = skb_hwtstamps(skb);
                memset(shhwtstamps, 0, sizeof(*shhwtstamps));
                shhwtstamps->hwtstamp = ktime_set(rx_ts->seconds, rx_ts->nsec);
-               netif_rx_ni(skb);
+               netif_rx(skb);
        }
 
        return ret;
index bab92e4..2b9a226 100644 (file)
@@ -1984,7 +1984,7 @@ drop:
        } else if (!IS_ENABLED(CONFIG_4KSTACKS)) {
                tun_rx_batched(tun, tfile, skb, more);
        } else {
-               netif_rx_ni(skb);
+               netif_rx(skb);
        }
        rcu_read_unlock();
 
index 4ab09dd..b3cbd37 100644 (file)
@@ -1877,7 +1877,7 @@ static int arp_reduce(struct net_device *dev, struct sk_buff *skb, __be32 vni)
                reply->ip_summed = CHECKSUM_UNNECESSARY;
                reply->pkt_type = PACKET_HOST;
 
-               if (netif_rx_ni(reply) == NET_RX_DROP) {
+               if (netif_rx(reply) == NET_RX_DROP) {
                        dev->stats.rx_dropped++;
                        vxlan_vnifilter_count(vxlan, vni, NULL,
                                              VXLAN_VNI_STATS_RX_DROPS, 0);
@@ -2036,7 +2036,7 @@ static int neigh_reduce(struct net_device *dev, struct sk_buff *skb, __be32 vni)
                if (reply == NULL)
                        goto out;
 
-               if (netif_rx_ni(reply) == NET_RX_DROP) {
+               if (netif_rx(reply) == NET_RX_DROP) {
                        dev->stats.rx_dropped++;
                        vxlan_vnifilter_count(vxlan, vni, NULL,
                                              VXLAN_VNI_STATS_RX_DROPS, 0);
index 5ea7eeb..e0fdd54 100644 (file)
@@ -166,7 +166,7 @@ void ctcm_unpack_skb(struct channel *ch, struct sk_buff *pskb)
                ch->logflags = 0;
                priv->stats.rx_packets++;
                priv->stats.rx_bytes += skblen;
-               netif_rx_ni(skb);
+               netif_rx(skb);
                if (len > 0) {
                        skb_pull(pskb, header->length);
                        if (skb_tailroom(pskb) < LL_HEADER_LENGTH) {
index 981e7b1..65aa0a9 100644 (file)
@@ -620,11 +620,7 @@ static void netiucv_unpack_skb(struct iucv_connection *conn,
                pskb->ip_summed = CHECKSUM_UNNECESSARY;
                privptr->stats.rx_packets++;
                privptr->stats.rx_bytes += skb->len;
-               /*
-                * Since receiving is always initiated from a tasklet (in iucv.c),
-                * we must use netif_rx_ni() instead of netif_rx()
-                */
-               netif_rx_ni(skb);
+               netif_rx(skb);
                skb_pull(pskb, header->next);
                skb_put(pskb, NETIUCV_HDRLEN);
        }
index 493ed48..2587309 100644 (file)
@@ -78,7 +78,7 @@ static int gdm_lte_rx(struct sk_buff *skb, struct nic *nic, int nic_type)
 {
        int ret;
 
-       ret = netif_rx_ni(skb);
+       ret = netif_rx(skb);
        if (ret == NET_RX_DROP) {
                nic->stats.rx_dropped++;
        } else {
index 2555004..e04fc66 100644 (file)
@@ -255,7 +255,7 @@ static int p80211_convert_to_ether(struct wlandevice *wlandev,
        if (skb_p80211_to_ether(wlandev, wlandev->ethconv, skb) == 0) {
                wlandev->netdev->stats.rx_packets++;
                wlandev->netdev->stats.rx_bytes += skb->len;
-               netif_rx_ni(skb);
+               netif_rx(skb);
                return 0;
        }
 
@@ -290,7 +290,7 @@ static void p80211netdev_rx_bh(struct tasklet_struct *t)
 
                                dev->stats.rx_packets++;
                                dev->stats.rx_bytes += skb->len;
-                               netif_rx_ni(skb);
+                               netif_rx(skb);
                                continue;
                        } else {
                                if (!p80211_convert_to_ether(wlandev, skb))
index 19a27ac..29a850a 100644 (file)
@@ -3718,16 +3718,6 @@ int do_xdp_generic(struct bpf_prog *xdp_prog, struct sk_buff *skb);
 int netif_rx(struct sk_buff *skb);
 int __netif_rx(struct sk_buff *skb);
 
-static inline int netif_rx_ni(struct sk_buff *skb)
-{
-       return netif_rx(skb);
-}
-
-static inline int netif_rx_any_context(struct sk_buff *skb)
-{
-       return netif_rx(skb);
-}
-
 int netif_receive_skb(struct sk_buff *skb);
 int netif_receive_skb_core(struct sk_buff *skb);
 void netif_receive_skb_list_internal(struct list_head *head);
index 337e20b..7f8a14d 100644 (file)
@@ -444,7 +444,7 @@ static void batadv_bla_send_claim(struct batadv_priv *bat_priv, const u8 *mac,
        batadv_add_counter(bat_priv, BATADV_CNT_RX_BYTES,
                           skb->len + ETH_HLEN);
 
-       netif_rx_any_context(skb);
+       netif_rx(skb);
 out:
        batadv_hardif_put(primary_if);
 }
index 8e8c075..215af9b 100644 (file)
@@ -240,7 +240,7 @@ static int give_skb_to_upper(struct sk_buff *skb, struct net_device *dev)
        if (!skb_cp)
                return NET_RX_DROP;
 
-       return netif_rx_ni(skb_cp);
+       return netif_rx(skb_cp);
 }
 
 static int iphc_decompress(struct sk_buff *skb, struct net_device *netdev,
index 40baa6b..5a6a498 100644 (file)
@@ -400,7 +400,7 @@ static int bnep_rx_frame(struct bnep_session *s, struct sk_buff *skb)
        dev->stats.rx_packets++;
        nskb->ip_summed = CHECKSUM_NONE;
        nskb->protocol  = eth_type_trans(nskb, dev);
-       netif_rx_ni(nskb);
+       netif_rx(nskb);
        return 0;
 
 badframe:
index 65218b7..2b582da 100644 (file)
@@ -146,7 +146,7 @@ EXPORT_SYMBOL(phonet_header_ops);
  * Prepends an ISI header and sends a datagram.
  */
 static int pn_send(struct sk_buff *skb, struct net_device *dev,
-                       u16 dst, u16 src, u8 res, u8 irq)
+                       u16 dst, u16 src, u8 res)
 {
        struct phonethdr *ph;
        int err;
@@ -182,7 +182,7 @@ static int pn_send(struct sk_buff *skb, struct net_device *dev,
        if (skb->pkt_type == PACKET_LOOPBACK) {
                skb_reset_mac_header(skb);
                skb_orphan(skb);
-               err = (irq ? netif_rx(skb) : netif_rx_ni(skb)) ? -ENOBUFS : 0;
+               err = netif_rx(skb) ? -ENOBUFS : 0;
        } else {
                err = dev_hard_header(skb, dev, ntohs(skb->protocol),
                                        NULL, NULL, skb->len);
@@ -214,7 +214,7 @@ static int pn_raw_send(const void *data, int len, struct net_device *dev,
        skb_reserve(skb, MAX_PHONET_HEADER);
        __skb_put(skb, len);
        skb_copy_to_linear_data(skb, data, len);
-       return pn_send(skb, dev, dst, src, res, 1);
+       return pn_send(skb, dev, dst, src, res);
 }
 
 /*
@@ -269,7 +269,7 @@ int pn_skb_send(struct sock *sk, struct sk_buff *skb,
        if (!pn_addr(src))
                src = pn_object(saddr, pn_obj(src));
 
-       err = pn_send(skb, dev, dst, src, res, 0);
+       err = pn_send(skb, dev, dst, src, res);
        dev_put(dev);
        return err;
 
index 473a790..9dfe2bd 100644 (file)
@@ -768,7 +768,7 @@ void tipc_clone_to_loopback(struct net *net, struct sk_buff_head *pkts)
                skb->pkt_type = PACKET_HOST;
                skb->ip_summed = CHECKSUM_UNNECESSARY;
                skb->protocol = eth_type_trans(skb, dev);
-               netif_rx_ni(skb);
+               netif_rx(skb);
        }
 }