• Kumar Kartikeya Dwivedi's avatar
    selftests/bpf: Add more tests for kptrs in maps · 85521e1e
    Kumar Kartikeya Dwivedi authored
    Firstly, ensure programs successfully load when using all of the
    supported maps. Then, extend existing tests to test more cases at
    runtime. We are currently testing both the synchronous freeing of items
    and asynchronous destruction when map is freed, but the code needs to be
    adjusted a bit to be able to also accomodate support for percpu maps.
    
    We now do a delete on the item (and update for array maps which has a
    similar effect for kptrs) to perform a synchronous free of the kptr, and
    test destruction both for the synchronous and asynchronous deletion.
    Next time the program runs, it should observe the refcount as 1 since
    all existing references should have been released by then. By running
    the program after both possible paths freeing kptrs, we establish that
    they correctly release resources. Next, we augment the existing test to
    also test the same code path shared by all local storage maps using a
    task local storage map.
    Signed-off-by: default avatarKumar Kartikeya Dwivedi <memxor@gmail.com>
    Link: https://lore.kernel.org/r/20230225154010.391965-4-memxor@gmail.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    85521e1e
map_kptr.c 12.3 KB