compressdev: fix size of socket ID in device data struct
Checks
Commit Message
Socket ID is used and interpreted as integer, one of the possible
values for socket id is -1 (SOCKET_ID_ANY).
here socket_id is defined as unsigned 8 bit integer, so when putting
-1, it is interpreted as 255, which causes allocation errors when
trying to allocate from socket_id (255).
change socket_id from unsigned 8 bit integer to integer.
Fixes: ed7dd94f7f66 ("compressdev: add basic device management")
Cc: fiona.trahe@intel.com
Cc: stable@dpdk.org
Signed-off-by: Raja Zidane <rzidane@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
lib/compressdev/rte_compressdev_internal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> Socket ID is used and interpreted as integer, one of the possible
> values for socket id is -1 (SOCKET_ID_ANY).
> here socket_id is defined as unsigned 8 bit integer, so when putting
> -1, it is interpreted as 255, which causes allocation errors when
> trying to allocate from socket_id (255).
>
> change socket_id from unsigned 8 bit integer to integer.
>
> Fixes: ed7dd94f7f66 ("compressdev: add basic device management")
> Cc: fiona.trahe@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Raja Zidane <rzidane@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
Applied to dpdk-next-crypto
Thanks.
@@ -98,7 +98,7 @@ struct rte_compressdev {
struct rte_compressdev_data {
uint8_t dev_id;
/**< Compress device identifier */
- uint8_t socket_id;
+ int socket_id;
/**< Socket identifier where memory is allocated */
char name[RTE_COMPRESSDEV_NAME_MAX_LEN];
/**< Unique identifier name */