From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [RFC 00/11] Fix dev_ops dereferences
Date: Mon, 17 Feb 2025 10:53:59 -0800 [thread overview]
Message-ID: <20250217185743.169778-1-stephen@networkplumber.org> (raw)
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.
The PVS Studio checker flags these as:
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.
It should have no impact on the resulting binary.
Stephen Hemminger (11):
ethdev: remove unnecessary deref on function pointers
eventdev: remover unnecessary deref on function pointers
net/ixgbe: 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
drivers/crypto/scheduler/scheduler_pmd_ops.c | 5 +-
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 | 489 +++++++++----------
lib/ethdev/rte_ethdev_cman.c | 8 +-
lib/eventdev/rte_event_crypto_adapter.c | 36 +-
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 +--
17 files changed, 575 insertions(+), 649 deletions(-)
--
2.47.2
next reply other threads:[~2025-02-17 18:57 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-17 18:53 Stephen Hemminger [this message]
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 ` [PATCH v2 00/14] Remove unnecessary function pointer deref Stephen Hemminger
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=20250217185743.169778-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).