diff options
| author | Kees Cook <kees+treewide@kernel.org> | 2026-09-02 15:31:14 -0700 |
|---|---|---|
| committer | Kees Cook <kees@kernel.org> | 2026-09-04 21:37:00 -0700 |
| commit | 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d (patch) | |
| tree | c65086f9bdcd48c6360fb7cb4598bca084da1f32 /Documentation/netlink/specs/fou.yaml | |
| download | linux-stable-3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d.tar.gz linux-stable-3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d.zip | |
treewide: refresh kmalloc_obj() conversionsgrafted
This is another run of the Coccinelle script for converting kmalloc()
family of allocations to kmalloc_obj() via the existing rules in
scripts/coccinelle/api/kmalloc_objs.cocci
This catches both the set of kmalloc() uses added since the first
kmalloc_obj() conversions in v7.0 and adds a large group missed in the
first pass due to Coccinelle not interacting well with the cleanup.h
scoped_...() family of macros[1]. I worked around this with spatch's
"--macro-file" argument to a file with all the scoped_...() macros mapped
to Coccinelle's YACFE_ITERATOR[2] as that was the closest viable control
flow indicator I could find.
Build tested allmodconfig on x86, arm64, arm, loongarch, mips, powerpc,
riscv, and s390 with no new warnings.
Link: https://lore.kernel.org/lkml/202609021314.8A9C0B8@keescook/ [1]
Link: https://github.com/coccinelle/coccinelle/blob/master/standard.h [2]
Signed-off-by: Kees Cook <kees+treewide@kernel.org>
Diffstat (limited to 'Documentation/netlink/specs/fou.yaml')
| -rw-r--r-- | Documentation/netlink/specs/fou.yaml | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/Documentation/netlink/specs/fou.yaml b/Documentation/netlink/specs/fou.yaml new file mode 100644 index 000000000..331f1b342 --- /dev/null +++ b/Documentation/netlink/specs/fou.yaml @@ -0,0 +1,134 @@ +# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) +--- +name: fou + +protocol: genetlink-legacy + +doc: | + Foo-over-UDP. + +c-family-name: fou-genl-name +c-version-name: fou-genl-version +max-by-define: true +kernel-policy: global + +definitions: + - + type: enum + name: encap-type + name-prefix: fou-encap- + enum-name: + entries: [unspec, direct, gue] + +attribute-sets: + - + name: fou + name-prefix: fou-attr- + attributes: + - + name: unspec + type: unused + value: 0 + - + name: port + type: u16 + byte-order: big-endian + - + name: af + type: u8 + - + name: ipproto + type: u8 + checks: + min: 1 + - + name: type + type: u8 + - + name: remcsum-nopartial + type: flag + - + name: local-v4 + type: u32 + - + name: local-v6 + type: binary + checks: + exact-len: 16 + - + name: peer-v4 + type: u32 + - + name: peer-v6 + type: binary + checks: + exact-len: 16 + - + name: peer-port + type: u16 + byte-order: big-endian + - + name: ifindex + type: s32 + +operations: + list: + - + name: unspec + doc: unused + value: 0 + + - + name: add + doc: Add port. + attribute-set: fou + + dont-validate: [strict, dump] + flags: [admin-perm] + + do: + request: &all_attrs + attributes: + - port + - ipproto + - type + - remcsum-nopartial + - local-v4 + - peer-v4 + - local-v6 + - peer-v6 + - peer-port + - ifindex + + - + name: del + doc: Delete port. + attribute-set: fou + + dont-validate: [strict, dump] + flags: [admin-perm] + + do: + request: &select_attrs + attributes: + - af + - ifindex + - port + - peer-port + - local-v4 + - peer-v4 + - local-v6 + - peer-v6 + + - + name: get + doc: Get tunnel info. + attribute-set: fou + dont-validate: [strict, dump] + + do: + request: *select_attrs + reply: *all_attrs + + dump: + reply: *all_attrs |
