diff --git a/news/README.md b/news/README.md index c2338a6a622416097fc4287ff6136867daed3264..d9dfae871be9fd85902325a2d19f838cd89eea8a 100644 --- a/news/README.md +++ b/news/README.md @@ -8,6 +8,785 @@ * [2024 年 - 上半年](2024-1st-half.md) +## 20240811:第 104 期 + +### 内核动态 + +#### RISC-V 架构支持 + +**[v11: riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs](http://lore.kernel.org/linux-riscv/IA1PR20MB495324F3EF7517562CB4CACFBB842@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add dma multiplexer support for the Sophgo CV1800/SG2000 SoCs. + +**[v1: ACPI: RISCV: Make acpi_numa_get_nid() to be static](http://lore.kernel.org/linux-riscv/20240811031804.3347298-1-guohanjun@huawei.com/)** + +> acpi_numa_get_nid() is only called in acpi_numa.c for riscv, +> no need to add it in head file, so make it static and remove +> related functions in the asm/acpi.h. + +**[v9: riscv: Add support for xtheadvector](http://lore.kernel.org/linux-riscv/20240810185815.116-1-indrek.kruusa@gmail.com/)** + +> I tested with MangoPi MQ board (Allwinner D1s) and starting from this merge I can't +> get beyond "Starting kernel...", ie. no output at all (and u-boot keeps restarting) + +**[v10: riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs](http://lore.kernel.org/linux-riscv/IA1PR20MB49530ABC137B465548817077BBBB2@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add dma multiplexer support for the Sophgo CV1800/SG2000 SoCs. + +**[v10: riscv: sophgo: Add SG2042 external hardware monitor support](http://lore.kernel.org/linux-riscv/IA1PR20MB4953C5DB4AC5DF01236CE785BBBB2@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add support for the onboard hardware monitor for SG2042. +> Can be tested with OpenSBI v1.5. + +**[v1: RISC-V: Add Zicclsm extension support](http://lore.kernel.org/linux-riscv/20240809162240.1842373-1-jesse@rivosinc.com/)** + +> This set is the first two commits of +> RISC-V: Detect and report speed of unaligned vector accesses [1] +> rebased onto palmer/for-next. + +**[v6: Tracepoints and static branch in Rust](http://lore.kernel.org/linux-riscv/20240808-tracepoint-v6-0-a23f800f1189@google.com/)** + +> An important part of a production ready Linux kernel driver is +> tracepoints. + +**[v1: riscv: Make riscv_isa_vendor_ext_andes array static](http://lore.kernel.org/linux-riscv/20240807-make_andes_static-v1-1-b64bf4c3d941@rivosinc.com/)** + +> Since this array is only used in this file, it should be static. + +**[v4: mm: introduce numa_memblks](http://lore.kernel.org/linux-riscv/20240807064110.1003856-1-rppt@kernel.org/)** + +> Bite the bullet and move numa_memblks from x86 to +> the generic code so they will be available on arm64/riscv and maybe on +> loongarch sometime later. + +**[v2: tools: Add barrier implementations for riscv](http://lore.kernel.org/linux-riscv/20240806-optimize_ring_buffer_read_riscv-v2-0-ca7e193ae198@rivosinc.com/)** + +> Add support for riscv specific barrier implementations to the tools +> tree, so that fence instructions can be emitted for synchronization. + +**[v1: usb: musb: poll ID pin status in dual-role mode in mpfs glue layer](http://lore.kernel.org/linux-riscv/20240806131407.1542306-1-valentina.fernandezalanis@microchip.com/)** + +> Similar to other platforms using the MUSB driver, PolarFire SoC lacks +> an ID pin interrupt event, preventing several OTG-critical status +> change events from being exposed. + +**[v1: RISC-V: kernel parameter for unaligned access speed](http://lore.kernel.org/linux-riscv/20240805173816.3722002-2-jesse@rivosinc.com/)** + +> Add a kernel parameter to the unaligned access speed. This allows +> skiping of the speed tests for unaligned accesses, which often is very +> slow. + +**[v3: riscv: mm: Add soft-dirty and uffd-wp support](http://lore.kernel.org/linux-riscv/20240805095243.44809-1-zhangchunyan@iscas.ac.cn/)** + +> This patchset adds soft dirty and userfaultfd write protect tracking support +> for RISC-V. + +**[v6: mmc: sdhci-of-dwcmshc: Add Sophgo SG2042 support](http://lore.kernel.org/linux-riscv/cover.1722847198.git.unicorn_wang@outlook.com/)** + +> The reason for merging the two parts into one patchset is mainly to +> facilitate review, especially to facilitate viewing why we need to +> improve the framework and what benefits it will bring to us. + +#### LoongArch 架构支持 + +**[v1: LoongArch: KVM: Add haltpoll control feature in kvm side](http://lore.kernel.org/loongarch/20240808083638.205659-1-maobibo@loongson.cn/)** + +> The cpuidle-haltpoll driver with haltpoll governor allows the guest +> vcpus to poll for a specified amount of time before halting. + +**[v1: LoongArch: Add ARCH_HAS_SET_DIRECT_MAP support](http://lore.kernel.org/loongarch/20240806070742.128064-1-chenhuacai@loongson.cn/)** + +> Add set_direct_map_*() functions for setting the direct map alias for +> the page to its default permissions and to an invalid state that cannot +> be cached in a TLB. + +#### ARM 架构支持 + +**[v6: RESED: dma: support DMA zone starting above 4GB](http://lore.kernel.org/linux-arm-kernel/cover.1723359916.git.baruch@tkos.co.il/)** + +> DMA zones code assumes that DMA lower limit is zero. + +**[v6: dma: support DMA zone starting above 4GB](http://lore.kernel.org/linux-arm-kernel/cover.1723357023.git.baruchs-c@neureality.ai/)** + +> DMA zones code assumes that DMA lower limit is zero. + +**[v1: Support for I/O width within ARM SCMI SHMEM](http://lore.kernel.org/linux-arm-kernel/20240810214621.14417-1-florian.fainelli@broadcom.com/)** + +> We just got our hands on hardware that only supports 32-bit access width +> to the SRAM being used. + +**[v1: iommu/arm-smmu: Un-demote unhandled-fault msg](http://lore.kernel.org/linux-arm-kernel/20240809172716.10275-1-robdclark@gmail.com/)** + +> Previously this was dev_err_ratelimited() but it got changed to a +> ratelimited dev_dbg(). Change it back to dev_err(). + +**[v5: Add support for the LAN966x PCI device using a DT overlay](http://lore.kernel.org/linux-arm-kernel/20240808154658.247873-1-herve.codina@bootlin.com/)** + +> This series adds support for the LAN966x chip when used as a PCI +> device. + +**[v2: Add support for ADMA](http://lore.kernel.org/linux-arm-kernel/20240808100024.317497-1-abin.joseph@amd.com/)** + +> Add support for Versal Gen 2 DMA IP by adding a compatible string and +> separate Versal Gen 2 DMA IP register offset. + +**[v4: platform/chrome: Introduce DT hardware prober](http://lore.kernel.org/linux-arm-kernel/20240808095931.2649657-1-wenst@chromium.org/)** + +> This is v4 of my "of: Introduce hardware prober driver" series. +> v4 mainly adds regulator and GPIO support. + +**[v3: ACPI: introduce acpi_arch_init](http://lore.kernel.org/linux-arm-kernel/20240808-intro-acpi-arch-init-v3-1-ba510859baff@gmail.com/)** + +> To avoid arch-specific code in general ACPI initialization flow, +> we introduce a weak symbol acpi_arch_init. + +**[v2: Add support for Kontron OSM-S i.MX8MP SoM and carrier boards](http://lore.kernel.org/linux-arm-kernel/20240807104137.558741-1-frieder@fris.de/)** + +**[v1: arm64: uaccess: correct thinko in __get_mem_asm()](http://lore.kernel.org/linux-arm-kernel/20240807103731.2498893-1-mark.rutland@arm.com/)** + +> In the CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y version of __get_mem_asm(), we +> incorrectly use _ASM_EXTABLE_##type##ACCESS_ERR() such that upon a fault +> the extable fixup handler writes -EFAULT into "%w0", which is the +> register containing 'x' (the result of the load). + +#### X86 架构支持 + +**[v4: Touch Bar support for T2 Macs](http://lore.kernel.org/lkml/20190CD7-46CE-400D-9C58-29798479660E@live.com/)** + +> The Touch Bars found on x86 Macs support two USB configurations: one +> where the device presents itself as a HID keyboard and can display +> predefined sets of keys, and one where the operating system has full +> control over what is displayed. + +**[v1: Create Intel PMC SSRAM Telemetry driver](http://lore.kernel.org/lkml/20240809204648.1124545-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: KVM: x86/mmu: Allow yielding on mmu_notifier zap](http://lore.kernel.org/lkml/20240809194335.1726916-1-seanjc@google.com/)** + +> The main intent of this series is to allow yielding, i.e. cond_resched(), +> when unmapping memory in shadow MMUs in response to an mmu_notifier +> invalidation. + +**[v1: platform/x86: lg-laptop: Add operation region support](http://lore.kernel.org/lkml/20240809175211.5962-1-W_Armin@gmx.de/)** + +> The LEGX0820 ACPI device is expected to provide a custom operation +> region + +**[v8: RFT: fork: Support shadow stacks in clone3()](http://lore.kernel.org/lkml/20240808-clone3-shadow-stack-v8-0-0acf37caf14c@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: Enable PMU for ArrowLake-H](http://lore.kernel.org/lkml/20240808140210.1666783-1-dapeng1.mi@linux.intel.com/)** + +> ArrowLake-H is a specific variant of regular ArrowLake. + +**[v1: x86: Write FRED RSP0 on return to userspace](http://lore.kernel.org/lkml/20240807054722.682375-1-xin@zytor.com/)** + +> This patch set moves writing MSR_IA32_FRED_RSP0 to return to userspace +> from context switch. + +> * v3: [PATCH: Introduce initial AMD I3C HCI driver support](http://lore.kernel.org/lkml/20240807052359.290046-1-Shyam-sundar.S-k@amd.com/) +> +> The AMD SoC includes an I3C IP block as part of the Fusion Controller Hub +> (FCH). + +**[v1: SEV-SNP restricted injection hypervisor patches](http://lore.kernel.org/lkml/cover.1722989996.git.huibo.wang@amd.com/)** + +> Operating systems may not handle unexpected interrupt or exception sequences. + +#### 进程调度 + +**[v2: sched: idle: s/int/bool for idle_timer: done](http://lore.kernel.org/lkml/20240809054626.580532-1-d-gole@ti.com/)** + +> Since it->done takes only 1 or 0 throughout the code it makes sense to +> call it a bool variable than int. + +**[v2: sched/topology: optimize topology_span_sane()](http://lore.kernel.org/lkml/20240807190522.432388-1-yury.norov@gmail.com/)** + +> The function may call cpumask_equal with tl->mask(cpu) == tl->mask(i), +> even when cpu != i. In such case, cpumask_equal() would always return +> true, and we can proceed to the next iteration immediately. + +**[v1: sched: Don't try to catch up excess steal time.](http://lore.kernel.org/lkml/20240806111157.1336532-1-suleiman@google.com/)** + +> When steal time exceeds the measured delta when updating clock_task, we +> currently try to catch up the excess in future updates. + +**[v1: next: sched: make printk safe when rq lock is held](http://lore.kernel.org/lkml/20240806074131.36007-1-dongml2@chinatelecom.cn/)** + +> The dead lock can happen if we try to use printk(), such as a call of +> SCHED_WARN_ON(), during the rq->__lock is held. + +**[v1: perf sched timehist: Add --show-prio & --prio option](http://lore.kernel.org/lkml/20240806015701.1309833-1-yangjihong@bytedance.com/)** + +> This patch set adds --show-prio and --prio to show and filter task priorities. + +**[v2: sched_ext/for-6.12: sched/fair: Make balance_fair() test sched_fair_runnable() instead of rq->nr_running](http://lore.kernel.org/lkml/ZrFUjlCf7x3TNXB8@slm.duckdns.org/)** + +> balance_fair() skips newidle balancing if rq->nr_running - there are already +> tasks on the rq, so no need to try to pull tasks. + +**[v1: kernel: sched: idle: s/bool/int for done](http://lore.kernel.org/lkml/20240805100046.425598-1-d-gole@ti.com/)** + +> Since it->done takes only 1 or 0 throughout the code it makes sense to +> call it a bool variable than int. This will also help improve +> readability. + +#### 内存管理 + +**[v1: mm/swap: take folio refcount after testing the LRU flag](http://lore.kernel.org/linux-mm/1723270558-31674-1-git-send-email-yangge1116@126.com/)** + +> Whoever passes a folio to __folio_batch_add_and_move() must hold +> a reference, otherwise something else would already be messed up. + +**[v1: mm: Support huge pfnmaps](http://lore.kernel.org/linux-mm/20240809160909.1023470-1-peterx@redhat.com/)** + +> This series is based on mm-unstable, commit 98808d08fc0f of Aug 7th latest, +> plus dax 1g fix . + +**[v1: Improve migration by backing off earlier](http://lore.kernel.org/linux-mm/20240809103129.365029-1-dev.jain@arm.com/)** + +> It was recently observed at that during the folio unmapping stage +> of migration, when the PTEs are cleared, a racing thread faulting on that +> folio may increase the refcount of the folio, sleep on the folio lock +> (the migration path has the lock), and migration ultimately fails +> when asserting the actual refcount against the expected. + +**[v1: slab: Allocate and use per-call-site caches](http://lore.kernel.org/linux-mm/20240809072532.work.266-kees@kernel.org/)** + +> Here's my current progress on using per-call-site kmalloc caches (instead +> of KMALLOC_NORMAL), as a defense against the common heap-grooming attacks +> that construct malicious objects in the same cache as a target object. + +**[v3: lib/htree: Added get_cycles() to measure execution time](http://lore.kernel.org/linux-mm/20240809004048.19511-1-rgbi3307@gmail.com/)** + +> Added get_cycles() to measure execution time during insert, find, and erase operations. +> Added check_latency() in the lib/test_xarray.c and the lib/test_maple_tree.c +> Added likely/unlikely to improve if conditional code. + +**[v3: Add support for Congatec CGEB BIOS interface](http://lore.kernel.org/linux-mm/20240808183527.3950120-1-mstrodl@csh.rit.edu/)** + +> The following series adds support for the Congatec CGEB interface +> found on some Congatec x86 boards. + +**[v5: Enable P2PDMA in Userspace RDMA](http://lore.kernel.org/linux-mm/20240808183340.483468-1-martin.oliveira@eideticom.com/)** + +> In the last version of this series, there was a discrepancy on how +> ->close() and ->page_mkwrite() were handled, as just the latter had a +> WARN. + +**[v4: cxl: add device reporting poison handler](http://lore.kernel.org/linux-mm/20240808151328.707869-1-ruansy.fnst@fujitsu.com/)** + +> This patchset includes "cxl/core: introduce poison creation hanlding" +> and "cxl: avoid duplicated report from MCE & device", which were posted +> separately. + +**[v5: rust: mm: add abstractions for mm_struct and vm_area_struct](http://lore.kernel.org/linux-mm/20240806-vma-v5-1-04018f05de2b@google.com/)** + +> This is a follow-up to the page abstractions that were recently +> merged in 6.11. + +**[v5: mm/zsmalloc: add zpdesc memory descriptor for zswap.zpool](http://lore.kernel.org/linux-mm/20240806022311.3924442-1-alexs@kernel.org/)** + +> According to Metthew's plan, the page descriptor will be replace by a 8 +> bytes mem_desc on destination purpose. + +**[v1: mm: attempt to batch free swap entries for zap_pte_range()](http://lore.kernel.org/linux-mm/20240806012409.61962-1-21cnbao@gmail.com/)** + +> Zhiguo reported that swap release could be a serious bottleneck +> during process exits. + +**[v3: improving dynamic zswap shrinker protection scheme](http://lore.kernel.org/linux-mm/20240805232243.2896283-1-nphamcs@gmail.com/)** + +**[v1: Enable strict percpu address space checks](http://lore.kernel.org/linux-mm/20240805184012.358023-1-ubizjak@gmail.com/)** + +> This patchset enables strict percpu address space checks via x86 named +> address space qualifiers. + +**[v1: mm: Introduce guest_memfd library](http://lore.kernel.org/linux-mm/20240805-guest-memfd-lib-v1-0-e5a29a4ff5d7@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: mm: swap: mTHP frees entries as a whole](http://lore.kernel.org/linux-mm/20240805160754.1081-1-justinjiang@vivo.com/)** + +> Support mTHP's attempt to free swap entries as a whole, which can avoid +> frequent swap_info locking for every individual entry in +> swapcache_free_entries(). + +**[v3: mm: tlb swap entries batch async release](http://lore.kernel.org/linux-mm/20240805153639.1057-1-justinjiang@vivo.com/)** + +> One of the main reasons for the prolonged exit of the process with +> independent mm is the time-consuming release of its swap entries. + +**[v4: Generic `Allocator` support for Rust](http://lore.kernel.org/linux-mm/20240805152004.5039-1-dakr@kernel.org/)** + +> This patch series adds generic kernel allocator support for Rust, which so far +> is limited to `kmalloc` allocations. + +#### 文件系统 + +**[v2: vfs: only read fops once in fops_get/put](http://lore.kernel.org/linux-fsdevel/20240810064753.1211441-1-mjguzik@gmail.com/)** + +> This popped up due to false-sharing where loads from that offset end up +> bouncing a cacheline during parallel open. + +**[v1: [DRAFT RFC]: file: reclaim 24 bytes from f_owner](http://lore.kernel.org/linux-fsdevel/20240809-koriander-biobauer-6237cbc106f3@brauner/)** + +> This is in rough shape. I just drafted it quickly to get the idea +> across. + +**[v3: fanotify: add pre-content hooks](http://lore.kernel.org/linux-fsdevel/cover.1723228772.git.josef@toxicpanda.com/)** + +**[v1: unicode: constify utf8 data table](http://lore.kernel.org/linux-fsdevel/20240809-unicode-const-v1-1-69968a258092@weissschuh.net/)** + +> All users already handle the table as const data. +> Move the table itself into .rodata to guard against accidental or +> malicious modifications. + +**[v1: -next: zonefs: add support for FS_IOC_GETFSSYSFSPATH](http://lore.kernel.org/linux-fsdevel/20240809013627.3546649-1-liaochen4@huawei.com/)** + +> FS_IOC_GETFSSYSFSPATH ioctl expects sysfs sub-path of a filesystem, the +> format can be "$FSTYP/$SYSFS_IDENTIFIER" under /sys/fs, it can helps to +> standardizes exporting sysfs datas across filesystems. + +**[v1: unicode: get rid of obsolete 'utf8data.h'](http://lore.kernel.org/linux-fsdevel/20240808085619.3234977-1-guoxuenan@huawei.com/)** + +> Commit 2b3d04787012 ("unicode: Add utf8-data module") changed +> the database file from 'utf8data.h' to 'utf8data.c' to build +> separate module, but it seems forgot to update README. + +**[v4: exfat: check disk status during buffer write](http://lore.kernel.org/linux-fsdevel/20240808063648.255732-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. + +**[v1: why do we need smp_rmb/smp_wmb pair in fd_install()/expand_fdtable()?](http://lore.kernel.org/linux-fsdevel/20240808025029.GB5334@ZenIV/)** + +> Take a look at fs/file.c:expand_fdtable() and fs/file.c:fd_install + +**[v4: bpf-next: Harden and extend ELF build ID parsing logic](http://lore.kernel.org/linux-fsdevel/20240807234029.456316-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. + +**[v3: fs: try an opportunistic lookup for O_CREAT opens too](http://lore.kernel.org/linux-fsdevel/20240807-openfast-v3-1-040d132d2559@kernel.org/)** + +> Today, when opening a file we'll typically do a fast lookup, but if +> O_CREAT is set, the kernel always takes the exclusive inode lock. + +**[v3: binfmt_elf: Dump smaller VMAs first in ELF cores](http://lore.kernel.org/linux-fsdevel/036CD6AE-C560-4FC7-9B02-ADD08E380DC9@juniper.net/)** + +> Large cores may be truncated in some scenarios, such as with daemons +> with stop timeouts that are not large enough or lack of disk space. + +**[v1: vfs: dodge smp_mb in break_lease and break_deleg in the common case](http://lore.kernel.org/linux-fsdevel/20240806172846.886570-1-mjguzik@gmail.com/)** + +> These inlines show up in the fast path (e.g., in do_dentry_open()) and +> induce said full barrier regarding i_flctx access when in most cases the +> pointer is NULL. + +**[v1: proc: restrict overmounting of ephemeral entities](http://lore.kernel.org/linux-fsdevel/20240806-work-procfs-v1-0-fb04e1d09f0c@kernel.org/)** + +> It is currently possible to mount on top of various ephemeral entities +> in procfs. This specifically includes magic links. + +**[v2: sysctl: prepare sysctl core for const struct ctl_table](http://lore.kernel.org/linux-fsdevel/20240805-sysctl-const-api-v2-0-52c85f02ee5e@weissschuh.net/)** + +> Adapt the internal and external APIs of the sysctl core to handle +> read-only instances of "struct ctl_table". + +**[v1: Introduce guestmemfs: persistent in-memory filesystem](http://lore.kernel.org/linux-fsdevel/20240805093245.889357-1-jgowans@amazon.com/)** + +> In this patch series a new in-memory filesystem designed specifically +> for live update is implemented. + +**[v1: vfs: Don't evict inode under the inode lru traversing context](http://lore.kernel.org/linux-fsdevel/20240805013446.814357-1-chengzhihao@huaweicloud.com/)** + +> The inode reclaiming process(See function prune_icache_sb) collects all +> reclaimable inodes and mark them with I_FREEING flag at first, at that +> time, other processes will be stuck if they try getting these inodes +> (See function find_inode_fast), then the reclaiming process destroy the +> inodes by function dispose_list(). + +**[v1: piped/ptraced coredump (was: Dump smaller VMAs first in ELF cores)](http://lore.kernel.org/linux-fsdevel/20240804152327.GA27866@redhat.com/)** + +> Large cores may be truncated in some scenarios, such as with daemons +> with stop timeouts that are not large enough or lack of disk space. + +**[v5: Improve the copy of task comm](http://lore.kernel.org/linux-fsdevel/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. + +**[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. + +**[v1: blk: optimization for classic polling](http://lore.kernel.org/linux-fsdevel/3578876466-3733-1-git-send-email-nj.shetty@samsung.com/)** + +> This removes the dependency on interrupts to wake up task. Set task +> state as TASK_RUNNING, if need_resched() returns true, +> while polling for IO completion. + +#### 网络设备 + +**[v2: wifi: rfkill: Correct parameter type for rfkill_set_hw_state_reason()](http://lore.kernel.org/netdev/20240811-rfkill_fix-v2-1-9050760336f4@quicinc.com/)** + +> Change type of parameter @reason to enum rfkill_hard_block_reasons +> for API rfkill_set_hw_state_reason() according to its comments, and +> all kernel callers have invoked the API with enum type actually. + +**[v5: RESEND: wifi: mac80211: check basic rates validity](http://lore.kernel.org/netdev/20240810095432.89063-1-vincenzo.mezzela@gmail.com/)** + +> commit ce04abc3fcc62cd5640af981ebfd7c4dc3bded28 upstream. + +**[v3: net-next: eth: fbnic: add basic stats](http://lore.kernel.org/netdev/20240810054322.2766421-1-kuba@kernel.org/)** + +> Add basic interface stats to fbnic. + +**[v5: net-next: ethtool: rss: driver tweaks and netlink context dumps](http://lore.kernel.org/netdev/20240810053728.2757709-1-kuba@kernel.org/)** + +> This series is a semi-related collection of RSS patches. + +**[v9: Add AP6275P wireless support](http://lore.kernel.org/netdev/20240810035141.439024-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-next: net: dsa: microchip: add SGMII port support to KSZ9477 switch](http://lore.kernel.org/netdev/20240809233840.59953-1-Tristram.Ha@microchip.com/)** + +> This series of patches is to add SGMII port support to KSZ9477 switch. + +**[v3: net-next: net: dsa: microchip: Add KSZ8895/KSZ8864 switch support](http://lore.kernel.org/netdev/20240809212142.3575-1-Tristram.Ha@microchip.com/)** + +> This series of patches is to add KSZ8895/KSZ8864 switch support to the +> KSZ DSA driver. + +**[v1: net-next:pull request: ice: iavf: add support for TC U32 filters on VFs](http://lore.kernel.org/netdev/20240809173615.2031516-1-anthony.l.nguyen@intel.com/)** + +> The Intel Ethernet 800 Series is designed with a pipeline that has +> an on-chip programmable capability called Dynamic Device Personalization +> (DDP). + +**[v1: net: mlxbf_gige: disable RX filters until RX path initialized](http://lore.kernel.org/netdev/20240809163612.12852-1-davthompson@nvidia.com/)** + +> A recent change to the driver exposed a bug where the MAC RX +> filters (unicast MAC, broadcast MAC, and multicast MAC) are +> configured and enabled before the RX path is fully initialized. + +**[v1: net-next: net: netconsole: Populate dynamic entry even if netpoll fails](http://lore.kernel.org/netdev/20240809161935.3129104-1-leitao@debian.org/)** + +> Failed targets are now added to the target list and configfs, but +> remain disabled until manually enabled or reconfigured. This change does +> not change the behaviour if CONFIG_NETCONSOLE_DYNAMIC is not set. + +**[v1: iproute2-next: add support for tunsrc](http://lore.kernel.org/netdev/20240809131419.30732-1-justin.iurman@uliege.be/)** + +> This patchset provides support for the new ioam6 feature called +> "tunsrc". + +**[v1: net-next: net: ipv6: ioam6: introduce tunsrc](http://lore.kernel.org/netdev/20240809123915.27812-1-justin.iurman@uliege.be/)** + +> This patchset introduces a new feature called "tunsrc" (just like seg6 +> already does). + +**[v1: mptcp: correct MPTCP_SUBFLOW_ATTR_SSN_OFFSET reserved size](http://lore.kernel.org/netdev/20240809094321.GA8122@asgard.redhat.com/)** + +> ssn_offset field is u32 and is placed into the netlink response with +> nla_put_u32(), but only 2 bytes are reserved for the attribute payload +> in subflow_get_info_size() (even though it makes no difference in the end, +> as it is aligned up to 4 bytes). + +**[v1: ipsec-next: Add 2 functions to skbuff for code sharing](http://lore.kernel.org/netdev/20240809083500.2822656-1-chopps@chopps.org/)** + +> This patchset contains 2 commits which add 2 functions to skbuff.[ch]. + +**[v1: net-next: Make SMC-R can work with rxe devices](http://lore.kernel.org/netdev/20240809083148.1989912-1-liujian56@huawei.com/)** + +> Make SMC-R can work with rxe devices. This allows us to easily test and +> learn the SMC-R protocol without relying on a physical RoCE NIC. + +**[v4: Add support for Amlogic HCI UART](http://lore.kernel.org/netdev/20240809-btaml-v4-0-376b284405a7@amlogic.com/)** + +> Add support for Amlogic HCI UART, including dt-binding, +> and Amlogic Bluetooth driver. + +**[v1: net: tuntap: add ioctl() TUNGETQUEUEINDX to fetch queue index](http://lore.kernel.org/netdev/638F310E-3FDA-4388-9950-1F3A56C6DEFB@soulik.info/)** + +> A queue presents a VPN node here. It means it would leak one’s data to the other. +> Also those data could be just garbage fragments costs bandwidth sending to a peer that can’t handle it. + +**[v1: next: nfp: Use static_assert() to check struct sizes](http://lore.kernel.org/netdev/ZrVB43Hen0H5WQFP@cute/)** + +> Commit d88cabfd9abc ("nfp: Avoid -Wflex-array-member-not-at-end +> warnings") introduced tagged `struct nfp_dump_tl_hdr`. + +**[v1: next: net/smc: Use static_assert() to check struct sizes](http://lore.kernel.org/netdev/ZrVBuiqFHAORpFxE@cute/)** + +> Commit 9748dbc9f265 ("net/smc: Avoid -Wflex-array-member-not-at-end +> warnings") introduced tagged `struct smc_clc_v2_extension_fixed` and +> `struct smc_clc_smcd_v2_extension_fixed`. + +**[v2: net-next: page_pool: unexport set dma_addr helper](http://lore.kernel.org/netdev/20240808214520.2648194-1-almasrymina@google.com/)** + +> This helper doesn't need to be exported. Move it to page_pool_priv.h + +**[v1: net-next: ethtool: refactor checking max channels](http://lore.kernel.org/netdev/20240808205345.2141858-1-almasrymina@google.com/)** + +> Currently ethtool_set_channel calls separate functions to check whether +> the new channel number violates rss configuration or flow steering +> configuration. + +**[v1: ipv6: mcast: Add __must_hold() annotations.](http://lore.kernel.org/netdev/20240808190256.149602-1-bpappas@pappasbrent.com/)** + +> Add __must_hold(RCU) annotations to igmp6_mc_get_first(), +> igmp6_mc_get_next(), and igmp6_mc_get_idx() to signify that they are +> meant to be called in RCU critical sections. + +**[v2: Add Nothing Phone (1) support](http://lore.kernel.org/netdev/20240808184048.63030-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). + +**[v1: net-next:pull request: igb: Add support for AF_XDP zero-copy](http://lore.kernel.org/netdev/20240808183556.386397-1-anthony.l.nguyen@intel.com/)** + +> Since Sriram's duties changed I am sending this instead. Additionally, +> I've tested this on real hardware, Intel i210 [1]. + +**[v3: net-next:pull request: ice: support devlink subfunction](http://lore.kernel.org/netdev/20240808173104.385094-1-anthony.l.nguyen@intel.com/)** + +> Currently ice driver does not allow creating more than one networking +> device per physical function. + +**[v2: Add GMAC support for rk3576](http://lore.kernel.org/netdev/20240808170113.82775-1-detlev.casanova@collabora.com/)** + +> Add the necessary constants and functions to support the GMAC devices on +> the rk3576. + +#### 安全增强 + +**[v1: next: wifi: mwl8k: Use static_assert() to check struct sizes](http://lore.kernel.org/linux-hardening/ZrVCg51Q9M2fTPaF@cute/)** + +> Commit 5c4250092fad ("wifi: mwl8k: Avoid -Wflex-array-member-not-at-end +> warnings") introduced tagged `struct mwl8k_cmd_pkt_hdr`. + +**[v1: next: integrity: Use static_assert() to check struct sizes](http://lore.kernel.org/linux-hardening/ZrVBC9dGwukjfhet@cute/)** + +> Commit 38aa3f5ac6d2 ("integrity: Avoid -Wflex-array-member-not-at-end +> warnings") introduced tagged `struct evm_ima_xattr_data_hdr` and +> `struct ima_digest_data_hdr`. + +**[v1: next: smb: smb2pdu.h: Use static_assert() to check struct sizes](http://lore.kernel.org/linux-hardening/ZrVA1N6Iv0Byb3I7@cute/)** + +> Commit 9f9bef9bc5c6 ("smb: smb2pdu.h: Avoid -Wflex-array-member-not-at-end +> warnings") introduced tagged `struct create_context_hdr`. + +**[v1: lib/string_helpers: rework overflow-dependent code](http://lore.kernel.org/linux-hardening/20240808-b4-string_helpers_caa133-v1-1-686a455167c4@google.com/)** + +> When @size is 0, the desired behavior is to allow unlimited bytes to be +> parsed. Currently, this relies on some intentional arithmetic overflow +> where --size gives us SIZE_MAX when size is 0. + +**[v6: Add support for aw96103/aw96105 proximity sensor](http://lore.kernel.org/linux-hardening/20240808102851.4024025-1-wangshuaijie@awinic.com/)** + +> Add drivers that support Awinic aw96103/aw96105 proximity sensors. + +**[v1: slab: Introduce kmalloc_obj() and family](http://lore.kernel.org/linux-hardening/20240807235433.work.317-kees@kernel.org/)** + +> Introduce type-aware kmalloc-family helpers to replace the common +> idioms for single, array, and flexible object allocations + +**[v2: binfmt_elf: seal address zero](http://lore.kernel.org/linux-hardening/20240806214931.2198172-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. According to the comment + +**[v1: string: Check for "nonstring" attribute on strscpy() arguments](http://lore.kernel.org/linux-hardening/20240805214340.work.339-kees@kernel.org/)** + +> GCC already checks for arguments that are marked with the "nonstring"[1] +> attribute when used on standard C String API functions (e.g. strcpy). + +#### 异步 IO + +**[v5: io_uring: support sqe group and provide group kbuf](http://lore.kernel.org/io-uring/20240808162503.345913-1-ming.lei@redhat.com/)** + +> When running 64KB/512KB block size test on ublk-loop('ublk add -t loop --buffered_io -f $backing'), +> it is observed that perf is doubled. + +**[v7: RESENT: io_uring: releasing CPU resources when polling](http://lore.kernel.org/io-uring/20240808071712.2429842-1-xue01.he@samsung.com/)** + +> This patch add a new hybrid poll at io_uring level, it also set a signal +> "IORING_SETUP_HY_POLL" to application, aim to provide a interface for users +> to enable use new hybrid polling flexibly. + +**[v2: clodkid and abs mode CQ wait timeouts](http://lore.kernel.org/io-uring/cover.1723039801.git.asml.silence@gmail.com/)** + +**[v1: io_uring/net: allow opportunistic initial bundle recv](http://lore.kernel.org/io-uring/5fa6fc2f-b39f-4327-a195-61997d36b0e8@kernel.dk/)** + +> For bundles, the initial recv operation is always just a single buffer, +> as we don't yet know how much data is available in the socket. + +#### Rust For Linux + +**[v1: rust: sort includes in bindings_helper.h](http://lore.kernel.org/rust-for-linux/20240809064222.3527881-1-aliceryhl@google.com/)** + +> Dash has ascii value 45 and underscore has ascii value 95, so to +> correctly sort the includes, the underscore should be last. + +**[v1: kbuild: rust-analyzer: mark `rust_is_available.sh` invocation as recursive](http://lore.kernel.org/rust-for-linux/20240806233559.246705-1-ojeda@kernel.org/)** + +> When calling the `rust_is_available.sh` script, we need to make the +> jobserver available to it, as commit ecab4115c44c ("kbuild: mark `rustc` +> (and others) invocations as recursive") explains and did for the others. + +**[v3: Extended MODVERSIONS Support](http://lore.kernel.org/rust-for-linux/20240806212106.617164-1-mmaurer@google.com/)** + +> This patch series is intended for use alongside the Implement +> MODVERSIONS for RUST [2] series as a replacement for the symbol name +> hashing approach used there to enable RUST and MODVERSIONS at the same +> time. + +**[v3: net-next: net: phy: add Applied Micro QT2025 PHY driver](http://lore.kernel.org/rust-for-linux/20240804233835.223460-1-fujita.tomonori@gmail.com/)** + +> This patchset adds a PHY driver for Applied Micro Circuits Corporation +> QT2025. + +#### BPF + +**[v2: uprobes: make trace_uprobe->nhit counter a per-CPU one](http://lore.kernel.org/bpf/20240809192357.4061484-1-andrii@kernel.org/)** + +> trace_uprobe->nhit counter is not incremented atomically, so its value +> is questionable in when uprobe is hit on multiple CPUs simultaneously. + +**[v2: uprobes: Improve scalability by reducing the contention on siglock](http://lore.kernel.org/bpf/20240809061004.2112369-1-liaochang1@huawei.com/)** + +> The profiling result of BPF selftest on ARM64 platform reveals the +> significant contention on the current->sighand->siglock is the +> scalability bottleneck. + +**[v1: bpf-next: __jited_x86 test tag to check x86 assembly after jit](http://lore.kernel.org/bpf/20240809010518.1137758-1-eddyz87@gmail.com/)** + +> Some of the logic in the BPF jits might be non-trivial. +> It might be useful to allow testing this logic by comparing +> generated native code with expected code template. + +**[v3: bpf-next: Support bpf_kptr_xchg into local kptr](http://lore.kernel.org/bpf/20240809005131.3916464-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: bpf-next: Support passing BPF iterator to kfuncs](http://lore.kernel.org/bpf/20240808232230.2848712-1-andrii@kernel.org/)** + +> Add support for passing BPF iterator state to any kfunc. Such kfunc has to +> declare such argument with valid `struct bpf_iter_ *` type and should +> use "__iter" suffix in argument name, following the established suffix-based +> convention. We add a simple test/demo iterator getter in bpf_testmod. + +**[v2: bpf-next: add TCP_BPF_SOCK_OPS_CB_FLAGS to bpf_*sockopt()](http://lore.kernel.org/bpf/20240808150558.1035626-1-alan.maguire@oracle.com/)** + +> As previously discussed here [1], long-lived sockets can miss +> a chance to set additional callbacks if a sock ops program +> was not attached early in their lifetime. + +**[v2: uprobes: RCU-protected hot path optimizations](http://lore.kernel.org/bpf/20240808002118.918105-1-andrii@kernel.org/)** + +> The +> goal here is to optimize obvious uprobe triggering hot path, while keeping the +> rest of locking mostly intact. + +**[v1: bpf-next: Share user memory to BPF program through task storage map.](http://lore.kernel.org/bpf/20240807235755.1435806-1-thinker.li@gmail.com/)** + +> Some of BPF schedulers (sched_ext) need hints from user programs to do +> a better job. For example, a scheduler can handle a task in a + +**[v4: bpf-next: Add bpf_get_dentry_xattr](http://lore.kernel.org/bpf/20240806230904.71194-1-song@kernel.org/)** + +> Add a kfunc to read xattr from dentry. Also add selftest for the new +> kfunc. + +**[v1: libbpf: check the btf_type kind to prevent error](http://lore.kernel.org/bpf/20240806105142.2420140-1-make24@iscas.ac.cn/)** + +> To prevent potential error return values, it is necessary to check the +> return value of btf__type_by_id. We can add a kind checking to fix the +> issue. + +**[v1: net-next: doc/netlink/specs: add netkit support to rt_link.yaml](http://lore.kernel.org/bpf/20240806104531.3296718-1-razor@blackwall.org/)** + +> Add netkit support to rt_link.yaml. Only forward(PASS) and +> blackhole(DROP) policies are allowed to be set by user-space so I've +> added only them to the yaml to avoid confusion. + + +**[v18: net-next: Device Memory TCP](http://lore.kernel.org/bpf/20240805212536.2172174-1-almasrymina@google.com/)** + +**[v1: uprobes: get rid of bogus trace_uprobe hit counter](http://lore.kernel.org/bpf/20240805202803.1813090-1-andrii@kernel.org/)** + +> The alternative would be allocating per-CPU counter, but I'm not sure +> it's justified. + +### 周边技术动态 + +#### Qemu + +**[v5: target/riscv: Add Smrnmi support.](http://lore.kernel.org/qemu-devel/20240809081227.1588508-1-tommy.wu@sifive.com/)** + +> This patchset added support for Smrnmi Extension in RISC-V. + +**[v3: riscv support for control flow integrity extensions](http://lore.kernel.org/qemu-devel/20240807000652.1417776-1-debug@rivosinc.com/)** + +> Sending out v3 for riscv zicfilp and zicfiss extensions support in qemu. +> I sent out v1 [1] and v2 [2] a while ago. + +**[v1: riscv-to-apply queue](http://lore.kernel.org/qemu-devel/20240806062545.1250910-1-alistair.francis@wdc.com/)** + +> The following changes since commit e7207a9971dd41618b407030902b0b2256deb664 + +#### Buildroot + +**[[autobuild.buildroot.net] Daily results for 2024-08-06](http://lore.kernel.org/buildroot/20240807045155.i9TkBYNxkV7bRonazm3qpNGCNqFs_gzvvyeb6_8quBw@z/)** + + +**[package/swipl: new package](http://lore.kernel.org/buildroot/20240806174237.3F9C88423D@busybox.osuosl.org/)** + +> SWI-Prolog offers a comprehensive free Prolog environment. Since its +> start in 1987, SWI-Prolog development has been driven by the needs of +> real world applications. SWI-Prolog is widely used in research and +> education as well as commercial applications. + +#### U-Boot + +**[v1: riscv: resume needs to be a global](http://lore.kernel.org/u-boot/20240808021417.1174390-1-antonb@tenstorrent.com/)** + +> If we take an exception before u-boot is relocated, there's a good +> chance we will end up in an endless loop of exceptions because resume is +> invalid until after relocation. + +**[v4: Universal Payload initial series](http://lore.kernel.org/u-boot/20240807224739.3858517-1-sjg@chromium.org/)** + +> This series provides some initial support for this, targeting 0.9.1 and +> sandbox only. + +**[v2: efi: Add a test for EFI bootmeth](http://lore.kernel.org/u-boot/20240806125850.2316956-1-sjg@chromium.org/)** + +> This series creates a simple test for this purpose. + + ## 20240804:第 103 期 ### 内核动态