# git rev-parse -q --verify 1b294a1f35616977caddaddf3e9d28e576a1adbc^{commit} 1b294a1f35616977caddaddf3e9d28e576a1adbc already have revision, skipping fetch # git checkout -q -f -B kisskb 1b294a1f35616977caddaddf3e9d28e576a1adbc # git clean -qxdf # < git log -1 # commit 1b294a1f35616977caddaddf3e9d28e576a1adbc # Merge: b850dc206a57 654de42f3fc6 # Author: Linus Torvalds # Date: Tue May 14 19:42:24 2024 -0700 # # Merge tag 'net-next-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next # # Pull networking updates from Jakub Kicinski: # "Core & protocols: # # - Complete rework of garbage collection of AF_UNIX sockets. # # AF_UNIX is prone to forming reference count cycles due to fd # passing functionality. New method based on Tarjan's Strongly # Connected Components algorithm should be both faster and remove a # lot of workarounds we accumulated over the years. # # - Add TCP fraglist GRO support, allowing chaining multiple TCP # packets and forwarding them together. Useful for small switches / # routers which lack basic checksum offload in some scenarios (e.g. # PPPoE). # # - Support using SMP threads for handling packet backlog i.e. packet # processing from software interfaces and old drivers which don't use # NAPI. This helps move the processing out of the softirq jumble. # # - Continue work of converting from rtnl lock to RCU protection. # # Don't require rtnl lock when reading: IPv6 routing FIB, IPv6 # address labels, netdev threaded NAPI sysfs files, bonding driver's # sysfs files, MPLS devconf, IPv4 FIB rules, netns IDs, tcp metrics, # TC Qdiscs, neighbor entries, ARP entries via ioctl(SIOCGARP), a lot # of the link information available via rtnetlink. # # - Small optimizations from Eric to UDP wake up handling, memory # accounting, RPS/RFS implementation, TCP packet sizing etc. # # - Allow direct page recycling in the bulk API used by XDP, for +2% # PPS. # # - Support peek with an offset on TCP sockets. # # - Add MPTCP APIs for querying last time packets were received/sent/acked # and whether MPTCP "upgrade" succeeded on a TCP socket. # # - Add intra-node communication shortcut to improve SMC performance. # # - Add IPv6 (and IPv{4,6}-over-IPv{4,6}) support to the GTP protocol # driver. # # - Add HSR-SAN (RedBOX) mode of operation to the HSR protocol driver. # # - Add reset reasons for tracing what caused a TCP reset to be sent. # # - Introduce direction attribute for xfrm (IPSec) states. State can be # used either for input or output packet processing. # # Things we sprinkled into general kernel code: # # - Add bitmap_{read,write}(), bitmap_size(), expose BYTES_TO_BITS(). # # This required touch-ups and renaming of a few existing users. # # - Add Endian-dependent __counted_by_{le,be} annotations. # # - Make building selftests "quieter" by printing summaries like # "CC object.o" rather than full commands with all the arguments. # # Netfilter: # # - Use GFP_KERNEL to clone elements, to deal better with OOM # situations and avoid failures in the .commit step. # # BPF: # # - Add eBPF JIT for ARCv2 CPUs. # # - Support attaching kprobe BPF programs through kprobe_multi link in # a session mode, meaning, a BPF program is attached to both function # entry and return, the entry program can decide if the return # program gets executed and the entry program can share u64 cookie # value with return program. "Session mode" is a common use-case for # tetragon and bpftrace. # # - Add the ability to specify and retrieve BPF cookie for raw # tracepoint programs in order to ease migration from classic to raw # tracepoints. # # - Add an internal-only BPF per-CPU instruction for resolving per-CPU # memory addresses and implement support in x86, ARM64 and RISC-V # JITs. This allows inlining functions which need to access per-CPU # state. # # - Optimize x86 BPF JIT's emit_mov_imm64, and add support for various # atomics in bpf_arena which can be JITed as a single x86 # instruction. Support BPF arena on ARM64. # # - Add a new bpf_wq API for deferring events and refactor # process-context bpf_timer code to keep common code where possible. # # - Harden the BPF verifier's and/or/xor value tracking. # # - Introduce crypto kfuncs to let BPF programs call kernel crypto # APIs. # # - Support bpf_tail_call_static() helper for BPF programs with GCC 13. # # - Add bpf_preempt_{disable,enable}() kfuncs in order to allow a BPF # program to have code sections where preemption is disabled. # # Driver API: # # - Skip software TC processing completely if all installed rules are # marked as HW-only, instead of checking the HW-only flag rule by # rule. # # - Add support for configuring PoE (Power over Ethernet), similar to # the already existing support for PoDL (Power over Data Line) # config. # # - Initial bits of a queue control API, for now allowing a single # queue to be reset without disturbing packet flow to other queues. # # - Common (ethtool) statistics for hardware timestamping. # # Tests and tooling: # # - Remove the need to create a config file to run the net forwarding # tests so that a naive "make run_tests" can exercise them. # # - Define a method of writing tests which require an external endpoint # to communicate with (to send/receive data towards the test # machine). Add a few such tests. # # - Create a shared code library for writing Python tests. Expose the # YAML Netlink library from tools/ to the tests for easy Netlink # access. # # - Move netfilter tests under net/, extend them, separate performance # tests from correctness tests, and iron out issues found by running # them "on every commit". # # - Refactor BPF selftests to use common network helpers. # # - Further work filling in YAML definitions of Netlink messages for: # nftables, team driver, bonding interfaces, vlan interfaces, VF # info, TC u32 mark, TC police action. # # - Teach Python YAML Netlink to decode attribute policies. # # - Extend the definition of the "indexed array" construct in the specs # to cover arrays of scalars rather than just nests. # # - Add hyperlinks between definitions in generated Netlink docs. # # Drivers: # # - Make sure unsupported flower control flags are rejected by drivers, # and make more drivers report errors directly to the application # rather than dmesg (large number of driver changes from Asbjørn # Sloth Tønnesen). # # - Ethernet high-speed NICs: # - Broadcom (bnxt): # - support multiple RSS contexts and steering traffic to them # - support XDP metadata # - make page pool allocations more NUMA aware # - Intel (100G, ice, idpf): # - extract datapath code common among Intel drivers into a library # - use fewer resources in switchdev by sharing queues with the PF # - add PFCP filter support # - add Ethernet filter support # - use a spinlock instead of HW lock in PTP clock ops # - support 5 layer Tx scheduler topology # - nVidia/Mellanox: # - 800G link modes and 100G SerDes speeds # - per-queue IRQ coalescing configuration # - Marvell Octeon: # - support offloading TC packet mark action # # - Ethernet NICs consumer, embedded and virtual: # - stop lying about skb->truesize in USB Ethernet drivers, it # messes up TCP memory calculations # - Google cloud vNIC: # - support changing ring size via ethtool # - support ring reset using the queue control API # - VirtIO net: # - expose flow hash from RSS to XDP # - per-queue statistics # - add selftests # - Synopsys (stmmac): # - support controllers which require an RX clock signal from the # MII bus to perform their hardware initialization # - TI: # - icssg_prueth: support ICSSG-based Ethernet on AM65x SR1.0 devices # - icssg_prueth: add SW TX / RX Coalescing based on hrtimers # - cpsw: minimal XDP support # - Renesas (ravb): # - support describing the MDIO bus # - Realtek (r8169): # - add support for RTL8168M # - Microchip Sparx5: # - matchall and flower actions mirred and redirect # # - Ethernet switches: # - nVidia/Mellanox: # - improve events processing performance # - Marvell: # - add support for MV88E6250 family internal PHYs # - Microchip: # - add DCB and DSCP mapping support for KSZ switches # - vsc73xx: convert to PHYLINK # - Realtek: # - rtl8226b/rtl8221b: add C45 instances and SerDes switching # # - Many driver changes related to PHYLIB and PHYLINK deprecated API # cleanup # # - Ethernet PHYs: # - Add a new driver for Airoha EN8811H 2.5 Gigabit PHY. # - micrel: lan8814: add support for PPS out and external timestamp trigger # # - WiFi: # - Disable Wireless Extensions (WEXT) in all Wi-Fi 7 devices # drivers. Modern devices can only be configured using nl80211. # - mac80211/cfg80211 # - handle color change per link for WiFi 7 Multi-Link Operation # - Intel (iwlwifi): # - don't support puncturing in 5 GHz # - support monitor mode on passive channels # - BZ-W device support # - P2P with HE/EHT support # - re-add support for firmware API 90 # - provide channel survey information for Automatic Channel Selection # - MediaTek (mt76): # - mt7921 LED control # - mt7925 EHT radiotap support # - mt7920e PCI support # - Qualcomm (ath11k): # - P2P support for QCA6390, WCN6855 and QCA2066 # - support hibernation # - ieee80211-freq-limit Device Tree property support # - Qualcomm (ath12k): # - refactoring in preparation of multi-link support # - suspend and hibernation support # - ACPI support # - debugfs support, including dfs_simulate_radar support # - RealTek: # - rtw88: RTL8723CS SDIO device support # - rtw89: RTL8922AE Wi-Fi 7 PCI device support # - rtw89: complete features of new WiFi 7 chip 8922AE including # BT-coexistence and Wake-on-WLAN # - rtw89: use BIOS ACPI settings to set TX power and channels # - rtl8xxxu: enable Management Frame Protection (MFP) support # # - Bluetooth: # - support for Intel BlazarI and Filmore Peak2 (BE201) # - support for MediaTek MT7921S SDIO # - initial support for Intel PCIe BT driver # - remove HCI_AMP support" # # * tag 'net-next-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1827 commits) # selftests: netfilter: fix packetdrill conntrack testcase # net: gro: fix napi_gro_cb zeroed alignment # Bluetooth: btintel_pcie: Refactor and code cleanup # Bluetooth: btintel_pcie: Fix warning reported by sparse # Bluetooth: hci_core: Fix not handling hdev->le_num_of_adv_sets=1 # Bluetooth: btintel: Fix compiler warning for multi_v7_defconfig config # Bluetooth: btintel_pcie: Fix compiler warnings # Bluetooth: btintel_pcie: Add *setup* function to download firmware # Bluetooth: btintel_pcie: Add support for PCIe transport # Bluetooth: btintel: Export few static functions # Bluetooth: HCI: Remove HCI_AMP support # Bluetooth: L2CAP: Fix div-by-zero in l2cap_le_flowctl_init() # Bluetooth: qca: Fix error code in qca_read_fw_build_info() # Bluetooth: hci_conn: Use __counted_by() and avoid -Wfamnae warning # Bluetooth: btintel: Add support for Filmore Peak2 (BE201) # Bluetooth: btintel: Add support for BlazarI # LE Create Connection command timeout increased to 20 secs # dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth # Bluetooth: compute LE flow credits based on recvbuf space # Bluetooth: hci_sync: Use cmd->num_cis instead of magic number # ... # < /opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 1b294a1f35616977caddaddf3e9d28e576a1adbc # make -s -j 40 ARCH=um O=/kisskb/build/linus_defconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 defconfig # < make -s -j 40 ARCH=um O=/kisskb/build/linus_defconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 help # make -s -j 40 ARCH=um O=/kisskb/build/linus_defconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 olddefconfig # make -s -j 40 ARCH=um O=/kisskb/build/linus_defconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/arch/x86/um/user-offsets.c:17:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes] 17 | void foo(void) | ^~~ In file included from /kisskb/src/arch/um/kernel/asm-offsets.c:1: /kisskb/src/arch/x86/um/shared/sysdep/kernel-offsets.h:9:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes] 9 | void foo(void) | ^~~ /kisskb/src/arch/x86/um/fault.c:18:5: warning: no previous prototype for ‘arch_fixup’ [-Wmissing-prototypes] 18 | int arch_fixup(unsigned long address, struct uml_pt_regs *regs) | ^~~~~~~~~~ /kisskb/src/arch/x86/um/bugs_64.c:9:6: warning: no previous prototype for ‘arch_check_bugs’ [-Wmissing-prototypes] 9 | void arch_check_bugs(void) | ^~~~~~~~~~~~~~~ /kisskb/src/arch/x86/um/bugs_64.c:13:6: warning: no previous prototype for ‘arch_examine_signal’ [-Wmissing-prototypes] 13 | void arch_examine_signal(int sig, struct uml_pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/x86/um/vdso/um_vdso.c:16:5: warning: no previous prototype for ‘__vdso_clock_gettime’ [-Wmissing-prototypes] 16 | int __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/x86/um/vdso/um_vdso.c:30:5: warning: no previous prototype for ‘__vdso_gettimeofday’ [-Wmissing-prototypes] 30 | int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/x86/um/vdso/um_vdso.c:44:21: warning: no previous prototype for ‘__vdso_time’ [-Wmissing-prototypes] 44 | __kernel_old_time_t __vdso_time(__kernel_old_time_t *t) | ^~~~~~~~~~~ /kisskb/src/arch/x86/um/vdso/um_vdso.c:57:1: warning: no previous prototype for ‘__vdso_getcpu’ [-Wmissing-prototypes] 57 | __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused) | ^~~~~~~~~~~~~ /kisskb/src/arch/x86/um/os-Linux/registers.c:146:15: warning: no previous prototype for ‘get_thread_reg’ [-Wmissing-prototypes] 146 | unsigned long get_thread_reg(int reg, jmp_buf *buf) | ^~~~~~~~~~~~~~ /kisskb/src/arch/x86/um/os-Linux/mcontext.c:7:6: warning: no previous prototype for ‘get_regs_from_mc’ [-Wmissing-prototypes] 7 | void get_regs_from_mc(struct uml_pt_regs *regs, mcontext_t *mc) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/skas/mmu.c:17:5: warning: no previous prototype for ‘init_new_context’ [-Wmissing-prototypes] 17 | int init_new_context(struct task_struct *task, struct mm_struct *mm) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/skas/mmu.c:60:6: warning: no previous prototype for ‘destroy_context’ [-Wmissing-prototypes] 60 | void destroy_context(struct mm_struct *mm) | ^~~~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/skas/process.c:107:6: warning: no previous prototype for ‘wait_stub_done’ [-Wmissing-prototypes] 107 | void wait_stub_done(int pid) | ^~~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/skas/process.c:683:6: warning: no previous prototype for ‘__switch_mm’ [-Wmissing-prototypes] 683 | void __switch_mm(struct mm_id *mm_idp) | ^~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/drivers/ethertap_kern.c:66:5: warning: no previous prototype for ‘ethertap_setup’ [-Wmissing-prototypes] 66 | int ethertap_setup(char *str, char **mac_out, void *data) | ^~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/skas/process.c:36:12: warning: no previous prototype for ‘start_uml’ [-Wmissing-prototypes] 36 | int __init start_uml(void) | ^~~~~~~~~ /kisskb/src/arch/um/os-Linux/drivers/tuntap_kern.c:56:5: warning: no previous prototype for ‘tuntap_setup’ [-Wmissing-prototypes] 56 | int tuntap_setup(char *str, char **mac_out, void *data) | ^~~~~~~~~~~~ /kisskb/src/arch/x86/um/ptrace_64.c:111:5: warning: no previous prototype for ‘poke_user’ [-Wmissing-prototypes] 111 | int poke_user(struct task_struct *child, long addr, long data) | ^~~~~~~~~ /kisskb/src/arch/x86/um/ptrace_64.c:171:5: warning: no previous prototype for ‘peek_user’ [-Wmissing-prototypes] 171 | int peek_user(struct task_struct *child, long addr, long data) | ^~~~~~~~~ /kisskb/src/arch/um/os-Linux/main.c:187:7: warning: no previous prototype for ‘__wrap_malloc’ [-Wmissing-prototypes] 187 | void *__wrap_malloc(int size) | ^~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/main.c:208:7: warning: no previous prototype for ‘__wrap_calloc’ [-Wmissing-prototypes] 208 | void *__wrap_calloc(int n, int size) | ^~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/main.c:222:6: warning: no previous prototype for ‘__wrap_free’ [-Wmissing-prototypes] 222 | void __wrap_free(void *ptr) | ^~~~~~~~~~~ /kisskb/src/arch/x86/um/signal.c:560:6: warning: no previous prototype for ‘sys_rt_sigreturn’ [-Wmissing-prototypes] 560 | long sys_rt_sigreturn(void) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/mem.c:28:6: warning: no previous prototype for ‘kasan_map_memory’ [-Wmissing-prototypes] 28 | void kasan_map_memory(void *start, size_t len) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/mem.c:212:13: warning: no previous prototype for ‘check_tmpexec’ [-Wmissing-prototypes] 212 | void __init check_tmpexec(void) | ^~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/signal.c:75:6: warning: no previous prototype for ‘sig_handler’ [-Wmissing-prototypes] 75 | void sig_handler(int sig, struct siginfo *si, mcontext_t *mc) | ^~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/signal.c:111:6: warning: no previous prototype for ‘timer_alarm_handler’ [-Wmissing-prototypes] 111 | void timer_alarm_handler(int sig, struct siginfo *unused_si, mcontext_t *mc) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/start_up.c:301:12: warning: no previous prototype for ‘parse_iomem’ [-Wmissing-prototypes] 301 | int __init parse_iomem(char *str, int *add) | ^~~~~~~~~~~ /kisskb/src/arch/um/kernel/mem.c:202:8: warning: no previous prototype for ‘pgd_alloc’ [-Wmissing-prototypes] 202 | pgd_t *pgd_alloc(struct mm_struct *mm) | ^~~~~~~~~ /kisskb/src/arch/um/kernel/mem.c:215:7: warning: no previous prototype for ‘uml_kmalloc’ [-Wmissing-prototypes] 215 | void *uml_kmalloc(int size, int flags) | ^~~~~~~~~~~ /kisskb/src/arch/x86/um/syscalls_64.c:48:6: warning: no previous prototype for ‘arch_switch_to’ [-Wmissing-prototypes] 48 | void arch_switch_to(struct task_struct *to) | ^~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:51:5: warning: no previous prototype for ‘pid_to_processor_id’ [-Wmissing-prototypes] 51 | int pid_to_processor_id(int pid) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:87:7: warning: no previous prototype for ‘__switch_to’ [-Wmissing-prototypes] 87 | void *__switch_to(struct task_struct *from, struct task_struct *to) | ^~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:140:6: warning: no previous prototype for ‘fork_handler’ [-Wmissing-prototypes] 140 | void fork_handler(void) | ^~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:217:6: warning: no previous prototype for ‘arch_cpu_idle’ [-Wmissing-prototypes] 217 | void arch_cpu_idle(void) | ^~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:253:5: warning: no previous prototype for ‘copy_to_user_proc’ [-Wmissing-prototypes] 253 | int copy_to_user_proc(void __user *to, void *from, int size) | ^~~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:263:5: warning: no previous prototype for ‘clear_user_proc’ [-Wmissing-prototypes] 263 | int clear_user_proc(void __user *buf, int size) | ^~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:271:6: warning: no previous prototype for ‘set_using_sysemu’ [-Wmissing-prototypes] 271 | void set_using_sysemu(int value) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:278:5: warning: no previous prototype for ‘get_using_sysemu’ [-Wmissing-prototypes] 278 | int get_using_sysemu(void) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:316:12: warning: no previous prototype for ‘make_proc_sysemu’ [-Wmissing-prototypes] 316 | int __init make_proc_sysemu(void) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/process.c:348:15: warning: no previous prototype for ‘arch_align_stack’ [-Wmissing-prototypes] 348 | unsigned long arch_align_stack(unsigned long sp) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/reboot.c:45:6: warning: no previous prototype for ‘machine_restart’ [-Wmissing-prototypes] 45 | void machine_restart(char * __unused) | ^~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/reboot.c:51:6: warning: no previous prototype for ‘machine_power_off’ [-Wmissing-prototypes] 51 | void machine_power_off(void) | ^~~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/reboot.c:57:6: warning: no previous prototype for ‘machine_halt’ [-Wmissing-prototypes] 57 | void machine_halt(void) | ^~~~~~~~~~~~ /kisskb/src/arch/um/kernel/tlb.c:579:6: warning: no previous prototype for ‘flush_tlb_mm_range’ [-Wmissing-prototypes] 579 | void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start, | ^~~~~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/tlb.c:594:6: warning: no previous prototype for ‘force_flush_all’ [-Wmissing-prototypes] 594 | void force_flush_all(void) | ^~~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/um_arch.c:408:19: warning: no previous prototype for ‘read_initrd’ [-Wmissing-prototypes] 408 | int __init __weak read_initrd(void) | ^~~~~~~~~~~ /kisskb/src/arch/um/kernel/um_arch.c:461:7: warning: no previous prototype for ‘text_poke’ [-Wmissing-prototypes] 461 | void *text_poke(void *addr, const void *opcode, size_t len) | ^~~~~~~~~ /kisskb/src/arch/um/kernel/um_arch.c:473:6: warning: no previous prototype for ‘text_poke_sync’ [-Wmissing-prototypes] 473 | void text_poke_sync(void) | ^~~~~~~~~~~~~~ /kisskb/src/arch/um/kernel/kmsg_dump.c:60:12: warning: no previous prototype for ‘kmsg_dumper_stdout_init’ [-Wmissing-prototypes] 60 | int __init kmsg_dumper_stdout_init(void) | ^~~~~~~~~~~~~~~~~~~~~~~ LINK linux Completed OK # rm -rf /kisskb/build/linus_defconfig_um-x86_64-gcc12 # Build took: 0:00:36.125429