<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in bpf_ksock.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5a8cd539ac19f7a68e68e1d25ef9ca2ff55b8500 - Merge tag &apos;bpf-next-7.3&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/net/core/bpf_ksock.c#5a8cd539ac19f7a68e68e1d25ef9ca2ff55b8500</link>
        <description>Merge tag &apos;bpf-next-7.3&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextPull bpf updates from Daniel Borkmann: &quot;Major changes:   - Redesign the verifier error reporting: failures now carry source     and instruction annotations along with the causal event history     that led to them, making program rejections far easier to debug and     repair (Kumar Kartikeya Dwivedi)   - Add arena argument support to kfuncs and struct_ops through the new     __arena and __arena__nullable suffixes (Tejun Heo, Puranjay Mohan,     Kumar Kartikeya Dwivedi, Ihor Solodrai)   - Signed BPF program loader rework to accommodate both BPF and     security community needs where the kernel runs the signature     verification at BPF_PROG_LOAD time before the LSM admission hook     (Daniel Borkmann)   - Add a set of ksock kfuncs which let BPF LSM and syscall programs     create, connect and send on UDP sockets in order to emit telemetry     data (Mahe Tardy)   - Unify helper and kfunc call argument verification and classify     kfunc arguments purely from BTF into a generated bpf_func_proto     which is computed once at add-call time (Amery Hung)  Other features and fixes:   - Enable EXECMEM_ROX_CACHE for BPF allocations on x86 (Mike Rapoport)   - Add bidirectional VLAN support to bpf_fib_lookup() through the new     BPF_FIB_LOOKUP_VLAN and BPF_FIB_LOOKUP_VLAN_INPUT flags (Avinash     Duduskar)   - Infer zext_dst from static register liveness analysis to fix 32-bit     zero-extension semantics, and remove the artificial limitations on     pointer types eligible for spilling (Eduard Zingerman)   - Inline the numeric open-coded iterator kfuncs so that bpf_for()     loops no longer pay a kfunc call on every iteration (Puranjay     Mohan)   - Add an arena-based bitmap data structure to libarena along with     serial and parallel selftests (Emil Tsalapatis)   - Teach resolve_btfids to discover kfuncs from the kernel&apos;s BTF ID     sets and to emit kfunc BTF decl tags, reducing the kernel build&apos;s     dependency on pahole features (Ihor Solodrai)   - Add BPF_F_ADJ_ROOM_DECAP_* flags to bpf_skb_adjust_room() so that     tunnel decapsulation can update the GSO and encapsulation state of     the skb (Nick Hudson)   - Fix the ring buffer pending_pos walk and the available-data     accounting on 32-bit position wrap (Israel T&#233;llez Garc&#237;a)   - Add memory usage accounting for arena maps and fix an mmap_lock     deadlock on arena lock failure (Jiayuan Chen)   - Add tracing_multi link info support to the kernel UAPI and bpftool,     and refactor the stack map code to run with preemption disabled     (Jiri Olsa)   - Support BPF_F_EGRESS in bpf_redirect_peer() to emit the skb in the     egress direction of the target&apos;s peer device (Jordan Rife)   - Add a KF_SPINLOCK_SAFE kfunc flag so that providers, in particular     modules, can declare kfuncs safe to call under bpf_spin_lock     instead of relying on the verifier&apos;s hard-coded allowlist (Kaitao     Cheng)   - Introduce global percpu data for BPF programs with libbpf probing     and bpftool skeleton support, and stop exposing uninitialized     kernel heap memory when copying per-CPU map values (Leon Hwang)   - Add s390 JIT support for load-acquire and store-release     instructions (Maxim Khmelevskii)   - Fix a CFI mismatch in the task work callback and an arm64 KASAN     false positive after bpf_throw() (Mykyta Yatsenko)   - Reject writes through untrusted BTF pointers and bound the     rdonly/rdwr_buf_size kfunc arguments (Nicholas Dudar)   - Invalidate RCU pointers only after the final spin unlock and     account for preempt and IRQ disabled regions as overlapping RCU     protection (Ning Ding)   - Support mixing bpf2bpf calls and tail calls on RV64, add signed     operations and 32-bit atomics to the RV32 JIT, and add timed     may_goto support (Pu Lehui, Kuan-Wei Chiu, Feng Jiang)   - Fix a use-after-free on mm_struct in bpf_find_vma() for foreign     tasks and an mmap_lock leak in the irq_work path (Sanghyun Park)   - Populate mmap-able BPF array map memory lazily which makes mmap()     O(1) instead of proportional to the map size (Song Liu)   - Introduce a jit_required flag and reject programs with inlined     helpers when no JIT is available, where the interpreter would     otherwise jump into an invalid address (Tiezhu Yang)   - Fix the x86 JIT per-CPU address resolution into an extended     register where the REX prefix dropped the high destination register     bit (Vineet Gupta)   - Reject MEM_ALLOC BTF accesses past object bounds, arena frees below     the arena base, and mixed arena and ordinary atomic paths (Yiyang     Chen)   - Fix the trampoline handling of 128-bit arguments and of return     values larger than 8 bytes (Yonghong Song)   - Ensure that any fault prone load is rewritten with exception table     handling, and fix the arena load-acquire and atomic fetch handling     in the x86, arm64, riscv and s390 JITs (Daniel Borkmann)   - Many more fixes and cleanups across the verifier, arena,     trampolines, sockmap, cgroup, ring buffer, x86/arm64/riscv/s390     JITs, libbpf, bpftool, resolve_btfids and selftests&quot;* tag &apos;bpf-next-7.3&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (373 commits)  selftests/bpf: Add tests for a store on a fault prone qdisc pointer  selftests/bpf: Add tests for fault prone loads out of RCU pointers  selftests/bpf: Add tests for pointer type merge at a shared load  selftests/bpf: Remove duplicate copies of the arena spinlock qnodes  selftests/bpf: Retry stat generation in cgroup_iter_memcg  selftests/bpf: Test pseudo-function policy diagnostics  bpf: Distinguish function references in policy diagnostics  bpf: Preserve source attribution without source text  selftests/bpf: Test kfunc argument diagnostics  bpf: Correct kfunc argument diagnostics  bpf: Use canonical stack argument names in diagnostics  bpf: Preserve R0 lineage across helper calls  selftests/bpf: Exercise negative optlen in cgroup getsockopt hook  bpf: Reject negative optlen in cgroup getsockopt hook  selftests/bpf: tc_tunnel - validate decap GSO and encapsulation state  bpf: Clear decap state on skb_adjust_room shrink path  bpf: Allow new DECAP flags and add guard rails  bpf: Add BPF_F_ADJ_ROOM_DECAP_* flags for tunnel decapsulation  bpf: Refactor masks for ADJ_ROOM flags and encap validation  bpf: Name the enum for BPF_FUNC_skb_adjust_room flags  ...

            List of files:
            /linux/net/core/bpf_ksock.c</description>
        <pubDate>Thu, 20 Aug 2026 16:36:20 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>7ae4eb14c5f9d9bf0e0feabeab206151b1280512 - bpf: Add ksock kfuncs</title>
        <link>http://kernelsources.org:8080/source/history/linux/net/core/bpf_ksock.c#7ae4eb14c5f9d9bf0e0feabeab206151b1280512</link>
        <description>bpf: Add ksock kfuncsAdd BPF kfuncs that allow BPF LSM programs to create and use sockets forsending data. This provides a mechanism for BPF programs to emittelemetry. For this first patch set, it&apos;s restricted to SOCK_DGRAMsocket types with IPPROTO_UDP protocol but could be easily extended toSOCK_STREAM and IPPROTO_TCP in the future.The API consists of five kfuncs:  bpf_ksock_create()   - Create a socket (sleepable)  bpf_ksock_connect()  - Connect socket to remote address (sleepable)  bpf_ksock_send()     - Send data through the socket (sleepable)  bpf_ksock_acquire()  - Acquire a reference to a socket context  bpf_ksock_release()  - Release a reference (cleanup via                         queue_rcu_work since sock_release sleeps)The setup kfuncs bpf_ksock_create, bpf_ksock_connect, can be called fromSYSCALL programs only. While bpf_ksock_acquire, bpf_ksock_release andbpf_ksock_send can be called from SYSCALL and LSM programs.The implementation follows the established kfunc lifecycle pattern(create/acquire/release with refcounting, kptr map storage, dtorregistration). The kernel socket is wrapped in a refcounted bpf_ksockstruct. Cleanup is deferred via queue_rcu_work() because sock_release()may sleep.The kfuncs are only compiled when CONFIG_INET is enabled, as theyspecifically support AF_INET and AF_INET6 sockets.The socket operations go through the expected LSM hooks instead ofby-passing them like many kernel sockets since those are created by BPFprograms and thus system users. Thus, the bpf_ksock_send() kfunc, whichis exposed to LSM progs has a verifier filter protection to avoidrecursion so that the whole bpf_kfunc_set kfunc set cannot be called ina program attached to security_socket_sendmsg(). Also, because of theLSM checks, we prevent the use of the kfuncs from asynchronous workqueueas the current value would then be invalid.In bpf_ksock_create(), we copy the arg values to avoid TOCTOU racessince the kfunc can sleep and the arg values could be stored in a mapthat could be re-written by BPF progs or even userspace programs if themap is mmaped.Signed-off-by: Mahe Tardy &lt;mahe.tardy@gmail.com&gt;Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Reviewed-by: Jiayuan Chen &lt;jiayuan.chen@linux.dev&gt;Acked-by: Stanislav Fomichev &lt;sdf@fomichev.me&gt;Acked-by: Song Liu &lt;song@kernel.org&gt;Link: https://lore.kernel.org/bpf/20260813110540.103550-3-mahe.tardy@gmail.com

            List of files:
            /linux/net/core/bpf_ksock.c</description>
        <pubDate>Thu, 13 Aug 2026 13:05:37 +0200</pubDate>
        <dc:creator>Mahe Tardy &lt;mahe.tardy@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
