mirror-linux/include
Eduard Zingerman c4aa454c64 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>
2025-07-07 08:25:07 -07:00
..
acpi
asm-generic hyperv-next for v6.16 2025-06-03 08:39:20 -07:00
clocksource
crypto dm-crypt: Extend state buffer size in crypt_iv_lmk_one 2025-06-23 13:50:02 +02:00
cxl
drm
dt-bindings USB/Thunderbolt changes for 6.16-rc1 2025-06-06 12:45:35 -07:00
hyperv hyperv-next for v6.16 2025-06-03 08:39:20 -07:00
keys
kunit
kvm
linux bpf: support for void/primitive __arg_untrusted global func params 2025-07-07 08:25:07 -07:00
math-emu
media
memory
misc
net Bluetooth: hci_core: Fix use-after-free in vhci_flush() 2025-06-23 10:59:29 -04:00
pcmcia
ras
rdma
rv
scsi
soc
sound USB/Thunderbolt changes for 6.16-rc1 2025-06-06 12:45:35 -07:00
target
trace erofs: remove unused trace event erofs_destroy_inode 2025-06-18 13:41:16 +08:00
uapi bpf: Introduce BPF standard streams 2025-07-03 19:30:06 -07:00
ufs
vdso
video
xen
Kbuild