Re: [dpdk-dev] [PATCH v2] service: don't walk out of bounds when checking services
From: Kevin Traynor <hidden>
Date: 2020-02-14 16:38:55
On 07/02/2020 14:27, Aaron Conole wrote:
Kevin Traynor [off-list ref] writes:quoted
On 20/12/2019 14:43, David Marchand wrote:quoted
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.orgWith the commit below, this patch will apply cleanly on 18.11. Seems ok to me to add below commit, wdyt?If I'm reading it correctly, the move is for an internal data structure in librte_eal, so I think it shouldn't be an ABI breakage. Looks safe to me as well.
Thanks, both patches applied.
quoted
commit e484ccddbe1b41886fef1e445ef2fdfa55086198 Author: Nikhil Rao [off-list ref] Date: Mon Sep 16 15:31:02 2019 +0530 service: avoid false sharing on core statequoted
quoted
quoted
quoted
Signed-off-by: Aaron Conole <aconole@redhat.com>Reviewed-by: David Marchand <redacted>Applied, thanks. -- David Marchand