DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [PATCH v2 00/14] Remove unnecessary function pointer deref
Date: Wed, 19 Feb 2025 18:32:04 -0800	[thread overview]
Message-ID: <20250220023509.630569-1-stephen@networkplumber.org> (raw)
In-Reply-To: <20250217185743.169778-1-stephen@networkplumber.org>

A common pattern in DPDK internals is to have an array of function
pointers. When using these pointers an unnecessary derefence is done;
this is allowed in C because of a historical quirk but unnecessary.

This fixes all instances of PVS Studio checker warning:
 https://pvs-studio.com/en/docs/warnings/v516/

This leads to a large number of warnings marked as High severity.
This patchset simplifies the source and gets rid of these warnings.

Stephen Hemminger (14):
  ethdev: remove unnecessary deref on function pointers
  eventdev: remover unnecessary deref on function pointers
  net/bonding: remove unnecessary deref of function pointers
  net/ixgbe: remove unnecessary dereference
  net/ipn3ke: remove unnecessary dereference
  net/memif: remove unnecessary deref of function pointers
  cryptodev: remove unnecessary deref of function pointers
  crypto/scheduler: remove unnecessary dereference
  compressdev: remove unnecessary deref of function pointers
  dmadev: remove unnecessary deref of function pointers
  rawdev: remove unnecessary deref of function pointers
  mldev: remove unnecessary deref of function pointers
  regexdev: remove unnecessary deref of function pointers
  security: remove unnecessary dereference

 .../scheduler/rte_cryptodev_scheduler.c       |   8 +-
 drivers/crypto/scheduler/scheduler_pmd_ops.c  |  25 +-
 drivers/net/bonding/rte_eth_bond_pmd.c        |  12 +-
 drivers/net/intel/ipn3ke/ipn3ke_ethdev.c      |  27 +-
 drivers/net/intel/ixgbe/rte_pmd_ixgbe.c       |   5 +-
 drivers/net/memif/rte_eth_memif.c             |   6 +-
 lib/compressdev/rte_compressdev.c             |  56 +-
 lib/cryptodev/rte_cryptodev.c                 |  72 ++-
 lib/dmadev/rte_dmadev.c                       |  38 +-
 lib/ethdev/ethdev_driver.c                    |  16 +-
 lib/ethdev/ethdev_private.c                   |   4 +-
 lib/ethdev/rte_ethdev.c                       | 492 ++++++++----------
 lib/ethdev/rte_ethdev.h                       |  12 +-
 lib/ethdev/rte_ethdev_cman.c                  |   8 +-
 lib/eventdev/rte_event_crypto_adapter.c       |  37 +-
 lib/eventdev/rte_event_dma_adapter.c          |  16 +-
 lib/eventdev/rte_event_eth_rx_adapter.c       |  50 +-
 lib/eventdev/rte_eventdev.c                   | 164 +++---
 lib/mldev/rte_mldev.c                         |  88 ++--
 lib/rawdev/rte_rawdev.c                       |  99 ++--
 lib/regexdev/rte_regexdev.c                   |  72 +--
 lib/security/rte_security.c                   |   5 +-
 22 files changed, 612 insertions(+), 700 deletions(-)

-- 
2.47.2


  parent reply	other threads:[~2025-02-20  2:35 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-17 18:53 [RFC 00/11] Fix dev_ops dereferences Stephen Hemminger
2025-02-17 18:54 ` [RFC 01/11] ethdev: remove unnecessary deref on function pointers Stephen Hemminger
2025-02-17 18:54 ` [RFC 02/11] eventdev: remover " Stephen Hemminger
2025-02-17 18:54 ` [RFC 03/11] net/ixgbe: remove unnecessary dereference Stephen Hemminger
2025-02-17 18:54 ` [RFC 04/11] net/memif: remove unnecessary deref of function pointers Stephen Hemminger
2025-02-17 18:54 ` [RFC 05/11] cryptodev: " Stephen Hemminger
2025-02-17 18:54 ` [RFC 06/11] crypto/scheduler: remove unnecessary dereference Stephen Hemminger
2025-02-17 18:54 ` [RFC 07/11] compressdev: remove unnecessary deref of function pointers Stephen Hemminger
2025-02-17 18:54 ` [RFC 08/11] dmadev: " Stephen Hemminger
2025-02-17 18:54 ` [RFC 09/11] rawdev: " Stephen Hemminger
2025-02-17 18:54 ` [RFC 10/11] mldev: " Stephen Hemminger
2025-02-17 18:54 ` [RFC 11/11] regexdev: " Stephen Hemminger
2025-02-17 20:24 ` [RFC 00/11] Fix dev_ops dereferences Morten Brørup
2025-02-18  3:01   ` Stephen Hemminger
2025-02-18  8:47   ` Bruce Richardson
2025-02-20  2:32 ` Stephen Hemminger [this message]
2025-02-20  2:32   ` [PATCH v2 01/14] ethdev: remove unnecessary deref on function pointers Stephen Hemminger
2025-02-20  7:09     ` Andrew Rybchenko
2025-02-20 16:09       ` Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 02/14] eventdev: remover " Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 03/14] net/bonding: remove unnecessary deref of " Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 04/14] net/ixgbe: remove unnecessary dereference Stephen Hemminger
2025-02-20  9:17     ` Bruce Richardson
2025-02-20  2:32   ` [PATCH v2 05/14] net/ipn3ke: " Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 06/14] net/memif: remove unnecessary deref of function pointers Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 07/14] cryptodev: " Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 08/14] crypto/scheduler: remove unnecessary dereference Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 09/14] compressdev: remove unnecessary deref of function pointers Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 10/14] dmadev: " Stephen Hemminger
2025-02-20  3:00     ` fengchengwen
2025-02-20  2:32   ` [PATCH v2 11/14] rawdev: " Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 12/14] mldev: " Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 13/14] regexdev: " Stephen Hemminger
2025-02-20  2:32   ` [PATCH v2 14/14] security: remove unnecessary dereference Stephen Hemminger
2025-02-20  8:05   ` [PATCH v2 00/14] Remove unnecessary function pointer deref Morten Brørup
2025-02-20  9:17   ` Bruce Richardson
2025-02-20 16:55 ` [PATCH v3 " Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 01/14] ethdev: remove unnecessary deref on function pointers Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 02/14] eventdev: remover " Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 03/14] net/bonding: remove unnecessary deref of " Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 04/14] net/ixgbe: remove unnecessary dereference Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 05/14] net/ipn3ke: " Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 06/14] net/memif: remove unnecessary deref of function pointers Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 07/14] cryptodev: " Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 08/14] crypto/scheduler: remove unnecessary dereference Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 09/14] compressdev: remove unnecessary deref of function pointers Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 10/14] dmadev: " Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 11/14] rawdev: " Stephen Hemminger
2025-02-21  9:12     ` Hemant Agrawal
2025-02-20 16:55   ` [PATCH v3 12/14] mldev: " Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 13/14] regexdev: " Stephen Hemminger
2025-02-20 16:55   ` [PATCH v3 14/14] security: remove unnecessary dereference Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250220023509.630569-1-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).