diff options
author | David Vernet <void@manifault.com> | 2023-01-25 08:38:16 -0600 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2023-01-25 07:57:50 -0800 |
commit | 027bdec89364e94753a2211ca87800c765fbd75d (patch) | |
tree | cf15beb62b62a44ac9b4e294f7cd3ccf43e7b2c0 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | d94cbde2183ff329f36ce1d8f99361a63da68a72 (diff) |
bpf/docs: Document the nocast aliasing behavior of ___init
When comparing BTF IDs for pointers being passed to kfunc arguments, the
verifier will allow pointer types that are equivalent according to the C
standard. For example, for:
struct bpf_cpumask {
cpumask_t cpumask;
refcount_t usage;
};
The verifier will allow a struct bpf_cpumask * to be passed to a kfunc
that takes a const struct cpumask * (cpumask_t is a typedef of struct
cpumask). The exception to this rule is if a type is suffixed with
___init, such as:
struct nf_conn___init {
struct nf_conn ct;
};
The verifier will _not_ allow a struct nf_conn___init * to be passed to
a kfunc that expects a struct nf_conn *. This patch documents this
behavior in the kfuncs documentation page.
Signed-off-by: David Vernet <void@manifault.com>
Link: https://lore.kernel.org/r/20230125143816.721952-8-void@manifault.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions