Skip to content

KFunc bpf_dynptr_adjust

v6.5

Adjusts the dynptr to reflect the new [start, end) interval.

Definition

It advances the offset of the dynptr by start bytes, and if end is less than the size of the dynptr, then this will trim the dynptr accordingly.

Signature

int bpf_dynptr_adjust(const struct bpf_dynptr *p, u64 start, u64 end)

Note

In v6.19 the signature of this kfunc changed from u32 to u64 types for start and end. This may require CO-RE logic to select the correct kfunc.

Usage

Adjusting the dynptr interval may be useful in certain situations. For example, when hashing which takes in generic dynptrs, if the dynptr points to a struct but only a certain memory region inside the struct should be hashed, adjust can be used to narrow in on the specific region to hash.

Program types

The following program types can make use of this kfunc:

Example

Docs could be improved

This part of the docs is incomplete, contributions are very welcome