diff --git a/news/README.md b/news/README.md index 3f446920ff181218075731186bbe70d1c47150db..c2338a6a622416097fc4287ff6136867daed3264 100644 --- a/news/README.md +++ b/news/README.md @@ -8,6 +8,797 @@ * [2024 年 - 上半年](2024-1st-half.md) +## 20240804:第 103 期 + +### 内核动态 + +#### RISC-V 架构支持 + +**[v9: riscv: sophgo: Add SG2042 external hardware monitor support](http://lore.kernel.org/linux-riscv/IA1PR20MB495337877FFC8D787A045C15BBB32@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add support for the onboard hardware monitor for SG2042. + +**[v5: Tracepoints and static branch in Rust](http://lore.kernel.org/linux-riscv/20240802-tracepoint-v5-0-faa164494dcb@google.com/)** + +> An important part of a production ready Linux kernel driver is +> tracepoints. + +**[v9: riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs](http://lore.kernel.org/linux-riscv/IA1PR20MB495332ACF71E3E8D631508B2BBB32@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add dma multiplexer support for the Sophgo CV1800/SG2000 SoCs. + +**[v1: irqchip: let the probe of APLIC be earlier than IMSIC](http://lore.kernel.org/linux-riscv/20240802075741.316968-1-vincent.chen@sifive.com/)** + +> The reason for this error message is that the probe of APLIC is executed +> earlier than IMSIC. + +**[v1: riscv: support KASAN instrumentation of bitops](http://lore.kernel.org/linux-riscv/20240802040506.712-1-dqfext@gmail.com/)** + +> The arch-specific bitops are not being picked up by the KASAN test +> suite. + +**[v4: riscv: sophgo: Add pinctrl support for CV1800 series SoC](http://lore.kernel.org/linux-riscv/IA1PR20MB4953DC78BB0FE0C57EA94F91BBB32@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add basic pinctrl driver for Sophgo CV1800 series SoCs. + +**[v3: mm: introduce numa_memblks](http://lore.kernel.org/linux-riscv/20240801060826.559858-1-rppt@kernel.org/)** + +> Following the discussion about handling of CXL fixed memory windows on +> arm64. + +**[v1: cpumask: de-duplicate assign_cpu() API](http://lore.kernel.org/linux-riscv/20240731195355.97488-1-yury.norov@gmail.com/)** + +> We've got cpumask_assign_cpu() function and assign_cpu() macro, both +> doing the same thing. We need to drop one to avoid unneeded duplicatioon. + +**[v1: RISC-V: Don't have MAX_PHYSMEM_BITS exceed phys_addr_t](http://lore.kernel.org/linux-riscv/20240731162159.9235-2-palmer@rivosinc.com/)** + +> I recently ended up with a warning on some compilers along the lines of + +**[v3: Add SARADC support on Sophgo SoC](http://lore.kernel.org/linux-riscv/20240731-sg2002-adc-v3-0-5ac40a518c0a@bootlin.com/)** + +> This patchset adds initial ADC support for Sophgo SoC. + +**[v2: riscv/mm: Add handling for VM_FAULT_SIGSEGV in mm_fault_error()](http://lore.kernel.org/linux-riscv/20240731084547.85380-1-qiaozhe@iscas.ac.cn/)** + +> Handle VM_FAULT_SIGSEGV in the page fault path so that we correctly +> kill the process and we don't BUG() the kernel. + +**[v4: Zacas/Zabha support and qspinlocks](http://lore.kernel.org/linux-riscv/20240731072405.197046-1-alexghiti@rivosinc.com/)** + +> This implements [cmp]xchgXX() macros using Zacas and Zabha extensions +> and finally uses those newly introduced macros to add support for +> qspinlocks. + +**[v2: riscv: mm: Add soft-dirty and uffd-wp support](http://lore.kernel.org/linux-riscv/20240731040444.3384790-1-zhangchunyan@iscas.ac.cn/)** + +> This patchset adds soft dirty and userfaultfd write protect tracking support +> for RISC-V. + +**[v1: uretprobe: change syscall number, again](http://lore.kernel.org/linux-riscv/20240730154500.3155437-1-arnd@kernel.org/)** + +> Despite multiple attempts to get the syscall number assignment right +> for the newly added uretprobe syscall, we ended up with a bit of a mess. + +**[v1: riscv: mm: Add support for uffd write-protect support](http://lore.kernel.org/linux-riscv/20240730095325.3540198-1-ruanjinjie@huawei.com/)** + +> Use the 9th bit in the PTE for uffd-wp mark, which used for devmap and +> is ready to be freed up. + +**[v1: use struct ptdesc to replace pgtable_t](http://lore.kernel.org/linux-riscv/20240730064712.3714387-1-alexs@kernel.org/)** + +> We have struct ptdesc for page table descriptor a year ago, but it +> has no much usages in kernel, while pgtable_t is used widely. + +**[v1: serial: 8250_platform: Enable generic 16550A platform devices](http://lore.kernel.org/linux-riscv/20240730051218.767580-1-sunilvl@ventanamicro.com/)** + +> This is required in particular for RISC-V which has non-PNP generic +> device. + +**[v5: riscv: add initial support for SpacemiT K1](http://lore.kernel.org/linux-riscv/20240730-k1-01-basic-dt-v5-0-98263aae83be@gentoo.org/)** + +> SpacemiT K1 is an ideal chip for some new extension such as RISC-V Vector +> 1.0 and Zicond evaluation now. Add initial support for it to allow more +> people to participate in building drivers to mainline for it. + +**[v1: riscv: Add missing licenses](http://lore.kernel.org/linux-riscv/20240729-riscv_fence_license-v1-0-7d5648069640@rivosinc.com/)** + +> I was poking around some files and noticed that vmalloc.h and fence.h +> were missing licenses. This series simply adds in those licenses. + +**[v1: tools: Add barrier implementations for riscv](http://lore.kernel.org/linux-riscv/20240729-optimize_ring_buffer_read_riscv-v1-0-6bbc0f2434ee@rivosinc.com/)** + +> Add support for riscv specific barrier implementations to the tools +> tree, so that fence instructions can be emitted for synchronization. + +**[v7: RISC-V: ACPI: Add external interrupt controller support](http://lore.kernel.org/linux-riscv/20240729142241.733357-1-sunilvl@ventanamicro.com/)** + +> This series adds support for the below ECR approved by ASWG. + +**[v8: RESEND: riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs](http://lore.kernel.org/linux-riscv/IA1PR20MB49535EC188F8EE3F8FD0B68DBBB72@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add dma multiplexer support for the Sophgo CV1800/SG2000 SoCs. + +**[v1: ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE](http://lore.kernel.org/linux-riscv/20240729035958.1957185-1-haibo1.xu@intel.com/)** + +> To ensure all the values were properly initialized, switch to initialize +> all of them to NUMA_NO_NODE. + +**[GIT PULL: RISC-V Patches for the 6.11 Merge Window, Part 2](http://lore.kernel.org/linux-riscv/mhng-d1533559-79a3-401a-8eee-a743b80b3bb2@palmer-ri-x1c9/)** + +> There should +> be no post-merge code chages, but I wanted to give it a day for the testers +> just in case. + +#### LoongArch 架构支持 + +**[v2: uart: Introduce uart driver for the Loongson family chips](http://lore.kernel.org/loongarch/20240804063610.69873-1-zhenghaowei@loongson.cn/)** + +> This patchset introduce a generic UART framework driver for Loongson family. + +**[v6: LoongArch: KVM: Add Binary Translation extension support](http://lore.kernel.org/loongarch/20240730075744.1215856-1-maobibo@loongson.cn/)** + +> Loongson Binary Translation (LBT) is used to accelerate binary +> translation, which contains 4 scratch registers (scr0 to scr3), x86/ARM +> eflags (eflags) and x87 fpu stack pointer (ftop). + +**[v4: Add extioi virt extension support](http://lore.kernel.org/loongarch/20240730075344.1215681-1-maobibo@loongson.cn/)** + +> Also interface is provide to VMM to detect and enable/disable paravirt +> features provided in KVM hypervisor. + +#### ARM 架构支持 + +**[v1: Add initial support for Rockchip RK3528 SoC](http://lore.kernel.org/linux-arm-kernel/20240803125510.4699-2-ziyao@disroot.org/)** + +> This series add a basic device tree with CPU, +> interrupts and UART nodes for it and is able to boot into a kernel with +> only UART console. + +**[v1: mm: Only enforce minimum stack gap size if it's sensible](http://lore.kernel.org/linux-arm-kernel/20240803074642.1849623-2-davidgow@google.com/)** + +> The generic mmap_base code tries to leave a gap between the top +> of the stack and the mmap base address. + +**[v6: Add Meta(Facebook) Catalina BMC(AST2600)](http://lore.kernel.org/linux-arm-kernel/20240802-potin-catalina-dts-v6-0-0b8f61b80688@gmail.com/)** + +> Add Linux device tree entry related to Meta(Facebook) Catalina specific +> devices connected to BMC(AST2600) SoC. + +**[v2: Introduce ASPEED AST27XX BMC SoC](http://lore.kernel.org/linux-arm-kernel/20240802090544.2741206-2-kevin_chen@aspeedtech.com/)** + +> This patchset adds initial support for the ASPEED. +> AST27XX Board Management controller (BMC) SoC family. + +**[v1: Add input voltage suppliers for PMIC MCP16502 regulators](http://lore.kernel.org/linux-arm-kernel/20240802084433.20958-1-andrei.simion@microchip.com/)** + +> I modified the mcp16502.c driver and the dts that use this PMIC. +> We added these improvements to provide a complete description of the board power scheme. + +**[v5: dma: support DMA zone starting above 4GB](http://lore.kernel.org/linux-arm-kernel/cover.1722578375.git.baruch@tkos.co.il/)** + +> DMA zones code assumes that DMA lower limit is zero. + +**[v3: Revise Meta(Facebook) Harma BMC(AST2600)](http://lore.kernel.org/linux-arm-kernel/20240801160136.1281291-1-peteryin.openbmc@gmail.com/)** + +> Revise linux device tree entry related to Meta(Facebook) Harma +> specific devices connected to BMC(AST2600) SoC. + +**[v3: interconnect: qcom: Add SM4450 interconnect](http://lore.kernel.org/linux-arm-kernel/20240801-sm4450_interconnect-v3-0-8e364d0faa99@quicinc.com/)** + +> Add SM4450 interconnect provider driver and enable it. + +**[v1: arm64/tools/sysreg: Add Sysreg128/SysregFields128](http://lore.kernel.org/linux-arm-kernel/20240801054436.612024-1-anshuman.khandual@arm.com/)** + +> This patch applies after the following series which adds GENMASK_U128() + +**[v1: soc: ti: knav: Use of_property_read_variable_u32_array()](http://lore.kernel.org/linux-arm-kernel/20240731201407.1838385-3-robh@kernel.org/)** + +> This is part of a larger effort to remove callers of of_find_property() +> and similar functions. + +**[v1: usb: chipidea: Use of_property_present()](http://lore.kernel.org/linux-arm-kernel/20240731191312.1710417-18-robh@kernel.org/)** + +> Use of_property_present() to test for property presence rather than +> of_get_property(). + +**[v1: perf: arm_pmu: Use of_property_present()](http://lore.kernel.org/linux-arm-kernel/20240731191312.1710417-15-robh@kernel.org/)** + +> Use of_property_present() to test for property presence rather than +> of_find_property(). + +**[v1: devfreq: imx-bus: Use of_property_present()](http://lore.kernel.org/linux-arm-kernel/20240731191312.1710417-11-robh@kernel.org/)** + +> Use of_property_present() to test for property presence rather than +> of_get_property(). + +**[v1: iio: adc: aspeed: Use of_property_present()](http://lore.kernel.org/linux-arm-kernel/20240731191312.1710417-5-robh@kernel.org/)** + +> Use of_property_present() to test for property presence rather than +> of_find_property(). + +**[v1: cpufreq: Use of_property_present()](http://lore.kernel.org/linux-arm-kernel/20240731191312.1710417-2-robh@kernel.org/)** + +> Use of_property_present() to test for property presence rather than +> of_(find|get)_property(). + +**[v3: Introduce J742S2 SoC and EVM](http://lore.kernel.org/linux-arm-kernel/20240731-b4-upstream-j742s2-v3-0-da7fe3aa9e90@ti.com/)** + +> The series adds support for J742S2 family of SoCs. Also adds J742S2 EVM +> Support and re-uses most of the stuff from the superset device J784s4. + +**[v1: arm64: jump_label: Ensure patched jump_labels are visible to all CPUs](http://lore.kernel.org/linux-arm-kernel/20240731133601.3073-1-will@kernel.org/)** + +> Although the Arm architecture permits concurrent modification and +> execution of NOP and branch instructions, it still requires some +> synchronisation to ensure that other CPUs consistently execute the newly +> written instruction. + +**[v7: firmware: support i.MX95 SCMI BBM/MISC Extenstion](http://lore.kernel.org/linux-arm-kernel/20240731-imx95-bbm-misc-v2-v7-0-a41394365602@nxp.com/)** + +> This patchset is to support the two protocols and users that use the +> protocols. The upper protocol infomation is also included in patch 1 + +**[v3: Add kukui-jacuzzi-cerise and kukui-jacuzzi-stern DT and dt-binding](http://lore.kernel.org/linux-arm-kernel/20240731-jacuzzi_dt-v3-0-1c4314e8962f@chromium.org/)** + +> Cerise is known as ASUS Chromebook CZ1. +> Stern is known as ASUS Chromebook Flip CZ1. + +**[v1: Support for running as a pKVM protected guest](http://lore.kernel.org/linux-arm-kernel/20240730151113.1497-1-will@kernel.org/)** + +> Since the patches for running as a CCA guest were posted already at [1], +> I figured it was worth posting the equivalent pKVM changes needed to run +> as a protected guest under an Android host kernel. + +**[v1: Add SCMI transport descriptors](http://lore.kernel.org/linux-arm-kernel/20240730144707.1647025-1-cristian.marussi@arm.com/)** + +> this small series is an extended version of this recent, already reviewed, +> series [1] posted by Peng to add a new arm,scmi property to describe some +> platform-specific SCMI timeout constraints. + +**[v1: treewide: add missing MODULE_DESCRIPTION() macros](http://lore.kernel.org/linux-arm-kernel/20240730-module_description_orphans-v1-0-7094088076c8@quicinc.com/)** + +> Since commit 1fffe7a34c89 ("script: modpost: emit a warning when the +> description is missing"), a module without a MODULE_DESCRIPTION() will +> result in a warning when built with make W=1. + +**[v11: Initial Marvell PXA1908 support](http://lore.kernel.org/linux-arm-kernel/20240730-pxa1908-lkml-v11-0-21dbb3e28793@skole.hr/)** + +> This series adds initial support for the Marvell PXA1908 SoC and +> "samsung,coreprimevelte", a smartphone using the SoC. + +**[v3: Add support for Cool Pi GenBook](http://lore.kernel.org/linux-arm-kernel/20240730102433.540260-1-andyshrk@163.com/)** + +> This series add support of eMMC/USB HOST/WiFi/Battery/TouchPad/Keyboard, +> with a mainline based u-boot, it can boot a third-party distribution +> such as Armbian on u-disk. + +**[v4: Add Per-transport SCMI debug statistics](http://lore.kernel.org/linux-arm-kernel/20240730093342.3558162-1-luke.parkin@arm.com/)** + +> This series adds support for tracking information about the SCMI v1: + +#### X86 架构支持 + +**[v1: KVM: x86: Disallow changing x2APIC ID via userspace](http://lore.kernel.org/lkml/20240802202941.344889-1-seanjc@google.com/)** + +> Silently ignore userspace attempts to change the x2APIC ID via +> KVM_SET_LAPIC. + +**[v1: KVM: x86: Document an erratum in KVM_SET_VCPU_EVENTS on Intel CPUs](http://lore.kernel.org/lkml/20240802200420.330769-1-seanjc@google.com/)** + +> Document a flaw in KVM's ABI which lets userspace attempt to inject a +> "bad" hardware exception event, and thus induce VM-Fail on Intel CPUs. + +**[v5: PCI: Allow D3Hot for PCI bridges in Devicetree based platforms](http://lore.kernel.org/lkml/20240802-pci-bridge-d3-v5-0-2426dd9e8e27@linaro.org/)** + +> This series allows D3Hot for PCI bridges in Devicetree based platforms. + +**[v1: KVM: SEV: Add support for the ALLOWED_SEV_FEATURES feature](http://lore.kernel.org/lkml/20240802015732.3192877-1-kim.phillips@amd.com/)** + +> AMD EPYC 5th generation processors have introduced a feature that allows +> the hypervisor to control the SEV_FEATURES that are set for or by a +> guest. + +**[v1: KVM: SEV: allow KVM_SEV_GET_ATTESTATION_REPORT for SNP guests](http://lore.kernel.org/lkml/20240801235333.357075-1-pbonzini@redhat.com/)** + +> Even though KVM_SEV_GET_ATTESTATION_REPORT is not one of the commands +> that were added for SEV-SNP guests, it can be applied to them. + +**[v2: Rust KCFI support](http://lore.kernel.org/lkml/20240801-kcfi-v2-0-c93caed3d121@google.com/)** + +> The control flow integrity (kCFI) sanitizer is an important sanitizer +> that is often used in production. This patch series makes it possible to +> use kCFI and Rust together. + +**[v10: arm64/gcs: Provide support for GCS in userspace](http://lore.kernel.org/lkml/20240801-arm64-gcs-v10-0-699e2bd2190b@kernel.org/)** + +> The arm64 Guarded Control Stack (GCS) feature provides support for +> hardware protected stacks of return addresses, intended to provide +> hardening against return oriented programming (ROP) attacks and to make +> it easier to gather call stacks for applications such as profiling. + +**[v1: kernel/fs: last check for exec credentials on NOEXEC mount](http://lore.kernel.org/lkml/20240801120745.13318-1-wojciech.gladysz@infogain.com/)** + +> Add a check to security_bprm_creds_for_exec(bprm). + +#### 进程调度 + +**[v1: sched/topology: optimize topology_span_sane()](http://lore.kernel.org/lkml/20240802175750.1152788-1-yury.norov@gmail.com/)** + +> Pre-compute pre-compute topology_span_sane() loop params and optimize +> the functtion to avoid calling cpumask_equal() when masks are the same. + +**[v2: -next: sched/fair: inline cpu_util_without and cpu_util to improve performance](http://lore.kernel.org/lkml/20240731092400.675459-1-lizetao1@huawei.com/)** + +> This patch introduces inlining to cpu_util_without and cpu_util functions. +> While this increases the size of kernel/sched/fair.o, the performance +> gains in critical workloads make this an acceptable trade-off. + +**[v1: sched/fair: Correct CPU selection from isolated domain](http://lore.kernel.org/lkml/20240730075910.573-1-realwujing@gmail.com/)** + +> We encountered an issue where the kernel thread `ksmd` runs on the PMD +> dedicated isolated core, leading to high latency in OVS packets. + +**[v4: sched/fair: Sync se's load_avg with cfs_rq in reweight_task](http://lore.kernel.org/lkml/20240729104616.180445-1-zhouchuyi@bytedance.com/)** + +> This patch solves this by using sync_entity_load_avg() to synchronize the +> load_avg of se with cfs_rq before dequeue_load_avg() in reweight_entity(). + +#### 内存管理 + +**[v3: mm: Introduce a new sysctl knob vm.pcp_batch_scale_max](http://lore.kernel.org/linux-mm/20240804080107.21094-1-laoar.shao@gmail.com/)** + +> These +> processes are organized as separate processes rather than threads due +> to the Python Global Interpreter Lock (GIL) being a bottleneck in a +> multi-threaded setup. + +**[v5: Improve the copy of task comm](http://lore.kernel.org/linux-mm/20240804075619.20804-1-laoar.shao@gmail.com/)** + +> Using {memcpy,strncpy,strcpy,kstrdup} to copy the task comm relies on the +> length of task comm. Changes in the task comm could result in a destination +> string that is overflow. + +**[v1: mm: kfence: print the age time for alloacted objectes to trace memleak](http://lore.kernel.org/linux-mm/20240803133608.2124-1-chenqiwu@xiaomi.com/)** + +> For a convienince of tracing slab object leak, print the age time for +> alloacted objectes in kfence_print_stack(). + +**[v1: mm: zswap: make the lock critical section obvious in shrink_worker()](http://lore.kernel.org/linux-mm/20240803053306.2685541-1-yosryahmed@google.com/)** + +> Move the comments and spin_{lock/unlock}() calls around in +> shrink_worker() to make it obvious the lock is protecting the loop +> updating zswap_next_shrink. + +**[v1: memcg: protect concurrent access to mem_cgroup_idr](http://lore.kernel.org/linux-mm/20240802235822.1830976-1-shakeel.butt@linux.dev/)** + +> The commit 73f576c04b94 decoupled the memcg IDs from the CSS ID space to +> fix the cgroup creation failures. + +**[v2: binfmt_elf: Dump smaller VMAs first in ELF cores](http://lore.kernel.org/linux-mm/C21B229F-D1E6-4E44-B506-A5ED4019A9DE@juniper.net/)** + +> This +> impacts debuggability with large core dumps since critical information +> necessary to form a usable backtrace, such as stacks and shared library +> information, are omitted. + +**[v1: mm: replace follow_page() by folio_walk](http://lore.kernel.org/linux-mm/20240802155524.517137-1-david@redhat.com/)** + +> Looking into a way of moving the last folio_likely_mapped_shared() call +> in add_folio_for_migration() under the PTL, I found myself removing +> follow_page(). + +**[v3: Merge arm64/riscv hugetlbfs contpte support](http://lore.kernel.org/linux-mm/20240802151430.99114-1-alexghiti@rivosinc.com/)** + +> This patchset intends to merge the contiguous ptes hugetlbfs implementation +> of arm64 and riscv. + +**[v6: mm: Ignite large folios swap-in support](http://lore.kernel.org/linux-mm/20240802122031.117548-1-21cnbao@gmail.com/)** + +> This means that once mTHP +> is swapped out, it will come back as small folios when swapped in. This is +> particularly detrimental for devices like Android, where more than half of +> the memory is in swap. + +**[v4: rust: mm: add abstractions for mm_struct and vm_area_struct](http://lore.kernel.org/linux-mm/20240802-vma-v4-1-091a87058a43@google.com/)** + +> This is a follow-up to the page abstractions [1] that were recently +> merged in 6.11. Rust Binder will need these abstractions to manipulate +> the vma in its implementation of the mmap fop on the Binder file. + +**[v2: mm: print the promo watermark in zoneinfo](http://lore.kernel.org/linux-mm/20240801232548.36604-1-kaiyang2@cs.cmu.edu/)** + +**[v1: mm: consider CMA pages in watermark check for NUMA balancing target node](http://lore.kernel.org/linux-mm/20240801180456.25927-1-kaiyang2@cs.cmu.edu/)** + +> Currently in migrate_balanced_pgdat(), ALLOC_CMA flag is not passed +> when checking watermark on the migration target node. This does not +> match the gfp in alloc_misplaced_dst_folio() which allows allocation +> from CMA. + +**[v1: binfmt_elf: seal address zero](http://lore.kernel.org/linux-mm/20240801170838.356177-1-jeffxu@google.com/)** + +> In load_elf_binary as part of the execve(), when the current +> task’s personality has MMAP_PAGE_ZERO set, the kernel allocates +> one page at address 0. + +**[v2: Add support for Congatec CGEB BIOS interface](http://lore.kernel.org/linux-mm/20240801160610.101859-1-mstrodl@csh.rit.edu/)** + +> The following series adds support for the Congatec CGEB interface +> found on some Congatec x86 boards. + +**[v2: KVM: Restricted mapping of guest_memfd at the host and pKVM/arm64 support](http://lore.kernel.org/linux-mm/20240801090117.3841080-1-tabba@google.com/)** + +> This series adds restricted mmap() support to guest_memfd, as +> well as support for guest_memfd on pKVM/arm64. + +**[v2: mm: introduce MADV_DEMOTE/MADV_PROMOTE](http://lore.kernel.org/linux-mm/20240801075610.12351-1-zhang.renze@h3c.com/)** + +> Sure, here's the Scalable Tiered Memory Control (STMC) + +#### 文件系统 + +**[v7: squashfs: Add symlink size check in squash_read_inode](http://lore.kernel.org/linux-fsdevel/20240803074349.3599957-1-lizhi.xu@windriver.com/)** + +> syzbot report KMSAN: uninit-value in pick_link, the root cause is that +> squashfs_symlink_read_folio did not check the length, resulting in folio +> not being initialized and did not return the corresponding error code. + +**[v2: fuse: Allow page aligned writes](http://lore.kernel.org/linux-fsdevel/20240802215200.2842855-1-bschubert@ddn.com/)** + +> Read/writes IOs should be page aligned as fuse server +> might need to copy data to another buffer otherwise in +> order to fulfill network or device storage requirements. + +**[v1: fs: try an opportunistic lookup for O_CREAT opens too](http://lore.kernel.org/linux-fsdevel/20240802-openfast-v1-0-a1cff2a33063@kernel.org/)** + +> We've had some reports of i_rwsem contention in some workloads. On an +> open with O_CREAT set, it always takes i_rwsem for write when handling +> the last component. + +**[v2: ext4: simplify the counting and management of delalloc reserved blocks](http://lore.kernel.org/linux-fsdevel/20240802115120.362902-1-yi.zhang@huaweicloud.com/)** + +**[v5: squashfs: Add i_size check in squash_read_inode](http://lore.kernel.org/linux-fsdevel/20240802111640.2762325-1-lizhi.xu@windriver.com/)** + +> syzbot report KMSAN: uninit-value in pick_link, the root cause is that +> squashfs_symlink_read_folio did not check the length, resulting in folio +> not being initialized and did not return the corresponding error code. + +**[v3: forcealign for xfs](http://lore.kernel.org/linux-fsdevel/20240801163057.3981192-1-john.g.garry@oracle.com/)** + +> This series is being spun off the block atomic writes for xfs series at +> . + +**[v2: squashfs: Add length check in squashfs_symlink_read_folio](http://lore.kernel.org/linux-fsdevel/20240801151740.339272-1-lizhi.xu@windriver.com/)** + +> The incorrect value of length is due to the incorrect value of inode->i_size. + +**[v1: filemap: Init the newly allocated folio memory to 0 for the filemap](http://lore.kernel.org/linux-fsdevel/20240801022739.1199700-1-lizhi.xu@windriver.com/)** + +> syzbot report KMSAN: uninit-value in pick_link, this is because the +> corresponding folio was not found from the mapping, and the memory was +> not initialized when allocating a new folio for the filemap. + +**[v4: bpf-next: bpf: introduce new VFS based BPF kfuncs](http://lore.kernel.org/linux-fsdevel/20240731110833.1834742-1-mattbobrowski@google.com/)** + +> The primary difference in this version of the patch series is that the +> suite of VFS related BPF kfuncs added can be used from both sleepable +> and non-sleepable BPF LSM program types. IOW, the KF_SLEEPABLE +> annotation has been removed from all of them. + +**[v1: pidfd: prevent creation of pidfds for kthreads](http://lore.kernel.org/linux-fsdevel/20240731-gleis-mehreinnahmen-6bbadd128383@brauner/)** + +> It's currently possible to create pidfds for kthreads but it is unclear +> what that is supposed to mean. Until we have use-cases for it and we +> figured out what behavior we want block the creation of pidfds for +> kthreads. + +**[v1: why do we have lookup_fdget_rcu() and friends?](http://lore.kernel.org/linux-fsdevel/20240731065446.GJ5334@ZenIV/)** + +> That stuff had been added in "file: convert to SLAB_TYPESAFE_BY_RCU" +> as replacements of lookup_fd_rcu() and friends. The old ones did not +> grab file reference; their replacements do (with good reasons). + +**[v1: mm/filemap: In page fault retry path skip filemap_map_pages() if no read-ahead pages](http://lore.kernel.org/linux-fsdevel/20240731065128.50971-1-rongqianfeng@vivo.com/)** + +> Because filemap_read_folio() just read the data of one folio, without +> read-ahead pages, it is no needs to go through the do_fault_around() again +> in the page fault retry path. + +**[v3: exfat: check disk status during buffer write](http://lore.kernel.org/linux-fsdevel/20240731022715.4044482-1-dongliang.cui@unisoc.com/)** + +> We found that when writing a large file through buffer write, if the +> disk is inaccessible, exFAT does not return an error normally, which +> leads to the writing process not stopping properly. + +**[v2: bpf-next: Add bpf_get_dentry_xattr](http://lore.kernel.org/linux-fsdevel/20240730230805.42205-1-song@kernel.org/)** + +> Add a kfunc to read xattr from dentry. Also add selftest for the new +> kfunc. + +**[v1: fuse: fs-verity: aoid out-of-range comparison](http://lore.kernel.org/linux-fsdevel/20240730142802.1082627-1-arnd@kernel.org/)** + +> This either means tha tthe check can be removed entirely, or that the +> intended comparison was for the 16-bit range. Assuming the latter was +> intended, compare against U16_MAX instead. + +**[v1: struct fd and memory safety](http://lore.kernel.org/linux-fsdevel/20240730050927.GC5334@ZenIV/)** + +> Most of the system calls use file descriptors to refer to opened +> files (struct file references) currently stored in the given slot(s) of +> caller's descriptor table. + +#### 网络设备 + +**[v1: idpf: Acquire the lock before accessing the xn->salt](http://lore.kernel.org/netdev/20240803182548.2932270-1-manojvishy@google.com/)** + +> The transaction salt was being accessed +> before acquiring the idpf_vc_xn_lock when idpf has to forward the +> virtchnl reply + +**[v1: net: usb: qmi_wwan: add MeiG Smart SRM825L](http://lore.kernel.org/netdev/D1EB81385E405DFE+20240803074656.567061-1-yt@radxa.com/)** + +> Add support for MeiG Smart SRM825L which is based on Qualcomm 315 chip. + +**[v2: net-next: ethtool: rss: driver tweaks and netlink context dumps](http://lore.kernel.org/netdev/20240803042624.970352-1-kuba@kernel.org/)** + +> This series is a semi-related collection of RSS patches. + +**[v1: Add GMAC support for rk3576](http://lore.kernel.org/netdev/20240802173918.301668-1-detlev.casanova@collabora.com/)** + +> Add the necessary constants and functions to support the GMAC devices on +> the rk3576. + +**[v1: net: ptp: ocp: adjust sysfs entries to expose tty information](http://lore.kernel.org/netdev/20240802154634.2563920-1-vadfed@meta.com/)** + +> Starting v6.8 the serial port subsystem changed the hierarchy of devices +> and symlinks are not working anymore. Previous discussion made it clear +> that the idea of symlinks for tty devices was wrong by design. + +**[v2: net-next: eth: fbnic: select DEVLINK and PAGE_POOL](http://lore.kernel.org/netdev/20240802-fbnic-select-v2-1-41f82a3e0178@kernel.org/)** + +> Build bot reports undefined references to devlink functions. +> And local testing revealed undefined references to page_pool functions. + +**[v1: tg3: Add param `short_preamble` to enable MDIO traffic to external PHYs](http://lore.kernel.org/netdev/20240802100448.10745-1-pmenzel@molgen.mpg.de/)** + +> Add parameter to enable *short preamble* for MAC, so MDIO access to some +> external PHY, like BCM54616, can be validated. + +**[v1: net-next: add vDPA driver for nfp devices](http://lore.kernel.org/netdev/20240802095931.24376-1-louis.peens@corigine.com/)** + +> This is the first foray into upstreaming a vDPA driver for the nfp. + +**[v3: Add support for Amlogic HCI UART](http://lore.kernel.org/netdev/20240802-btaml-v3-0-d8110bf9963f@amlogic.com/)** + +> Add support for Amlogic HCI UART, including dt-binding, +> and Amlogic Bluetooth driver. + +**[v1: net: ftgmac100: Get link speed and duplex for NC-SI](http://lore.kernel.org/netdev/20240802083332.2471281-1-jacky_chou@aspeedtech.com/)** + +> The ethtool of this driver uses the phy API of ethtool +> to get the link information from PHY driver. + +**[v1: vhost: vdpa/mlx5: Parallelize device suspend/resume](http://lore.kernel.org/netdev/20240802072039.267446-1-dtatulea@nvidia.com/)** + +> This series parallelizes the mlx5_vdpa device suspend and resume +> operations through the firmware async API. The purpose is to reduce live +> migration downtime. + +**[v2: net-next: net: phy: vitesse: implement downshift in vsc73xx phys](http://lore.kernel.org/netdev/20240802051609.637406-1-paweldembicki@gmail.com/)** + +> This commit implements downshift feature in vsc73xx family phys. + +**[v8: Landlock: Add abstract unix socket connect](http://lore.kernel.org/netdev/cover.1722570749.git.fahimitahera@gmail.com/)** + +> This patch series adds scoping mechanism for abstract unix sockets. +> Closes: https://github.com/landlock-lsm/linux/issues/7 + +**[v3: net-next: net: stmmac: Add PCI driver support for BCM8958x](http://lore.kernel.org/netdev/20240802031822.1862030-1-jitendra.vegiraju@broadcom.com/)** + +> This patchset adds basic PCI ethernet device driver support for Broadcom +> BCM8958x Automotive Ethernet switch SoC devices. + +**[v7: Add AP6275P wireless support](http://lore.kernel.org/netdev/20240802025715.2360456-1-jacobe.zang@wesion.com/)** + +> These add AP6275P wireless support on Khadas Edge2. Enable 32k clock +> for Wi-Fi module and extend the hardware IDs table in the brcmfmac +> driver for it to attach. + +**[v1: net: eth: fbnic: select devlink](http://lore.kernel.org/netdev/20240802015924.624368-1-kuba@kernel.org/)** + +> Build bot reports undefined references to devlink functions +> in fbnic.ko. + +**[v1: net-next: ibmvnic RR performance improvements](http://lore.kernel.org/netdev/20240801212340.132607-1-nnac123@linux.ibm.com/)** + +> This patchset aims to increase the ibmvnic small packet request +> response transaction rate. + +**[v1: net-next: ibmveth RR performance](http://lore.kernel.org/netdev/20240801211215.128101-1-nnac123@linux.ibm.com/)** + +> This patchset aims to increase the ibmveth drivers small packet +> request response rate. + +**[v2: net-next: tipc: guard against string buffer overrun](http://lore.kernel.org/netdev/20240801-tipic-overrun-v2-1-c5b869d1f074@kernel.org/)** + +> Smatch reports that copying media_name and if_name to name_parts may +> overwrite the destination. + +**[v3: net-next: tcp: completely support active reset](http://lore.kernel.org/netdev/20240801145444.22988-1-kerneljasonxing@gmail.com/)** + +> This time the patch series finally covers all the cases in the active +> reset logic. After this, we can know the related exact reason(s). + +**[v1: net-next: virtio_net: Prevent misidentified spurious interrupts from killing the irq](http://lore.kernel.org/netdev/20240801135639.11400-1-hengqi@linux.alibaba.com/)** + +> Michael has effectively reduced the number of spurious interrupts in +> commit a7766ef18b33 ("virtio_net: disable cb aggressively") by disabling +> irq callbacks before cleaning old buffers. + +**[v2: net-next: net: tuntap: add ioctl() TUNGETQUEUEINDEX to fetch queue index](http://lore.kernel.org/netdev/20240801134929.206678-1-ayaka@soulik.info/)** + +> We need the queue index in qdisc mapping rule. There is no way to +> fetch that. + +#### 安全增强 + +**[v1: drm/radeon/r100: Handle unknown family in r100_cp_init_microcode()](http://lore.kernel.org/linux-hardening/ae4d951d022e6c34b87ae46e15f1522f8d6d3480.1722355024.git.geert+renesas@glider.be/)** + +> Fix this by converting the if/else if/... construct into a proper +> switch() statement with a default to handle the error case. + +**[v1: Add Nothing Phone (1) support](http://lore.kernel.org/linux-hardening/20240729201843.142918-1-danila@jiaxyga.com/)** + +> This series of patches adds support for the Nothing Phone (1), identified +> as nothing,spacewar. The Nothing Phone (1) is built on the Qualcomm +> Snapdragon 778G+ (SM7325-AE, also known as yupik). + +#### 异步 IO + +**[v8: io_uring/rsrc: coalescing multi-hugepage registered buffers](http://lore.kernel.org/io-uring/20240731090133.4106-1-cliang01.li@samsung.com/)** + +> This patch series enables coalescing registered buffers with more than +> one hugepages. It optimizes the DMA-mapping time and saves memory for +> these kind of buffers. + +**[v1: io_uring: minor sqpoll code refactoring](http://lore.kernel.org/io-uring/cover.1722374370.git.olivier@trillion01.com/)** + +> the first patch is minor micro-optimization that attempts to avoid a memory +> access if by testing a variable to is very likely already in a register + +**[v1: Implement absolute value wait timeouts](http://lore.kernel.org/io-uring/cover.1722357468.git.asml.silence@gmail.com/)** + +> Patches 1-2 are cleaning up timing adjustments for napi busy +> polling, and Patch 3 implements the feature. + +**[v2: io_uring: add napi busy settings to the fdinfo output](http://lore.kernel.org/io-uring/dad0b2787b8dce4fa99a1c5827cf06ad242a7e4a.1722351660.git.olivier@trillion01.com/)** + +> this info may be useful when attempting to debug a problem +> involving a ring using the feature. + +**[v1: io_uring: keep multishot request NAPI timeout fresh](http://lore.kernel.org/io-uring/0fe61a019ec61e5708cd117cb42ed0dab95e1617.1722294646.git.olivier@trillion01.com/)** + +> it is important to make the refresh for multishot request because if no +> new requests using the same NAPI device are added to the ring, the entry +> will become stall and be removed silently and the unsuspecting user will +> not know that his ring made busy polling for only 60 seconds. + +#### Rust For Linux + +**[v2: pahole: Apply CU-level filters early in loading](http://lore.kernel.org/rust-for-linux/20240801185054.2518383-1-mmaurer@google.com/)** + +> As an added bonus, this should speed up processing of large objects with +> filtered CUs, as their details will no longer be walked. + +**[v2: rust: Add irq abstraction, SpinLockIrq](http://lore.kernel.org/rust-for-linux/20240731224027.232642-1-lyude@redhat.com/)** + +> This adds a simple interface for disabling and enabling CPUs, along with +> the ability to mark a function as expecting interrupts be disabled - +> along with adding bindings for spin_lock_irqsave/spin_lock_irqrestore(). + +**[v3: rust: Kbuild: Skip -fmin-function-alignment in bindgen flags](http://lore.kernel.org/rust-for-linux/20240731134346.10630-1-zehuixu@whu.edu.cn/)** + +> This patch addresses the issue by adding -fmin-function-alignment +> to the bindgen_skip_c_flags in rust/Makefile. This prevents the +> flag from causing compilation issues. + +**[v2: net-next: net: phy: add Applied Micro QT2025 PHY driver](http://lore.kernel.org/rust-for-linux/20240731042136.201327-1-fujita.tomonori@gmail.com/)** + +> This patchset adds a PHY driver for Applied Micro Circuits Corporation +> QT2025. + +**[v1: rust: implement ForeignOwnable for Pin>](http://lore.kernel.org/rust-for-linux/20240730-foreign-ownable-pin-box-v1-1-b1d70cdae541@google.com/)** + +> We already implement ForeignOwnable for Box, but it may be useful to +> store pinned data in a ForeignOwnable container. This patch makes that +> possible. + +**[v1: rust: support arrays in target JSON](http://lore.kernel.org/rust-for-linux/20240730-target-json-arrays-v1-1-2b376fd0ecf4@google.com/)** + +> Some configuration options such as the supported sanitizer list are +> arrays. To support using Rust with sanitizers on x86, we must update the +> target.json generator to support this case. + +#### BPF + +**[v2: bpf-next: Support bpf_kptr_xchg into local kptr](http://lore.kernel.org/bpf/20240803001145.635887-1-amery.hung@bytedance.com/)** + +> This series allows stashing kptr into local kptr. Currently, kptrs are +> only allowed to be stashed into map value with bpf_kptr_xchg(). + +**[v1: perf bpf-filter: Support multiple events properly](http://lore.kernel.org/bpf/20240802173752.1014527-1-namhyung@kernel.org/)** + +> So far it used tgid as a key to get the filter expressions in the +> pinned filters map for regular users but it won't work well if the has +> more than one filters at the same time. + +**[v1: bpf-next: add TCP_BPF_SOCK_OPS_CB_FLAGS to bpf_*sockopt()](http://lore.kernel.org/bpf/20240802152929.2695863-1-alan.maguire@oracle.com/)** + +> Patch 1 adds bpf_[get|set]sockopt() support; patch 2 adds testing +> for it via sockops and cgroup/setsockopt programs and patch 3 +> extends the existing bpf_iter_setsockopt test to cover setting +> sock ops flags via bpf_setsockopt() in iterator context. + +**[v1: uprobes: RCU-protected hot path optimizations](http://lore.kernel.org/bpf/20240731214256.3588718-1-andrii@kernel.org/)** + +> This patch set is heavily inspired by Peter Zijlstra's uprobe optimization +> patches ([0]) and continue that work, albeit trying to keep complexity to the +> minimum, and attepting to reuse existing primitives as much as possible. + +**[v3: bpf-next: Harden and extend ELF build ID parsing logic](http://lore.kernel.org/bpf/20240730203914.1182569-1-andrii@kernel.org/)** + +> The goal of this patch set is to extend existing ELF build ID parsing logic, +> currently mostly used by BPF subsystem, with support for working in sleepable +> mode in which memory faults are allowed and can be relied upon to fetch +> relevant parts of ELF file to find and fetch .note.gnu.build-id information. + +**[v17: net-next: Device Memory TCP](http://lore.kernel.org/bpf/20240730022623.98909-1-almasrymina@google.com/)** + +**[v1: iwl-next: Add Default Rx Queue Setting for igc driver](http://lore.kernel.org/bpf/20240730012212.775814-1-yoong.siang.song@intel.com/)** + +> This patch set introduces the support to configure default Rx queue during runtime. +> A new sysfs attribute "default_rx_queue" has been added, allowing users to check +> and modify the default Rx queue. + +**[v1: sysctl: prepare sysctl core for const struct ctl_table](http://lore.kernel.org/bpf/20240729-sysctl-const-api-v1-0-ca628c7a942c@weissschuh.net/)** + +> Adapt the internal and external APIs of the sysctl core to handle +> read-only instances of "struct ctl_table". + +### 周边技术动态 + +#### Qemu + +**[v1: bsd-user: Comprehensive RISCV support](http://lore.kernel.org/qemu-devel/20240802083423.142365-1-itachis@FreeBSD.org/)** + +> This patch series provides support for the RISC-V 64-bit architecture, +> enabling signal processing, system call handling, threading, and memory +> management tailored to RISC-V. + +**[v6: for-9.2: riscv: QEMU RISC-V IOMMU Support](http://lore.kernel.org/qemu-devel/20240801154334.1009852-1-dbarboza@ventanamicro.com/)** + +> In this new version the most notable change is how we're dealing with +> ICVEC updates. Instead of hardcoding the vectors being used in +> riscv-iommu-pci, a new interface was created to allow IOMMU devices to +> receive ICVEC updates and act accordingly. + +**[v2: riscv support for control flow integrity extensions](http://lore.kernel.org/qemu-devel/20240729175327.73705-1-debug@rivosinc.com/)** + +> Sending out v2 for riscv zicfilp and zicfiss extensions support in qemu. +> I sent out v1 [1] last week and had missed adding `trans_zicfiss.c.inc` in +> commit titled "implement zicifss instructions" and commit titled "shadow +> stack mmu index for shadow stack instructions". Revising both those commits +> and sending out patch series again. + +#### Buildroot + +**[Weird issue with uClibc RISC-V 32-bit in Qemu](http://lore.kernel.org/buildroot/20240728190115.2e9fc088@windsurf/)** + +> I am working on updating the toolchains of toolchains.bootlin.com, and +> as part of that rebuilding all toolchains with Buildroot 2024.05 + a +> few patches. + + ## 20240721:第 102 期 ### 内核动态