numam-dpdk/lib
Aaron Conole 2e088e6f94 service: don't walk out of bounds when checking services
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: 8d39d3e237 ("service: fix race in service on app lcore function")
Fixes: e9139a32f6 ("service: add function to run on app lcore")
Fixes: e30dd31847 ("service: add mechanism for quiescing")
Cc: stable@dpdk.org

Signed-off-by: Aaron Conole <aconole@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
2019-12-20 15:09:35 +01:00
..
librte_acl build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_bbdev build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_bitratestats build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_bpf bpf/arm: fix clang build 2019-11-21 00:30:39 +01:00
librte_cfgfile build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_cmdline build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_compressdev build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_cryptodev build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_distributor build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_eal service: don't walk out of bounds when checking services 2019-12-20 15:09:35 +01:00
librte_efd build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_ethdev ethdev: limit maximum number of queues 2019-11-27 16:04:40 +01:00
librte_eventdev build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_fib remove blank lines at end of file 2019-11-26 00:12:08 +01:00
librte_flow_classify build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_gro build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_gso build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_hash build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_ip_frag build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_ipsec build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_jobstats build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_kni kni: fix build with Linux 4.9.x 2019-11-28 14:48:24 +01:00
librte_kvargs build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_latencystats build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_lpm build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_mbuf mbuf: extend mbuf pool private structure 2019-11-25 22:44:46 +01:00
librte_member build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_mempool build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_meter build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_metrics build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_net build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_pci build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_pdump build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_pipeline build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_port port: replace license text with SPDX tag 2019-11-28 03:02:51 +01:00
librte_power power: fix error log on guest message polling 2019-11-26 00:29:24 +01:00
librte_rawdev build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_rcu build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_reorder build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_rib build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_ring build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_sched build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_security build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_stack build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_table build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_telemetry build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_timer build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_vhost build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
Makefile vhost: fix build dependency on hash lib 2019-11-08 23:15:05 +01:00
meson.build build: fix soname info for 19.11 compatibility 2019-12-19 16:18:21 +01:00