[dpdk-dev] net/tap: fix icc build

Message ID 20180312193134.219899-1-ferruh.yigit@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Ferruh Yigit March 12, 2018, 7:31 p.m. UTC
  build error:
.../dpdk/drivers/net/tap/rte_eth_tap.c(598):
error #279: controlling expression is constant
	RTE_ASSERT(!"unsupported request type: must not happen");

Although RTE_ASSERT helps debugging this issue when assert enabled,
constant expression in assert means this path can be taken during
runtime and there is no protection against it when assert is disabled.

Adding error log and error return back, replacing RTE_ASSERT.

Fixes: 7748a4b44196 ("net/tap: add debug messages")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/tap/rte_eth_tap.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

De Lara Guarch, Pablo April 24, 2018, 1:21 p.m. UTC | #1
> -----Original Message-----
> From: stable [mailto:stable-bounces@dpdk.org] On Behalf Of Ferruh Yigit
> Sent: Monday, March 12, 2018 7:32 PM
> To: Pascal Mazon <pascal.mazon@6wind.com>
> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>; stable@dpdk.org
> Subject: [dpdk-stable] [PATCH] net/tap: fix icc build
> 
> build error:
> .../dpdk/drivers/net/tap/rte_eth_tap.c(598):
> error #279: controlling expression is constant
> 	RTE_ASSERT(!"unsupported request type: must not happen");
> 
> Although RTE_ASSERT helps debugging this issue when assert enabled, constant
> expression in assert means this path can be taken during runtime and there is no
> protection against it when assert is disabled.
> 
> Adding error log and error return back, replacing RTE_ASSERT.
> 
> Fixes: 7748a4b44196 ("net/tap: add debug messages")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
  
Ferruh Yigit April 24, 2018, 5:05 p.m. UTC | #2
On 4/24/2018 2:21 PM, De Lara Guarch, Pablo wrote:
> 
> 
>> -----Original Message-----
>> From: stable [mailto:stable-bounces@dpdk.org] On Behalf Of Ferruh Yigit
>> Sent: Monday, March 12, 2018 7:32 PM
>> To: Pascal Mazon <pascal.mazon@6wind.com>
>> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>; stable@dpdk.org
>> Subject: [dpdk-stable] [PATCH] net/tap: fix icc build
>>
>> build error:
>> .../dpdk/drivers/net/tap/rte_eth_tap.c(598):
>> error #279: controlling expression is constant
>> 	RTE_ASSERT(!"unsupported request type: must not happen");
>>
>> Although RTE_ASSERT helps debugging this issue when assert enabled, constant
>> expression in assert means this path can be taken during runtime and there is no
>> protection against it when assert is disabled.
>>
>> Adding error log and error return back, replacing RTE_ASSERT.
>>
>> Fixes: 7748a4b44196 ("net/tap: add debug messages")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> 
> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index f09db0ea9..4bf2d9618 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -593,7 +593,9 @@  tap_ioctl(struct pmd_internals *pmd, unsigned long request,
 	case SIOCSIFMTU:
 		break;
 	default:
-		RTE_ASSERT(!"unsupported request type: must not happen");
+		RTE_LOG(WARNING, PMD, "%s: ioctl() called with wrong arg\n",
+			pmd->name);
+		return -EINVAL;
 	}
 	if (ioctl(pmd->ioctl_sock, request, ifr) < 0)
 		goto error;