examples/ioat: fix failure check for ioat dequeue

Message ID 20200204160006.64720-1-ciara.power@intel.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series examples/ioat: fix failure check for ioat dequeue |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/travis-robot success Travis build: passed
ci/iol-testing fail Testing issues
ci/Intel-compilation fail apply issues

Commit Message

Power, Ciara Feb. 4, 2020, 4 p.m. UTC
  The nb_dq return value from the ioat dequeue is negative in failure
cases, however the variable was an unsigned int, causing the condition
where nb_dq <= 0 to never be true. This is now cast to a signed int,
which will successfully reflect the -1 value to be used in this
conditional check.

Coverity issue: 350342
Coverity issue: 350349
Fixes: 92c981637ffc ("examples/ioat: handle failure case for ioat dequeue")
Cc: bruce.richardson@intel.com
Cc: stable@dpdk.org

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 examples/ioat/ioatfwd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Bruce Richardson Feb. 13, 2020, 12:09 p.m. UTC | #1
On Tue, Feb 04, 2020 at 04:00:06PM +0000, Ciara Power wrote:
> The nb_dq return value from the ioat dequeue is negative in failure
> cases, however the variable was an unsigned int, causing the condition
> where nb_dq <= 0 to never be true. This is now cast to a signed int,
> which will successfully reflect the -1 value to be used in this
> conditional check.
> 
> Coverity issue: 350342
> Coverity issue: 350349
> Fixes: 92c981637ffc ("examples/ioat: handle failure case for ioat dequeue")
> Cc: bruce.richardson@intel.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  
David Marchand Feb. 13, 2020, 2:01 p.m. UTC | #2
On Tue, Feb 4, 2020 at 5:10 PM Ciara Power <ciara.power@intel.com> wrote:
>
> The nb_dq return value from the ioat dequeue is negative in failure
> cases, however the variable was an unsigned int, causing the condition
> where nb_dq <= 0 to never be true. This is now cast to a signed int,
> which will successfully reflect the -1 value to be used in this
> conditional check.
>
> Coverity issue: 350342
> Coverity issue: 350349
> Fixes: 92c981637ffc ("examples/ioat: handle failure case for ioat dequeue")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ciara Power <ciara.power@intel.com>

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Applied, thanks.


--
David Marchand
  

Patch

diff --git a/examples/ioat/ioatfwd.c b/examples/ioat/ioatfwd.c
index e9117718f..f460a5c92 100644
--- a/examples/ioat/ioatfwd.c
+++ b/examples/ioat/ioatfwd.c
@@ -460,7 +460,7 @@  ioat_tx_port(struct rxtx_port_config *tx_config)
 				MAX_PKT_BURST, NULL);
 		}
 
-		if (nb_dq <= 0)
+		if ((int32_t) nb_dq <= 0)
 			return;
 
 		if (copy_mode == COPY_MODE_IOAT_NUM)