tracee-ebpf: turn MAX_PATH_COMPONENTS down to 48 #889
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #851
For the kprobe security_sb_mount, the save_path_to_str_buf() complexity
is too big with the unroll logic + MAX_PATH_COMPONENTS of 80, even on
higher kernels (like 5.4 in Ubuntu). Reducing to 64 did NOT help.
Reducing to 48 DID help and it worked.
Ubuntu kernel contains c04c0d2b968a ("bpf: increase complexity limit and
maximum program size") commit with no reversions. The commit states
that:
which might indicate that the eBPF verifier in older kernels, like 5.4,
is not smart enough to consider an unroll of 80 iterations, in the path
resolution function, a logic less complex than it should.