diff --git a/news/README.md b/news/README.md index e1728cb31b2d11aee663f5bdbd5ac1d66b1c89b6..c516949dab3872704d22c567e3a7dfa9dfed82c7 100644 --- a/news/README.md +++ b/news/README.md @@ -7,6 +7,885 @@ * [2023 年 - 下半年](2023-2nd-half.md) * [2024 年 - 上半年](2024-1st-half.md) + +## 20241103:第 116 期 + +### 内核动态 + +#### RISC-V 架构支持 + +**[v1: riscv: Memory type control for platforms with physical memory aliases](http://lore.kernel.org/linux-riscv/20241102000843.1301099-1-samuel.holland@sifive.com/)** + +> On some RISC-V platforms, including StarFive JH7100 and ESWIN EIC7700, +> RAM is mapped to multiple physical address ranges, with each alias +> having a different set of statically-determined Physical Memory +> Attributes (PMAs). + +**[v2: LKMM *generic* atomics in Rust](http://lore.kernel.org/linux-riscv/20241101060237.1185533-1-boqun.feng@gmail.com/)** + +> This is another RFC version of LKMM atomics in Rust, you can find the +> previous versions. + +**[v1: net-next: riscv: sophgo: Add ethernet support for SG2044](http://lore.kernel.org/linux-riscv/20241101014327.513732-1-inochiama@gmail.com/)** + +> The ethernet controller of SG2044 is Synopsys DesignWare IP with +> custom clock. Add glue layer for it. + +**[v5: Introduce support for T-head TH1520 Mailbox](http://lore.kernel.org/linux-riscv/20241031204723.1149912-1-m.wilczynski@samsung.com/)** + +> The T-head TH1520 SoC supports a hardware mailbox that enables two cores +> within the SoC to communicate and coordinate. + +**[v5: riscv: interrupt-controller: Add T-HEAD C900 ACLINT SSWI](http://lore.kernel.org/linux-riscv/20241031060859.722258-1-inochiama@gmail.com/)** + +> Add full support for T-HEAD C900 SSWI device. + +**[v6: net-next: Add the dwmac driver support for T-HEAD TH1520 SoC](http://lore.kernel.org/linux-riscv/20241030-th1520-gmac-v6-0-e48176d45116@tenstorrent.com/)** + +> This series adds support for dwmac gigabit ethernet in the T-Head TH1520 +> RISC-V SoC used on boards like BeagleV Ahead and the LicheePi 4A. + +**[v12: Tracepoints and static branch in Rust](http://lore.kernel.org/linux-riscv/20241030-tracepoint-v12-0-eec7f0f8ad22@google.com/)** + +> This series includes a patch that adds a user of tracepoints to the +> rust_print sample. + +**[v7: riscv control-flow integrity for usermode](http://lore.kernel.org/linux-riscv/20241029-v5_user_cfi_series-v7-0-2727ce9936cb@rivosinc.com/)** + +> This series picks up Samuel Holland's envcfg changes [2] as well. So if those are +> being applied independently, they should be removed from this series. + +**[v1: ACPI: CPPC: Make rmw_lock a raw_spin_lock](http://lore.kernel.org/linux-riscv/20241028105200.1205509-1-pierre.gondois@arm.com/)** + +> The following BUG was triggered. sugov_update_shared() locks a +> raw_spinlock while cpc_write() locks a spinlock. To have a correct +> wait-type order, update rmw_lock to a raw_spinlock. + +**[v7: Add DeepComputing FML13V01 board dts](http://lore.kernel.org/linux-riscv/20241028082553.1989797-1-guodong@riscstar.com/)** + +> This series updates Device Tree related files to introduce the +> FML13V10 board from DeepComputing, which incorporates a StarFive +> JH7110 SoC. + +**[v1: riscv: Add bfloat16 instruction support](http://lore.kernel.org/linux-riscv/20241028071746.869740-1-inochiama@gmail.com/)** + +> Add description for the BFloat16 precision Floating-Point ISA extension, +> (Zfbfmin, Zvfbfmin, Zvfbfwma). which was ratified in commit 4dc23d62 +> ("Added Chapter title to BF16") of the riscv-isa-manual. + +**[v2: riscv: spacemit: add i2c support to K1 SoC](http://lore.kernel.org/linux-riscv/20241028053220.346283-1-TroyMitchell988@gmail.com/)** + +> This patch implements I2C driver for the SpacemiT K1 SoC, +> providing basic support for I2C read/write communication which +> compatible with standard I2C bus specifications. + +**[v3: Support SSTC while PM operations](http://lore.kernel.org/linux-riscv/20241028033928.223218-1-nick.hu@sifive.com/)** + +> When the cpu is going to be hotplug, stop the stimecmp to prevent pending +> interrupt. + +**[v1: riscv: Relocatable NOMMU kernels](http://lore.kernel.org/linux-riscv/20241026171441.3047904-1-samuel.holland@sifive.com/)** + +> Currently, RISC-V NOMMU kernels are linked at CONFIG_PAGE_OFFSET, and +> since they are not relocatable, must be loaded at this address as well. + +**[v3: bpf-next: Optimize bpf_csum_diff() and homogenize for all archs](http://lore.kernel.org/linux-riscv/20241026125339.26459-1-puranjay@kernel.org/)** + +**[v1: Prefer sysfs/JSON events also when no PMU is provided](http://lore.kernel.org/linux-riscv/20241026121758.143259-1-irogers@google.com/)** + +> At the RISC-V summit the topic of avoiding event data being in the +> RISC-V PMU kernel driver came up. + +#### LoongArch 架构支持 + +**[v1: LoongArch: Disable KASAN if PGDIR_SIZE is too large for cpu_vabits](http://lore.kernel.org/loongarch/20241030081110.3431220-1-chenhuacai@loongson.cn/)** + +> If PGDIR_SIZE is too large for cpu_vabits, KASAN_SHADOW_END will +> overflow UINTPTR_MAX because KASAN_SHADOW_START/KASAN_SHADOW_END are +> aligned up by PGDIR_SIZE. + +**[v11: Replace fallback for IO memcpy and IO memset](http://lore.kernel.org/loongarch/20241028134227.4020894-1-jvetter@kalrayinc.com/)** + +> Thank you Arnd for your feedback and no problem. I should have asked +> before, to clarify what you meant. + +#### ARM 架构支持 + +**[v5: Add support for DMA of F1C100s](http://lore.kernel.org/linux-arm-kernel/20241102101017.2636558-1-csokas.bence@prolan.hu/)** + +> Support for Allwinner F1C100s/200s series audio was +> submitted in 2018 as an RFC series, but was not merged, +> despite having only minor errors. + +**[v2: Add PMGR nodes for Apple A7-A11 SoCs](http://lore.kernel.org/linux-arm-kernel/20241102011004.59339-1-towinchenmi@gmail.com/)** + +> This series adds the PMGR nodes and all known power state subnodes for +> Apple A7-A11 SoCs, along with the associated dt-bindings. + +**[v4: PCI: add enabe(disable)_device() hook for bridge](http://lore.kernel.org/linux-arm-kernel/20241101-imx95_lut-v4-0-0fdf9a2fe754@nxp.com/)** + +> Add enable(disable)_device() hook for bridge can return error when not +> enough resource, and PCI device can't enabled. + +**[GIT PULL: ARM: Zynq SoC changes for 6.13](http://lore.kernel.org/linux-arm-kernel/CAHTX3dKLb4nOVpVvnwyxE6zJZNXpiB4hh=WzpKWwhqP7aLobjw@mail.gmail.com/)** + +**[v1: firmware: arm_scpi: Add check for dvfs_info.opp_count](http://lore.kernel.org/linux-arm-kernel/55A2F7A784391686+20241101032115.275977-1-luoqiu@kylinsec.com.cn/)** + +> Fix a kernel crash when dvfs_info.opp_count is zero. + +**[v1: clk: zynqmp: Work around broken DT GPU node](http://lore.kernel.org/linux-arm-kernel/20241031170015.55243-1-marex@denx.de/)** + +> The ZynqMP DT GPU node clock description is wrong and does not represent +> the hardware correctly, it only describes BUS and PP0 clock, while it is +> missing PP1 clock. That means PP1 clock can never be enabled when the GPU +> should be used, which leads to expected GPU hang even with simple basic +> tests like kmscube. + +**[v2: sunxi: A100/A133 second stage support](http://lore.kernel.org/linux-arm-kernel/20241031070232.1793078-1-masterr3c0rd@epochal.quest/)** + +> This is V2 of this series, with some changes that were requested and +> others that were made after testing on more devices. + +**[v4: soc: imx: Add SoC device register for i.MX9](http://lore.kernel.org/linux-arm-kernel/20241031065438.3912960-1-alice.guo@oss.nxp.com/)** + +> This +> patch intends to use SMC call to obtain these information and then +> register i.MX9 SoC as a device. + +**[v4: Initial support for SMMUv3 nested translation](http://lore.kernel.org/linux-arm-kernel/0-v4-9e99b76f3518+3a8-smmuv3_nesting_jgg@nvidia.com/)** + +> This is quite straightforward as the nested STE can just be built in the +> special NESTED domain op and fed through the generic update machinery. + +**[v3: Add minimal Samsung Galaxy S20 Series board, SM-G981B and SM-G980F support](http://lore.kernel.org/linux-arm-kernel/20241030232308.72210-1-umer.uddin@mentallysanemainliners.org/)** + +> This series adds initial support for the Samsung Galaxy S20 Series and also +> initial board support for the Samsung Galaxy S20 5G (SM-G981B) +> codenamed x1s. + +**[v6: KVM: arm64: Hide unsupported MPAM from the guest](http://lore.kernel.org/linux-arm-kernel/20241030160317.2528209-1-joey.gouly@arm.com/)** + +**[v7: Support SMT control on arm64](http://lore.kernel.org/linux-arm-kernel/20241030125415.18994-1-yangyicong@huawei.com/)** + +> The core CPU control framework supports runtime SMT control which +> is not yet supported on arm64. + +**[v5: source filtering for multi-port output](http://lore.kernel.org/linux-arm-kernel/20241030093255.26915-1-quic_taozha@quicinc.com/)** + +> In our hardware design, by combining a funnel and a replicator, it +> implement a hardware device with one-to-one correspondence between +> output ports and input ports. + +**[GIT PULL: Rockchip dts32 changes for 6.13 #1](http://lore.kernel.org/linux-arm-kernel/6096384.lOV4Wx5bFT@phil/)** + +> Watchdog for rv1126 and the RV1109-based Relfor Saib board. + +**[GIT PULL: Rockchip dts64 changes for 6.13 #1](http://lore.kernel.org/linux-arm-kernel/12542111.O9o76ZdvQC@phil/)** + +> please find below and in a subsequent pull-requests +> Rockchip changes for for 6.13 . + +**[v2: Add MediaTek APU SMC call Definition](http://lore.kernel.org/linux-arm-kernel/20241030013533.855696-1-karl.li@mediatek.com/)** + +> This patch introduces the SMC calls for MediaTek APU. + +**[v4: Add Enclustra Arria10 and Cyclone5 SoMs](http://lore.kernel.org/linux-arm-kernel/20241029202349.69442-1-l.rubusch@gmail.com/)** + +> Add device-tree support for the following SoMs + +**[v1: net: dpaa_eth: print FD status in CPU endianness in dpaa_eth_fd tracepoint](http://lore.kernel.org/linux-arm-kernel/20241029163105.44135-1-vladimir.oltean@nxp.com/)** + +> We take struct qm_fd :: status, store it and print it as an u32, +> though it is a big endian field. We should print the FD status in +> CPU endianness for ease of debug and consistency between PowerPC and +> Arm systems. + +**[v2: ARM: Switch to generic entry](http://lore.kernel.org/linux-arm-kernel/20241029-arm-generic-entry-v2-0-573519abef38@linaro.org/)** + +> This patch series converts a slew of ARM assembly into the +> corresponding C code, step by step moving the codebase +> closer to the expectations of the generic entry code, +> and as a last step switches ARM over to the generic +> entry code. + +**[v1: asahi-soc/dt: Add PMGR nodes for Apple A7-A11 SoCs](http://lore.kernel.org/linux-arm-kernel/20241029010526.42052-1-towinchenmi@gmail.com/)** + +> This series adds the PMGR nodes and all known power state subnodes for +> Apple A7-A11 SoCs, along with the associated dt-bindings. + +#### X86 架构支持 + +**[v7: Add AutoFDO and Propeller support for Clang build](http://lore.kernel.org/lkml/20241102175115.1769468-1-xur@google.com/)** + +> This patch series is to integrate AutoFDO and Propeller support into +> the Linux kernel. + +**[v1: net-next: A pile of sfc deadcode](http://lore.kernel.org/lkml/20241102151625.39535-1-linux@treblig.org/)** + +> This is a collection of deadcode removal in the sfc +> drivers; the split is vaguely where I found them in +> the tree, with some left over. + +**[v5: Add support for codec of F1C100s](http://lore.kernel.org/lkml/20241102125712.2647325-1-csokas.bence@prolan.hu/)** + +> Support for Allwinner F1C100s/200s series audio was +> submitted in 2018 as an RFC series, but was not merged, +> despite having only minor errors. + +**[v3: Support SEV firmware hotloading](http://lore.kernel.org/lkml/20241102000818.2512612-1-dionnaglaze@google.com/)** + +> The SEV-SNP API specifies a command for hotloading the SEV firmware. +> when no SEV or SEV-ES guests are running. + +**[v1: KVM: nVMX: Honor event priority for PI ack at VM-Enter](http://lore.kernel.org/lkml/20241101191447.1807602-1-seanjc@google.com/)** + +> Rework and cleanup KVM's event handling during nested VM-Enter emulation, +> and ultimately fix a bug where KVM doesn't honor event priority when +> delivering a nested posted interrupt. + +**[v1: KVM: VMX: Mark Intel PT virtualization as BROKEN](http://lore.kernel.org/lkml/20241101185031.1799556-1-seanjc@google.com/)** + +> Hide Intel PT virtualization behind BROKEN, as it has multiple fatal +> flaws, several which put the host at risk, and several of which are far +> too invasive to backport to stable trees. + +**[v2: futex: Create set_robust_list2](http://lore.kernel.org/lkml/20241101162147.284993-1-andrealmeid@igalia.com/)** + +> This patch adds a new robust_list() syscall. +> +**[v5: memory,x86,acpi: hotplug memory alignment advisement](http://lore.kernel.org/lkml/20241101134706.1185-1-gourry@gourry.net/)** + +> Block size (min/max/selected) is architecture defined. Most architectures +> tend to use the minimum block size or some simplistic heurist. + +**[v3: drm-dp: Add dp module in hibmc driver](http://lore.kernel.org/lkml/20241101105028.2177274-1-shiyongbang@huawei.com/)** + +> Add DP module in hibmc drm driver, which is for Hisilicon +> Hibmc SoC which used for Out-of-band management. + +**[v2: LKMM *generic* atomics in Rust](http://lore.kernel.org/lkml/20241101060237.1185533-1-boqun.feng@gmail.com/)** + +> This is another RFC version of LKMM atomics in Rust, you can find the +> previous versions: + +**[v1: x86/resctrl: Support Sub-NUMA cluster mode SNC6](http://lore.kernel.org/lkml/20241031220213.17991-1-tony.luck@intel.com/)** + +> Support Sub-NUMA cluster mode with 6 nodes per L3 cache (SNC6) on some +> Intel platforms. + +**[v1: KVM: nVMX: Treat vpid01 as current if L2 is active, but with VPID disabled](http://lore.kernel.org/lkml/20241031202011.1580522-1-seanjc@google.com/)** + +> When getting the current VPID, e.g. to emulate a guest TLB flush, return +> vpid01 if L2 is running but with VPID disabled, i.e. if VPID is disabled +> in vmcs12. + +**[v12: RFT: fork: Support shadow stacks in clone3()](http://lore.kernel.org/lkml/20241031-clone3-shadow-stack-v12-0-7183eb8bee17@kernel.org/)** + +> The kernel has recently added support for shadow stacks, currently +> x86 only using their CET feature but both arm64 and RISC-V have +> equivalent features (GCS and Zicfiss respectively), I am actively +> working on GCS[1]. + +**[v1: KVM: x86/mmu: Micro-optimize TDP MMU cond_resched()](http://lore.kernel.org/lkml/20241031170633.1502783-1-seanjc@google.com/)** + +> Invert the order of checks in tdp_mmu_iter_cond_resched() so that the common +> case (no resched needed) is checked first, and opportunsitically clean up a +> wart where the helper would return "yielded" in an error path, even if that +> invocation didn't actually yield. + +**[v1: Add support for the ERAPS feature](http://lore.kernel.org/lkml/20241031153925.36216-1-amit@kernel.org/)** + +> Newer AMD CPUs (Turin+) have the ERAPS feature bit that allows us to remove +> the RSB filling loops required during context switches and VM exits. + +**[v2: hrtimers: Consolidate hrtimer initialization - Part 1](http://lore.kernel.org/lkml/cover.1730386209.git.namcao@linutronix.de/)** + +> This separate initialization is error prone and awkward to use. The +> separate initialization is also problematic for a clean Rust abstraction. + +**[v1: timekeeping: Fall cleaning](http://lore.kernel.org/lkml/20241031115448.978498636@linutronix.de/)** + +> The sanity checks under CONFIG_TIMEKEEPING_DEBUG have served their purpose +> for some time, but now that timekeeping handles potential 64bit math +> overflow correctly and is unconditionally protected against negative motion +> of time, these checks have no real value anymore. + +**[v1: x86/cpufeature: Document cpu_feature_enabled() as the default to use](http://lore.kernel.org/lkml/20241031103401.GBZyNdGQ-ZyXKyzC_z@fat_crate.local/)** + +> cpu_feature_enabled() should be used in most cases when CPU feature +> support needs to be tested in code. Document that. + +**[v1: x86/mm/doc: Add missing details in virtual memory layout](http://lore.kernel.org/lkml/20241031084946.2243440-1-kirill.shutemov@linux.intel.com/)** + +> Improve memory layout documentation + +**[v1: x86/cpu: Centralize and standardize CPUID leaf naming](http://lore.kernel.org/lkml/20241030213310.C4861EC0@davehans-spike.ostc.intel.com/)** + +> I noticed that the MWAIT code was rather haphazard in how it deals +> with CPUID leaf levels. + +**[v2: TDX vCPU/VM creation](http://lore.kernel.org/lkml/20241030190039.77971-1-rick.p.edgecombe@intel.com/)** + +> This series has 9 commits intended to collect acks from x86 maintainers. + +**[v5: Implement DWARF modversions](http://lore.kernel.org/lkml/20241030170106.1501763-21-samitolvanen@google.com/)** + +> Here's v5 of the DWARF modversions series. + +**[v1: KVM: x86: Small changes to support VMware guests](http://lore.kernel.org/lkml/20241030033514.1728937-1-zack.rusin@broadcom.com/)** + +> To be able to switch VMware products running on Linux to KVM some minor +> changes are required to let KVM run/resume unmodified VMware guests. + +**[v11: Dell AWCC platform_profile support](http://lore.kernel.org/lkml/20241030000904.7205-2-kuurtb@gmail.com/)** + +> This patch adds platform_profile support for Dell devices which implement +> WMAX thermal interface, that are meant to be controlled by Alienware Command +> Center (AWCC). + +#### 进程调度 + +**[v2: sched/topology: improve topology_span_sane speed](http://lore.kernel.org/lkml/20241031200431.182443-1-steve.wahl@hpe.com/)** + +> Use a different approach to topology_span_sane(), that checks for the +> same constraint of no partial overlaps for any two CPU sets for +> non-NUMA topology levels, but does so in a way that is O(N) rather +> than O(N^2). + +**[v2: sched/eevdf: Force propagating min_slice of cfs_rq when a task changing slice](http://lore.kernel.org/lkml/20241031094822.30531-1-dtcccc@linux.alibaba.com/)** + +> When a task changes slice and its cgroup se is already on_rq, the cgroup +> se will not be enqueued again, and hence the root->min_slice leaves +> unchanged. + +**[v1: sched/urgent: sched: Task still delay-dequeued after switched from fair](http://lore.kernel.org/lkml/ZyF4rw_nvfpHfouv@slm.duckdns.org/)** + +> On the current tip/sched/urgent, the following can be easily triggered by +> running `tools/testing/selftests/sched_ext/runner -t reload_loop` + +**[v1: sched/eevdf: Introduce a cgroup interface for slice](http://lore.kernel.org/lkml/20241028063313.8039-1-dtcccc@linux.alibaba.com/)** + +> The 1st patch is a minor fix for the existing cgroup propagating. +> The 2nd patch is the main part and RFC. If the design is ok, I'll send +> another patch later for documents about the new cgroup interface. + + +#### 内存管理 + +**[v2: mm: count zeromap read and set for swapout and swapin](http://lore.kernel.org/linux-mm/20241102101240.35072-1-21cnbao@gmail.com/)** + +> This patch adopts option 1 as pswpin/pswpout counters are that they +> only apply to IO done directly to the backend device (as noted by +> Nhat Pham). + +**[v1: scftorture: Use workqueue to free scf_check](http://lore.kernel.org/linux-mm/20241101195438.1658633-1-boqun.feng@gmail.com/)** + +> This is problematic because smp_call_function() uses non-threaded +> interrupt and kfree() may acquire a local_lock which is a sleepable lock +> on RT. + +**[v2: Buddy allocator like folio split](http://lore.kernel.org/linux-mm/20241101150357.1752726-1-ziy@nvidia.com/)** + +> This patchset adds a new buddy allocator like large folio split to the total +> number of resulting folios, the amount of memory needed for multi-index xarray +> split, and keep more large folios after a split. It is on top of +> mm-everything-2024-11-01-04-30. + +**[v1: mm/slab: Allow cache creation to proceed even if sysfs registration fails](http://lore.kernel.org/linux-mm/20241101130845.19100-1-42.hyeyoo@gmail.com/)** + +> This issue can be reproduced by creating new slab caches while applying +> failslab for kernfs_node_cache. This makes kobject_add_varg() succeed, +> but causes kobject_add_internal() to fail in kobject_init_and_add() +> during cache creation. + +**[v15: EDAC: Scrub: introduce generic EDAC RAS control feature driver + CXL/ACPI-RAS2 drivers](http://lore.kernel.org/linux-mm/20241101091735.1465-1-shiju.jose@huawei.com/)** + +> Previously known as "ras: scrub: introduce subsystem + CXL/ACPI-RAS2 drivers". + +**[v1: mm: use vma_policy() to get vm_policy](http://lore.kernel.org/linux-mm/20241101071350.402878-1-shivankg@amd.com/)** + +> Instead of accessing vma->vm_policy directly, use vma_policy() like +> other places for consistency. + +**[v2: vmstat: call fold_vm_zone_numa_events() before show per zone NUMA event](http://lore.kernel.org/linux-mm/1730433998-10461-1-git-send-email-mengensun@tencent.com/)** + +> Since 5.14-rc1, NUMA events will only be folded from per-CPU +> statistics to per zone and global statistics when the user +> actually needs it. + +**[v2: vma: Detect infinite loop in vma tree](http://lore.kernel.org/linux-mm/20241031193608.1965366-1-Liam.Howlett@oracle.com/)** + +> There have been no reported infinite loops in the tree, but checking the +> detection of an infinite loop during validation is simple enough. Add +> the detection to the validate_mm() function so that error reports are +> clear and don't just report stalls. + +**[[PATCH -V3 RESEND] x86, tdx, memory hotplug: Check whole hot-adding memory range for TDX](http://lore.kernel.org/linux-mm/20241031085151.186111-1-ying.huang@intel.com/)** + +> On systems with TDX (Trust Domain eXtensions) enabled, current kernel +> checks the TDX compatibility of the hot-added memory ranges through a +> memory hotplug notifier for each memory_block. + +**[v3: mm: add per-order mTHP swpin counters](http://lore.kernel.org/linux-mm/20241031075325.1037-1-21cnbao@gmail.com/)** + +> This helps profile the sizes of folios being swapped in. Currently, +> only mTHP swap-out is being counted. + +**[v1: trace/events/page_ref: add page info to page_ref trace event](http://lore.kernel.org/linux-mm/20241031024222.505844-1-quic_yingangl@quicinc.com/)** + +> This followed +> commit 53d884a6675b ("mm, tracing: unify PFN format strings") +> to add page info. + +**[v1: Provide a new two step DMA mapping API](http://lore.kernel.org/linux-mm/cover.1730298502.git.leon@kernel.org/)** + +> Currently the only efficient way to map a complex memory description through +> the DMA API is by using the scatterlist APIs. The SG APIs are unique in that +> they efficiently combine the two fundamental operations of sizing and allocating +> a large IOVA window from the IOMMU and processing all the per-address +> swiotlb/flushing/p2p/map details. + +**[v1: mm/gup: restore the ability to pin more than 2GB at a time](http://lore.kernel.org/linux-mm/20241030030116.670307-1-jhubbard@nvidia.com/)** + +> commit 53ba78de064b ("mm/gup: introduce +> check_and_migrate_movable_folios()") created a new constraint on the +> pin_user_pages*() API family: a potentially large allocation must now +> occur, internally. + +#### 文件系统 + +**[v1: [PATCHES v2] xattr stuff and interactions with io_uring](http://lore.kernel.org/linux-fsdevel/20241102072834.GQ1350452@ZenIV/)** + +> Help with review and testing would be welcome; if nobody objects, +> to #for-next it goes... + +**[[POC, RFC] scheme for transferring group_list between processes](http://lore.kernel.org/linux-fsdevel/20241101202657.468595-1-stsp2@yandex.ru/)** + +> Note: this patch is a POC and RFC. It "parasites" on pidfd code +> just for the sake of a demo. It has nothing to do with pidfd. + +**[v1: fs: Simplify getattr interface function checking AT_GETATTR_NOSEC flag](http://lore.kernel.org/linux-fsdevel/20241101193703.3282039-1-stefanb@linux.vnet.ibm.com/)** + +> Commit 8a924db2d7b5 ("fs: Pass AT_GETATTR_NOSEC flag to getattr interface +> function")' introduced the AT_GETATTR_NOSEC flag to ensure that the +> call paths only call vfs_getattr_nosec if it is set instead of vfs_getattr. +> Now, simplify the getattr interface functions of filesystems where the flag +> AT_GETATTR_NOSEC is checked. + +**[v1: pidfs: implement file handle support](http://lore.kernel.org/linux-fsdevel/20241101135452.19359-1-erin.shepherd@e43.eu/)** + +> This greatly +> facilitates process tracking in userspace. + +**[v1: dax: Allow block size > PAGE_SIZE](http://lore.kernel.org/linux-fsdevel/20241101-dax-page-size-v1-1-eedbd0c6b08f@asahilina.net/)** + +> For virtio-dax, the file/FS blocksize is irrelevant. FUSE always uses +> large DAX blocks (2MiB), which will work with all host page sizes. + +**[v2: LKMM *generic* atomics in Rust](http://lore.kernel.org/linux-fsdevel/20241101060237.1185533-1-boqun.feng@gmail.com/)** + +> This is another RFC version of LKMM atomics in Rust, you can find the +> previous versions. + +**[v1: proc: Add a way to make proc files writable](http://lore.kernel.org/linux-fsdevel/20241101013920.28378-1-xqjcool@gmail.com/)** + +> Provide an extra function, proc_create_single_write_data() that +> act like its non-write version but also set a write method in +> the proc_dir_entry struct. Alse provide a macro +> proc_create_single_write to reduces the boilerplate code in the callers. + +**[v1: Support for limiting the number of managed interrupts on every node per allocation.](http://lore.kernel.org/linux-fsdevel/20241031074618.3585491-1-guanjun@linux.alibaba.com/)** + +> We found that in scenarios with a large number of devices on the system, + +**[v6: Read/Write with metadata/integrity](http://lore.kernel.org/linux-fsdevel/20241030180112.4635-1-joshi.k@samsung.com/)** + +> This adds a new io_uring interface to exchange additional integrity/pi +> metadata with read/write. + +**[v3: ext4: Add atomic writes support for DIO](http://lore.kernel.org/linux-fsdevel/cover.1730286164.git.ritesh.list@gmail.com/)** + +> This series adds the base feature support to enable atomic writes in +> direct-io path for ext4. We advertise the minimum and the maximum atomic +> write unit sizes via statx on a regular file. + +**[v1: exfat: reduce FAT chain traversal](http://lore.kernel.org/linux-fsdevel/PUZPR04MB63164B1F3E8FFEA10105095881542@PUZPR04MB6316.apcprd04.prod.outlook.com/)** + +> This patch set is designed to reduce FAT traversal, it includes the +> patch to implement this feature as well as the patches to optimize and +> clean up the code to facilitate the implementation of this feature. + +**[v1: kernel: add pid_max to pid_namespace](http://lore.kernel.org/linux-fsdevel/20241030052933.1041408-1-yun.zhou@windriver.com/)** + +> It is necessary to have a different pid_max in different containers. + +#### 网络设备 + +**[v6: net: ipv4: Cache pmtu for all packet paths if multipath enabled](http://lore.kernel.org/netdev/20241102163000.2392-1-deliran@verdict.gg/)** + +> Check number of paths by fib_info_num_path(), +> and update_or_create_fnhe() for every path. +> Problem is that pmtu is cached only for the oif +> that has received icmp message "need to frag", +> other oifs will still try to use "default" iface mtu. + +**[v1: net: phy: ti: add PHY_RST_AFTER_CLK_EN flag](http://lore.kernel.org/netdev/20241102151504.811306-1-paissilva@ld-100007.ds1.internal/)** + +> DP83848 datasheet (section 4.7.2) indicates that the reset pin should be +> toggled after the clocks are running. Add the PHY_RST_AFTER_CLK_EN to +> make sure that this indication is respected. + +**[v1: net-next: r8169: improve initialization of RSS registers on RTL8125/RTL8126](http://lore.kernel.org/netdev/3bf2f340-b369-4174-97bf-fd38d4217492@gmail.com/)** + +> Replace the register addresses with the names used in r8125/r8126 +> vendor driver, and consider that RSS_CTRL_8125 is a 32 bit register. + +**[v2: net-next: support SO_PRIORITY cmsg](http://lore.kernel.org/netdev/20241102125136.5030-1-annaemesenyiri@gmail.com/)** + +> The changes introduce a new helper function, +> `sk_set_prio_allowed`, which centralizes the logic for validating +> priority settings. This series adds support for the `SO_PRIORITY` +> control message, allowing user-space applications to set socket +> priority via control messages (cmsg). + +**[v1: Add support for Synopsis DesignWare version 3.72a](http://lore.kernel.org/netdev/20241102114122.4631-1-l.rubusch@gmail.com/)** + +> Add compatibility and dt-binding for Synopsis DesignWare version 3.72a. +> The dwmac is used on some older Altera/Intel SoCs such as Arria10. + +**[v4: net-next: Suspend IRQs during application busy periods](http://lore.kernel.org/netdev/20241102005214.32443-1-jdamato@fastly.com/)** + +> This series introduces a new mechanism, IRQ suspension, which allows +> network applications using epoll to mask IRQs during periods of high +> traffic while also reducing tail latency (compared to existing +> mechanisms, see below) during periods of low traffic. + +**[v1: net-next: openvswitch: Pass on secpath details for internal port rx.](http://lore.kernel.org/netdev/20241101204732.183840-1-aconole@redhat.com/)** + +> Clearing the secpath for internal ports will cause packet drops when +> ipsec offload or early SW ipsec decrypt are used. Systems that rely +> on these will not be able to actually pass traffic via openvswitch. + +**[v4: net-next: eth: fbnic: Add support to write TCE TCAM entries](http://lore.kernel.org/netdev/20241101204116.1368328-1-mohsin.bashr@gmail.com/)** + +> Add support to redirect host-to-BMC traffic by writing MACDA entries +> from the RPC (RX Parser and Classifier) to TCE-TCAM. The TCE TCAM is a +> small L2 destination TCAM which is placed at the end of the TX path (TCE). + +**[v2: bpf: Introduce cpu affinity for sockmap](http://lore.kernel.org/netdev/20241101161624.568527-1-mrpre@163.com/)** + +> Why we need cpu affinity: +> Mainstream data planes, like Nginx and HAProxy, utilize CPU affinity +> by binding user processes to specific CPUs. This avoids interference +> between processes and prevents impact from other processes. + +**[[PATCH 1/1: 5.10/5.15] net: bridge: xmit: make sure we have at least eth header len bytes](http://lore.kernel.org/netdev/20241101150745.3671416-2-Randy.MacLeod@windriver.com/)** + +> Based on above commit but simplified since pskb_may_pull_reason() +> does not exist until 6.1. + +**[[PATCH 0/1: 5.10/5.15] net: bridge: xmit: make sure we have at least eth header len bytes](http://lore.kernel.org/netdev/20241101150745.3671416-1-Randy.MacLeod@windriver.com/)** + +> This is my first commit to -stable so I'm going to carefully explain what I've done. +> I work on the Yocto Project and I have done some work on the Linux network +> stack a long time ago so I'm not quite a complete newbie. + +**[v1: nf: netfilter: netlink: Report extack policy errors for batched ops](http://lore.kernel.org/netdev/20241101143207.42408-1-donald.hunter@gmail.com/)** + +> The nftables batch processing does not currently populate extack with +> policy errors. Fix this by passing extack when parsing batch messages. + +**[v8: net-next: net: stmmac: Refactor FPE as a separate module](http://lore.kernel.org/netdev/cover.1730449003.git.0x1207@gmail.com/)** + +> Refactor FPE implementation by moving common code for DWMAC4 and +> DWXGMAC into a separate FPE module. + +**[v3: iproute: bridge: dump mcast querier state](http://lore.kernel.org/netdev/20241101115039.2604631-1-f.pfitzner@pengutronix.de/)** + +> Kernel support for dumping the multicast querier state was added in this +> commit [1]. + +**[v2: bpf-next: bpf: Add kernel symbol for struct_ops trampoline](http://lore.kernel.org/netdev/20241101111948.1570547-1-xukuohai@huaweicloud.com/)** + +> Without kernel symbols for struct_ops trampoline, the unwinder may +> produce unexpected stacktraces. + +**[v1: net-next: Add PCS support for Qualcomm IPQ9574 SoC](http://lore.kernel.org/netdev/20241101-ipq_pcs_rc1-v1-0-fdef575620cf@quicinc.com/)** + +> This patch series adds base driver support for initializing the PCS, +> and PCS phylink ops for managing the PCS modes/states. Support for +> SGMII/QSGMII (PCS) and USXGMII (XPCS) modes is being added initially. + +**[v5: net-next: net: Implement fault injection forcing skb reallocation](http://lore.kernel.org/netdev/20241101-skb_fault_injection_v5-v5-1-a99696f0a853@debian.org/)** + +> Introduce a fault injection mechanism to force skb reallocation. The +> primary goal is to catch bugs related to pointer invalidation after +> potential skb reallocation. + +**[v1: net-next: net: lan969x: add VCAP functionality](http://lore.kernel.org/netdev/20241101-sparx5-lan969x-switch-driver-3-v1-0-3c76f22f4bfa@microchip.com/)** + +> This series is the third of a multi-part series, that prepares and adds +> support for the new lan969x switch driver. + +**[v2: virtio: only reset device and restore status if needed in device resume](http://lore.kernel.org/netdev/20241101015101.98111-1-qiang4.zhang@linux.intel.com/)** + +> Virtio core unconditionally reset and restore status for all virtio +> devices before calling restore method. This breaks some virtio drivers +> which don't need to do anything in suspend and resume because they +> just want to keep device state retained. + +**[v5: rust: Add IO polling](http://lore.kernel.org/netdev/20241101010121.69221-1-fujita.tomonori@gmail.com/)** + +> As a result of the past discussion, this introduces two new types, +> Instant and Delta, which represent a specific point in time and a span +> of time, respectively. + +**[GIT PULL: bpf for v6.12-rc6](http://lore.kernel.org/netdev/20241031231912.109589-1-daniel@iogearbox.net/)** + +> The following changes since commit ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc: +> are available in the Git repository at: + +**[v3: net-next: mlx5/core: Schedule EQ comp tasklet only if necessary](http://lore.kernel.org/netdev/20241031163436.3732948-1-csander@purestorage.com/)** + +> Currently, the mlx5_eq_comp_int() interrupt handler schedules a tasklet +> to call mlx5_cq_tasklet_cb() if it processes any completions. + +**[GIT PULL: Networking for v6.12-rc6](http://lore.kernel.org/netdev/20241031141748.160214-1-pabeni@redhat.com/)** + +> The following changes since commit d44cd8226449114780a8554fd253c7e3d171a0a6: +> are available in the Git repository at: + +**[v1: can: tcan4x5x: add option for selecting nWKRQ voltage](http://lore.kernel.org/netdev/20241031-tcan-wkrqv-v1-0-823dbd12fe4a@geanix.com/)** + +> This series adds support for setting the nWKRQ voltage. + +**[v1: net-next: mlx5 misc patches 2024-10-31](http://lore.kernel.org/netdev/20241031125856.530927-1-tariqt@nvidia.com/)** + +> This patchset for the mlx5 driver contains small misc patches. + +**[v6: net-next: udp: Add 4-tuple hash for connected sockets](http://lore.kernel.org/netdev/20241031124550.20227-1-lulie@linux.alibaba.com/)** + +> This patchset introduces 4-tuple hash for connected udp sockets, to make +> connected udp lookup faster. + +#### 安全增强 + +**[v2: Initial support for Samsung Galaxy Tab 2 series](http://lore.kernel.org/linux-hardening/20241030211215.347710-1-bavishimithil@gmail.com/)** + +> This series adds initial support for the Samsung Galaxy Tab 2 +> (samsung-espresso*) series of devices. It adds support for 6 variants +> . + +**[v1: kprobes: Adjustments for __counted_by addition](http://lore.kernel.org/linux-hardening/20241030-kprobes-fix-counted-by-annotation-v1-0-8f266001fad0@kernel.org/)** + +> This series addresses the issues that I brought up at. + +**[v5: DCD: Add support for Dynamic Capacity Devices (DCD)](http://lore.kernel.org/linux-hardening/20241029-dcd-type2-upstream-v5-0-8739cb67c374@intel.com/)** + +> A git tree of this series can be found here: + +**[v1: disable __counted_by for clang < 19.1.3](http://lore.kernel.org/linux-hardening/20241029140036.577804-1-kernel@jfarr.cc/)** + +> Bill's PR to disable __counted_by for "whole struct" __bdos cases has now +> been merged into 19.1.3 [1], so here's the patch to disable __counted_by +> for clang versions < 19.1.3 in the kernel. + +**[v1: coccinelle: Add str_off_on() and str_no_yes() rules](http://lore.kernel.org/linux-hardening/20241027125858.1804-2-thorsten.blum@linux.dev/)** + +> In addition to str_on_off() and str_yes_no(), add rules to search for +> str_off_on() and str_no_yes() replacements. + +#### 异步 IO + +**[v1: io_uring/sqpoll: wait on sqd->wait for thread parking](http://lore.kernel.org/io-uring/37c69370-013f-457c-a66a-502881e35119@kernel.dk/)** + +> io_sqd_handle_event() just does a mutex unlock/lock dance when it's +> supposed to park, somewhat relying on full ordering with the thread +> trying to park it which does a similar unlock/lock dance on sqd->lock. + +#### Rust For Linux + +**[v1: rust: security: add abstraction for secctx](http://lore.kernel.org/rust-for-linux/20241101-lsm-secctx-v1@google.com/)** + +> Add an abstraction for viewing the string representation of a security +> context. + +**[v2: Add dma coherent allocator abstraction](http://lore.kernel.org/rust-for-linux/20241101113422.2615566-1-abdiel.janulgue@gmail.com/)** + +> This series adds support for the dma coherent allocator. This is based +> on code developed by Andreas Hindborg for the rnvme driver. We adapted +> this for basic use in the Nova driver to access the GSP via DMA [0]. + +**[v2: LKMM *generic* atomics in Rust](http://lore.kernel.org/rust-for-linux/20241101060237.1185533-1-boqun.feng@gmail.com/)** + +> This is another RFC version of LKMM atomics in Rust, you can find the +> previous versions: + +**[v3: rust: Add Lock::from_raw() and expose Guard::new()](http://lore.kernel.org/rust-for-linux/20241031231025.3466571-1-lyude@redhat.com/)** + +> This is the third version of a small patch series to introduce +> interfaces for working with locks that we've acquired from raw C +> pointers, something that is quite useful for bindings like the rust +> bindings - where there's a number of interfaces protected by BFLs, or +> which require the implementation of callbacks that are known to occur +> under lock. + +**[v8: Extended MODVERSIONS Support](http://lore.kernel.org/rust-for-linux/20241030-extended-modversions-v8-0-93acdef62ce8@google.com/)** + +> This patch series is intended for use alongside the Implement DWARF +> modversions series [1] to enable RUST and MODVERSIONS at the same +> time. + +**[v1: rust: add improved version of `ForeignOwnable::borrow_mut`](http://lore.kernel.org/rust-for-linux/20241030-borrow-mut-v1-0-8f0ceaf78eaf@gmail.com/)** + +> This is a re-submission of Alice's patch[0]. The leading commits are +> intended to improve the consistency and ergonomics of `ForeignOwnable`, +> and to split out the code movement originally included in the patch. + +**[v1: cfi: tweak llvm version for HAVE_CFI_ICALL_NORMALIZE_INTEGERS](http://lore.kernel.org/rust-for-linux/20241030-cfi-icall-1913-v1-1-ab8a26e13733@google.com/)** + +> The llvm fix [1] did not make it for 19.0.0, but ended up getting +> backported to llvm 19.1.3 [2]. Thus, fix the version requirement to +> correctly specify which versions have the bug. + +**[v2: rust: Implement Display for Box](http://lore.kernel.org/rust-for-linux/tencent_F71CE9D125A8C6191D8CF95B3A4F3BB2F506@qq.com/)** + +> Currently `impl Display` is missing for `Box`, as a result, +> things like using `Box<..>` directly as an operand in `pr_info!()` +> are impossible, which is less ergonomic compared to `Box` in Rust +> std. + +**[v1: rust: Implement fmt::Display for kernel Box](http://lore.kernel.org/rust-for-linux/tencent_CA5A5D6268F0D1419BAFA6AFB4EB5A37920A@qq.com/)** + +> Currently fmt::Display is not implemented for Box. We can +> make the following code work by implementing fmt::Display. + +#### BPF + +**[v1: kbuild,bpf: pass make jobs' value to pahole](http://lore.kernel.org/bpf/20241102100452.793970-1-flo@geekplace.eu/)** + +> Pass the value of make's -j/--jobs argument to pahole, to avoid out of +> memory errors and make pahole respect the "jobs" value of make. + +**[v8: bpf-next: bpf: Support private stack for bpf progs](http://lore.kernel.org/bpf/20241101030950.2677215-1-yonghong.song@linux.dev/)** + +> The main motivation for private stack comes from nested scheduler in +> sched-ext from Tejun. + +**[v1: bpf-next: Handle possible NULL trusted raw_tp arguments](http://lore.kernel.org/bpf/20241101000017.3424165-1-memxor@gmail.com/)** + +> More context is available in , but the TLDR; is that the verifier +> incorrectly assumes that any raw tracepoint argument will always be +> non-NULL. + +**[GIT PULL: bpf for v6.12-rc6](http://lore.kernel.org/bpf/20241031231912.109589-1-daniel@iogearbox.net/)** + +> The following changes since commit ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc: +> are available in the Git repository at + +**[v1: bpf: smp_wmb before bpf_ringbuf really commit](http://lore.kernel.org/bpf/20241031084246.20737-1-zhongjinji@honor.com/)** + +> To guarantee visibility of writing ringbuffer,it is necessary +> to call smp_wmb before ringbuffer really commit. + +**[v3: net-next: xdp: a fistful of generic changes (+libeth_xdp)](http://lore.kernel.org/bpf/20241030165201.442301-1-aleksander.lobakin@intel.com/)** + +> They are implemented mostly as inlines with inline callback arguments. +> They will be then uninlined in the drivers with sane function sizes, +> but without any indirect calls. + +**[v2: bpf: Add sk_is_inet and IS_ICSK check in tls_sw_has_ctx_tx/rx](http://lore.kernel.org/bpf/20241030161855.149784-1-zijianzhang@bytedance.com/)** + +> As the introduction of the support for vsock and unix sockets in sockmap, +> tls_sw_has_ctx_tx/rx cannot presume the socket passed in must be IS_ICSK. + +**[v2: net-next: virtio-net: support AF_XDP zero copy (tx)](http://lore.kernel.org/bpf/20241030082453.97310-1-xuanzhuo@linux.alibaba.com/)** + +**[v7: powerpc: Core ftrace rework, support for ftrace direct and bpf trampolines](http://lore.kernel.org/bpf/20241030070850.1361304-1-hbathini@linux.ibm.com/)** + +> This series reworks core ftrace support on powerpc to have the function +> profiling sequence moved out of line. + +**[v2: bpf-next: bpf/crib: Add open-coded style process file iterator and file related CRIB kfuncs](http://lore.kernel.org/bpf/AM6PR03MB5848098C1DF99C6C417B405D99542@AM6PR03MB5848.eurprd03.prod.outlook.com/)** + +> This patch series adds open-coded style process file iterator +> bpf_iter_task_file and file related kfuncs bpf_fget_task(), +> bpf_get_file_ops_type(), and corresponding selftests test cases. + +**[v1: bpf: Add sk_is_inet check in tls_sw_has_ctx_tx/rx](http://lore.kernel.org/bpf/20241029202830.3121552-1-zijianzhang@bytedance.com/)** + +> As the introduction of the support for vsock and unix sockets in sockmap, +> tls_sw_has_ctx_tx/rx cannot presume the socket passed in must be inet. + +**[v6: iwl-next: igc: Link IRQs and queues to NAPIs](http://lore.kernel.org/bpf/20241029201218.355714-1-jdamato@fastly.com/)** + +> This revision was created due to a report from Vitaly [2], that my v5 +> should use different function and variable names, like igb. + +**[v1: bpf: disallow 40-bytes extra stack for bpf_fastcall patterns](http://lore.kernel.org/bpf/20241029193911.1575719-1-eddyz87@gmail.com/)** + +> This patch disables the additional allowance for the moment. +> Also, two test cases are removed + +**[v1: bpf-next: libbpf: start v1.6 development cycle](http://lore.kernel.org/bpf/20241029184045.581537-1-andrii@kernel.org/)** + +> With libbpf v1.5.0 release out, start v1.6 dev cycle. + +**[v2: bpf-next: bpf: handle implicit declaration of function gettid in bpf_iter.c](http://lore.kernel.org/bpf/20241029074627.80289-1-kerneljasonxing@gmail.com/)** + +> As we can see from the title, when I compiled the selftests/bpf, I +> saw the error. + +**[v4: bpf: Using binary search to improve the performance of btf_find_by_name_kind](http://lore.kernel.org/bpf/20241029002208.1947947-1-dolinux.peng@gmail.com/)** + +> Currently, we are only using the linear search method to find the type +> id by the name, which has a time complexity of O(n). + +**[v2: bpf: enhance validation of pointer formatting](http://lore.kernel.org/bpf/20241028195343.2104-1-rabbelkin@mail.ru/)** + +> This patch series enhances validation of pointer formatting to prevent same +> exact issue happening again, as it happen before in [0] and happened now. + +### 周边技术动态 + +#### Qemu + +**[v1: riscv-to-apply queue](http://lore.kernel.org/qemu-devel/20241031035319.731906-1-alistair.francis@wdc.com/)** + +> The following changes since commit 58d49b5895f2e0b5cfe4b2901bf24f3320b74f29: +> are available in the Git repository at: + +**[v4: target/riscv: add wrapper for target specific macros in atomicity check.](http://lore.kernel.org/qemu-devel/20241029194348.59574-1-paolo.savini@embecosm.com/)** + +> The patch also adjusts the indentation of the if/else clauses and the comment +> about the above mentioned check for atomic 128b load/store to reflect better the +> code. + +#### Buildroot + +**[v1: board/qemu/riscv{32, 64}-virt: nommu: needs virtio-blk device](http://lore.kernel.org/buildroot/20241101134615.3295416-1-romain.naour@smile.fr/)** + +> Commit [1] removed virtio-blk-device,drive=hd0 from the Qemu command +> line since RISC-V virt target now define a default type for block +> devices (virtio) [2]. + +**[board/qemu/riscv{32, 64}-virt: do not use the default bus implicitly](http://lore.kernel.org/buildroot/20241028213823.6C41484553@busybox.osuosl.org/)** + +> Qemu 9.1 recently fixed the RISC-V virt target by adding the missing +> default type for block devices [1]. + +#### U-Boot + +**[bios_emulator: how LOG_inpb() is supposed to work on non-x86 systems?](http://lore.kernel.org/u-boot/ZyPnP6IWFAOKm9Eh@qrv-systems.net/)** + +> When trying to compile drivers/bios_emulator for RISC-V, I get a +> bunch of the following warnings. + +**[v2: Support OF_UPSTREAM for StarFive JH7110](http://lore.kernel.org/u-boot/20241028015847.42344-1-hal.feng@starfivetech.com/)** + +> This patchset add OF_STREAM support for StarFive JH7110 based boards. + + ## 20241027:第 115 期 ### 内核动态