DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 869] [asan] eventdev: use-after-free in event_eth_tx_adapter_autotest
Date: Fri, 29 Oct 2021 12:15:36 +0000	[thread overview]
Message-ID: <bug-869-3@http.bugs.dpdk.org/> (raw)

https://bugs.dpdk.org/show_bug.cgi?id=869

            Bug ID: 869
           Summary: [asan] eventdev: use-after-free in
                    event_eth_tx_adapter_autotest
           Product: DPDK
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: other
          Assignee: dev@dpdk.org
          Reporter: david.marchand@redhat.com
  Target Milestone: ---

Using series https://patchwork.dpdk.org/project/dpdk/list/?series=19821,
calling event_eth_tx_adapter_autotest shows:

93/97 DPDK:fast-tests / event_eth_tx_adapter_autotest  FAIL     2.48 s (exit
status 1)

--- command ---
DPDK_TEST='event_eth_tx_adapter_autotest'
/home/runner/work/dpdk/dpdk/build/app/test/dpdk-test -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_cpt.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_dpaax.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_iavf.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_octeontx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_octeontx2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_bus_auxiliary.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_bus_dpaa.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_bus_fslmc.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_bus_ifpga.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_bus_pci.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_bus_vdev.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_bus_vmbus.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_cnxk.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_mlx5.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_qat.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_common_sfc_efx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_mempool_bucket.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_mempool_cnxk.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_mempool_dpaa.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_mempool_dpaa2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_mempool_octeontx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_mempool_octeontx2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_mempool_ring.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_mempool_stack.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_dma_idxd.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_dma_ioat.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_dma_skeleton.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_af_packet.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_ark.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_atlantic.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_avp.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_axgbe.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_bnx2x.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_bnxt.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_bond.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_cnxk.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_cxgbe.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_dpaa.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_dpaa2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_e1000.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_ena.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_enetc.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_enic.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_failsafe.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_fm10k.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_hinic.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_hns3.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_i40e.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_iavf.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_ice.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_igc.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_ionic.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_ipn3ke.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_ixgbe.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_kni.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_liquidio.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_memif.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_mlx4.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_mlx5.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_netvsc.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_nfp.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_ngbe.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_null.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_octeontx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_octeontx2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_octeontx_ep.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_pcap.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_pfe.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_qede.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_ring.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_sfc.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_softnic.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_tap.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_thunderx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_txgbe.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_vdev_netvsc.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_vhost.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_virtio.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_net_vmxnet3.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_raw_cnxk_bphy.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_raw_dpaa2_cmdif.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_raw_dpaa2_qdma.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_raw_ifpga.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_raw_ntb.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_raw_skeleton.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_bcmfs.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_caam_jr.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_ccp.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_cnxk.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_dpaa_sec.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_dpaa2_sec.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_mlx5.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_nitrox.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_null.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_octeontx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_octeontx2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_openssl.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_scheduler.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_crypto_virtio.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_compress_mlx5.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_compress_octeontx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_compress_zlib.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_regex_mlx5.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_regex_octeontx2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_vdpa_ifc.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_vdpa_mlx5.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_cnxk.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_dlb2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_dpaa.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_dpaa2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_dsw.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_octeontx2.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_opdl.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_skeleton.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_sw.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_event_octeontx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_baseband_acc100.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_baseband_fpga_5gnr_fec.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_baseband_fpga_lte_fec.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_baseband_la12xx.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_baseband_null.so -d
/home/runner/work/dpdk/dpdk/build/drivers/librte_baseband_turbo_sw.so
--file-prefix=event_eth_tx_adapter_autotest
--- stdout ---
RTE>>event_eth_tx_adapter_autotest
--- stderr ---
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: WARNING! Base virtual address hint (0x100005000 != 0x7fa217224000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Multi-process socket /var/run/dpdk/event_eth_tx_adapter_autotest/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available 1048576 kB hugepages reported
EAL: VFIO support initialized
EAL: WARNING! Base virtual address hint (0x10000b000 != 0x7fa2170c4000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x100011000 != 0x7fa217063000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x100a12000 != 0x7f9dfd800000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x100c17000 != 0x7fa217002000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x101618000 != 0x7f99fd600000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x10181d000 != 0x7fa216e9f000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x10221e000 != 0x7f95fd400000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x102423000 != 0x7fa216e3e000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x102e24000 != 0x7f91fd200000) not
respected!
EAL:    This may cause issues with mapping memory into secondary processes
APP: HPET is not enabled, using TSC as default timer
Invalid port_id=2
EVENTDEV: txa_service_adapter_free() line 744: 1 Tx queues not deleted
=================================================================
==27478==ERROR: AddressSanitizer: heap-use-after-free on address 0x7f9dfda00b50
at pc 0x7fa222fb9c49 bp 0x7fffd48aa1b0 sp 0x7fffd48aa1a8
READ of size 1 at 0x7f9dfda00b50 thread T0
    #0 0x7fa222fb9c48 in txa_service_queue_del
/home/runner/work/dpdk/dpdk/build/../lib/eventdev/rte_event_eth_tx_adapter.c:877:15
    #1 0x7fa222fb9447 in rte_event_eth_tx_adapter_queue_del
/home/runner/work/dpdk/dpdk/build/../lib/eventdev/rte_event_eth_tx_adapter.c:1128:9
    #2 0xf4a10c in tx_adapter_dynamic_device
/home/runner/work/dpdk/dpdk/build/../app/test/test_event_eth_tx_adapter.c:663:9
    #3 0x517294 in unit_test_suite_runner
/home/runner/work/dpdk/dpdk/build/../app/test/test.c:345:20
    #4 0x4d7600 in cmd_autotest_parsed
/home/runner/work/dpdk/dpdk/build/../app/test/commands.c:71:10
    #5 0x7fa223f0f5c8 in cmdline_parse
/home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline_parse.c:290:3
    #6 0x7fa223f0c467 in cmdline_valid_buffer
/home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline.c:26:8
    #7 0x7fa223f147aa in rdline_char_in
/home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline_rdline.c:446:5
    #8 0x7fa223f0c82c in cmdline_in
/home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline.c:148:9
    #9 0x516ce1 in main
/home/runner/work/dpdk/dpdk/build/../app/test/test.c:214:8
    #10 0x7fa21d43cbf6 in __libc_start_main
/build/glibc-S9d2JN/glibc-2.27/csu/../csu/libc-start.c:310
    #11 0x42ff59 in _start
(/home/runner/work/dpdk/dpdk/build/app/test/dpdk-test+0x42ff59)

Address 0x7f9dfda00b50 is a wild pointer.
SUMMARY: AddressSanitizer: heap-use-after-free
/home/runner/work/dpdk/dpdk/build/../lib/eventdev/rte_event_eth_tx_adapter.c:877:15
in txa_service_queue_del
Shadow bytes around the buggy address:
  0x0ff43fb38110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ff43fb38120: 00 00 00 00 00 00 00 00 fd fd fd fd fd fd fd fd
  0x0ff43fb38130: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0ff43fb38140: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0ff43fb38150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0ff43fb38160: 00 00 00 00 00 00 00 00 fd fd[fd]fd fd fd fd fd
  0x0ff43fb38170: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0ff43fb38180: fd fd fd fd fd fd fd fd 00 00 00 00 00 00 00 00
  0x0ff43fb38190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa fa
  0x0ff43fb381a0: 00 00 00 00 00 00 00 00 00 fa fa 00 00 00 00 00
  0x0ff43fb381b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==27478==ABORTING
-------

-- 
You are receiving this mail because:
You are the assignee for the bug.

                 reply	other threads:[~2021-10-29 12:15 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=bug-869-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.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).