[dpdk-dev] ethdev: Fix illegal access of rte_eth_dev_is_detachable()
Commit Message
To obtain detachable flag, pci_drv is accessed in rte_eth_dev_is_detachable().
But pci_drv is only valid if port is enabled. Not to cause illegal access,
add rte_eth_dev_is_valid_port() before accessing.
Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
---
lib/librte_ether/rte_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Tetsuya Mukawa
> Sent: Friday, August 7, 2015 10:21 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] ethdev: Fix illegal access of
> rte_eth_dev_is_detachable()
>
> To obtain detachable flag, pci_drv is accessed in
> rte_eth_dev_is_detachable().
> But pci_drv is only valid if port is enabled. Not to cause illegal access, add
> rte_eth_dev_is_valid_port() before accessing.
>
> Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Bernard Iremonger <Bernard.iremonger@intel.com>
> > To obtain detachable flag, pci_drv is accessed in
> > rte_eth_dev_is_detachable().
> > But pci_drv is only valid if port is enabled. Not to cause illegal access, add
> > rte_eth_dev_is_valid_port() before accessing.
> >
> > Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
>
> Acked-by: Bernard Iremonger <Bernard.iremonger@intel.com>
Applied, thanks
@@ -505,7 +505,7 @@ rte_eth_dev_is_detachable(uint8_t port_id)
{
uint32_t drv_flags;
- if (port_id >= RTE_MAX_ETHPORTS) {
+ if (!rte_eth_dev_is_valid_port(port_id)) {
PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
return -EINVAL;
}