numam-dpdk/lib
Weiliang Luo e15922d75a mempool: fix corruption due to invalid handler
When using rte_mempool_create(), the mempool handler is selected
depending on the flags given by the user:
  - multi-consumer / multi-producer
  - multi-consumer / single-producer
  - single-consumer / multi-producer
  - single-consumer / single-producer

The flags were not properly tested, resulting in the selection of sc/sp
handler if sc/mp or mc/sp was asked. This can lead to corruption or
crashes because the get/put operations are not atomic.

Fixes: 449c49b93a ("mempool: support handler operations")

Signed-off-by: Weiliang Luo <droidluo@gmail.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2016-09-16 16:16:37 +02:00
..
librte_acl lib: use C99 syntax for zero-size arrays 2016-09-13 15:35:28 +02:00
librte_cfgfile lib: add missing include dependencies 2016-09-13 15:35:28 +02:00
librte_cmdline lib: add missing include dependencies 2016-09-13 15:35:28 +02:00
librte_compat compat: remove unneeded macro 2015-06-29 16:41:23 +02:00
librte_cryptodev drivers: make driver names consistent 2016-09-16 11:55:59 +02:00
librte_distributor distributor: remove inclusion of mbuf header 2015-05-11 15:36:37 +02:00
librte_eal mem: use more restrictive permissions on hugepages 2016-09-16 14:51:27 +02:00
librte_ether remove unused ring includes 2016-09-16 10:16:02 +02:00
librte_hash lib: work around unnamed structs/unions 2016-09-13 15:35:28 +02:00
librte_ip_frag lib: use C99 syntax for zero-size arrays 2016-09-13 15:35:28 +02:00
librte_jobstats jobstats: fix typo in a comment 2016-06-30 18:51:20 +02:00
librte_kni lib: work around nonstandard bit-fields 2016-09-13 15:35:28 +02:00
librte_kvargs remove unneeded tests for NULL when freeing 2016-01-27 15:34:48 +01:00
librte_lpm lib: add missing include dependencies 2016-09-13 15:35:28 +02:00
librte_mbuf remove unused ring includes 2016-09-16 10:16:02 +02:00
librte_mempool mempool: fix corruption due to invalid handler 2016-09-16 16:16:37 +02:00
librte_meter mk: fix missing libm dependencies 2016-03-22 20:42:47 +01:00
librte_net net: fix build with gcc 4.4.7 and strict aliasing 2015-11-25 22:11:37 +01:00
librte_pdump lib: add missing include dependencies 2016-09-13 15:35:28 +02:00
librte_pipeline lib: work around unnamed structs/unions 2016-09-13 15:35:28 +02:00
librte_port port: remove duplicated symbols from .map 2016-06-30 20:02:56 +02:00
librte_power examples/vm_power_manager: remove dependency on internal header 2016-07-11 17:23:32 +02:00
librte_reorder lib: add missing include dependencies 2016-09-13 15:35:28 +02:00
librte_ring lib: use C99 syntax for zero-size arrays 2016-09-13 15:35:28 +02:00
librte_sched lib: add missing include dependencies 2016-09-13 15:35:28 +02:00
librte_table table: fix verification on hash bucket header alignment 2016-09-09 17:56:25 +02:00
librte_timer lib: work around unnamed structs/unions 2016-09-13 15:35:28 +02:00
librte_vhost vhost: fix off-by-one error on descriptor number check 2016-07-25 17:55:12 +02:00
Makefile ivshmem: remove library and its EAL integration 2016-08-23 12:23:58 +02:00