diff --git a/_posts/2024-01-16-18-05-03-rvlwn-74.md b/_posts/2024-01-16-18-05-03-rvlwn-74.md new file mode 100644 index 000000000..5b45caf28 --- /dev/null +++ b/_posts/2024-01-16-18-05-03-rvlwn-74.md @@ -0,0 +1,1131 @@ +--- +layout: weekly +author: '呀呀呀' +title: 'RISC-V Linux 内核及周边技术动态第 74 期' +draft: false +group: 'news' +album: 'RISC-V Linux' +license: 'cc-by-nc-nd-4.0' +permalink: /rvlwn-74/ +description: 'RISC-V Linux 内核及周边技术动态第 74 期' +category: + - 开源项目 + - Risc-V +tags: + - Linux + - RISC-V +--- + +> 时间:20240114
+> 编辑:晓怡
+> 仓库:[RISC-V Linux 内核技术调研活动](https://gitee.com/tinylab/riscv-linux)
+> 赞助:PLCT Lab, ISCAS + +## 内核动态 + +### RISC-V 架构支持 + +**[v6: riscv: sophgo: add clock support for Sophgo CV1800/SG2000 SoCs](http://lore.kernel.org/linux-riscv/IA1PR20MB4953C774D41EDF1EADB6EC18BB6D2@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add clock controller support for the Sophgo CV1800B, CV1812H and SG2000. +> +> Changed from v5: +> 1. rebased to mainline master tree +> 2. add SG2000 clock support. +> 3. fix document link +> + +**[v7: riscv: Create and document PR_RISCV_SET_ICACHE_FLUSH_CTX prctl](http://lore.kernel.org/linux-riscv/20240112-fencei-v7-0-78f0614e1db0@rivosinc.com/)** + +> Improve the performance of icache flushing by creating a new prctl flag +> PR_RISCV_SET_ICACHE_FLUSH_CTX. The interface is left generic to allow +> for future expansions such as with the proposed J extension [1]. +> + +**[GIT PULL: RISC-V Patches for the 6.8 Merge Window, Part 1](http://lore.kernel.org/linux-riscv/mhng-9a7c8503-91d4-4b92-a594-964a5983ecab@palmer-ri-x1c9/)** + +> The following changes since commit ed5b7cfd7839f9280a63365c1133482b42d0981f: +> +> riscv: errata: andes: Probe for IOCP only once in boot stage (2023-12-06 07:18:58 -0800) +> +> are available in the Git repository at: +> +> git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git tags/riscv-for-linus-6.8-mw1 +> + +**[v2: riscv: add support for SBI Supervisor Software Events](http://lore.kernel.org/linux-riscv/20240112111720.2975069-1-cleger@rivosinc.com/)** + +> The SBI Supervisor Software Events (SSE) extensions provides a mechanism +> to inject software events from an SBI implementation to supervisor +> software such that it preempts all other supervisor level traps and +> interrupts [1]. +> + +**[v1: -next: RISC-V: ACPI: Add LPI support](http://lore.kernel.org/linux-riscv/20240111093058.121838-1-sunilvl@ventanamicro.com/)** + +> This series adds support for Low Power Idle (LPI) on ACPI based +> platforms. +> +> LPI is described in the ACPI spec [1]. RISC-V FFH spec required to +> enable this is available at [2]. +> + +**[v2: Add StarFive JH8100 dwmac support](http://lore.kernel.org/linux-riscv/20240111025531.2875-1-chunhau.tan@starfivetech.com/)** + +> Add StarFive JH8100 dwmac support. +> JH8100 dwmac has one reset signal instead of 2 resets as in JH7110. +> + +**[v1: clk: thead: add support for T-HEAD TH1520 AP clock controller](http://lore.kernel.org/linux-riscv/20240110-clk-th1520-v1-0-8b0682567984@tenstorrent.com/)** + +> This series adds support for the AP sub system clock controller in the +> T-HEAD TH1520. This include CPU, DPU, GMAC and TEE PLLs. +> +> Yangtao Li originally submitted this series back in May [1]. Jisheng +> made additional improvements and then passed on the work in progress to +> me. The driver code is cleaner than the version in the T-Head SDK [2]. +> + +**[v3: Basic clock and reset support for StarFive JH8100 RISC-V SoC](http://lore.kernel.org/linux-riscv/20240110133128.286657-1-jeeheng.sia@starfivetech.com/)** + +> This patch series enabled basic clock & reset support for StarFive +> JH8100 SoC. +> +> This patch series depends on the Initial device tree support for +> StarFive JH8100 SoC patch series which can be found at [1]. +> +> As it is recommended to refrain from merging fundamental patches like +> Device Tree, Clock & Reset, and PINCTRL tested on FPGA/Emulator, into the +> RISC-V Mainline, this patch series has been renamed to "RFC" patches. Yet, +> thanks to the reviewers who have reviewed the patches at [2]. The changes +> are captured below. +> + +**[v7: Support Andes PMU extension](http://lore.kernel.org/linux-riscv/20240110073917.2398826-1-peterlin@andestech.com/)** + +> This patch series introduces the Andes PMU extension, which serves +> the same purpose as Sscofpmf. To use FDT-based probing for hardware +> support of the PMU extensions and introduce Andes PMU alternatives, +> we first convert T-Head's PMU to CPU feature alternative. +> + +**[v1: RISC-V: only flush icache when it has VM_EXEC set](http://lore.kernel.org/linux-riscv/tencent_6D851035F6F2FD0B5A69FB391AE39AC6300A@qq.com/)** + +> As I-Cache flush on current RISC-V needs to send IPIs to every CPU cores +> in the system is very costly, limiting flush_icache_mm to be called only +> when vma->vm_flags has VM_EXEC can help minimize the frequency of these +> operations. It improves performance and reduces disturbances when +> copy_from_user_page is needed such as profiling with perf. +> + +**[v1: Refactor CONFIG_DEBUG_WX and check_wx_pages debugfs attribute](http://lore.kernel.org/linux-riscv/cover.1704800524.git.christophe.leroy@csgroup.eu/)** + +> Refer old discussion at https://lore.kernel.org/lkml/20200422152656.GF676@willie-the-truck/T/#m802eaf33efd6f8d575939d157301b35ac0d4a64f +> And https://github.com/KSPP/linux/issues/35 +> +> This series refactors CONFIG_DEBUG_WX for the 5 architectures +> implementing CONFIG_GENERIC_PTDUMP +> +> First rename stuff in ARM which uses similar names while not +> implementing CONFIG_GENERIC_PTDUMP. +> + +**[v1: riscv: sophgo: add reset support for SG2042](http://lore.kernel.org/linux-riscv/cover.1704790558.git.unicorn_wang@outlook.com/)** + +> This series adds reset controller support for Sophgo SG2042 using +> reset-simple driver. +> + +**[v15: riscv: Add fine-tuned checksum functions](http://lore.kernel.org/linux-riscv/20240108-optimize_checksum-v15-0-1c50de5f2167@rivosinc.com/)** + +> Each architecture generally implements fine-tuned checksum functions to +> leverage the instruction set. This patch adds the main checksum +> functions that are used in networking. Tested on QEMU, this series +> allows the CHECKSUM_KUNIT tests to complete an average of 50.9% faster. +> + +**[v2: riscv: Add support for BATCHED_UNMAP_TLB_FLUSH](http://lore.kernel.org/linux-riscv/20240108193640.344929-1-alexghiti@rivosinc.com/)** + +> Allow to defer the flushing of the TLB when unmapping pages, which allows +> to reduce the numbers of IPI and the number of sfence.vma. +> + +**[v14: Refactoring Microchip PCIe driver and add StarFive PCIe](http://lore.kernel.org/linux-riscv/20240108110612.19048-1-minda.chen@starfivetech.com/)** + +> This patchset final purpose is add PCIe driver for StarFive JH7110 SoC. +> JH7110 using PLDA XpressRICH PCIe IP. Microchip PolarFire Using the +> same IP and have commit their codes, which are mixed with PLDA +> controller codes and Microchip platform codes. +> + +**[回复: 回复: v13: Refactoring Microchip PCIe driver and add StarFive PCIe](http://lore.kernel.org/linux-riscv/ZQ0PR01MB098182407F5F427D9A6C7CD9826BA@ZQ0PR01MB0981.CHNPR01.prod.partner.outlook.cn/)** + +> Before doing this refactoring, we encountered the same bug with Kingston M.2 SSD, +> and we workaround the problem with the below patch, please have a try: +> + +**[v7: riscv: sophgo: add clock support for sg2042](http://lore.kernel.org/linux-riscv/cover.1704694903.git.unicorn_wang@outlook.com/)** + +> This series adds clock controller support for sophgo sg2042. +> + +### 进程调度 + +**[v3: net/sched: Load modules via alias](http://lore.kernel.org/lkml/20240112180646.13232-1-mkoutny@suse.com/)** + +> These modules may be loaded lazily without user's awareness and +> control. Add respective aliases to modules and request them under these +> aliases so that modprobe's blacklisting mechanism (through aliases) +> works for them. (The same pattern exists e.g. for filesystem +> modules.) +> + +**[v1: Revert "sched/cpufreq: Rework schedutil governor performance estimation" and dependent commit](http://lore.kernel.org/lkml/ZaBUFETV53cRF7RB@gmail.com/)** + +> > if the fix that i proposed doesn't work: +> > https://lore.kernel.org/all/ZZ+ixagkxRPYyTCE@vingu-book/ +> +> Yeah - although of course Linus is free to just pull the revert as well. +> I'll try to reproduce the regression locally as well. +> + +### 内存管理 + +**[v11: mm/gup: Introduce memfd_pin_folios() for pinning memfd folios](http://lore.kernel.org/linux-mm/20240113065223.1532987-1-vivek.kasireddy@intel.com/)** + +> Currently, some drivers (e.g, Udmabuf) that want to longterm-pin +> the pages/folios associated with a memfd, do so by simply taking a +> reference on them. This is not desirable because the pages/folios +> may reside in Movable zone or CMA block. +> +> Therefore, having drivers use memfd_pin_folios() API ensures that +> the folios are appropriately pinned via FOLL_PIN for longterm DMA. +> + +**[GIT PULL: percpu changes for v6.8-rc1](http://lore.kernel.org/linux-mm/ZaHRiNj3biQBaSKr@snowbird/)** + +> This enables the percpu page allocator for risc-v as a fallback path. +> +> Separately, I just sent out a respin of Thomas' cpu hotplug related fixes +> for percpu_counters in [1]. I'll hopefully pull that in shortly and get +> it into for-next for some wider testing. +> + +**[v2: 0/3: lib/percpu_counter, cpu/hotplug: Cure the cpu_dying_mask woes](http://lore.kernel.org/linux-mm/cover.1705101789.git.dennis@kernel.org/)** + +> This is a respin of Thomas' series [1] against v6.7-rc4. Largely it's +> the same minus a slight change in percpu_counter.c for batch +> percpu_counters and updating __percpu_counter_limited_add(). +> + +**[v1: mm/mempolicy: weighted interleave mempolicy with sysfs extension](http://lore.kernel.org/linux-mm/20240112210834.8035-1-gregory.price@memverge.com/)** + +> Weighted interleave is a new interleave policy intended to make +> use of heterogeneous memory environments appearing with CXL. +> +> The existing interleave mechanism does an even round-robin +> distribution of memory across all nodes in a nodemask, while +> weighted interleave distributes memory across nodes according +> to a provided weight. (Weight = # of page allocations per round) +> + +**[v1: mm: z3fold: rename CONFIG_Z3FOLD to CONFIG_Z3FOLD_DEPRECATED](http://lore.kernel.org/linux-mm/20240112193103.3798287-1-yosryahmed@google.com/)** + +> The z3fold compressed pages allocator is not widely used, most users use +> zsmalloc. The only disadvantage of zsmalloc in comparison is the +> dependency on MMU, and zbud is a more common option for !MMU as it was +> the default zswap allocator for a long time. +> + +**[v1: mm/compaction: Reduce unnecessary loops](http://lore.kernel.org/linux-mm/20240112073524.80724-1-libang.li@antgroup.com/)** + +> Compaction will be triggered when we write 1 to '/proc/sys/vm/ +> compact_memory'. During the execution of the process, when we send +> SIGKILL to terminate the compaction, the process does not exit +> immediately. Instead, it will continue to loop through the remaining +> zones and nodes before exiting. +> + +**[v6: Introduce mseal()](http://lore.kernel.org/linux-mm/20240111234142.2944934-1-jeffxu@chromium.org/)** + +> This patchset proposes a new mseal() syscall for the Linux kernel. +> +> In a nutshell, mseal() protects the VMAs of a given virtual memory +> range against modifications, such as changes to their permission bits. +> + +**[v1: Convert memcontrol charge moving to use folios](http://lore.kernel.org/linux-mm/20240111181219.3462852-1-willy@infradead.org/)** + +> No part of these patches should change behaviour; all the called functions +> already convert from page to folio, so this ought to simply be a reduction +> in the number of calls to compound_head(). +> + +**[v1: mm/filemap: Allow arch to request folio size for exec memory](http://lore.kernel.org/linux-mm/20240111154106.3692206-1-ryan.roberts@arm.com/)** + +> Change the readahead config so that if it is being requested for an +> executable mapping, do a synchronous read of an arch-specified size in a +> naturally aligned manner. +> + +**[v3: mm: convert mm counter to take a folio](http://lore.kernel.org/linux-mm/20240111152429.3374566-1-willy@infradead.org/)** + +> Make sure all mm_counter() and mm_counter_file() callers have a folio, +> then convert mm counter functions to take a folio, which saves some +> compound_head() calls. +> + +**[v4: -next: minor improvements for x86 mce processing](http://lore.kernel.org/linux-mm/20240111135548.3207437-1-tongtiangen@huawei.com/)** + +> In this patchset, we remove the unused macro EX_TYPE_COPY and centralize +> the processing of memory-failure to do_machine_check() to avoid calling +> memory_failure_queue() separately for different MC-Safe scenarios. In +> addition, MCE_IN_KERNEL_COPYIN is renamed MCE_IN_KERNEL_COPY_MC to expand +> its usage scope. +> + +**[v1: mm: memcontrol: don't throttle dying tasks on memory.high](http://lore.kernel.org/linux-mm/20240111132902.389862-1-hannes@cmpxchg.org/)** + +> While investigating hosts with high cgroup memory pressures, Tejun +> found culprit zombie tasks that had were holding on to a lot of +> memory, had SIGKILL pending, but were stuck in memory.high reclaim. +> + +**[v5: cxl: Add support for CXL feature commands, CXL device patrol scrub control and DDR5 ECS control features](http://lore.kernel.org/linux-mm/20240111131741.1356-1-shiju.jose@huawei.com/)** + +> 1. Add support for CXL feature mailbox commands. +> 2. Add CXL device scrub driver supporting patrol scrub control and ECS +> control features. +> 3. Add scrub subsystem driver supports configuring memory scrubs in the system. +> 4. Register CXL device patrol scrub and ECS with scrub subsystem. +> 5. Add common library for RASF and RAS2 PCC interfaces. +> 6. Add driver for ACPI RAS2 feature table (RAS2). +> 7. Add memory RAS2 driver and register with scrub subsystem. +> + +**[v1: *** SUBJECT HERE ***](http://lore.kernel.org/linux-mm/20240111122451.682-1-justinjiang@vivo.com/)** + +> *** BLURB HERE *** +> +> mode change 100644 => 100755 include/linux/swap.h +> mode change 100644 => 100755 mm/vmscan.c +> mode change 100644 => 100755 mm/workingset.c +> + +**[v1: mm/mmap: introduce vma_range_init()](http://lore.kernel.org/linux-mm/20240111021526.3461825-1-yajun.deng@linux.dev/)** + +> There is a lot of code needs to set the range of vma, introduce +> vma_range_init() to initialize the range of vma. +> + +**[v2: tools/mm: Add thpmaps script to dump THP usage info](http://lore.kernel.org/linux-mm/20240110173203.3419437-1-ryan.roberts@arm.com/)** + +> With the proliferation of large folios for file-backed memory, and more +> recently the introduction of multi-size THP for anonymous memory, it is +> becoming useful to be able to see exactly how large folios are mapped +> into processes. For some architectures (e.g. arm64), if most memory is +> mapped using contpte-sized and -aligned blocks, TLB usage can be +> optimized so it's useful to see where these requirements are and are not +> being met. +> + +**[v1: support tmpfs hugepage PMD is not split when COW](http://lore.kernel.org/linux-mm/20240110092028.1777-1-chenhaixiang3@huawei.com/)** + +> Transparent hugepages in tmpfs can enhance TLB efficiency by reducing +> TLB misses. However, during Copy-On-Write (COW) memory faults, these +> hugepages may be split. In some scenarios, preventing this splitting +> is desirable. We might introduce a shmem_huge_fault to inhibit this +> behavior, along with a mount parameter to enable or disable this function. +> + +**[v1: mm/mmap: simplify vma link and unlink](http://lore.kernel.org/linux-mm/20240110084622.2425927-1-yajun.deng@linux.dev/)** + +> The file parameter in the __remove_shared_vm_struct is no longer used, +> remove it. +> +> These functions vma_link() and mmap_region() have some of the same code, +> introduce vma_link_file() helper function to simplify the code. +> + +**[v1: mm: kasan: avoid resetting aux_lock](http://lore.kernel.org/linux-mm/20240109221234.90929-1-andrey.konovalov@linux.dev/)** + +> With commit 63b85ac56a64 ("kasan: stop leaking stack trace handles"), +> KASAN zeroes out alloc meta when an object is freed. The zeroed out data +> purposefully includes alloc and auxiliary stack traces but also +> accidentally includes aux_lock. +> + +**[v16: Drivers for Gunyah hypervisor](http://lore.kernel.org/linux-mm/20240109-gunyah-v16-0-634904bf4ce9@quicinc.com/)** + +> Gunyah is a Type-1 hypervisor independent of any high-level OS kernel, +> and runs in a higher CPU privilege level. It does not depend on any +> lower-privileged OS kernel/code for its core functionality. This +> increases its security and can support a much smaller trusted computing +> base than a Type-2 hypervisor. Gunyah is designed for isolated virtual +> machine use cases and to support launching trusted+isolated virtual +> machines from a relatively less trusted host virtual machine. +> + +**[v1: netfs, afs, erofs, cifs: Don't use certain internal folio_*() functions](http://lore.kernel.org/linux-mm/20240109180117.1669008-1-dhowells@redhat.com/)** + +> Here are some patches that replace the use of folio_index(), +> folio_mapping() and folio_file_mapping() in some filesystem code. I'll add +> them to my netfs-lib branch. +> + +**[v1: netfs, cachefiles: More additional patches](http://lore.kernel.org/linux-mm/20240109112029.1572463-1-dhowells@redhat.com/)** + +> Here are some additional patches for my netfs-lib tree: +> +> (1) Mark netfs_unbuffered_write_iter_locked() static as it's only used in +> the file in which it is defined. +> +> (2) Display a counter for DIO writes in /proc/fs/netfs/stats. +> +> (3) Fix the interaction between write-streaming (dirty data in +> non-uptodate pages) and the culling of a cache file trying to write +> that to the cache. +> + +**[v1: mm, oom: Add lru_add_drain() in __oom_reap_task_mm()](http://lore.kernel.org/linux-mm/20240109091511.8299-1-jianfeng.w.wang@oracle.com/)** + +> The oom_reaper tries to reclaim additional memory owned by the oom +> victim. In __oom_reap_task_mm(), it uses mmu_gather for batched page +> free. After oom_reaper was added, mmu_gather feature introduced +> CONFIG_MMU_GATHER_NO_GATHER (in 'commit 952a31c9e6fa ("asm-generic/tlb: +> Introduce CONFIG_HAVE_MMU_GATHER_NO_GATHER=y")', an option to skip batched +> page free. If set, tlb_batch_pages_flush(), which is responsible for +> calling lru_add_drain(), is skipped during tlb_finish_mmu(). Without it, +> pages could still be held by per-cpu fbatches rather than be freed. +> + +**[v1: efi: Disable mirror feature during crashkernel](http://lore.kernel.org/linux-mm/20240109041536.3903042-1-mawupeng1@huawei.com/)** + +> If system have no mirrored memory or use crashkernel.high while +> kernelcore=mirror is enabled in cmdline, during crashkernel, +> there will be limited mirrored memory and this usually lead to +> OOM. +> + +**[v6: implement "memmap on memory" feature on s390](http://lore.kernel.org/linux-mm/20240108132747.3238763-1-sumanthk@linux.ibm.com/)** + +> This series provides "memmap on memory" support on s390 platform. +> "memmap on memory" allows struct pages array to be allocated from the +> hotplugged memory range instead of allocating it from main system +> memory. +> + +**[v1: -next: mm/filemap: avoid type conversion](http://lore.kernel.org/linux-mm/20240108044815.3291487-1-lihongbo22@huawei.com/)** + +> The return type of function folio_test_hugetlb is bool type, there is no +> need to assign it to an integer type. +> + +### 文件系统 + +**[v2: netfs, fscache: Prevent Oops in fscache_put_cache()](http://lore.kernel.org/linux-fsdevel/e84bc740-3502-4f16-982a-a40d5676615c@moroto.mountain/)** + +> This function dereferences "cache" and then checks if it's +> IS_ERR_OR_NULL(). Check first, then dereference. +> + +**[Reply: v1: fuse: use page cache pages for writeback io when virtio_fs is in use](http://lore.kernel.org/linux-fsdevel/SI2PR06MB5385503F984A59B9E8382D37FF6F2@SI2PR06MB5385.apcprd06.prod.outlook.com/)** + +> Any comments about this RFC patch? Thanks. +> +> Regards, +> Lege.wang +> + +**[v3: Set casefold/fscrypt dentry operations through sb->s_d_op](http://lore.kernel.org/linux-fsdevel/20240111225816.18117-1-krisman@suse.de/)** + +> Thank you, Eric and Al, for your feedback on the previous version. +> +> This version has some big changes: instead of only configuring on the +> case-insensitive case, we do it for case-sensitive fscrypt as well, and +> disable d_revalidate as needed. This pretty much reverses the way +> fscrypt operated (only enable d_revalidate for dentries that require +> it), but has the advantage we can be consistent among variations of +> case-insensitive/sensitive, encrypted/unencrypted configurations. +> + +**[v1: filemap: Convert generic_perform_write() to support large folios](http://lore.kernel.org/linux-fsdevel/20240111192513.3505769-1-willy@infradead.org/)** + +> Modelled after the loop in iomap_write_iter(), copy larger chunks from +> userspace if the filesystem has created large folios. +> + +**[v2: fsnotify: optimize the case of no content event watchers](http://lore.kernel.org/linux-fsdevel/20240111152233.352912-1-amir73il@gmail.com/)** + +> Commit e43de7f0862b ("fsnotify: optimize the case of no marks of any type") +> optimized the case where there are no fsnotify watchers on any of the +> filesystem's objects. +> +> It is quite common for a system to have a single local filesystem and +> it is quite common for the system to have some inotify watches on some +> config files or directories, so the optimization of no marks at all is +> often not in effect. +> + +**[git pull: vfs.git misc pile](http://lore.kernel.org/linux-fsdevel/20240111102141.GY1674809@ZenIV/)** + +> The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86: +> +> Linux 6.7-rc1 (2023-11-12 16:19:07 -0800) +> +> are available in the Git repository at: +> +> git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-misc +> + +**[git pull: dcache stuff](http://lore.kernel.org/linux-fsdevel/20240111102111.GX1674809@ZenIV/)** + +> The following changes since commit 4a0b33f771db2b82fdfad08b9f34def786162865: +> +> selinux: saner handling of policy reloads (2023-11-16 12:45:33 -0500) +> +> are available in the Git repository at: +> +> git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-dcache +> + +**[git pull: vfs.git minixfs series](http://lore.kernel.org/linux-fsdevel/20240111101634.GV1674809@ZenIV/)** + +> The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86: +> +> Linux 6.7-rc1 (2023-11-12 16:19:07 -0800) +> +> are available in the Git repository at: +> +> git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-minix +> +> for you to fetch changes up to 41e9a7faff514fcb2d4396b0ffde30386a153c7f: +> + +**[v1: eventfd: add a BUILD_BUG_ON() to ensure consistency between EFD_SEMAPHORE and the uapi](http://lore.kernel.org/linux-fsdevel/tencent_0BAA2DEAF9208D49987457E6583F9BE79507@qq.com/)** + +> introduce a BUILD_BUG_ON to check that the EFD_SEMAPHORE is equal to its +> definition in the uapi file, just like EFD_CLOEXEC and EFD_NONBLOCK. +> + +**[v1: fsnotify: optimize the case of no access event watchers](http://lore.kernel.org/linux-fsdevel/20240109194818.91465-1-amir73il@gmail.com/)** + +> Commit e43de7f0862b ("fsnotify: optimize the case of no marks of any type") +> optimized the case where there are no fsnotify watchers on any of the +> filesystem's objects. +> +> It is quite common for a system to have a single local filesystem and +> it is quite common for the system to have some inotify watches on some +> config files or directories, so the optimization of no marks at all is +> often not in effect. +> + +**[v1: fsnotify: compile out fsnotify permission hooks if !FANOTIFY_ACCESS_PERMISSIONS](http://lore.kernel.org/linux-fsdevel/20240109182245.38884-1-amir73il@gmail.com/)** + +> The depency of FANOTIFY_ACCESS_PERMISSIONS on SECURITY made sure that +> the fsnotify permission hooks were never called when SECURITY was +> disabled. +> + +**[v1: netfs, afs, erofs, cifs: Don't use certain internal folio_*() functions](http://lore.kernel.org/linux-fsdevel/20240109180117.1669008-1-dhowells@redhat.com/)** + +> Here are some patches that replace the use of folio_index(), +> folio_mapping() and folio_file_mapping() in some filesystem code. I'll add +> them to my netfs-lib branch. +> + +**[v1: Revert "fsnotify: optionally pass access range in file permission hooks"](http://lore.kernel.org/linux-fsdevel/53682ece-f0e7-48de-9a1c-879ee34b0449@kernel.dk/)** + +> This commit added an extra fsnotify call from rw_verify_area(), which +> can be a very hot path. In my testing, this adds roughly 5-6% extra +> overhead per IO, which is quite a lot. As a result, throughput of +> said test also drops by 5-6%, as it is CPU bound. Looking at perf, +> it's apparent why: +> +> which directly correlates with performance lost. +> + +**[GIT PULL: sysctl changes for v6.8-rc1](http://lore.kernel.org/linux-fsdevel/ZZ1aMZdS5GK1tEfn@bombadil.infradead.org/)** + +> The following changes since commit 861deac3b092f37b2c5e6871732f3e11486f7082: +> +> Linux 6.7-rc7 (2023-12-23 16:25:56 -0800) +> +> are available in the Git repository at: +> +> git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/ tags/sysctl-6.8-rc1 +> +> for you to fetch changes up to 561429807d50aad76f1205b0b1d7b4aacf365d4e: +> +> sysctl: remove struct ctl_path (2023-12-28 05:02:42 -0800) +> + +**[v2: Improve buffer head documentation](http://lore.kernel.org/linux-fsdevel/20240109143357.2375046-1-willy@infradead.org/)** + +> Turn buffer head documentation into its own document, and make many +> general improvements to the docs. Obviously there is much more that +> could be done. Tested with make htmldocs. +> + +**[v1: Enable tmpfs quotas](http://lore.kernel.org/linux-fsdevel/20240109134651.869887-1-cem@kernel.org/)** + +> This series enable quota tools to manage tmpfs user/group quotas now the kernel +> support is released in 6.6. +> +> Honza, this is just a RFC as I'd like to know your input on the approach used +> here. +> + +**[v1: fs/proc/task_mmu: move mmu notification mechanism inside mm lock](http://lore.kernel.org/linux-fsdevel/20240109112445.590736-1-usama.anjum@collabora.com/)** + +> Move mmu notification mechanism inside mm lock to prevent race condition +> in other components which depend on it. The notifier will invalidate +> memory range. Depending upon the number of iterations, different memory +> ranges would be invalidated. +> + +**[v4: fuse: Add support for resend pending requests](http://lore.kernel.org/linux-fsdevel/20240109092443.519460-1-winters.zc@antgroup.com/)** + +> After the FUSE daemon crashes, the fuse mount point becomes inaccessible. +> In some production environments, a watchdog daemon is used to preserve +> the FUSE connection's file descriptor (fd). When the FUSE daemon crashes, +> a new FUSE daemon is started and takes over the fd from the watchdog +> daemon, allowing it to continue providing services. +> + +**[v1: fs: Wrong function name in comment](http://lore.kernel.org/linux-fsdevel/20240108172040.178173-1-agruenba@redhat.com/)** + +> This comment refers to function mark_buffer_inode_dirty(), but the +> function is actually called mark_buffer_dirty_inode(), so fix the +> comment. +> + +**[GIT PULL: fsnotify changes for 6.8-rc1](http://lore.kernel.org/linux-fsdevel/20240108140746.viajl65blnibbyjf@quack3/)** + +> git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git fsnotify_for_v6.8-rc1 +> +> to get fanotify changes allowing use of fanotify directory events even for +> filesystems such as FUSE which don't report proper fsid. +> + +**[v1: fuse: basic support for idmapped mounts](http://lore.kernel.org/linux-fsdevel/20240108120824.122178-1-aleksandr.mikhalitsyn@canonical.com/)** + +> Dear friends, +> +> This patch series aimed to provide support for idmapped mounts +> for fuse. We already have idmapped mounts support for almost all +> widely-used filesystems: +> * local (ext4, btrfs, xfs, fat, vfat, ntfs3, squashfs, f2fs, erofs, ZFS (out-of-tree)) +> * network (ceph) +> + +**[v1: netfs: use kfree_sensitive() instend of kfree() in fscache_free_cookie()](http://lore.kernel.org/linux-fsdevel/20240108112713.20533-1-duminjie@vivo.com/)** + +> key might contain private information, so use kfree_sensitive to free it. +> In fscache_free_cookie() use kfree_sensitive(). +> + +**[GIT PULL: xfs: new code for 6.8](http://lore.kernel.org/linux-fsdevel/87jzok72py.fsf@debian-BULLSEYE-live-builder-AMD64/)** + +> Please pull this branch with changes for xfs for 6.8-rc1. +> +> Online repair functionality continues to be expanded. Please refer to the +> section "New code for 6.8" for a brief description of changes added to Online +> repair. +> + +**[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. +> Earlier, polling task used to sleep, relying on interrupt to wake it up. +> This made some IO take very long when interrupt-coalescing is enabled in +> NVMe. +> + +### 网络设备 + +**[v1: iproute2: ss: show extra info when '--processes' is not used](http://lore.kernel.org/netdev/20240113-ss-fix-ext-col-disabled-v1-1-cf99a7381dec@kernel.org/)** + +> A recent modification broke "extra" options for all protocols showing +> info about the processes when '-p' / '--processes' option was not used +> as well. In other words, all the additional bits displayed at the end or +> at the next line were no longer printed if the user didn't ask to show +> info about processes as well. +> + +**[v1: net-next: MT7530 DSA Subdriver Improvements Act II](http://lore.kernel.org/netdev/20240113102529.80371-1-arinc.unal@arinc9.com/)** + +> I'm submitting this to receive reviews while net-next is closed. +> + +**[v1: net-next: net: dsa: mt7530: support OF-based registration of switch MDIO bus](http://lore.kernel.org/netdev/20240113093216.42391-1-arinc.unal@arinc9.com/)** + +> Currently the MDIO bus of the switches the MT7530 DSA subdriver controls +> can only be registered as non-OF-based. Bring support for registering the +> bus OF-based. +> + +**[v2: net: tcp: make sure init the accept_queue's spinlocks once](http://lore.kernel.org/netdev/20240113030739.3446338-1-shaozhengchao@huawei.com/)** + +> When the socket receives the ACK packet during the three-way handshake, +> it will hold spinlock. And then the user actively shutdowns the socket +> and listens to the socket immediately, the spinlock will be initialized. +> When the socket is going to release the spinlock, a warning is generated. +> Also the same issue to fastopenq.lock. +> + +**[v1: wifi: mac80211: tx: Add __must_hold() annotation](http://lore.kernel.org/netdev/20240113011145.10888-2-bpappas@pappasbrent.com/)** + +> Annotates ieee80211_set_beacon_cntdwn() with a __must_hold() annotation to +> make it clear that ieee80211_set_beacon_cntdwn() is only intended to be +> called when the caller has a lock on the argument "link." +> + +**[v1: vsock/test: add '--peer-port' input argument](http://lore.kernel.org/netdev/20240112212110.1906150-1-avkrasnov@salutedevices.com/)** + +> Implement port for given CID as input argument instead of using +> hardcoded value '1234'. This allows to run different test instances +> on a single CID. Port argument is not required parameter and if it is +> not set, then default value will be '1234' - thus we preserve previous +> behaviour. +> + +**[v4: ss: pretty-printing BPF socket-local storage](http://lore.kernel.org/netdev/20240112140429.183344-1-qde@naccy.de/)** + +> BPF allows programs to store socket-specific data using +> BPF_MAP_TYPE_SK_STORAGE maps. The data is attached to the socket itself, +> and Martin added INET_DIAG_REQ_SK_BPF_STORAGES, so it can be fetched +> using the INET_DIAG mechanism. +> + +**[vxlan: how to expose opt-in RFC conformity with unprocessed header flags](http://lore.kernel.org/netdev/db8b9e19-ad75-44d3-bfb2-46590d426ff5@proxmox.com/)** + +> Hi! +> +> We got a customer that reported an issue where the Linux VXLAN +> implementation diverges from the RFC, namely when any of the (reserved) +> flags other than the VNI one is set, the kernel just drops the package. +> + +**[v1: net: nbd: always initialize struct msghdr completely](http://lore.kernel.org/netdev/20240112132657.647112-1-edumazet@google.com/)** + +> syzbot complains that msg->msg_get_inq value can be uninitialized [1] +> +> struct msghdr got many new fields recently, we should always make +> sure their values is zero by default. +> + +**[v1: net: add more sanity check in virtio_net_hdr_to_skb()](http://lore.kernel.org/netdev/20240112122816.450197-1-edumazet@google.com/)** + +> syzbot/KMSAN reports access to uninitialized data from gso_features_check() [1] +> +> The repro use af_packet, injecting a gso packet and hdrlen == 0. +> +> We could fix the issue making gso_features_check() more careful +> while dealing with NETIF_F_TSO_MANGLEID in fast path. +> + +**[v7: RESEND: can: xilinx_can: Add ECC feature support](http://lore.kernel.org/netdev/1705059453-29099-1-git-send-email-srinivas.goud@amd.com/)** + +> Add ECC feature support to Tx and Rx FIFOs for Xilinx CAN Controller. +> ECC is an IP configuration option where counter registers are added in +> IP for 1bit/2bit ECC errors count and reset. +> Also driver reports 1bit/2bit ECC errors for FIFOs based on ECC error +> interrupts. +> + +**[v1: net: sched: track device in tcf_block_get/put_ext() only for clsact binder types](http://lore.kernel.org/netdev/20240112113930.1647666-1-jiri@resnulli.us/)** + +> Clsact/ingress qdisc is not the only one using shared block, +> red is also using it. The device tracking was originally introduced +> by commit 913b47d3424e ("net/sched: Introduce tc block netdev +> tracking infra") for clsact/ingress only. Commit 94e2557d086a ("net: +> sched: move block device tracking into tcf_block_get/put_ext()") +> mistakenly enabled that for red as well. +> + +**[v1: net: udp: annotate data-races around up->pending](http://lore.kernel.org/netdev/20240112104427.324983-1-edumazet@google.com/)** + +> up->pending can be read without holding the socket lock, +> as pointed out by syzbot [1] +> +> Add READ_ONCE() in lockless contexts, and WRITE_ONCE() +> on write side. +> + +**[v1: iwl-next: i40e: Log FW state in recovery mode](http://lore.kernel.org/netdev/20240112095945.450590-1-jedrzej.jagielski@intel.com/)** + +> Introduce logging FW state in recovery mode functionality. +> +> 1st patch adds implementation of admin command reading content of alt +> ram. +> 2nd patch utilices the command to get trace buffer data and logs it +> when entering recovery mode. +> + +**[v2: net-next: net: tcp: accept old ack during closing](http://lore.kernel.org/netdev/20240112094603.23706-1-menglong8.dong@gmail.com/)** + +> In the case above, simultaneous close is happening, and the FIN and ACK +> packet that send from the server is out of order. Then, the FIN will be +> dropped by the client, as it has an old ack. Then, the server has to +> retransmit the FIN, which can cause delay if the server has set the +> SO_LINGER on the socket. +> + +**[v1: net: mptcp: better validation of MPTCPOPT_MP_JOIN option](http://lore.kernel.org/netdev/20240111194917.4044654-1-edumazet@google.com/)** + +> Based on a syzbot report (see 4th patch in the series). +> +> Paolo suggested to do the same for OPTIONS_MPTCP_MPC (5th patch) +> + +**[v1: iproute2: man/tc-mirred: don't recommend modprobe](http://lore.kernel.org/netdev/20240111193451.48833-1-stephen@networkplumber.org/)** + +> Use ip link add instead of explicit modprobe. +> Kernel will do correct module loading if necessary. +> + +**[v1: net: fill in MODULE_DESCRIPTION()s for wx_lib](http://lore.kernel.org/netdev/20240111193311.4152859-1-kuba@kernel.org/)** + +> W=1 builds now warn if module is built without a MODULE_DESCRIPTION(). +> Add a description to Wangxun's common code lib. +> + +**[v1: net: wireguard: receive: annotate data-race around receiving_counter.counter](http://lore.kernel.org/netdev/20240111154138.7605-1-n.zhandarovich@fintech.ru/)** + +> Syzkaller with KCSAN identified a data-race issue [1] when accessing +> keypair->receiving_counter.counter. +> + +**[v2: net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe](http://lore.kernel.org/netdev/20240111072018.75971-1-chentao@kylinos.cn/)** + +> devm_kasprintf() returns a pointer to dynamically allocated memory +> which can be NULL upon failure. +> + +**[v1: iwl-net: i40e: Include types.h to some headers](http://lore.kernel.org/netdev/20240111003927.2362752-1-anthony.l.nguyen@intel.com/)** + +> Commit 56df345917c0 ("i40e: Remove circular header dependencies and fix +> headers") redistributed a number of includes from one large header file +> to the locations they were needed. +> + +**[v1: selftests/net/tcp-ao: Use LDLIBS instead of LDFLAGS](http://lore.kernel.org/netdev/20240110-tcp_ao-selftests-makefile-v1-1-aa07d043f052@arista.com/)** + +> The intel test robot uses only selftest's Makefile, not the top linux +> Makefile: +> + +**[[net-next RFC PATCH 0/5] net: phy: split at803x](http://lore.kernel.org/netdev/20240110115741.17300-1-ansuelsmth@gmail.com/)** + +> This is the last patchset of a long series of cleanup and +> preparation to make at803x better maintainable and permit +> the addition of other QCOM PHY Families. +> + +**[v1: Add PPE device tree node for Qualcomm IPQ SoC](http://lore.kernel.org/netdev/20240110112059.2498-1-quic_luoj@quicinc.com/)** + +> The PPE(packet process engine) hardware block is supported by Qualcomm +> IPQ platforms, such as IPQ9574 and IPQ5332. The PPE includes the various +> packet processing modules such as the routing and bridging flow engines, +> L2 switch capability, VLAN and tunnels. +> + +**[v8: net-next: Ethernet DWMAC5 fault IRQ support](http://lore.kernel.org/netdev/20240110111649.2256450-1-quic_jsuraj@quicinc.com/)** + +> Add support to listen Ethernet HW common safery IRQ for correctable and +> uncorrectable fault. The safety IRQ will be triggered for ECC(error +> correction code), DPP(data path parity, FSM(finite state machine) error. +> + +**[v1: net: af_unix: Avoid a wakeup if data has been not arrived](http://lore.kernel.org/netdev/20240110084703.2708053-1-zhongbin@bytedance.com/)** + +> In the following scenarios, unnecessary wake-up may occur. +> When a thread sends a piece of data and then immediately +> calls recv to wait for the server's data, the server, upon +> receiving this thread's data, calls back unix_write_space +> to wake up this thread. +> + +**[v1: net: phy: micrel: reset KSZ9x31 when resuming](http://lore.kernel.org/netdev/20240109205223.40219-1-wsa+renesas@sang-engineering.com/)** + +> On a Renesas Ebisu board, the KSZ9031 PHY is stalled after resuming if +> the interface has not been brought up before suspending. If it had been +> brought up before, phylib ensures that reset is asserted before +> suspending. +> + +**[v1: tg3: add new module param to force device power down on reboot](http://lore.kernel.org/netdev/20240109194551.17666-1-andrea.fois@eventsense.it/)** + +> The bug #1917471 was fixed in commit 2ca1c94ce0b6 ("tg3: Disable tg3 +> device on system reboot to avoid triggering AER") but was reintroduced +> by commit 9fc3bc764334 ("tg3: power down device only on +> SYSTEM_POWER_OFF"). +> + +### 安全增强 + +**[v3: Add device tree for IBM system1 BMC](http://lore.kernel.org/linux-hardening/20240111181251.1817582-1-ninad@linux.ibm.com/)** + +> This patchset adds device tree for IBM system1 bmc board. +> + +**[v1: bcachefs: Replace strlcpy() with strscpy()](http://lore.kernel.org/linux-hardening/20240110235438.work.385-kees@kernel.org/)** + +> strlcpy() reads the entire source buffer first. This read may exceed +> the destination size limit. This is both inefficient and can lead +> to linear read overflows if a source string is not NUL-terminated[1]. +> Additionally, it returns the size of the source string, not the +> resulting size of the destination string. In an effort to remove strlcpy() +> completely[2], replace strlcpy() here with strscpy(). +> + +**[v1: ARM: unwind: Add missing "Call trace:" line](http://lore.kernel.org/linux-hardening/20240110215554.work.460-kees@kernel.org/)** + +> Every other architecture in Linux includes the line "Call trace:" before +> backtraces. In some cases ARM would print "Backtrace:", but this was +> only via 1 specific call path, and wasn't included in CPU Oops nor things +> like KASAN, UBSAN, etc that called dump_stack(). +> + +**[v1: Enable PSTORE_RAM as a module in the arm64 defconfig](http://lore.kernel.org/linux-hardening/20240110210600.787703-1-nfraprado@collabora.com/)** + +> This series enables the PSTORE_RAM config, aka the ramoops driver, in +> the defconfig. +> + +**[v2: ASoC: ti: j721e-evm: Use devm_kcalloc() instead of devm_kzalloc()](http://lore.kernel.org/linux-hardening/20240109181101.3806-1-erick.archer@gmx.com/)** + +> Use 2-factor multiplication argument form devm_kcalloc() instead +> of devm_kzalloc(). +> + +### 异步 IO + +**[v2: io_uring: Adjustments for io_ring_ctx_alloc()](http://lore.kernel.org/io-uring/b9c9ba9f-459e-40b5-ae4b-703dcc03871d@web.de/)** + +> Date: Wed, 10 Jan 2024 21:38:12 +0100 +> +> A few update suggestions were taken into account +> from static source code analysis. +> + +### Rust For Linux + +**[v1: Rust enablement for LoongArch](http://lore.kernel.org/rust-for-linux/20240108032117.215171-1-wangrui@loongson.cn/)** + +> Enable Rust support for the LoongArch architecture. +> + +**[GIT PULL: Rust for v6.8](http://lore.kernel.org/rust-for-linux/20240108012055.519813-1-ojeda@kernel.org/)** + +> This is the next round of the Rust support. +> +> All the commits have been in linux-next for more than a couple weeks, +> but only for 3 -next tags given the holidays (first one next-20231222). +> +> No conflicts expected. No changes to the C side. +> + +### BPF + +**[v1: bpf-next: bpf: Minor improvements for bpf_cmp.](http://lore.kernel.org/bpf/20240112220134.71209-1-alexei.starovoitov@gmail.com/)** + +> Few minor improvements for bpf_cmp() macro: +> . reduce number of args in __bpf_cmp() +> . rename NOFLIP to UNLIKELY +> . add a comment about 64-bit truncation in "i" constraint +> . use "ri" constraint for sizeof(rhs) <= 4 +> . improve error message for bpf_cmp_likely() +> + +**[v2: bpf: libbpf: Apply map_set_def_max_entries() for inner_maps on creation](http://lore.kernel.org/bpf/20240112121051.17325-1-conquistador@yandex-team.ru/)** + +> Previous behaviour created a zero filled btf_map_def for inner maps and +> tried to use it for a map creation but the linux kernel forbids to create +> a BPF_MAP_TYPE_PERF_EVENT_ARRAY map with max_entries=0. +> + +**[RFC: Mark "inlined by some callers" functions in BTF](http://lore.kernel.org/bpf/B653950A-A58F-44C0-AD9D-95370710810F@fb.com/)** + +> The user may not realize switch_mm() is inlined by leave_mm(), and we are +> not tracing the code path leave_mm => switch_mm. (This is x86_64, and both +> functions are in arch/x86/mm/tlb.c.) +> + +**[v1: bpf: apply map_set_def_max_entries() for inner_maps on creation](http://lore.kernel.org/bpf/20240111191744.20939-1-conquistador@yandex-team.ru/)** + +> This patch allows to create BPF_MAP_TYPE_ARRAY_OF_MAPS and +> BPF_MAP_TYPE_HASH_OF_MAPS with values of BPF_MAP_TYPE_PERF_EVENT_ARRAY. +> + +**[v2: dwarves: pahole: Inject kfunc decl tags into BTF](http://lore.kernel.org/bpf/85caea4c48659502544329e6cd8b41c12ab50dfc.1704929857.git.dxu@dxuuu.xyz/)** + +> This commit teaches pahole to parse symbols in .BTF_ids section in +> vmlinux and discover exported kfuncs. Pahole then takes the list of +> kfuncs and injects a BTF_KIND_DECL_TAG for each kfunc. +> + +**[v1: bpf-next: bpf, selftests/bpf: Support PTR_MAYBE_NULL for struct_ops arguments.](http://lore.kernel.org/bpf/20240110221750.798813-1-thinker.li@gmail.com/)** + +> Allow passing a null pointer to the operators provided by a struct_ops +> object. This is an RFC to collect feedbacks/opinions. +> + +**[v2: bpf-next: bpf: Add bpf_iter_cpumask](http://lore.kernel.org/bpf/20240110060037.4202-1-laoar.shao@gmail.com/)** + +> Three new kfuncs, namely bpf_iter_cpumask_{new,next,destroy}, have been +> added for the new bpf_iter_cpumask functionality. These kfuncs enable the +> iteration of percpu data, such as runqueues, system_group_pcpu, and more. +> + +**[v3: bpf-next: selftests/bpf: add inline assembly helpers to access array elements](http://lore.kernel.org/bpf/20240110010009.1210237-1-brho@google.com/)** + +> When accessing an array, even if you insert your own bounds check, +> sometimes the compiler will remove the check. bpf_cmp() will force the +> compiler to do the check. +> + +**[v2: bpf-next: selftests/bpf: detect testing prog flags support](http://lore.kernel.org/bpf/20240109231738.575844-1-andrii@kernel.org/)** + +> Various tests specify extra testing prog_flags when loading BPF +> programs, like BPF_F_TEST_RND_HI32, and more recently also +> BPF_F_TEST_REG_INVARIANTS. While BPF_F_TEST_RND_HI32 is old enough to +> not cause much problem on older kernels, BPF_F_TEST_REG_INVARIANTS is +> very fresh and unconditionally specifying it causes selftests to fail on +> even slightly outdated kernels. +> + +**[GIT PULL: Networking for v6.8](http://lore.kernel.org/bpf/20240109162323.427562-1-pabeni@redhat.com/)** + +> The most interesting thing is probably the networking structs +> reorganization and a significant amount of changes is around +> self-tests. +> + +**[v1: find_vma BPF test: increase length CPU computation](http://lore.kernel.org/bpf/20240109095637.35934-1-alessandro.carminati@gmail.com/)** + +> Some aarch64 systems running a PREEMPT_RT patched kernel, needs +> more time to complete the test. +> This change mirrors: +> commit ba83af059153 ("Improve stability of find_vma BPF test") +> addressing similar requirements and allowing the QTI SA8775P based +> systems, and others, to complete the test when running RT kernel. +> + +**[[Bpf] v1: bpf-next: Introduce concept of conformance groups](http://lore.kernel.org/bpf/20240108214231.48RQxkpxeJZN8pvpkomebV1AeJcV4n6NtAkrRjJ_ZGA@z/)** + +> The discussion of what the actual conformance groups should be +> is still in progress, so this is just part 1 which only uses +> "legacy" for deprecated instructions and "basic" for everything +> else. Subsequent patches will add more groups as discussion +> continues. +> + +**[v2: bpf-next: Improvements for tracking scalars in the BPF verifier](http://lore.kernel.org/bpf/20240108205209.838365-1-maxtram95@gmail.com/)** + +> The goal of this series is to extend the verifier's capabilities of +> tracking scalars when they are spilled to stack, especially when the +> spill or fill is narrowing. It also contains a fix by Eduard for +> infinite loop detection and a state pruning optimization by Eduard that +> compensates for a verification complexity regression introduced by +> tracking unbounded scalars. +> + +**[v1: bpf-next: infer packet range for 'if pkt ==/!= pkt_end' instructions](http://lore.kernel.org/bpf/20240108132802.6103-1-eddyz87@gmail.com/)** + +> As suggested by Maciej Żenczykowski in [1], extend try_match_pkt_pointers +> to allow verification of BPF, generated for C code like below: +> +> if (data + 42 != data_end) { ... } +> + +## 周边技术动态 + +### Qemu + +**[v5: target/riscv: deprecate riscv_cpu_options[]](http://lore.kernel.org/qemu-devel/20240112140201.127083-1-dbarboza@ventanamicro.com/)** + +> This version is a resend of patches 10 to 17 from v4, reviewed-by and +> tested-by tags added, rebased with Alistair's riscv-to-apply.next. +> Patches 01 to 09 of v4 are already queued. +> + +**[v5: Support RISC-V IOPMP](http://lore.kernel.org/qemu-devel/20240112094335.922010-1-ethan84@andestech.com/)** + +> This series implements IOPMP specification v1.0.0-draft4 rapid-k model and add +> IOPMP device to RISC-V virt machine. +> + +**[v2: target/riscv: Add support for 'B' extension](http://lore.kernel.org/qemu-devel/20240111161644.33630-1-rbradford@rivosinc.com/)** + +> Add support for the new (fast track) 'B' extension [1] this extension +> uses the misa.B bit to indicate that the Zba, Zbb and Zbs extensions are +> present. +> + +**[v1: target/riscv: Check for 'A' extension on all atomic instructions](http://lore.kernel.org/qemu-devel/20240110163959.31291-1-rbradford@rivosinc.com/)** + +> Add requirement that 'A' is enabled for all atomic instructions that +> lack the check. This makes the 64-bit versions consistent with the +> 32-bit versions in the same file. +> + +**[v3: riscv: support new isa extension detection devicetree properties](http://lore.kernel.org/qemu-devel/20240110-mold-renovate-256db1b5c70e@spud/)** + +> Making it a series to keep the standalone change to riscv_isa_string() +> that Drew reported separate. +> + +**[v1: riscv-to-apply queue](http://lore.kernel.org/qemu-devel/20240110085733.1607526-1-alistair.francis@wdc.com/)** + +> The following changes since commit 9468484fe904ab4691de6d9c34616667f377ceac: +> +> Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging (2024-01-09 10:32:23 +0000) +> + +**[v2: riscv: add rv32i,rv32e and rv64e CPUs](http://lore.kernel.org/qemu-devel/20240108161903.353648-1-dbarboza@ventanamicro.com/)** + +> This version shrank to 2 patches since most of the prep work was already +> done by the RVA22 profile implementation, which is now queued in +> riscv-to-apply.next. +> + +### U-Boot + +**[v1: riscv: qemu: enable booting on a second virtio device](http://lore.kernel.org/u-boot/20240110202656.984622-1-aurelien@aurel32.net/)** + +> QEMU RISC-V supports multiple virtio devices, but only tries to boot to +> the first one. Enable support for a second virtio device, that is useful +> for instance to boot on a disk image + an installer. Ideally that should +> be made dynamic, but that's a first step. +> + +**[v1: board: starfive: handle compatible property in dynamic DT configuration](http://lore.kernel.org/u-boot/20240110201757.983435-1-aurelien@aurel32.net/)** + +> The difference between the StarFive VisionFive 2 1.2A and 1.3B boards is +> handled dynamically by looking at the PCB version in the EEPROM in order +> to have a single u-boot version for both versions of the board. While +> the "model" property is correctly handled, the "compatible" one is +> always the the one of version 1.3b. +> +> This patch add support for dynamically configuring that property. +> + +**[Pull request smbios-2024-04-rc1](http://lore.kernel.org/u-boot/10da4396-501b-4ab4-bd88-3d6c5b152017@gmx.de/)** + +> The following changes since commit c5e461fbf7cc72f0c1c8a79226b6a5170e56cb4d: +> +> Merge tag 'u-boot-imx-master-20240108' of +> https://gitlab.denx.de/u-boot/custodians/u-boot-imx (2024-01-08 13:39:43 +> -0500) +> + +**[v1: riscv: sophgo: milkv_duo: add support for Milk-V Duo board](http://lore.kernel.org/u-boot/20240107112713.61966-1-seashell11234455@gmail.com/)** + +> The Milk-V Duo board is built upon Sophgo's CV1800B SoC, featuring two +> XuanTie C906 CPUs running at 1.0GHz and 700MHz, respectively. +> +