Skip to content

Commit

Permalink
eventdev/eth_tx: fix adapter creation
Browse files Browse the repository at this point in the history
[ upstream commit 3d6e9dd ]

During adapter create, memory is allocated for storing event port
configuration which is freed during adapter free. The following
error is seen during free "EAL: Error: Invalid memory"

The service data pointer storage for txa_service_data_array is
allocated during adapter create with incorrect size which is less
than the required size.
Initialization of this memory causes buffer overflow and result in
metadata overwrite of event port config memory allocated above
and results in the above error message during free.

Allocating the correct size of memory for txa_service_data_array
prevents overwriting other memory areas like event port config
memory.

Fixes: a3bbf2e ("eventdev: add eth Tx adapter implementation")

Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
  • Loading branch information
svnagaha authored and kevintraynor committed Jun 24, 2022
1 parent 19591ad commit bd9ffc1
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion lib/eventdev/rte_event_eth_tx_adapter.c
Expand Up @@ -224,7 +224,7 @@ txa_service_data_init(void)
if (txa_service_data_array == NULL) {
txa_service_data_array =
txa_memzone_array_get("txa_service_data_array",
sizeof(int),
sizeof(*txa_service_data_array),
RTE_EVENT_ETH_TX_ADAPTER_MAX_INSTANCE);
if (txa_service_data_array == NULL)
return -ENOMEM;
Expand Down

0 comments on commit bd9ffc1

Please sign in to comment.