[EXTERNAL] [PATCH 38/61] net: Prefer IS_ERR_OR_NULL over manual NULL check
Elad Nachman
enachman at marvell.com
Tue Mar 10 15:07:29 UTC 2026
>
>
> From: Philipp Hahn <phahn-oss at avm.de>
> Sent: Tuesday, March 10, 2026 1:49 PM
> To: amd-gfx at lists.freedesktop.org; apparmor at lists.ubuntu.com; bpf at vger.kernel.org; ceph-devel at vger.kernel.org; cocci at inria.fr; dm-devel at lists.linux.dev; dri-devel at lists.freedesktop.org; gfs2 at lists.linux.dev; intel-gfx at lists.freedesktop.org; intel-wired-lan at lists.osuosl.org; iommu at lists.linux.dev; kvm at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-block at vger.kernel.org; linux-bluetooth at vger.kernel.org; linux-btrfs at vger.kernel.org; linux-cifs at vger.kernel.org; linux-clk at vger.kernel.org; linux-erofs at lists.ozlabs.org; linux-ext4 at vger.kernel.org; linux-fsdevel at vger.kernel.org; linux-gpio at vger.kernel.org; linux-hyperv at vger.kernel.org; linux-input at vger.kernel.org; linux-kernel at vger.kernel.org; linux-leds at vger.kernel.org; linux-media at vger.kernel.org; linux-mips at vger.kernel.org; linux-mm at kvack.org; linux-modules at vger.kernel.org; linux-mtd at lists.infradead.org; linux-nfs at vger.kernel.org; linux-omap at vger.kernel.org; linux-phy at lists.infradead.org; linux-pm at vger.kernel.org; linux-rockchip at lists.infradead.org; linux-s390 at vger.kernel.org; linux-scsi at vger.kernel.org; linux-sctp at vger.kernel.org; linux-security-module at vger.kernel.org; linux-sh at vger.kernel.org; linux-sound at vger.kernel.org; linux-stm32 at st-md-mailman.stormreply.com; linux-trace-kernel at vger.kernel.org; linux-usb at vger.kernel.org; linux-wireless at vger.kernel.org; netdev at vger.kernel.org; ntfs3 at lists.linux.dev; samba-technical at lists.samba.org; sched-ext at lists.linux.dev; target-devel at vger.kernel.org; tipc-discussion at lists.sourceforge.net; v9fs at lists.linux.dev; Philipp Hahn <phahn-oss at avm.de>
> Cc: Igor Russkikh <irusskikh at marvell.com>; Andrew Lunn <andrew+netdev at lunn.ch>; David S. Miller <davem at davemloft.net>; Eric Dumazet <edumazet at google.com>; Jakub Kicinski <kuba at kernel.org>; Paolo Abeni <pabeni at redhat.com>; Pavan Chebbi <pavan.chebbi at broadcom.com>; Michael Chan <mchan at broadcom.com>; Potnuri Bharat Teja <bharat at chelsio.com>; Tony Nguyen <anthony.l.nguyen at intel.com>; Przemek Kitszel <przemyslaw.kitszel at intel.com>; Taras Chornyi <taras.chornyi at plvision.eu>; Maxime Coquelin <mcoquelin.stm32 at gmail.com>; Alexandre Torgue <alexandre.torgue at foss.st.com>; Iyappan Subramanian <iyappan at os.amperecomputing.com>; Keyur Chudgar <keyur at os.amperecomputing.com>; Quan Nguyen <quan at os.amperecomputing.com>; Heiner Kallweit <hkallweit1 at gmail.com>; Russell King <linux at armlinux.org.uk>
> Subject: [EXTERNAL] [PATCH 38/61] net: Prefer IS_ERR_OR_NULL over manual NULL check
> ZjQcmQRYFpfptBannerEnd
> Prefer using IS_ERR_OR_NULL() over using IS_ERR() and a manual NULL
> check.
>
> Change generated with coccinelle.
>
> To: Igor Russkikh <mailto:irusskikh at marvell.com>
> To: Andrew Lunn <mailto:andrew+netdev at lunn.ch>
> To: "David S. Miller" <mailto:davem at davemloft.net>
> To: Eric Dumazet <mailto:edumazet at google.com>
> To: Jakub Kicinski <mailto:kuba at kernel.org>
> To: Paolo Abeni <mailto:pabeni at redhat.com>
> To: Pavan Chebbi <mailto:pavan.chebbi at broadcom.com>
> To: Michael Chan <mailto:mchan at broadcom.com>
> To: Potnuri Bharat Teja <mailto:bharat at chelsio.com>
> To: Tony Nguyen <mailto:anthony.l.nguyen at intel.com>
> To: Przemek Kitszel <mailto:przemyslaw.kitszel at intel.com>
> To: Taras Chornyi <mailto:taras.chornyi at plvision.eu>
> To: Maxime Coquelin <mailto:mcoquelin.stm32 at gmail.com>
> To: Alexandre Torgue <mailto:alexandre.torgue at foss.st.com>
> To: Iyappan Subramanian <mailto:iyappan at os.amperecomputing.com>
> To: Keyur Chudgar <mailto:keyur at os.amperecomputing.com>
> To: Quan Nguyen <mailto:quan at os.amperecomputing.com>
> To: Heiner Kallweit <mailto:hkallweit1 at gmail.com>
> To: Russell King <mailto:linux at armlinux.org.uk>
> Cc: mailto:netdev at vger.kernel.org
> Cc: mailto:linux-kernel at vger.kernel.org
> Cc: mailto:intel-wired-lan at lists.osuosl.org
> Cc: mailto:linux-stm32 at st-md-mailman.stormreply.com
> Cc: mailto:linux-arm-kernel at lists.infradead.org
> Cc: mailto:linux-usb at vger.kernel.org
> Signed-off-by: Philipp Hahn <mailto:phahn-oss at avm.de>
> ---
> drivers/net/ethernet/aquantia/atlantic/aq_ring.c | 2 +-
> drivers/net/ethernet/broadcom/tg3.c | 2 +-
> drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c | 3 +--
> drivers/net/ethernet/intel/ice/devlink/devlink.c | 2 +-
> drivers/net/ethernet/marvell/prestera/prestera_router.c | 2 +-
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
> drivers/net/mdio/mdio-xgene.c | 2 +-
> drivers/net/usb/r8152.c | 2 +-
> 8 files changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
> index e270327e47fd804cc8ee5cfd53ed1b993c955c41..43edef35c4b1ff606b2f1519a07fad4c9a990ad4 100644
> --- a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
> +++ b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
> @@ -810,7 +810,7 @@ static int __aq_ring_xdp_clean(struct aq_ring_s *rx_ring,
> }
>
> skb = aq_xdp_run_prog(aq_nic, &xdp, rx_ring, buff);
> - if (IS_ERR(skb) || !skb)
> + if (IS_ERR_OR_NULL(skb))
> continue;
>
> if (ptp_hwtstamp_len > 0)
> diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
> index 2328fce336447eb4a796f9300ccc0ab536ff0a35..8ed79f34f03d81184dcc12e6eaff009cb8f7756e 100644
> --- a/drivers/net/ethernet/broadcom/tg3.c
> +++ b/drivers/net/ethernet/broadcom/tg3.c
> @@ -7943,7 +7943,7 @@ static int tg3_tso_bug(struct tg3 *tp, struct tg3_napi *tnapi,
>
> segs = skb_gso_segment(skb, tp->dev->features &
> ~(NETIF_F_TSO | NETIF_F_TSO6));
> - if (IS_ERR(segs) || !segs) {
> + if (IS_ERR_OR_NULL(segs)) {
> tnapi->tx_dropped++;
> goto tg3_tso_bug_end;
> }
> diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
> index 3307e50426819087ad985178c4a5383f16b8e7b4..1c8a6445d4b2e3535d8f1b7908dd02d8dd2f23fa 100644
> --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
> +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
> @@ -1032,8 +1032,7 @@ static void ch_flower_stats_handler(struct work_struct *work)
> do {
> rhashtable_walk_start(&iter);
>
> - while ((flower_entry = rhashtable_walk_next(&iter)) &&
> - !IS_ERR(flower_entry)) {
> + while (!IS_ERR_OR_NULL((flower_entry = rhashtable_walk_next(&iter)))) {
> ret = cxgb4_get_filter_counters(adap->port[0],
> flower_entry->filter_id,
> &packets, &bytes,
> diff --git a/drivers/net/ethernet/intel/ice/devlink/devlink.c b/drivers/net/ethernet/intel/ice/devlink/devlink.c
> index 6c72bd15db6d75a1d4fa04ef8fefbd26fb6e84bd..3d08b9187fd76ca3198af28111b6f1c1765ea01e 100644
> --- a/drivers/net/ethernet/intel/ice/devlink/devlink.c
> +++ b/drivers/net/ethernet/intel/ice/devlink/devlink.c
> @@ -791,7 +791,7 @@ static void ice_traverse_tx_tree(struct devlink *devlink, struct ice_sched_node
> node->parent->rate_node);
> }
>
> - if (rate_node && !IS_ERR(rate_node))
> + if (!IS_ERR_OR_NULL(rate_node))
> node->rate_node = rate_node;
>
> traverse_children:
> diff --git a/drivers/net/ethernet/marvell/prestera/prestera_router.c b/drivers/net/ethernet/marvell/prestera/prestera_router.c
> index b036b173a308b5f994ad8538eb010fa27196988c..4492938e8a3da91d32efe8d45ccbe2eb437c0e49 100644
> --- a/drivers/net/ethernet/marvell/prestera/prestera_router.c
> +++ b/drivers/net/ethernet/marvell/prestera/prestera_router.c
> @@ -1061,7 +1061,7 @@ static void __prestera_k_arb_hw_state_upd(struct prestera_switch *sw,
> n = NULL;
> }
>
> - if (!IS_ERR(n) && n) {
> + if (!IS_ERR_OR_NULL(n)) {
> neigh_event_send(n, NULL);
> neigh_release(n);
> } else {
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 6827c99bde8c22db42b363d2d36ad6f26075ed50..356a4e9ce04b1fcf8786d7274d31ace404be2cf6 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -1275,7 +1275,7 @@ static int stmmac_init_phy(struct net_device *dev)
> /* Some DT bindings do not set-up the PHY handle. Let's try to
> * manually parse it
> */
> - if (!phy_fwnode || IS_ERR(phy_fwnode)) {
> + if (IS_ERR_OR_NULL(phy_fwnode)) {
> int addr = priv->plat->phy_addr;
> struct phy_device *phydev;
>
> diff --git a/drivers/net/mdio/mdio-xgene.c b/drivers/net/mdio/mdio-xgene.c
> index a8f91a4b7fed0927ee14e408000cd3a2bfb9b09a..09b30b563295c6085dc1358ac361301e5cf6b2a8 100644
> --- a/drivers/net/mdio/mdio-xgene.c
> +++ b/drivers/net/mdio/mdio-xgene.c
> @@ -265,7 +265,7 @@ struct phy_device *xgene_enet_phy_register(struct mii_bus *bus, int phy_addr)
> struct phy_device *phy_dev;
>
> phy_dev = get_phy_device(bus, phy_addr, false);
> - if (!phy_dev || IS_ERR(phy_dev))
> + if (IS_ERR_OR_NULL(phy_dev))
> return NULL;
>
> if (phy_device_register(phy_dev))
> diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
> index 0c83bbbea2e7c322ee6339893e281237663bd3ae..73f17ebd7d40007eec5004f887a46249defd28ab 100644
> --- a/drivers/net/usb/r8152.c
> +++ b/drivers/net/usb/r8152.c
> @@ -2218,7 +2218,7 @@ static void r8152_csum_workaround(struct r8152 *tp, struct sk_buff *skb,
>
> features &= ~(NETIF_F_SG | NETIF_F_IPV6_CSUM | NETIF_F_TSO6);
> segs = skb_gso_segment(skb, features);
> - if (IS_ERR(segs) || !segs)
> + if (IS_ERR_OR_NULL(segs))
> goto drop;
>
> __skb_queue_head_init(&seg_list);
>
> --
> 2.43.0
>
>
Acked-by: Elad Nachman <enachman at marvell.com>
More information about the Linux-security-module-archive
mailing list