linux-stable/tools
Eduard Zingerman 00808be797 selftests/bpf: test if state loops are detected in a tricky case
commit 64870feebe upstream.

A convoluted test case for iterators convergence logic that
demonstrates that states with branch count equal to 0 might still be
a part of not completely explored loop.

E.g. consider the following state diagram:

               initial     Here state 'succ' was processed first,
                 |         it was eventually tracked to produce a
                 V         state identical to 'hdr'.
    .---------> hdr        All branches from 'succ' had been explored
    |            |         and thus 'succ' has its .branches == 0.
    |            V
    |    .------...        Suppose states 'cur' and 'succ' correspond
    |    |       |         to the same instruction + callsites.
    |    V       V         In such case it is necessary to check
    |   ...     ...        whether 'succ' and 'cur' are identical.
    |    |       |         If 'succ' and 'cur' are a part of the same loop
    |    V       V         they have to be compared exactly.
    |   succ <- cur
    |    |
    |    V
    |   ...
    |    |
    '----'

Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20231024000917.12153-7-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-31 16:18:59 -08:00
..
accounting
arch parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes 2023-12-08 08:52:20 +01:00
bootconfig
bpf bpftool: Align output skeleton ELF code 2024-01-10 17:16:54 +01:00
build tools build: Fix llvm feature detection, still used by bpftool 2023-10-19 22:33:58 -03:00
certs
cgroup iocost_monitor: improve it by adding iocg wait_ms 2023-08-08 15:43:03 -06:00
counter tools/counter: Makefile: Replace rmdir by rm to avoid make,clean failure 2023-07-24 10:29:52 -04:00
crypto/ccp crypto: ccp - Fix some unfused tests 2023-11-20 11:59:18 +01:00
debugging
edid
firewire
firmware
gpio
hv hv/hv_kvp_daemon: Some small fixes for handling NM keyfiles 2023-12-03 07:33:02 +01:00
iio tools: iio: iio_generic_buffer ensure alignment 2023-11-20 11:59:26 +01:00
include bpf: Add crosstask check to __bpf_get_stack 2024-01-25 15:35:19 -08:00
kvm/kvm_stat
laptop
leds
lib libapi: Add missing linux/types.h header to get the __u64 type on io.h 2024-01-25 15:35:51 -08:00
memory-model
mm tools/mm: fix undefined reference to pthread_once 2023-09-05 10:13:45 -07:00
net/ynl netlink: specs: devlink: fix reply command values 2023-10-13 17:27:27 -07:00
objtool cred: get rid of CONFIG_DEBUG_CREDENTIALS 2023-12-20 17:01:51 +01:00
pci
pcmcia
perf perf db-export: Fix missing reference count get in call_path_from_sample() 2024-01-25 15:35:55 -08:00
power PM: tools: Fix sleepgraph syntax error 2023-12-03 07:33:04 +01:00
rcu
scripts tools build: Add 3-component logical version comparators 2023-08-03 16:59:40 -03:00
spi
testing selftests/bpf: test if state loops are detected in a tricky case 2024-01-31 16:18:59 -08:00
thermal
time
tracing rtla: Fix uninitialized variable found 2023-11-20 11:59:29 +01:00
usb
verification
virtio tools/virtio: Add dma sync api for virtio test 2023-10-16 05:32:23 -04:00
wmi
workqueue workqueue: Implement non-strict affinity scope for unbound workqueues 2023-08-07 15:57:25 -10:00
Makefile