Re: libbpf: Kernel error message: Exclusivity flag on, cannot modify

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 23, 2021 at 04:35:51PM IST, Yaniv Agman wrote:
> Using the recently added libbpf tc API worked fine for us in v0.4.0.
> After updating libbpf and syncing with master branch, we get the
> following error:
>
> libbpf: Kernel error message: Exclusivity flag on, cannot modify
>

This message is harmless. The commit that adds NLM_F_EXCL is a bug fix. Without
it, the kernel returns 0 when it should return -EEXIST. It's just that the
kernel complains loudly for the latter case through extack.

User needs EEXIST to detect whether it installed the qdisc or not. To see how
this affects the system, run ./test_progs -t tc_bpf after installing clsact
using:
	tc qdisc add dev lo clsact

Before this fix is added, it will remove the system qdisc as bpf_tc_hook_create
returns 0, after the fix it detects the presence of the existing qdisc using
-EEXIST and disables the bpf_tc_hook_destroy call before exit.

I would suggest handling the error explicitly, and using libbpf_set_print to
filter it out. See the example in tools/testing/selftests/bpf/test_progs.c.

> I found that commit a1bd8104a9f1c1a5b9cd0f698c886296749a0ce9 is

You probably meant bbf29d3a2e49e482d5267311798aec42f00e88f3? I cannot find this
commit.

> causing this problem, and removing the NLM_F_EXCL resolves the issue.
> Is this the expected behavior and I'm doing something wrong?

--
Kartikeya



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux