[PATCH v3 bpf-next 0/4] Introduce bpf_cgroup_read_xattr

Song Liu songliubraving at meta.com
Fri Jun 27 16:20:58 UTC 2025



> On Jun 27, 2025, at 8:59 AM, Alexei Starovoitov <alexei.starovoitov at gmail.com> wrote:
> 
> On Thu, Jun 26, 2025 at 9:04 PM Song Liu <song at kernel.org> wrote:
>> 
>> On Thu, Jun 26, 2025 at 7:14 PM Alexei Starovoitov
>> <alexei.starovoitov at gmail.com> wrote:
>> [...]
>>> ./test_progs -t lsm_cgroup
>>> Summary: 1/2 PASSED, 0 SKIPPED, 0 FAILED
>>> ./test_progs -t lsm_cgroup
>>> Summary: 1/2 PASSED, 0 SKIPPED, 0 FAILED
>>> ./test_progs -t cgroup_xattr
>>> Summary: 1/8 PASSED, 0 SKIPPED, 0 FAILED
>>> ./test_progs -t lsm_cgroup
>>> test_lsm_cgroup_functional:PASS:bind(ETH_P_ALL) 0 nsec
>>> (network_helpers.c:121: errno: Cannot assign requested address) Failed
>>> to bind socket
>>> test_lsm_cgroup_functional:FAIL:start_server unexpected start_server:
>>> actual -1 < expected 0
>>> (network_helpers.c:360: errno: Bad file descriptor) getsockopt(SOL_PROTOCOL)
>>> test_lsm_cgroup_functional:FAIL:connect_to_fd unexpected
>>> connect_to_fd: actual -1 < expected 0
>>> test_lsm_cgroup_functional:FAIL:accept unexpected accept: actual -1 < expected 0
>>> test_lsm_cgroup_functional:FAIL:getsockopt unexpected getsockopt:
>>> actual -1 < expected 0
>>> test_lsm_cgroup_functional:FAIL:sk_priority unexpected sk_priority:
>>> actual 0 != expected 234
>>> ...
>>> Summary: 0/1 PASSED, 0 SKIPPED, 1 FAILED
>>> 
>>> 
>>> Song,
>>> Please follow up with the fix for selftest.
>>> It will be in bpf-next only.
>> 
>> The issue is because cgroup_xattr calls "ip link set dev lo up"
>> in setup, and calls "ip link set dev lo down" in cleanup. Most
>> other tests only call "ip link set dev lo up". IOW, it appears to
>> me that cgroup_xattr is doing the cleanup properly. To fix this,
>> we can either remove "dev lo down" from cgroup_xattr, or add
>> "dev lo up" to lsm_cgroups. Do you have any preference one
>> way or another?
> 
> It messes with "lo" without switching netns? Ouch.

Ah, I see the problem now. 

> Not sure what tests you copied that code from,
> but all "ip" commands, ping_group_range, and sockets
> don't need to be in the test. Instead of triggering
> progs through lsm/socket_connect hook can't you use
> a simple hook like lsm/bpf or lsm/file_open that doesn't require
> networking setup ?

Yeah, let me fix the test with a different hook. 

Thanks,
Song





More information about the Linux-security-module-archive mailing list