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
next prev 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).