diff --git a/news/README.md b/news/README.md index ee526d3f9c7c015ef3e38f23064e4178ffb9122d..0ad20f7b03e6c8152fc451942e53d883eaf39ec4 100644 --- a/news/README.md +++ b/news/README.md @@ -8,6 +8,743 @@ * [2024 年 - 上半年](2024-1st-half.md) +## 20240901:第 107 期 + +### 内核动态 + +#### RISC-V 架构支持 + +**[v1: perf syscalltbl: Add syscalltbl__id_at_idx() with no syscall table support](http://lore.kernel.org/linux-riscv/20240830-perf_syscalltbl_fix-v1-1-e2ff61ee5e8e@rivosinc.com/)** + +> This function is expected to be +> defined when HAVE_BPF_SKEL is defined. + +**[v5: riscv: sophgo: Add pinctrl support for CV1800 series SoC](http://lore.kernel.org/linux-riscv/IA1PR20MB495374DB8C4208575AAC9675BB972@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add basic pinctrl driver for Sophgo CV1800 series SoCs. + +**[v4: KVM: Register cpuhp/syscore callbacks when enabling virt](http://lore.kernel.org/linux-riscv/20240830043600.127750-1-seanjc@google.com/)** + +> Register KVM's cpuhp and syscore callbacks when enabling virtualization in +> hardware, as the sole purpose of said callbacks is to disable and re-enable +> virtualization as needed. + +**[v4: riscv: mm: Add soft-dirty and uffd-wp support](http://lore.kernel.org/linux-riscv/20240830011101.3189522-1-zhangchunyan@iscas.ac.cn/)** + +> This patchset adds soft dirty and userfaultfd write protect tracking support +> for RISC-V. + +**[v5: Add SARADC support on Sophgo CV18XX series](http://lore.kernel.org/linux-riscv/20240829-sg2002-adc-v5-0-aacb381e869b@bootlin.com/)** + +> This patchset adds initial ADC support for Sophgo CV18XX series SoC. + +**[v1: drivers/perf: riscv: Align errno for unsupported perf type in pmu_sbi_event_map](http://lore.kernel.org/linux-riscv/20240829094922.865638-1-pulehui@huaweicloud.com/)** + +> RISC-V perf driver does not yet support PERF_TYPE_BREAKPOINT. + +**[v1: RISC-V: KVM: Redirect instruction access fault trap to guest](http://lore.kernel.org/linux-riscv/83c2234d582b7e823ce9ac9b73a6bbcf63971a29.1724911120.git.zhouquan@iscas.ac.cn/)** + +> The M-mode redirects an unhandled instruction access +> fault trap back to S-mode when not delegating it to +> VS-mode(hedeleg). + +**[v1: Support SSTC while PM operations](http://lore.kernel.org/linux-riscv/20240829033904.477200-1-nick.hu@sifive.com/)** + +> When the cpu is going to be hotplug, stop the stimecmp to prevent pending +> interrupt. + +**[v3: riscv: spacemit: add pinctrl support to K1 SoC](http://lore.kernel.org/linux-riscv/20240828-02-k1-pinctrl-v3-0-1fed6a22be98@gentoo.org/)** + +> This series adds pinctrl support to SpacemiT's K1 SoC, the controller +> uses a single register to describe all pin functions, including +> bias pull up/down, drive strength, schmitter trigger, slew rate, +> strong pull-up, mux mode. + +**[v2: riscv: Report error when repeatedly recording CPU hardware ID](http://lore.kernel.org/linux-riscv/20240828020718.46977-1-qiaozhe@iscas.ac.cn/)** + +> Ensure the uniqueness of the CPU hardware ID recorded in the +> __cpuid_to_hartid_map[] array. + +**[v1: riscv: make ZONE_DMA32 optional](http://lore.kernel.org/linux-riscv/20240827113611.537302-1-vladimir.kondratiev@mobileye.com/)** + +> It is not necessary any RISCV platform has ZONE_DMA32. + +**[v3: RISC-V: mm: do not treat hint addr on mmap as the upper bound to search](http://lore.kernel.org/linux-riscv/tencent_108260B43689E30AAE5D0C7C085AA31ADF06@qq.com/)** + +> Previous patch series[1][2] changes a mmap behavior that treats the hint +> address as the upper bound of the mmap address range. + +**[v12: riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs](http://lore.kernel.org/linux-riscv/IA1PR20MB495396729244074C36E51E11BB942@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add dma multiplexer support for the Sophgo CV1800/SG2000 SoCs. + +**[v1: riscv: mm: Do not restrict mmap address based on hint](http://lore.kernel.org/linux-riscv/20240826-riscv_mmap-v1-0-cd8962afe47f@rivosinc.com/)** + +> There have been a couple of reports that using the hint address to +> restrict the address returned by mmap hint address has caused issues in +> applications. + +**[v3: usb drivers use devm_clk_get_enabled() helpers](http://lore.kernel.org/linux-riscv/20240826081900.2284-1-liulei.rjpt@vivo.com/)** + +> This simplifies the code and avoids calls to clk_disable_unprepare(). + +#### LoongArch 架构支持 + +**[v6: LoongArch: Implement getrandom() in vDSO](http://lore.kernel.org/loongarch/20240901061315.15693-1-xry111@xry111.site/)** + +> Implement stack-less ChaCha20 and wire it with the generic vDSO +> getrandom code. + +**[v8: Add extioi virt extension support](http://lore.kernel.org/loongarch/20240830093229.4088354-1-maobibo@loongson.cn/)** + +> KVM_FEATURE_VIRT_EXTIOI is paravirt feature defined with EXTIOI +> interrupt controller, it can route interrupt to 256 vCPUs and CPU +> interrupt pin IP0-IP7. + +**[v5: LoongArch: vDSO: Wire up getrandom() vDSO implementation](http://lore.kernel.org/loongarch/20240829125656.19017-1-xry111@xry111.site/)** + +> Hook up the generic vDSO implementation to the LoongArch vDSO data page +> by providing the required __arch_chacha20_blocks_nostack, +> __arch_get_k_vdso_rng_data, and getrandom_syscall implementations. + +**[v2: mm: Introduce MAP_BELOW_HINT](http://lore.kernel.org/loongarch/20240829-patches-below_hint_mmap-v2-0-638a28d9eae0@rivosinc.com/)** + +> The riscv architecture needs a way to similarly restrict the virtual +> address space. + +**[v3: uart: Introduce uart driver for the Loongson family chips](http://lore.kernel.org/loongarch/20240826024705.55474-1-zhenghaowei@loongson.cn/)** + +> This patchset introduce a generic UART framework driver for Loongson family. + +#### ARM 架构支持 + +**[v1: arm64: mm: keep low RAM dma zone](http://lore.kernel.org/linux-arm-kernel/3cc8abdb1d6a2d882d16dc2b9890df3ce2117d0d.1725171154.git.baruch@tkos.co.il/)** + +> Commit ba0fb44aed47 ("dma-mapping: replace zone_dma_bits by +> zone_dma_limit") optimistically assumed that device-tree dma-ranges +> property describes the system DMA limits. + +**[v3: perf: Add Arm Network-on-Chip PMU driver](http://lore.kernel.org/linux-arm-kernel/cover.1725037424.git.robin.murphy@arm.com/)** + +**[v5: Add Remoteproc Support for TI's J722S SoCs](http://lore.kernel.org/linux-arm-kernel/20240830161742.925145-1-b-padhi@ti.com/)** + +> The K3 J722S SoCs have one single-core Arm Cortex-R5F processor in each +> of the WAKEUP, MCU and MAIN voltage domain, and two C71x DSP subsystems +> in MAIN voltage domain. + +**[GIT PULL: Versatile SoC changes for v6.12](http://lore.kernel.org/linux-arm-kernel/CACRpkda244rFHnnXPDPOhmKiJsRP08tNCcfFzpH5zR2cx1DFpw@mail.gmail.com/)** + +> some nice patches from Krzysztof for v6.12, details in the +> signed tag. + +**[v2: Support for running as a pKVM protected guest](http://lore.kernel.org/linux-arm-kernel/20240830130150.8568-1-will@kernel.org/)** + +> This is version two of the series previously posted here. + +**[v9: Introduction of a remoteproc tee to load signed firmware](http://lore.kernel.org/linux-arm-kernel/20240830095147.3538047-1-arnaud.pouliquen@foss.st.com/)** + +> Add support for tee_rproc_release_fw(), which allows releasing firmware +> that has been loaded. + +**[v2: Revise Meta(Facebook) Harma BMC(AST2600)](http://lore.kernel.org/linux-arm-kernel/20240830092148.1574520-1-peteryin.openbmc@gmail.com/)** + +> Revise linux device tree entry related to Meta(Facebook) Harma +> specific devices connected to BMC(AST2600) SoC. + +**[v1: Provides support for Trigger Generation Unit](http://lore.kernel.org/linux-arm-kernel/20240830092311.14400-1-quic_songchai@quicinc.com/)** + +> Provide support for the TGU (Trigger Generation Unit). + +**[v1: Do not shatter hugezeropage on wp-fault](http://lore.kernel.org/linux-arm-kernel/20240830084117.4079805-1-dev.jain@arm.com/)** + +> It was observed at [1] and [2] that the current kernel behaviour of +> shattering a hugezeropage is inconsistent and suboptimal. + +**[v14: Add Tegra241 (Grace) CMDQV Support (part 1/2)](http://lore.kernel.org/linux-arm-kernel/cover.1724970714.git.nicolinc@nvidia.com/)** + +> NVIDIA's Tegra241 (Grace) SoC has a CMDQ-Virtualization (CMDQV) hardware +> that extends standard ARM SMMUv3 to support multiple command queues with +> virtualization capabilities. + +**[v2: aarch64: vdso: Wire up getrandom() vDSO implementation](http://lore.kernel.org/linux-arm-kernel/20240829201728.2825-1-adhemerval.zanella@linaro.org/)** + +> Hook up the generic vDSO implementation to the aarch64 vDSO data page. +> The _vdso_rng_data required data is placed within the _vdso_data vvar +> page, by using a offset larger than the vdso_data. + +**[v1: resend: mailbox: ARM_MHU_V3 should depend on ARM64](http://lore.kernel.org/linux-arm-kernel/a391c86658d6c2e6d1aee583caa7a030731596d1.1724939823.git.geert+renesas@glider.be/)** + +> The ARM MHUv3 controller is only present on ARM64 SoCs. Hence add a +> dependency on ARM64, to prevent asking the user about this driver when +> configuring a kernel for a different architecture than ARM64. + +**[v5: arm-cs-trace-disasm.py/perf must accommodate non-zero DSO text offset](http://lore.kernel.org/linux-arm-kernel/cover.1724879699.git.scclevenger@os.amperecomputing.com/)** + +**[v3: Add device tree for ArmSoM Sige 5 board](http://lore.kernel.org/linux-arm-kernel/010201919989e3de-60b56341-85e0-4869-89d1-362407c4f2ec-000000@eu-west-1.amazonses.com/)** + +> Add the rk3576-armsom-sige5 device tree as well as its rk3576.dtsi base +> and pinctrl information in rk3576-pinctrl.dtsi. + +**[v1: gpiolib:legacy: Kill GPIOF_DIR_* and GPIOF_INIT_*](http://lore.kernel.org/linux-arm-kernel/20240828142554.2424189-1-andriy.shevchenko@linux.intel.com/)** + +> Shrink the legacy API and definition surface by killing the (internal) +> definitions. + +**[v2: TQMa6x / MBa6x DT improvements](http://lore.kernel.org/linux-arm-kernel/20240828121959.1268463-1-Markus.Niebel@ew.tq-group.com/)** + +> this is the 2nd version of the series + +**[v5: Introduce J742S2 SoC and EVM](http://lore.kernel.org/linux-arm-kernel/20240828-b4-upstream-j742s2-v5-0-9aaa02a0faee@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: kbuild: use objcopy to generate asm-offsets](http://lore.kernel.org/linux-arm-kernel/20240828083605.3093701-1-vegard.nossum@oracle.com/)** + +> In order to give assembly code access to C structs without having to +> hardcore member offsets, the kernel compiles a C source file listing all +> the structs and offsets that are needed in assembly code. + +#### X86 架构支持 + +**[v2: platform/x86: wmi: Pass event data directly to legacy notify handlers](http://lore.kernel.org/lkml/20240901031055.3030-1-W_Armin@gmx.de/)** + +> The current legacy WMI handlers are susceptible to picking up wrong +> WMI event data on systems where different WMI devices share some +> notification IDs. + +**[v1: platform/x86/amd: pmf: Make ASUS GA403 quirk generic](http://lore.kernel.org/lkml/20240831003905.1060977-1-luke@ljones.dev/)** + +> The original quirk should match to GA403U so that the full +> range of GA403U models can benefit. + +**[v2: CPU offlining with non-core MCA banks](http://lore.kernel.org/lkml/20240829223225.223639-1-yazen.ghannam@amd.com/)** + +> The major change in this revision is to prevent the sysfs interface from +> being created in the first place for CPUs that shouldn't be offlined. + +**[v2: mm: Introduce guest_memfd library](http://lore.kernel.org/lkml/20240829-guest-memfd-lib-v2-0-b9afc1ff3656@quicinc.com/)** + +> In preparation for adding more features to KVM's guest_memfd, refactor +> and introduce a library which abstracts some of the core-mm decisions +> about managing folios associated with the file. + +**[v1: x86/cpu/intel: Replace PAT erratum model/family magic numbers](http://lore.kernel.org/lkml/20240829220042.1007820-1-dave.hansen@linux.intel.com/)** + +> There's an erratum that prevents the PAT from working correctly. +> The kernel currently disables PAT support on those CPUs. + +**[v2: x86/bugs: Add missing NO_SSB flag](http://lore.kernel.org/lkml/20240829192437.4074196-1-daniel.sneddon@linux.intel.com/)** + +> The Moorefield and Lightning Mountain Atom processors are +> missing the NO_SSB flag in the vulnerabilities whitelist. +> This will cause unaffected parts to incorrectly be reported +> as vulnerable. Add the missing flag. + +**[v6: Introduce initial AMD I3C HCI driver support](http://lore.kernel.org/lkml/20240829091713.736217-1-Shyam-sundar.S-k@amd.com/)** + +> The AMD SoC includes an I3C IP block as part of the Fusion Controller Hub +> (FCH). This series introduces the initial driver support to enable the I3C +> IP block on AMD's latest processors. + +**[v12: arm64/gcs: Provide support for GCS in userspace](http://lore.kernel.org/lkml/20240829-arm64-gcs-v12-0-42fec947436a@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: KVM: x86: Ensure vcpu->mode is loaded from memory in kvm_vcpu_exit_request()](http://lore.kernel.org/lkml/20240828232013.768446-1-seanjc@google.com/)** + +> Wrap kvm_vcpu_exit_request()'s load of vcpu->mode with READ_ONCE() to +> ensure the variable is re-loaded from memory, as there is no guarantee the +> caller provides the necessary annotations to ensure KVM sees a fresh value, +> e.g. the VM-Exit fastpath could theoretically reuse the pre-VM-Enter value. + +**[v2: Create Intel PMC SSRAM Telemetry driver](http://lore.kernel.org/lkml/20240828222932.1279508-1-xi.pardee@linux.intel.com/)** + +> This patch series removes the SSRAM support from Intel PMC Core driver +> and creates a separate PCI driver for SSRAM device. + +**[v1: random: vDSO: assume key is 32-bit aligned on x86_64](http://lore.kernel.org/lkml/20240828170350.3422587-1-Jason@zx2c4.com/)** + +> The prototype of this function ensures a u32* type for the key, and all +> uses of it are using state->key, which is a u32 array. + +**[v1: x86/mm/tlb: Correct the comments in flush_tlb_mm_range() and arch_tlbbatch_flush()](http://lore.kernel.org/lkml/20240828020741.99869-1-yuntao.wang@linux.dev/)** + +> Commit 4c1ba3923e6c ("x86/mm/tlb: Unify flush_tlb_func_local() and +> flush_tlb_func_remote()") unified flush_tlb_func_local() and +> flush_tlb_func_remote() into flush_tlb_func(). + +**[v1: Introduce New AMD Heterogeneous Core Driver](http://lore.kernel.org/lkml/cover.1724748733.git.perry.yuan@amd.com/)** + +> The AMD Heterogeneous core design and Hardware Feedback Interface (HFI) +> provide behavioral classification and a dynamically updated ranking table +> for the scheduler to use when choosing cores for tasks. + +#### 进程调度 + +**[v1: sched/fair: Rework EAS to handle more cases](http://lore.kernel.org/lkml/20240830130309.2141697-1-vincent.guittot@linaro.org/)** + +> The current Energy Aware Scheduler has some known limitations which have +> became more and more visible with features like uclamp as an example. + +**[v1: sched/syscalls: Allow setting niceness using sched_param struct](http://lore.kernel.org/lkml/20240830050238.30420-1-mcpratt@pm.me/)** + +> From userspace, spawning a new process with, for example, +> posix_spawn(), only allows the user to work with +> the scheduling priority value defined by POSIX +> in the sched_param struct. + +**[v1: sched/fair: Properly deactivate sched_delayed task upon class change](http://lore.kernel.org/lkml/20240829135353.1524260-1-vschneid@redhat.com/)** + +> the idea being that since the task has switched classes, we need to drop +> the sched_delayed logic and have that task be deactivated per its previous +> dequeue_task(..., DEQUEUE_SLEEP). + +**[v1: -next: sched: Simplify sched_set_rq_online()](http://lore.kernel.org/lkml/20240828090336.905676-1-yangyingliang@huaweicloud.com/)** + +> Use guards to simplify sched_set_rq_online() + +**[v1: drm/sched: Document drm_sched_job_arm()'s effect on fences](http://lore.kernel.org/lkml/20240826093916.29065-2-pstanner@redhat.com/)** + +> The GPU Scheduler's job initialization is split into two steps, +> drm_sched_job_init() and drm_sched_job_arm(). + +#### 内存管理 + +**[v1: -next: Introduce several opposite string choice helpers](http://lore.kernel.org/linux-mm/20240831095840.4173362-1-lihongbo22@huawei.com/)** + +> Similar to the exists helper: str_enable_disable/ +> str_enabled_disabled/str_on_off/str_yes_no helpers, we can +> add the opposite helpers. That's str_disable_enable, +> str_disabled_enabled, str_off_on and str_no_yes. + +**[v1: mm: arm64: advance pte for contpte_ptep_set_access_flags](http://lore.kernel.org/linux-mm/20240831083537.62111-1-21cnbao@gmail.com/)** + +> it seems contpte_ptep_set_access_flags() has never advanced +> pte pfn, and it is setting all entries' pfn to the first +> subpage. + +**[v3: Increase mseal test coverage](http://lore.kernel.org/linux-mm/20240830180237.1220027-1-jeffxu@chromium.org/)** + +> Add check for vma_size, prot, and error code for existing tests. +> Add more testcases for madvise, munmap, mmap and mremap to cover +> sealing in different scenarios. + +**[v3: Wire up getrandom() vDSO implementation on powerpc](http://lore.kernel.org/linux-mm/cover.1725031952.git.christophe.leroy@csgroup.eu/)** + +> This series wires up getrandom() vDSO implementation on powerpc. + +**[v1: mm: mmap: Change DEFAULT_MAX_MAP_COUNT to INT_MAX](http://lore.kernel.org/linux-mm/20240830095636.572947-1-pspacek@isc.org/)** + +> Raise default sysctl vm.max_map_count to INT_MAX, which effectively +> disables the limit for all sane purposes. + +**[v1: mm/memcontrol: add per-memcg pgpgin/pswpin counter](http://lore.kernel.org/linux-mm/20240830082244.156923-1-jingxiangzeng.cas@gmail.com/)** + +> In proactive memory reclamation scenarios, it is necessary to +> estimate the pswpin and pswpout metrics of the cgroup to +> determine whether to continue reclaiming anonymous pages in +> the current batch. + +**[v1: mm,tmpfs: consider end of file write in shmem_is_huge](http://lore.kernel.org/linux-mm/20240829235415.57374fc3@imladris.surriel.com/)** + +> Take the end of a file write into consideration when deciding whether +> or not to use huge folios for tmpfs files when the tmpfs filesystem is +> mounted with huge=within_size + +**[v1: mm, proc: collect percpu free pages into the free pages](http://lore.kernel.org/linux-mm/20240830014453.3070909-1-mawupeng1@huawei.com/)** + +> The introduction of Per-CPU-Pageset (PCP) per zone aims to enhance the +> performance of the page allocator by enabling page allocation without +> requiring the zone lock. + +**[v4: uprobes: RCU-protected hot path optimizations](http://lore.kernel.org/linux-mm/20240829183741.3331213-1-andrii@kernel.org/)** + +> This patch set is heavily inspired by Peter Zijlstra's uprobe optimization +> patches ([0]) and continues that work, albeit trying to keep complexity to the +> minimum, and attepting to reuse existing primitives as much as possible. + +**[v3: memcg: add charging of already allocated slab objects](http://lore.kernel.org/linux-mm/20240829175339.2424521-1-shakeel.butt@linux.dev/)** + +> At the moment, the slab objects are charged to the memcg at the +> allocation time. + +**[v7: bpf-next: Harden and extend ELF build ID parsing logic](http://lore.kernel.org/linux-mm/20240829174232.3133883-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. + +**[v1: Add disable_unmap_file arg to memory.reclaim](http://lore.kernel.org/linux-mm/20240829101918.3454840-1-hezhongkun.hzk@bytedance.com/)** + +> This patch proposes augmenting the memory.reclaim interface with a +> disable_unmap_file argument that will skip the mapped pages in +> that reclaim attempt. + +**[v2: tools/mm: Use calloc and check the memory allocation failure](http://lore.kernel.org/linux-mm/20240829092144.5851-1-zhujun2@cmss.chinamobile.com/)** + +> Replace malloc with calloc and add null pointer check +> in case of allocation failure. + +**[v1: mm/mglru: wake up flushers when legacy cgroups run out of clean caches](http://lore.kernel.org/linux-mm/CAJqJ8ih+pamx2o1tvd+w-G+THb_wSvOPP=5RqHt82x96N=yKRQ@mail.gmail.com/)** + +> This leads to premature OOM if there are too many dirty pages in cgroup: +> Killed + +**[v1: tools/mm: Use calloc and check the potential memory allocation failure](http://lore.kernel.org/linux-mm/20240829055621.3890-1-zhujun2@cmss.chinamobile.com/)** + +> Replace malloc with calloc and add memory allocating check +> of comm_str before used. + +#### 文件系统 + +**[v5: printk: add threaded printing + the rest](http://lore.kernel.org/linux-fsdevel/20240830152916.10136-1-john.ogness@linutronix.de/)** + +> This is v5 of a series to implement threaded console printing +> as well as some other minor pieces (such as proc and sysfs +> recognition of nbcon consoles). v4 is here [0]. + +**[v3: iomap: flush dirty cache over unwritten mappings on zero range](http://lore.kernel.org/linux-fsdevel/20240830145634.138439-1-bfoster@redhat.com/)** + +> Here's v3 of the iomap zero range flush fixes. No real changes here +> other than comment updates to better explain the flush and stale logic. +> The latest version of corresponding test support is posted here [1]. + +**[v1: fuse: enable writeback cgroup to limit dirty page cache](http://lore.kernel.org/linux-fsdevel/20240830120540.2446680-1-yangerkun@huaweicloud.com/)** + +> Commit 3be5a52b30aa("fuse: support writable mmap") give a strict limit +> for about 1% max dirty ratio for fuse to protect that fuse won't slow +> down the hole system by hogging lots of dirty memory. + +**[v1: dcache: don't discard dentry_hashtable or d_hash_shift](http://lore.kernel.org/linux-fsdevel/20240829182049.287086-1-stephen.s.brennan@oracle.com/)** + +> The runtime constant feature removes all the users of these variables, +> allowing the compiler to optimize them away. It's quite difficult to +> extract their values from the kernel text, and the memory saved by +> removing them is tiny, and it was never the point of this optimization. + +**[v3: nfsd: implement the "delstid" draft](http://lore.kernel.org/linux-fsdevel/20240829-delstid-v3-0-271c60806c5d@kernel.org/)** + +> The first couple of patches are prep patches from Neil, with some small +> cleanups. The first patch should probably go to mainline for v6.11 +> since it fixes a bug. + +**[v14: nfs/nfsd: add support for LOCALIO](http://lore.kernel.org/linux-fsdevel/20240829010424.83693-1-snitzer@kernel.org/)** + +> I _think_ I addressed all of v13's very helpful review comments. +> Special thanks to Neil and Chuck for their time and help! + +#### 网络设备 + +**[v1: iproute2-next: Add RDMA monitor support](http://lore.kernel.org/netdev/20240901005456.25275-1-michaelgur@nvidia.com/)** + +> This series from Chiara adds support to a new command to monitor IB +> events and expands the rdma-sys command to indicate whether this new +> functionality is supported. + +**[v1: net: napi: Make napi_defer_irqs u32](http://lore.kernel.org/netdev/20240831113223.9627-1-jdamato@fastly.com/)** + +> In commit 6f8b12d661d0 ("net: napi: add hard irqs deferral feature") +> napi_defer_irqs was added to net_device and napi_defer_irqs_count was +> added to napi_struct, both as type int. + +**[v1: -next: atm: nicstar: Use str_enabled_disabled() helper](http://lore.kernel.org/netdev/20240831095026.4159093-1-lihongbo22@huawei.com/)** + +> Use str_enabled_disabled() helper instead of open +> coding the same. + +**[v1: net-next: net: Convert using devm_clk_get_enabled()/devm_clk_get_optional_enabled()](http://lore.kernel.org/netdev/20240831021334.1907921-1-lizetao1@huawei.com/)** + +> There are many examples[1][2] of clk resource leakage in LTS. The +> reason is that developers need to maintain the allocation and release +> of clk resources themselves, but this will increase the burden on +> developers. + +**[v24: net-next: Device Memory TCP](http://lore.kernel.org/netdev/20240831004313.3713467-1-almasrymina@google.com/)** + +**[[PATCH net 0/n] pull-request: can 2024-08-30](http://lore.kernel.org/netdev/20240830215914.1610393-1-mkl@pengutronix.de/)** + +> The first patch is by Kuniyuki Iwashima for the CAN BCM protocol that +> adds a missing proc entry removal when a device unregistered. + +**[v1: net-next: pull-request: can-next 2024-08-30](http://lore.kernel.org/netdev/20240830214406.1605786-1-mkl@pengutronix.de/)** + +> The first patch is by Duy Nguyen and document the R-Car V4M support in +> the rcar-canfd DT bindings. + +**[v3: iwl-next: i40e: add ability to reset vf for tx and rx mdd events](http://lore.kernel.org/netdev/20240830192807.615867-1-aleksandr.loktionov@intel.com/)** + +> In cases when vf sends malformed packets that are classified as +> malicious, sometimes it causes tx queue to freeze. This frozen queue can be +> stuck for several minutes being unusable. + +**[v3: can-next: can: rockchip_canfd: add support for CAN-FD IP core found on Rockchip RK3568](http://lore.kernel.org/netdev/20240830-rockchip-canfd-v3-0-d426266453fa@pengutronix.de/)** + +> This series adds support for the CAN-FD IP core found on the Rockchip +> RK3568. + +**[v1: net-next: ioam6: improve checks on user data](http://lore.kernel.org/netdev/20240830191919.51439-1-justin.iurman@uliege.be/)** + +> This patch improves two checks on user data. + +**[v1: ipsec-next: xfrm: Initialise dir in xfrm_hash_rebuild()](http://lore.kernel.org/netdev/20240830-xfrm_hash_rebuild-dir-v1-1-f75092d07e1b@kernel.org/)** + +> The cited commit removed the initialisation of dir in one place too +> many: it is still used within the loop this patch updates. + +**[v3: net-next: net-timestamp: introduce a flag to filter out rx software report](http://lore.kernel.org/netdev/20240830153751.86895-1-kerneljasonxing@gmail.com/)** + +> When one socket is set SOF_TIMESTAMPING_RX_SOFTWARE which means the +> whole system turns on the netstamp_needed_key button, other sockets +> that only have SOF_TIMESTAMPING_SOFTWARE will be affected and then +> print the rx timestamp information even without setting +> SOF_TIMESTAMPING_RX_SOFTWARE generation flag. + +**[v2: net-next: net: dsa: microchip: rename and clean ksz8 series files](http://lore.kernel.org/netdev/20240830141250.30425-1-vtpieter@gmail.com/)** + +> The first KSZ8 series implementation was done for a KSZ8795 device but +> since several other KSZ8 devices have been added. Rename these files +> to adhere to the ksz8 naming convention as already used in most +> functions and the existing ksz8.h; add an explanatory note. + +**[v6: net-next: Add support of HIBMCGE Ethernet Driver](http://lore.kernel.org/netdev/20240830121604.2250904-1-shaojijie@huawei.com/)** + +> This patch set adds the support of Hisilicon BMC Gigabit Ethernet Driver. + +**[v1: can: kvaser_usb: Simplify with dev_err_probe()](http://lore.kernel.org/netdev/20240830110651.519119-1-yanzhen@vivo.com/)** + +> It can simplify the error path and unify a message template. + +**[v1: ieee802154: at86rf230: Simplify with dev_err_probe()](http://lore.kernel.org/netdev/20240830081402.21716-1-shenlichuan@vivo.com/)** + +> Use dev_err_probe() to simplify the error path and unify a message +> template. + +**[[PATCH net-next v2 RESEND] net: dsa: Simplify with scoped for each OF child loop](http://lore.kernel.org/netdev/20240830070037.3529832-1-ruanjinjie@huawei.com/)** + +> Use scoped for_each_available_child_of_node_scoped() when iterating over +> device nodes to make code a bit simpler. + +**[v2: -next: net: dsa: Simplify with scoped for each OF child loop](http://lore.kernel.org/netdev/20240830065801.3529739-1-ruanjinjie@huawei.com/)** + +> Use scoped for_each_available_child_of_node_scoped() when iterating over +> device nodes to make code a bit simpler. + +**[v4: net-next: net: Simplified with scoped function](http://lore.kernel.org/netdev/20240830031325.2406672-1-ruanjinjie@huawei.com/)** + +> Simplify with scoped for each OF child loop, as well as dev_err_probe(). + +**[v1: net-next: r8169: add support for RTL8126A rev.b](http://lore.kernel.org/netdev/20240830021810.11993-1-hau@realtek.com/)** + +> Add support for RTL8126A rev.b. Its XID is 0x64a. It is basically +> based on the one with XID 0x649, but with different firmware file. + +#### 安全增强 + +**[v1: -next: coccinelle: Add rules to find str_true_false/str_false_true replacements](http://lore.kernel.org/linux-hardening/20240829112455.232263-1-lihongbo22@huawei.com/)** + +> After str_true_false()/str_false_true() has been introduced +> in the tree, we can add rules for finding places where +> str_true_false()/str_false_true() can be used. + +**[v9: Add support for aw96103/aw96105 proximity sensor](http://lore.kernel.org/linux-hardening/20240827080229.1431784-1-wangshuaijie@awinic.com/)** + +> Add drivers that support Awinic aw96103/aw96105 proximity sensors. + +**[v3: -next: Add str_true_false()/str_false_true() helper](http://lore.kernel.org/linux-hardening/20240827024517.914100-1-lihongbo22@huawei.com/)** + +> Add str_true_false()/str_false_true() helper to "true" or "false" +> string literal. And we found more than 10 cases currently exist +> in the tree. So these helpers can be used for these cases. + +#### 异步 IO + +**[v1: io_uring/kbuf: return correct iovec count from classic buffer peek](http://lore.kernel.org/io-uring/0905527f-6119-41a2-b2e0-60e36bb96b1c@kernel.dk/)** + +> io_provided_buffers_select() returns 0 to indicate success, but it should +> be returning 1 to indicate that 1 vec was mapped. + +#### Rust For Linux + +**[v1: block, rust: simplify validate_block_size() function](http://lore.kernel.org/rust-for-linux/CACVxJT-Hj6jdE0vwNrfGpKs73+ScTyxxxL8w_VXfoLAx79mr8w@mail.gmail.com/)** + +> Using range and contains() method is just fancy shmancy way of writing +> two comparisons which IMO is less readable. + +**[v7: rust: support for shadow call stack sanitizer](http://lore.kernel.org/rust-for-linux/20240829-shadow-call-stack-v7-1-2f62a4432abf@google.com/)** + +> Add all of the flags that are needed to support the shadow call stack +> (SCS) sanitizer with Rust, and updates Kconfig to allow only +> configurations that work. + +**[v2: scripts/checkpatch.pl: check for non-permalinks to Zulip](http://lore.kernel.org/rust-for-linux/20240828213357.21241-1-simeddon@gmail.com/)** + +> Zulip links to https://rust-for-linux.zulipchat.com can break in +> case of renaming the topic or channel if they are not message +> links (which are permanent links). + +**[v1: Retiring from the Rust for Linux project](http://lore.kernel.org/rust-for-linux/20240828211117.9422-1-wedsonaf@gmail.com/)** + +> This is as short a series as one can be: just removing myself as maintainer of +> the Rust for Linux project. + +**[v1: rust: Provide correct provenance when constructing THIS_MODULE](http://lore.kernel.org/rust-for-linux/20240828180129.4046355-1-boqun.feng@gmail.com/)** + +> Currently while defining `THIS_MODULE` symbol in `module!()`, the +> pointer used to contruct `ThisModule` is derived from an immutable +> reference of `__this_module`, which means the pointer doesn't have +> the provenance for writting, and that means any write to that pointer +> is UB regardless of data races or not. + +**[v8: net-next: net: phy: add Applied Micro QT2025 PHY driver](http://lore.kernel.org/rust-for-linux/20240828073516.128290-1-fujita.tomonori@gmail.com/)** + +> This patchset adds a PHY driver for Applied Micro Circuits Corporation +> QT2025. + +**[v1: rust: allow `stable_features` lint](http://lore.kernel.org/rust-for-linux/20240827100403.376389-1-ojeda@kernel.org/)** + +> Support for several Rust compiler versions started in commit 63b27f4a0074 +> ("rust: start supporting several compiler versions"). + +**[v2: rust: add global lock support](http://lore.kernel.org/rust-for-linux/20240827-static-mutex-v2-1-17fc32b20332@google.com/)** + + +> Due to the initialization requirement, constructing a global mutex is +> unsafe with the current approach. + +#### BPF + +**[v1: bpf-next: bpf: cpumap: enable GRO for XDP_PASS frames](http://lore.kernel.org/bpf/20240830162508.1009458-1-aleksander.lobakin@intel.com/)** + +> Recently, I've been looking through my old XDP hints tree[0] to check +> whether some patches not directly related to hints can be sent +> standalone. + +**[v1: bpf-next: libbpf: ensure new BTF objects inherit input endianness](http://lore.kernel.org/bpf/20240830095150.278881-1-tony.ambardar@gmail.com/)** + +> The pahole master branch recently added support for "distilled BTF" based +> on libbpf v1.5, but may add .BTF and .BTF.base sections with the wrong byte +> order (e.g. on s390x BPF CI), which then lead to kernel Oops when loaded. + +**[[PATCH bpf-next RESEND] bpf: Use sockfd_put() helper](http://lore.kernel.org/bpf/20240830020756.607877-1-ruanjinjie@huawei.com/)** + +> Replace fput() with sockfd_put() in bpf_fd_reuseport_array_update_elem(). + +**[[PATCH bpf-next RESEND] bpf: Use sockfd_put() helper](http://lore.kernel.org/bpf/20240830020607.607516-1-ruanjinjie@huawei.com/)** + +> Replace fput() with sockfd_put() in bpf_fd_reuseport_array_update_elem(). + +**[v5: bpf-next: bpf: Add gen_epilogue to bpf_verifier_ops](http://lore.kernel.org/bpf/20240829210833.388152-1-martin.lau@linux.dev/)** + +> This set allows the subsystem to patch codes before BPF_EXIT. + +**[v1: bpf-next: bpf, sockmap: Correct spelling skmsg.c](http://lore.kernel.org/bpf/20240829-sockmap-spell-v1-1-a614d76564cc@kernel.org/)** + +> Correct spelling in skmsg.c. +> As reported by codespell. + +**[v1: -next: bpf: Use sockfd_put() helper](http://lore.kernel.org/bpf/20240829085040.156043-1-ruanjinjie@huawei.com/)** + +> Replace fput() with sockfd_put() in bpf_fd_reuseport_array_update_elem(). + +**[v2: net-next: Unmask upper DSCP bits - part 2](http://lore.kernel.org/bpf/20240829065459.2273106-1-idosch@nvidia.com/)** + +> tl;dr - This patchset continues to unmask the upper DSCP bits in the +> IPv4 flow key in preparation for allowing IPv4 FIB rules to match on +> DSCP. + +**[v23: net-next: Device Memory TCP](http://lore.kernel.org/bpf/20240829060126.2792671-1-almasrymina@google.com/)** + +**[v1: bpf: Add missing force_checksrc macro](http://lore.kernel.org/bpf/20240828152559.4101550-1-legion@kernel.org/)** + +> According to the documentation, when building a kernel with the C=2 +> parameter, all source files should be checked. But this does not happen +> for the kernel/bpf/ directory. + +**[v6: Faultable Tracepoints](http://lore.kernel.org/bpf/20240828144153.829582-1-mathieu.desnoyers@efficios.com/)** + +> Wire up the system call tracepoints with Tasks Trace RCU to allow +> the ftrace, perf, and eBPF tracers to handle page faults. + +**[v2: bpf-next: bpf/btf: Use kvmemdup to simplify the code](http://lore.kernel.org/bpf/20240828062128.1223417-1-lihongbo22@huawei.com/)** + +> Use kvmemdup instead of kvmalloc() + memcpy() to simplify the +> code. + +**[v8: Improve the copy of task comm](http://lore.kernel.org/bpf/20240828030321.20688-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. Therefore, we should explicitly ensure the +> destination string is always NUL-terminated, regardless of the task comm. +> This approach will facilitate future extensions to the task comm. + +**[v1: bpf-next: samples/bpf: tracex2: Replace kfree_skb from kprobe to tracepoint](http://lore.kernel.org/bpf/tencent_9F90905CD6FBE5B00AF1EBD9681A62990106@qq.com/)** + +> In commit ba8de796baf4 ("net: introduce sk_skb_reason_drop function") +> kfree_skb_reason() becomes an inline function and cannot be traced. + +### 周边技术动态 + +#### Qemu + +**[v13: riscv support for control flow integrity extensions](http://lore.kernel.org/qemu-devel/20240830164756.1154517-1-debug@rivosinc.com/)** + +> v13 for riscv zicfilp and zicfiss extensions support in qemu. + +**[v12: riscv support for control flow integrity extensions](http://lore.kernel.org/qemu-devel/20240829233425.1005029-1-debug@rivosinc.com/)** + +> v12 for riscv zicfilp and zicfiss extensions support in qemu. + +**[v1: target/riscv: Stop timer with infinite timecmp](http://lore.kernel.org/qemu-devel/20240829084002.1805006-2-ajones@ventanamicro.com/)** + +> While the spec doesn't state it, setting timecmp to UINT64_MAX is +> another way to stop a timer, as it's considered setting the next +> timer event to occur at infinity. + +**[v11: riscv support for control flow integrity extensions](http://lore.kernel.org/qemu-devel/20240828174739.714313-1-debug@rivosinc.com/)** + +> v11 for riscv zicfilp and zicfiss extensions support in qemu. + +**[v4: bsd-user: Comprehensive RISCV Support](http://lore.kernel.org/qemu-devel/20240828095243.90491-1-itachis@FreeBSD.org/)** + +> Key Changes Compared to Version 3: +> Minor comment changes and all the patches +> have been reviewed by Richard Henderson +> + +**[v3: target: riscv: Add Svvptc extension support](http://lore.kernel.org/qemu-devel/20240828083651.203861-1-alexghiti@rivosinc.com/)** + +> The Svvptc extension describes a uarch that does not cache invalid TLB +> entries: that's the case for qemu so there is nothing particular to +> implement other than the introduction of this extension. + +**[v10: riscv support for control flow integrity extensions](http://lore.kernel.org/qemu-devel/20240827231906.553327-1-debug@rivosinc.com/)** + +> v10 for riscv zicfilp and zicfiss extensions support in qemu. + +**[v4: RISC-V: Add preliminary textra trigger CSR functions](http://lore.kernel.org/qemu-devel/20240826024657.262553-1-alvinga@andestech.com/)** + +> This series support to write MHVALUE and MHSELECT fields into textra32 and +> textra64 trigger CSRs. + +**[v1: target/riscv/tcg/tcg-cpu.c: consider MISA bit choice in implied rule](http://lore.kernel.org/qemu-devel/20240824173338.316666-1-dbarboza@ventanamicro.com/)** + +> The user explicitly disabled F and the error message mentions a conflict +> with Zfinx and F. + +**[v4: Make LMB memory map global and persistent](http://lore.kernel.org/u-boot/20240826115940.3233167-1-sughosh.ganu@linaro.org/)** + +> This is a follow-up from an earlier RFC series [1] for making the LMB +> and EFI memory allocations work together. This is a non-rfc version +> with only the LMB part of the patches, for making the LMB memory map +> global and persistent. + + ## 20240825:第 106 期 ### 内核动态