diff options
author | Eduard Zingerman <eddyz87@gmail.com> | 2025-07-04 16:03:53 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2025-07-07 08:25:07 -0700 |
commit | c4aa454c64ae022e5a9d55b3c31e9b8dd8a1544f (patch) | |
tree | 310b5ec0440636a62faf60199999826ac5fbea20 /scripts/lib/kdoc/kdoc_re.py | |
parent | 54ac2c9418af2f115ca42419e6c6633b88f3d49d (diff) |
bpf: support for void/primitive __arg_untrusted global func params
Allow specifying __arg_untrusted for void */char */int */long *
parameters. Treat such parameters as
PTR_TO_MEM|MEM_RDONLY|PTR_UNTRUSTED of size zero.
Intended usage is as follows:
int memcmp(char *a __arg_untrusted, char *b __arg_untrusted, size_t n) {
bpf_for(i, 0, n) {
if (a[i] - b[i]) // load at any offset is allowed
return a[i] - b[i];
}
return 0;
}
Allocate register id for ARG_PTR_TO_MEM parameters only when
PTR_MAYBE_NULL is set. Register id for PTR_TO_MEM is used only to
propagate non-null status after conditionals.
Suggested-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20250704230354.1323244-8-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_re.py')
0 files changed, 0 insertions, 0 deletions