numam-dpdk/app/test
Konstantin Ananyev 3ac2dffae8 test/bpf: fix undefined behavior with clang
test_shift1_check() function fails with clang build.
The reason for that is that clang uses 64-bit shift instruction for
what expected to be 32-bit operation.
To be more specific, this C code:
r2 = (uint32_t)r2 >> r4;
With clang produces:
41a4eb:       48 d3 ef                shr    %cl,%rdi
In that particular case it is an allowed choice, as from one side
left-operand value is known to fit into 32 bits, from other side
according to 'C' standard:
"...if the value of the right operand is negative or is greater than
or equal to the width of the promoted left operand, the behavior is
undefined."
The problem is that on x86 behavior for 64-bit and 32-bit shift
operation might differ.
The fix avoids undefined behavior by making sure
that right operand will not exceed width of the promoted left operand.

Bugzilla ID: 811
Fixes: 9f8f9d91a7 ("test/bpf: introduce functional test")
Cc: stable@dpdk.org

Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
2021-10-20 21:07:47 +02:00
..
test_cfgfiles/etc
commands.c test: take test names from command line 2021-04-14 15:14:56 +02:00
get-coremask.sh app/test: remove meson dependency on file in /sys 2020-01-20 16:37:27 +01:00
has-hugepage.sh test: remove meson dependency on /proc file 2020-04-15 15:45:24 +02:00
meson.build test/dma: add dmadev API test 2021-10-17 20:49:58 +02:00
packet_burst_generator.c net: rename Ethernet header fields 2021-10-08 14:58:11 +02:00
packet_burst_generator.h net: add rte prefix to UDP structure 2019-05-24 13:34:46 +02:00
process.h test: quieten warning noise while forking 2021-08-02 13:21:02 +02:00
resource.c
resource.h use appropriate EAL macro for constructors 2019-03-27 23:10:57 +01:00
sample_packet_forward.c
sample_packet_forward.h
test_acl.c acl: add 512-bit AVX512 classify method 2020-10-14 14:23:01 +02:00
test_acl.h test/acl: add 32-bit range test case 2020-02-13 14:43:56 +01:00
test_alarm.c test: remove strict timing requirements some tests 2021-06-03 18:08:57 +02:00
test_atomic.c test/atomic: fix 128-bit atomic test with many cores 2021-10-14 17:20:49 +02:00
test_barrier.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_bitmap.c test/bitmap: test scan after half cacheline is cleared 2021-01-17 22:37:28 +01:00
test_bitops.c test/bitops: add bit operations test case 2020-06-16 14:34:39 +02:00
test_bitratestats.c bitrate: add free function 2020-10-19 16:08:36 +02:00
test_bpf.c test/bpf: fix undefined behavior with clang 2021-10-20 21:07:47 +02:00
test_byteorder.c
test_cfgfile.c test/cfgfile: replace license text with SPDX tag 2019-11-28 03:12:55 +01:00
test_cksum.c test/cksum: add L3/L4 checksum API test 2021-07-02 19:03:03 +02:00
test_cmdline_cirbuf.c
test_cmdline_etheraddr.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline_ipaddr.c test/cmdline: fix inputs array 2021-04-21 00:40:52 +02:00
test_cmdline_lib.c tests/cmdline: fix memory leaks 2021-06-24 15:34:45 +02:00
test_cmdline_num.c test/cmdline: silence clang 12 warning 2021-04-21 00:44:24 +02:00
test_cmdline_portlist.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline_string.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline.c
test_cmdline.h
test_common.c eal: add macro to swap two variables 2021-09-27 18:33:45 +02:00
test_compressdev_test_buffer.h eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_compressdev.c test/compress: fix buffer overflow 2021-09-28 08:43:57 +02:00
test_cpuflags.c test/cpuflags: add new Arm flags 2020-10-13 17:57:52 +02:00
test_crc.c net: add CRC AVX512 implementation 2020-10-13 19:26:15 +02:00
test_cryptodev_aead_test_vectors.h test/crypto: add GMAC SGL 2020-10-14 22:22:06 +02:00
test_cryptodev_aes_test_vectors.h test/crypto: add multi-segment out-of-place AES-XTS 2021-07-20 22:27:00 +02:00
test_cryptodev_asym_util.h test/crypto: add ECPM cases 2020-01-15 15:01:55 +01:00
test_cryptodev_asym.c test/crypto: remove illegal PMD header include 2021-09-08 09:11:19 +02:00
test_cryptodev_blockcipher.c test/crypto: fix minsize build 2021-09-15 17:12:29 +02:00
test_cryptodev_blockcipher.h cryptodev: extend data-unit length field 2021-10-16 16:24:43 +02:00
test_cryptodev_des_test_vectors.h test/crypto: do not check for PMD 2020-04-19 22:45:40 +02:00
test_cryptodev_dh_test_vectors.h
test_cryptodev_dsa_test_vectors.h
test_cryptodev_ecdsa_test_vectors.h test/crypto: add ECDSA sign/verify cases 2020-01-15 15:01:55 +01:00
test_cryptodev_ecpm_test_vectors.h test/crypto: add ECPM cases 2020-01-15 15:01:55 +01:00
test_cryptodev_hash_test_vectors.h test/crypto: add AES-XCBC hash only test case 2021-01-19 18:05:45 +01:00
test_cryptodev_hmac_test_vectors.h
test_cryptodev_kasumi_hash_test_vectors.h
test_cryptodev_kasumi_test_vectors.h test/crypto: add KASUMI test cases for auth-cipher 2019-07-05 15:28:14 +02:00
test_cryptodev_mixed_test_vectors.h test/crypto: add mixed encypted-digest 2020-01-15 16:45:04 +01:00
test_cryptodev_mod_test_vectors.h test/crypto: check asymmetric crypto 2019-04-02 16:50:24 +02:00
test_cryptodev_rsa_test_vectors.h test/crypto: add RSA cases in QAT and openssl 2019-10-23 16:57:06 +02:00
test_cryptodev_security_docsis_test_vectors.h test/crypto: add DOCSIS security cases 2020-07-08 18:16:16 +02:00
test_cryptodev_security_ipsec_test_vectors.h test/crypto: add inner checksum cases 2021-10-08 21:40:16 +02:00
test_cryptodev_security_ipsec.c test/crypto: add inner checksum cases 2021-10-08 21:40:16 +02:00
test_cryptodev_security_ipsec.h test/crypto: add inner checksum cases 2021-10-08 21:40:16 +02:00
test_cryptodev_security_pdcp_sdap_test_vectors.h test/crypto: add test vectors for PDCP-SDAP 2020-10-14 22:24:41 +02:00
test_cryptodev_security_pdcp_test_func.h test/crypto: add PDCP U-Plane decap cases 2019-10-09 11:50:12 +02:00
test_cryptodev_security_pdcp_test_vectors.h test/crypto: support PDCP short MAC-I 2021-09-08 16:55:20 +02:00
test_cryptodev_security_pdcp.c test/crypto: remove illegal PMD header include 2021-09-08 09:11:19 +02:00
test_cryptodev_snow3g_hash_test_vectors.h
test_cryptodev_snow3g_test_vectors.h test/crypto: add scatter-gather tests for IP and OOP 2019-07-05 15:28:14 +02:00
test_cryptodev_zuc_test_vectors.h test/crypto: add ZUC cases with 256-bit keys 2021-10-08 21:31:07 +02:00
test_cryptodev.c test/crypto: add raw API support in 5G algos 2021-10-17 19:32:13 +02:00
test_cryptodev.h test/crypto: increase mbuf data payload size to 4K 2021-07-30 20:57:23 +02:00
test_cycles.c test: remove strict timing requirements some tests 2021-06-03 18:08:57 +02:00
test_debug.c ci: catch coredumps 2021-03-03 10:05:23 +01:00
test_distributor_perf.c test/distributor: fix burst flush on worker quit 2021-05-05 18:21:26 +02:00
test_distributor.c test/distributor: fix return buffer queue overload 2021-01-29 08:48:45 +01:00
test_dmadev_api.c test/dma: add dmadev API test 2021-10-17 20:49:58 +02:00
test_dmadev_api.h test/dma: add dmadev API test 2021-10-17 20:49:58 +02:00
test_dmadev.c test/dma: add burst capacity test 2021-10-18 11:19:27 +02:00
test_eal_flags.c eal/linux: allow hugetlbfs sub-directories 2021-10-12 21:07:46 +02:00
test_eal_fs.c test: remove hack for private header inclusion 2021-07-06 13:28:35 +02:00
test_efd_perf.c efd: allow more CPU sockets in table creation 2021-10-01 16:33:20 +02:00
test_efd.c efd: allow more CPU sockets in table creation 2021-10-01 16:33:20 +02:00
test_errno.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_ethdev_link.c ethdev: format link status text 2020-09-21 18:05:37 +02:00
test_event_crypto_adapter.c test/event_crypto: fix event crypto metadata write 2021-10-08 21:31:07 +02:00
test_event_eth_rx_adapter.c net: add macro to extract MAC address bytes 2021-09-07 19:08:05 +02:00
test_event_eth_tx_adapter.c net: add macro to extract MAC address bytes 2021-09-07 19:08:05 +02:00
test_event_ring.c
test_event_timer_adapter.c test/event: fix result of unsupported periodic timer 2021-05-09 18:06:03 +02:00
test_eventdev.c event/cnxk: add SSO selftest and dump 2021-05-04 06:59:52 +02:00
test_external_mem.c test/mem: fix page size for external memory 2021-03-01 11:58:28 +01:00
test_fbarray.c eal: hide shared memory config 2019-07-06 10:32:34 +02:00
test_fib6_perf.c test/fib: add IPv6 performance autotests 2019-11-06 00:11:55 +01:00
test_fib6.c fib: remove maximum type enums 2020-10-28 21:23:11 +01:00
test_fib_perf.c test: fix build with gcc 10 2020-03-04 10:11:07 +01:00
test_fib.c fib: remove maximum type enums 2020-10-28 21:23:11 +01:00
test_flow_classify.c test: check flow classifier creation 2021-05-12 21:46:05 +02:00
test_flow_classify.h
test_func_reentrancy.c test/func_reentrancy: free memzones after test 2021-09-16 17:17:34 +02:00
test_graph_perf.c test/graph: fix memory leaks in performance tests 2020-05-15 11:00:55 +02:00
test_graph.c test/graph: switch user data to dynamic mbuf field 2020-10-31 16:13:11 +01:00
test_hash_functions.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_hash_multiwriter.c test/hash: use compiler atomics for sync 2021-10-19 17:15:10 +02:00
test_hash_perf.c hash: add bulk lookup with signatures array 2020-04-25 19:26:47 +02:00
test_hash_readwrite_lf_perf.c test/hash: add RCU tests 2020-10-24 11:11:46 +02:00
test_hash_readwrite.c test/hash: use compiler atomics for sync 2021-10-19 17:15:10 +02:00
test_hash.c test/hash: add RCU tests 2020-10-24 11:11:46 +02:00
test_interrupts.c test/interrupt: account for race with callback 2019-09-13 17:00:19 +02:00
test_ipfrag.c test/ipfrag: add unit test case 2020-04-25 15:15:30 +02:00
test_ipsec_perf.c test/ipsec: add performance cases 2020-05-11 13:17:43 +02:00
test_ipsec_sad.c test/ipsec: add SAD autotests 2019-10-23 16:57:06 +02:00
test_ipsec.c test/crypto: remove illegal PMD header include 2021-09-08 09:11:19 +02:00
test_kni.c test/kni: check init result 2021-04-26 15:33:07 +02:00
test_kvargs.c kvargs: support multiple lists 2021-03-16 20:15:29 +01:00
test_latencystats.c test/latency: fix loop boundary 2021-10-05 17:29:42 +02:00
test_lcores.c eal: add lcore iterators 2020-07-08 14:41:06 +02:00
test_link_bonding_mode4.c net: rename Ethernet header fields 2021-10-08 14:58:11 +02:00
test_link_bonding_rssconf.c test: check stop call status 2020-10-16 22:26:41 +02:00
test_link_bonding.c ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
test_logs.c test/log: check levels 2021-04-09 14:01:07 +02:00
test_lpm6_data.h app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_lpm6_perf.c
test_lpm6.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_lpm_perf.c test/lpm: avoid code duplication in RCU perf tests 2020-11-05 16:01:16 +01:00
test_lpm.c test: improve coverage on LPM tbl8 2021-01-14 16:41:40 +01:00
test_malloc.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_mbuf.c mbuf: enforce no option for dynamic fields and flags 2021-10-15 10:29:41 +02:00
test_mcslock.c test/mcslock: use compiler atomics for lcores sync 2021-07-30 19:10:58 +02:00
test_member_perf.c test: fix global variable multiple definitions 2019-10-25 23:16:23 +02:00
test_member.c replace packed attributes 2020-04-16 18:16:46 +02:00
test_memcpy_perf.c build: remove deprecated cpuflag macros 2020-09-25 11:13:57 +02:00
test_memcpy.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_memory.c test/mem: fix memory autotests on FreeBSD 2021-10-02 16:40:20 +02:00
test_mempool_perf.c test/mempool: use compiler atomics for lcores sync 2021-07-30 23:55:36 +02:00
test_mempool.c mempool: accept user flags only 2021-10-20 10:03:55 +02:00
test_memzone.c memzone: enforce valid flags when reserving 2021-10-15 10:29:21 +02:00
test_meter.c meter: replace color definitions 2019-04-11 14:27:32 +02:00
test_metrics.c test: use common macro RTE_DIM 2019-10-27 14:40:55 +01:00
test_mp_secondary.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_pdump.c ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
test_pdump.h
test_per_lcore.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_pflock.c pflock: add phase-fair reader writer locks 2021-04-14 21:59:47 +02:00
test_pmd_perf.c test: fix buffer overflow in Tx burst 2021-01-19 11:03:14 +01:00
test_pmd_ring_perf.c test: check stop call status 2020-10-16 22:26:41 +02:00
test_pmd_ring.c test: check stop call status 2020-10-16 22:26:41 +02:00
test_power_cpufreq.c test/power: fix CPU frequency check for intel_pstate 2021-07-20 17:24:07 +02:00
test_power_kvm_vm.c build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_power.c power: support cppc_cpufreq driver 2021-07-09 16:04:46 +02:00
test_prefetch.c test: fix build with GCC 11 2021-05-20 23:10:22 +02:00
test_rand_perf.c eal: introduce random generator with upper bound 2019-06-28 15:23:55 +02:00
test_rawdev.c test/raw: remove ioat-specific autotest 2020-10-06 09:26:28 +02:00
test_rcu_qsbr_perf.c test/rcu: use compiler atomics for data sync 2021-07-30 23:56:07 +02:00
test_rcu_qsbr.c test/rcu: fix build with low core count 2020-10-30 15:43:57 +01:00
test_reciprocal_division_perf.c test: fix division by zero 2021-05-19 09:23:00 +02:00
test_reciprocal_division.c
test_red.c
test_reorder.c reorder: switch sequence number to dynamic mbuf field 2020-10-31 22:14:30 +01:00
test_resource.c
test_rib6.c remove blank lines at end of file 2019-11-26 00:12:08 +01:00
test_rib.c test/rib: speed up rib autotests 2019-11-07 17:46:43 +01:00
test_ring_hts_stress.c test/ring: add contention stress test for HTS ring 2020-04-21 12:52:55 +02:00
test_ring_mpmc_stress.c test/ring: add contention stress test 2020-04-21 11:34:09 +02:00
test_ring_mt_peek_stress_zc.c test/ring: fix build for O1 optimization 2020-11-15 16:45:48 +01:00
test_ring_mt_peek_stress.c test/ring: rename stress test for MT peek API 2020-07-03 12:36:04 +02:00
test_ring_perf.c test/ring: reduce duration of performance tests 2021-01-29 11:37:01 +01:00
test_ring_rts_stress.c test/ring: add contention stress test for RTS ring 2020-04-21 12:52:55 +02:00
test_ring_st_peek_stress_zc.c test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring_st_peek_stress.c test/ring: add stress test for ST peek API 2020-07-03 12:05:25 +02:00
test_ring_stress_impl.h test/ring: fix memory dump 2020-10-29 14:13:31 +01:00
test_ring_stress.c test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring_stress.h test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring.c test/ring: remove unused code 2020-11-15 16:45:48 +01:00
test_ring.h test/ring: add functional tests for zero copy API 2020-10-29 14:13:31 +01:00
test_rwlock.c test/rwlock: use compiler atomics for lcores sync 2021-07-30 19:08:43 +02:00
test_sched.c test/sched: update subport rate dynamically 2020-10-15 02:14:21 +02:00
test_security.c security: update session create API 2020-10-19 09:54:54 +02:00
test_service_cores.c test/service: fix race in attr check 2021-10-12 21:07:30 +02:00
test_spinlock.c test/spinlock: use compile atomics for lcores sync 2021-07-30 19:06:35 +02:00
test_stack_perf.c stack: allow lock-free only on relevant architectures 2021-05-03 18:46:15 +02:00
test_stack.c stack: remove unneeded atomic header include 2021-10-19 17:15:10 +02:00
test_string_fns.c
test_table_acl.c net: replace IPv4/v6 constants with uppercase name 2019-06-03 16:54:54 +02:00
test_table_acl.h
test_table_combined.c remove extra blank lines at end of files 2019-08-05 15:19:32 +02:00
test_table_combined.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_table_pipeline.c replace unused attributes 2020-04-16 18:30:58 +02:00
test_table_pipeline.h
test_table_ports.c
test_table_ports.h
test_table_tables.c test/table: fix build with GCC 11 2021-05-18 10:52:45 +02:00
test_table_tables.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_table.c build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_table.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_tailq.c remove useless include of EAL memory config header 2019-10-09 10:22:24 +02:00
test_telemetry_data.c telemetry: support dict of dicts 2021-09-23 14:15:29 +02:00
test_telemetry_json.c test: remove hack for private header inclusion 2021-07-06 13:28:35 +02:00
test_thash.c hash: add predictable RSS 2021-04-20 23:13:23 +02:00
test_ticketlock.c test/ticketlock: use compiler atomics for lcores sync 2021-07-30 19:04:34 +02:00
test_timer_perf.c build/linux: rename macro from LINUXAPP to LINUX 2019-03-12 17:31:22 +01:00
test_timer_racecond.c test/timer: remove license boilerplate 2021-05-19 11:02:45 +02:00
test_timer_secondary.c test/timer: check memzone allocation 2021-05-12 16:52:20 +02:00
test_timer.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_trace_perf.c test/trace: fix race on collected perf data 2021-04-14 16:12:44 +02:00
test_trace_register.c trace: simplify trace point registration 2020-07-05 21:34:21 +02:00
test_trace.c trace: add size_t as generic trace point 2020-10-07 14:44:03 +02:00
test_trace.h test/trace: add functional test cases 2020-04-23 15:40:03 +02:00
test_version.c
test_xmmt_ops.h config: remap flags used for Arm platforms 2020-10-13 16:35:48 +02:00
test.c test/crypto: build block-cipher suite dynamically 2021-05-12 16:17:07 +02:00
test.h test/crypto: add lookaside IPsec cases 2021-09-28 08:46:03 +02:00
virtual_pmd.c ethdev: make queue release callback optional 2021-10-06 19:16:03 +02:00
virtual_pmd.h net: add rte prefix to ether structures 2019-05-24 13:34:45 +02:00