Go to file
Rahul Lakkireddy 19cafed99a net/cxgbe: fix dangling pointer by mailbox access rework
Rework mailbox access serialization to dynamically allocate and
free mbox entry. Also remove unnecessary temp memory and macros.

Observed with: gcc-12.0 (GCC) 12.0.1 20220118 (experimental)

In file included from ../lib/eal/linux/include/rte_os.h:14,
                 from ../lib/eal/include/rte_common.h:28,
                 from ../lib/eal/include/rte_log.h:25,
                 from ../lib/ethdev/rte_ethdev.h:164,
                 from ../lib/ethdev/ethdev_driver.h:18,
                 from ../drivers/net/cxgbe/base/t4vf_hw.c:6:
In function ‘t4_os_atomic_add_tail’,
    inlined from ‘t4vf_wr_mbox_core’ at
	../drivers/net/cxgbe/base/t4vf_hw.c:115:2:
../drivers/net/cxgbe/base/adapter.h:742:9:
      warning: storing the address of local variable ‘entry’ in
      ‘((struct mbox_list *)adapter)[96].tqh_last’ [-Wdangling-pointer=]
  742 |         TAILQ_INSERT_TAIL(head, entry, next);
      |         ^~~~~~~~~~~~~~~~~
../drivers/net/cxgbe/base/t4vf_hw.c: In function ‘t4vf_wr_mbox_core’:
../drivers/net/cxgbe/base/t4vf_hw.c:86:27: note: ‘entry’ declared here
   86 |         struct mbox_entry entry;
      |                           ^~~~~
../drivers/net/cxgbe/base/t4vf_hw.c:86:27: note: ‘adapter’ declared here

Fixes: 3bd122eef2 ("cxgbe/base: add hardware API for Chelsio T5 series adapters")
Cc: stable@dpdk.org

Reported-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2022-01-20 12:23:24 +01:00
.ci ci: test minimum configuration 2021-11-17 12:48:20 +01:00
.github/workflows version: 22.03-rc0 2021-12-02 21:36:19 +01:00
app app/testpmd: fix external buffer allocation 2022-01-18 14:22:15 +01:00
buildtools buildtools: fix AVX512 check for Python 3.5 2022-01-12 18:06:52 +01:00
config config: add arch define for Arm 2022-01-20 15:53:00 +01:00
devtools devtools: fix comment detection in forbidden token check 2022-01-27 17:17:41 +01:00
doc ethdev: mark old macros as deprecated 2022-01-13 17:56:20 +01:00
drivers net/cxgbe: fix dangling pointer by mailbox access rework 2022-01-20 12:23:24 +01:00
examples examples/ipsec-secgw: fix default flow rule creation 2022-01-21 10:17:35 +01:00
kernel fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
lib ethdev: mark old macros as deprecated 2022-01-13 17:56:20 +01:00
license lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
usertools drivers: remove octeontx2 drivers 2022-01-12 15:36:32 +01:00
.editorconfig devtools: clarify that lines up to 100 characters are ok 2021-11-25 11:51:24 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add eventdev feature matrices 2021-11-26 16:29:25 +01:00
.travis.yml version: 22.03-rc0 2021-12-02 21:36:19 +01:00
ABI_VERSION version: 22.03-rc0 2021-12-02 21:36:19 +01:00
MAINTAINERS net/tap: remove maintainer 2022-01-18 10:04:25 +01:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt config: add option for atomic mbuf reference counting 2021-10-25 17:53:30 +02:00
meson.build lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 22.03-rc0 2021-12-02 21:36:19 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org