Thread (11 messages) 11 messages, 4 authors, 2020-02-14

Re: [dpdk-dev] [PATCH v2] service: don't walk out of bounds when checking services

From: Kevin Traynor <hidden>
Date: 2020-02-07 12:04:26

On 20/12/2019 14:43, David Marchand wrote:
On Wed, Dec 4, 2019 at 9:34 AM David Marchand [off-list ref] wrote:
quoted
On Wed, Dec 4, 2019 at 9:33 AM David Marchand [off-list ref] wrote:
quoted
On Tue, Dec 3, 2019 at 10:15 PM Aaron Conole [off-list ref] wrote:
quoted
The service_valid call is used without properly bounds checking the
input parameter.  Almost all instances of the service_valid call are
inside a for() loop that prevents excessive walks, but some of the
public APIs don't bounds check and will pass invalid arguments.

Prevent this by using SERVICE_GET_OR_ERR_RET where it makes sense,
and adding a bounds check to one service_valid() use.

Fixes: 8d39d3e237c2 ("service: fix race in service on app lcore function")
Fixes: e9139a32f6e8 ("service: add function to run on app lcore")
Fixes: e30dd31847d2 ("service: add mechanism for quiescing")
Cc: stable@dpdk.org
With the commit below, this patch will apply cleanly on 18.11.

Seems ok to me to add below commit, wdyt?

commit e484ccddbe1b41886fef1e445ef2fdfa55086198
Author: Nikhil Rao [off-list ref]
Date:   Mon Sep 16 15:31:02 2019 +0530

    service: avoid false sharing on core state

quoted
quoted
quoted
Signed-off-by: Aaron Conole <aconole@redhat.com>
Reviewed-by: David Marchand <redacted>
Applied, thanks.


--
David Marchand
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help