diff --git a/_posts/2024-04-08-17-51-16-rvlwn-86.md b/_posts/2024-04-08-17-51-16-rvlwn-86.md
new file mode 100644
index 000000000..e199e417a
--- /dev/null
+++ b/_posts/2024-04-08-17-51-16-rvlwn-86.md
@@ -0,0 +1,1092 @@
+---
+layout: weekly
+author: '呀呀呀'
+title: 'RISC-V Linux 内核及周边技术动态第 86 期'
+draft: false
+group: 'news'
+album: 'RISC-V Linux'
+license: 'cc-by-nc-nd-4.0'
+permalink: /rvlwn-86/
+description: 'RISC-V Linux 内核及周边技术动态第 86 期'
+category:
+ - 开源项目
+ - Risc-V
+tags:
+ - Linux
+ - RISC-V
+---
+
+> 时间:20240407
+> 编辑:晓怡
+> 仓库:[RISC-V Linux 内核技术调研活动](https://gitee.com/tinylab/riscv-linux)
+> 赞助:PLCT Lab, ISCAS
+
+## 内核动态
+
+### RISC-V 架构支持
+
+**[v8: riscv: add initial support for Canaan Kendryte K230](http://lore.kernel.org/linux-riscv/tencent_9F423E3DC13F6D5FC7415C89988490F04607@qq.com/)**
+
+> K230 is an ideal chip for RISC-V Vector 1.0 evaluation now. Add initial
+> support for it to allow more people to participate in building drivers
+> to mainline for it.
+>
+
+**[v2: riscv: improve nommu and timer-clint](http://lore.kernel.org/linux-riscv/20240406112159.1634-1-jszhang@kernel.org/)**
+
+> As is known, the sophgo CV1800B contains so called little core, which
+> is C906 w/o MMU, so I want to run nommu linux on it. This series is
+> the result of the bring up. After this series, w/ proper dts, we can
+> run nommu linux on milkv duo's little core.
+>
+
+**[v2: clocksouce/timer-clint|riscv: some improvements](http://lore.kernel.org/linux-riscv/20240406111757.1597-1-jszhang@kernel.org/)**
+
+> This series is a simple improvement for timer-clint and timer-riscv:
+>
+> Add set_state_shutdown for timer-clint, this hook is used when
+> switching clockevent from timer-clint to another timer.
+>
+
+**[v6: riscv: pwm: sophgo: add pwm support for CV1800](http://lore.kernel.org/linux-riscv/20240406063413.3334639-1-qiujingbao.dlmu@gmail.com/)**
+
+> The Sophgo CV1800 chip provides a set of four independent
+> PWM channel outputs.
+> This series adds PWM controller support for Sophgo cv1800.
+>
+
+**[v1: ftrace: riscv: move from REGS to ARGS](http://lore.kernel.org/linux-riscv/20240405142453.4187-1-puranjay@kernel.org/)**
+
+> This commit replaces riscv's support for FTRACE_WITH_REGS with support
+> for FTRACE_WITH_ARGS. This is required for the ongoing effort to stop
+> relying on stop_machine() for RISCV's implementation of ftrace.
+>
+>
+
+**[v1: bpf-next: riscv, bpf: add internal-only MOV instruction to resolve per-CPU addrs](http://lore.kernel.org/linux-riscv/20240405124348.27644-1-puranjay12@gmail.com/)**
+
+> Support an instruction for resolving absolute addresses of per-CPU
+> data from their per-CPU offsets. This instruction is internal-only and
+> users are not allowed to use them directly. They will only be used for
+> internal inlining optimizations for now between BPF verifier and BPF
+> JITs.
+>
+
+**[v3: rust: make mutually exclusive with CFI_CLANG](http://lore.kernel.org/linux-riscv/20240404-providing-emporium-e652e359c711@spud/)**
+
+> On RISC-V and arm64, and presumably x86, if CFI_CLANG is enabled,
+> loading a rust module will trigger a kernel panic. Support for
+> sanitisers, including kcfi (CFI_CLANG), is in the works, but for now
+> they're nightly-only options in rustc. Make RUST depend on !CFI_CLANG
+> to prevent configuring a kernel without symmetrical support for kfi.
+>
+
+**[v1: Add parsing for Zimop ISA extension](http://lore.kernel.org/linux-riscv/20240404103254.1752834-1-cleger@rivosinc.com/)**
+
+> The Zimop ISA extension was ratified recently. This series adds support
+> for parsing it from riscv,isa, hwprobe export and kvm support for
+> Guest/VM.
+>
+
+**[v1: riscv: selftests: Add signal handling vector tests](http://lore.kernel.org/linux-riscv/20240403-vector_sigreturn_tests-v1-1-2e68b7a3b8d7@rivosinc.com/)**
+
+> Add two tests to check vector save/restore when a signal is received
+> during a vector routine. One test ensures that a value is not clobbered
+> during signal handling. The other verifies that vector registers
+> modified in the signal handler are properly reflected when the signal
+> handling is complete.
+>
+
+**[v3: riscv control-flow integrity for usermode](http://lore.kernel.org/linux-riscv/20240403234054.2020347-1-debug@rivosinc.com/)**
+
+> Sending out v3 for cpu assisted riscv user mode control flow integrity.
+>
+
+**[v2: Add IAX45 support for RZ/Five SoC](http://lore.kernel.org/linux-riscv/20240403203503.634465-1-prabhakar.mahadev-lad.rj@bp.renesas.com/)**
+
+> The IAX45 block on RZ/Five SoC is almost identical to the IRQC bock found
+> on the RZ/G2L family of SoCs.
+>
+
+**[v6: Add StarFive JH8100 dwmac support](http://lore.kernel.org/linux-riscv/20240403100549.78719-1-chunhau.tan@starfivetech.com/)**
+
+> Add StarFive JH8100 dwmac support.
+> The JH8100 dwmac shares the same driver code as the JH7110 dwmac
+> and has only one reset signal.
+>
+
+**[v5: RISC-V SBI v2.0 PMU improvements and Perf sampling in KVM guest](http://lore.kernel.org/linux-riscv/20240403080452.1007601-1-atishp@rivosinc.com/)**
+
+> This series implements SBI PMU improvements done in SBI v2.0[1] i.e. PMU snapshot
+> and fw_read_hi() functions.
+>
+
+**[v3: bpf-next: Add 12-argument support for RV64 bpf trampoline](http://lore.kernel.org/linux-riscv/20240403072818.1462811-1-pulehui@huaweicloud.com/)**
+
+> This patch adds 12 function arguments support for riscv64 bpf
+> trampoline. The current bpf trampoline supports <= sizeof(u64) bytes
+> scalar arguments [0] and <= 16 bytes struct arguments [1]. Therefore, we
+> focus on the situation where scalars are at most XLEN bits and
+> aggregates whose total size does not exceed 2×XLEN bits in the riscv
+> calling convention [2].
+>
+
+**[v1: riscv: defconfig: Enable StarFive JH7110 drivers](http://lore.kernel.org/linux-riscv/20240403060902.42834-1-hal.feng@starfivetech.com/)**
+
+> Add support for StarFive JH7110 SoC and VisionFive 2 board.
+> - Clock & reset
+> - Cache
+> - Temperature sensor
+> - PMIC (AXP15060)
+> - Restart GPIO
+> - RNG
+> - I2C
+> - SPI
+> - Quad SPI
+> - USB & USB 2.0 PHY & PCIe 2.0/USB 3.0 PHY
+> - Audio (I2S / TDM / PWM-DAC)
+> - Camera Subsystem & MIPI-CSI2 RX & D-PHY RX
+>
+
+**[v1: mm/gup: consistently call it GUP-fast](http://lore.kernel.org/linux-riscv/20240402125516.223131-1-david@redhat.com/)**
+
+> Some cleanups around function names, comments and the config option of
+> "GUP-fast" -- GUP without "lock" safety belts on.
+>
+
+**[v1: KVM: riscv: selftests: Add SBI base extension test](http://lore.kernel.org/linux-riscv/20240401082019.2318193-1-haibo1.xu@intel.com/)**
+
+> This is the first patch to enable the base extension selftest
+> for the SBI implementation in KVM. Test for other extensions
+> will be added later.
+>
+
+### 进程调度
+
+**[v1: net-next: net: sched: cake: Optimize number of calls to cake_heapify()](http://lore.kernel.org/lkml/20240406235532.613696-1-visitorckw@gmail.com/)**
+
+> Improve the max-heap construction process by reducing unnecessary
+> heapify operations. Specifically, adjust the starting condition from
+> n / 2 to n / 2 - 1 in the loop that iterates over all non-leaf
+> elements.
+>
+
+**[v1: sched/fair: Complete EEVDF](http://lore.kernel.org/lkml/20240405102754.435410987@infradead.org/)**
+
+> I'm slowly crawling back out of the hole and trying to get back to work.
+> Availability is still low on my end, but I'll try and respond to some email.
+>
+
+**[v1: sched/fair|isolation: Correctly clear nohz.[nr_cpus|idle_cpus_mask] for isolated CPUs](http://lore.kernel.org/lkml/20240403150543.2793354-1-pierre.gondois@arm.com/)**
+
+> Zhang Rui reported that find_new_ilb() was iterating over CPUs in
+> isolated cgroup partitions. This triggered spurious wakeups for
+> theses CPUs.
+>
+
+**[v1: sched/pi: Reweight fair_policy() tasks when inheriting prio](http://lore.kernel.org/lkml/20240403005930.1587032-1-qyousef@layalina.io/)**
+
+> For fair tasks inheriting the priority (nice) without reweighting is
+> a NOP as the task's share won't change.
+>
+
+### 内存管理
+
+**[v1: mm,swap: add document about RCU read lock and swapoff interaction](http://lore.kernel.org/linux-mm/20240407065450.498821-1-ying.huang@intel.com/)**
+
+> During reviewing a patch to fix the race condition between
+> free_swap_and_cache() and swapoff() [1], it was found that the
+> document about how to prevent racing with swapoff isn't clear enough.
+> Especially RCU read lock can prevent swapoff from freeing data
+> structures. So, the document is added as comments.
+>
+
+**[v1: mm/mmap: make accountable_mapping return bool](http://lore.kernel.org/linux-mm/20240407063843.804274-1-gehao@kylinos.cn/)**
+
+> accountable_mapping can return bool,so we change it
+>
+
+**[v1: mm/userfaultfd: Allow hugetlb change protection upon poison entry](http://lore.kernel.org/linux-mm/20240405231920.1772199-1-peterx@redhat.com/)**
+
+> After UFFDIO_POISON, there can be two kinds of hugetlb pte markers, either
+> the POISON one or UFFD_WP one.
+>
+
+**[v1: mm: Convert pagecache_isize_extended to use a folio](http://lore.kernel.org/linux-mm/20240405180038.2618624-1-willy@infradead.org/)**
+
+> Remove four hidden calls to compound_head(). Also exit early if the
+> filesystem block size is >= PAGE_SIZE instead of just equal to PAGE_SIZE.
+>
+
+**[v1: Documentation/admin-guide/sysctl/vm.rst adding the importance of NUMA-node count to documentation](http://lore.kernel.org/linux-mm/20240405164920.2844-1-mcassell411@gmail.com/)**
+
+> If any bits are set in node_reclaim_mode (tunable via
+> /proc/sys/vm/zone_reclaim_mode) within get_pages_from_freelist(), then
+> page allocations start getting early access to reclaim via the
+> node_reclaim() code path when memory pressure increases. This behavior
+> provides the most optimization for multiple NUMA node machines.
+>
+
+**[v1: selftests: Replace "Bail out" with "Error" in ksft_exit_fail_msg()](http://lore.kernel.org/linux-mm/20240405131748.1582646-1-usama.anjum@collabora.com/)**
+
+> "Bail out! " is not descriptive. It rather should be: "Failed: " and
+> then this added prefix doesn't need to be added everywhere. Usually in
+> the logs, we are searching for "Failed" or "Error" instead of "Bail
+> out" so it must be replace.
+>
+
+**[v1: mm: set pageblock_order to HPAGE_PMD_ORDER in case with !CONFIG_HUGETLB_PAGE but THP enabled](http://lore.kernel.org/linux-mm/3d57d253070035bdc0f6d6e5681ce1ed0e1934f7.1712286863.git.baolin.wang@linux.alibaba.com/)**
+
+> As Vlastimil suggested in previous discussion[1], it doesn't make sense to set
+> pageblock_order as MAX_PAGE_ORDER when hugetlbfs is not enabled and THP is enabled.
+> Instead, it should be set to HPAGE_PMD_ORDER.
+>
+
+**[v4: mm: add per-order mTHP alloc and swpout counters](http://lore.kernel.org/linux-mm/20240405102704.77559-1-21cnbao@gmail.com/)**
+
+> The patchset introduces a framework to facilitate mTHP counters, starting
+> with the allocation and swap-out counters. Currently, only four new nodes
+> are appended to the stats directory for each mTHP size.
+>
+
+**[v3: DAMON based tiered memory management for CXL memory](http://lore.kernel.org/linux-mm/20240405060858.2818-1-honggyu.kim@sk.com/)**
+
+> There was an RFC IDEA "DAMOS-based Tiered-Memory Management" previously
+> posted at [1].
+>
+> It says there is no implementation of the demote/promote DAMOS action
+> are made. This RFC is about its implementation for physical address
+> space.
+>
+
+**[v11: Improved Memory Tier Creation for CPUless NUMA Nodes](http://lore.kernel.org/linux-mm/20240405000707.2670063-1-horenchuang@bytedance.com/)**
+
+> When a memory device, such as CXL1.1 type3 memory, is emulated as
+> normal memory (E820_TYPE_RAM), the memory device is indistinguishable from
+> normal DRAM in terms of memory tiering with the current implementation.
+> The current memory tiering assigns all detected normal memory nodes to
+> the same DRAM tier.
+>
+
+**[v1: userfaultfd: change src_folio after ensuring it's unpinned in UFFDIO_MOVE](http://lore.kernel.org/linux-mm/20240404171726.2302435-1-lokeshgidra@google.com/)**
+
+> Commit d7a08838ab74 ("mm: userfaultfd: fix unexpected change to src_folio
+> when UFFDIO_MOVE fails") moved the src_folio->{mapping, index} changing
+> to after clearing the page-table and ensuring that it's not pinned. This
+> avoids failure of swapout+migration and possibly memory corruption.
+>
+
+**[v1: s390: page_mapcount(), page_has_private() and PG_arch_1](http://lore.kernel.org/linux-mm/20240404163642.1125529-1-david@redhat.com/)**
+
+> On my journey to remove page_mapcount(), I got hooked up on other folio
+> cleanups that Willy most certainly will enjoy.
+>
+
+**[v1: selftests: add ksft_exit_fail_perror()](http://lore.kernel.org/linux-mm/20240404161433.114497-1-usama.anjum@collabora.com/)**
+
+> In this series, ksft_exit_fail_perror() is being added which is helper
+> function on top of ksft_exit_fail_msg(). It prints errno and its string
+> form always.
+>
+
+**[v9: net-next: net: intel: start The Great Code Dedup + Page Pool for iavf](http://lore.kernel.org/linux-mm/20240404154402.3581254-1-aleksander.lobakin@intel.com/)**
+
+> Here's a two-shot: introduce {,Intel} Ethernet common library (libeth and
+> libie) and switch iavf to Page Pool. Details are in the commit messages;
+> here's a summary
+>
+
+**[v1: Make {virt, phys, page, pfn} translation work with KFENCE for LoongArch](http://lore.kernel.org/linux-mm/20240404133642.971583-1-chenhuacai@loongson.cn/)**
+
+> On LoongArch kmalloc() range is DMW-mapped rather than TLB-mapped, so
+> KFENCE remap __kfence_pool to the TLB-mappd range.
+>
+
+**[v1: kasan: hw_tags: include linux/vmalloc.h](http://lore.kernel.org/linux-mm/20240404124435.3121534-1-arnd@kernel.org/)**
+
+> This header is no longer included implicitly and instead needs to be
+> pulled in directly
+>
+
+**[v4: Memory management patches needed by Rust Binder](http://lore.kernel.org/linux-mm/20240404-alice-mm-v4-0-49a84242cf02@google.com/)**
+
+> This patchset contains some abstractions needed by the Rust
+> implementation of the Binder driver for passing data between userspace,
+> kernelspace, and directly into other processes.
+>
+
+**[v13: mm/gup: Introduce memfd_pin_folios() for pinning memfd folios](http://lore.kernel.org/linux-mm/20240404073053.3073706-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.
+>
+
+**[v2: SLUB: improve filling cpu partial a bit in get_partial_node()](http://lore.kernel.org/linux-mm/20240404055826.1469415-1-xiongwei.song@windriver.com/)**
+
+> This series is to remove the unnecessary check for filling cpu partial
+> and improve the readability.
+>
+
+**[v1: khugepaged folio conversions](http://lore.kernel.org/linux-mm/20240403171838.1445826-1-willy@infradead.org/)**
+
+> We've been kind of hacking piecemeal at converting khugepaged to use
+> folios instead of compound pages, and so this patchset is a little
+> larger than it should be as I undo some of our wrong moves in the past.
+> In particular, collapse_file() now consistently uses 'new_folio' for the
+> freshly allocated folio and 'folio' for the one that's currently in use.
+>
+
+**[v1: Use folio APIs in procfs](http://lore.kernel.org/linux-mm/20240403171456.1445117-1-willy@infradead.org/)**
+
+> Not sure whether Andrew or Christian will want to take this set of
+> fixes. We're down to very few users of the PageFoo macros, with proc
+> being a major user. After this patchset and another patchset I have
+> for khugepaged, we can get rid of PageActive, PageReadahead and
+> PageSwapBacked.
+>
+
+**[v1: mm: page_alloc: use the correct THP order for THP PCP](http://lore.kernel.org/linux-mm/a25c9e14cd03907d5978b60546a69e6aa3fc2a7d.1712151833.git.baolin.wang@linux.alibaba.com/)**
+
+> Commit 44042b449872 ("mm/page_alloc: allow high-order pages to be stored
+> on the per-cpu lists") extends the PCP allocator to store THP pages, and
+> it determines whether to cache THP pags in PCP by comparing with pageblock_order.
+> But the pageblock_order is not always equal to THP order, it might also
+> be MAX_PAGE_ORDER, which could prevent PCP from caching THP pages.
+>
+
+**[v6: Swap-out mTHP without splitting](http://lore.kernel.org/linux-mm/20240403114032.1162100-1-ryan.roberts@arm.com/)**
+
+> This series adds support for swapping out multi-size THP (mTHP) without needing
+> to first split the large folio via split_huge_page_to_list_to_order(). It
+> closely follows the approach already used to swap-out PMD-sized THP.
+>
+
+**[v3: support multi-size THP numa balancing](http://lore.kernel.org/linux-mm/cover.1712132950.git.baolin.wang@linux.alibaba.com/)**
+
+> This patchset tries to support mTHP numa balancing, as a simple solution
+> to start, the NUMA balancing algorithm for mTHP will follow the THP strategy
+> as the basic support. Please find details in each patch.
+>
+
+**[v2: arch/mm/fault: accelerate pagefault when badaccess](http://lore.kernel.org/linux-mm/20240403083805.1818160-1-wangkefeng.wang@huawei.com/)**
+
+> After VMA lock-based page fault handling enabled, if bad access met
+> under per-vma lock, it will fallback to mmap_lock-based handling,
+> so it leads to unnessary mmap lock and vma find again. A test from
+> lmbench shows 34% improve after this changes on arm64,
+>
+
+**[v3: mm: add per-order mTHP alloc_success and alloc_fail counters](http://lore.kernel.org/linux-mm/20240403035502.71356-1-21cnbao@gmail.com/)**
+
+> Profiling a system blindly with mTHP has become challenging due
+> to the lack of visibility into its operations. Presenting the
+> success rate of mTHP allocations appears to be pressing need.
+>
+
+### 文件系统
+
+**[v14: Landlock: IOCTL support](http://lore.kernel.org/linux-fsdevel/20240405214040.101396-1-gnoack@google.com/)**
+
+> Make ioctl(2) requests for device files restrictable with Landlock,
+> in a way that is useful for real-world applications.
+>
+
+**[v2: fs: Set file_handle::handle_bytes before referencing file_handle::f_handle](http://lore.kernel.org/linux-fsdevel/20240404211212.it.297-kees@kernel.org/)**
+
+> Since __counted_by(handle_bytes) was added to struct file_handle, we need
+> to explicitly set it in the one place it wasn't yet happening prior to
+> accessing the flex array "f_handle". For robustness also check for a
+> negative value for handle_bytes, which is possible for an "int", but
+> nothing appears to set.
+>
+
+**[v1: cifs: Add tracing for the cifs_tcon struct refcounting](http://lore.kernel.org/linux-fsdevel/3781554.1712245869@warthog.procyon.org.uk/)**
+
+> Add tracing for the refcounting/lifecycle of the cifs_tcon struct, marking
+>
+
+**[GIT PULL: bcachefs repair code for rc3](http://lore.kernel.org/linux-fsdevel/nqkz5ed4k5vhhnmr5m32jydfgnon3hv7rj2vl6jywz6h44cjqp@olraxajp3avu/)**
+
+> The following changes since commit b3c7fd35c03c17a950737fb56a06b730a7962d28:
+>
+> bcachefs: On emergency shutdown, print out current journal sequence number (2024-04-01 01:07:24 -0400)
+>
+
+**[v1: More GFS2 folio conversions](http://lore.kernel.org/linux-fsdevel/20240403172400.1449213-1-willy@infradead.org/)**
+
+> Yet more gfs2 folio conversions. As usual, compile tested only.
+> The third patch is a bit more "interesting" than most.
+>
+
+**[[RESEND]v3: security: Place security_path_post_mknod() where the original IMA call was](http://lore.kernel.org/linux-fsdevel/20240403090749.2929667-1-roberto.sassu@huaweicloud.com/)**
+
+> Commit 08abce60d63f ("security: Introduce path_post_mknod hook")
+> introduced security_path_post_mknod(), to replace the IMA-specific call to
+> ima_post_path_mknod().
+>
+
+**[v1: exfat: move extend valid_size into ->page_mkwrite()](http://lore.kernel.org/linux-fsdevel/PUZPR04MB6316A7351B69621BA899844F813D2@PUZPR04MB6316.apcprd04.prod.outlook.com/)**
+
+> It is not a good way to extend valid_size to the end of the
+> mmap area by writing zeros in mmap. Because after calling mmap,
+> no data may be written, or only a small amount of data may be
+> written to the head of the mmap area.
+>
+
+**[v3: fiemap extension for more physical information](http://lore.kernel.org/linux-fsdevel/cover.1712126039.git.sweettea-kernel@dorminy.me/)**
+
+> For many years, various btrfs users have written programs to discover
+> the actual disk space used by files, using root-only interfaces.
+> However, this information is a great fit for fiemap: it is inherently
+> tied to extent information, all filesystems can use it, and the
+> capabilities required for FIEMAP make sense for this additional
+> information also.
+>
+
+**[GIT PULL: security changes for v6.9-rc3](http://lore.kernel.org/linux-fsdevel/20240402141145.2685631-1-roberto.sassu@huaweicloud.com/)**
+
+> A single bug fix to address a kernel panic in the newly introduced function
+> security_path_post_mknod.
+>
+> PS: sorry for the email mismatch, @huawei.com emails resent from the
+> mailing list are classified by Gmail as spam, we are working on
+> fixing it.
+>
+
+**[v2: fuse: allow FUSE drivers to declare themselves free from outside changes](http://lore.kernel.org/linux-fsdevel/20240402-setlease-v2-1-b098a5f9295d@kernel.org/)**
+
+> Traditionally, we've allowed people to set leases on FUSE inodes. Some
+> FUSE drivers are effectively local filesystems and should be fine with
+> kernel-internal lease support. Others are backed by a network server
+> that may have multiple clients, or may be backed by something non-file
+> like entirely. On those, we don't want to allow leases.
+>
+
+**[GIT PULL: security changes for v6.9-rc3](http://lore.kernel.org/linux-fsdevel/20240402092108.2520373-1-roberto.sassu@huaweicloud.com/)**
+
+> I have a small bug fix for this kernel version. Please pull.
+>
+> PS: sorry for the email mismatch, @huawei.com emails resent from the
+> mailing list are classified by Gmail as spam, we are working on
+> fixing it.
+>
+
+**[v2: security: Handle dentries without inode in security_path_post_mknod()](http://lore.kernel.org/linux-fsdevel/20240402081805.2491789-1-roberto.sassu@huaweicloud.com/)**
+
+> Commit 08abce60d63fi ("security: Introduce path_post_mknod hook")
+> introduced security_path_post_mknod(), to replace the IMA-specific call to
+> ima_post_path_mknod().
+>
+
+**[v2: vmcore: replace strncpy with strscpy_pad](http://lore.kernel.org/linux-fsdevel/20240401-strncpy-fs-proc-vmcore-c-v2-1-dd0a73f42635@google.com/)**
+
+> strncpy() is in the process of being replaced as it is deprecated [1].
+> We should move towards safer and less ambiguous string interfaces.
+>
+
+**[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: net-next: First try to replace page_frag with page_frag_cache](http://lore.kernel.org/netdev/20240407130850.19625-1-linyunsheng@huawei.com/)**
+
+> This patchset tries to unfiy the page frag implementation
+> by replacing page_frag with page_frag_cache for sk_page_frag()
+> first.
+>
+
+**[v2: net-next: net: display more skb fields in skb_dump()](http://lore.kernel.org/netdev/20240407080606.3153359-1-edumazet@google.com/)**
+
+> Print these additional fields in skb_dump() to ease debugging.
+>
+
+
+**[v4: net-next: net: Add generic support for netdev LEDs](http://lore.kernel.org/netdev/20240406-v6-8-0-net-next-mv88e6xxx-leds-v4-v4-0-eb97665e7f96@lunn.ch/)**
+
+> For some devices, the MAC controls the LEDs in the RJ45 connector, not
+> the PHY. This patchset provides generic support for such LEDs, and
+> adds the first user, mv88e6xxx.
+>
+
+**[v3: RDMA/mana_ib: Add flex array to struct mana_cfg_rx_steer_req_v2](http://lore.kernel.org/netdev/AS8PR02MB72374BD1B23728F2E3C3B1A18B022@AS8PR02MB7237.eurprd02.prod.outlook.com/)**
+
+> The "struct mana_cfg_rx_steer_req_v2" uses a dynamically sized set of
+> trailing elements. Specifically, it uses a "mana_handle_t" array. So,
+> use the preferred way in the kernel declaring a flexible array [1].
+>
+
+**[v1: net: change maximum number of UDP segments to 128](http://lore.kernel.org/netdev/20240406082513.78692-1-yuri.benditovich@daynix.com/)**
+
+> Earlier commit fc8b2a619469378 ("net: more strict VIRTIO_NET_HDR_GSO_UDP_L4 validation")
+> added check of potential number of UDP segment vs UDP_MAX_SEGMENTS
+> in linux/virtio_net.h.
+>
+
+**[v2: net-next: mptcp: add reset reason options in some places](http://lore.kernel.org/netdev/20240406014848.71739-1-kerneljasonxing@gmail.com/)**
+
+> The reason codes are handled in two ways nowadays (quoting Mat Martineau):
+> 1. Sending in the MPTCP option on RST packets when there is no subflow
+> context available (these use subflow_add_reset_reason() and directly call
+> a TCP-level send_reset function)
+> 2. The "normal" way via subflow->reset_reason. This will propagate to both
+> the outgoing reset packet and to a local path manager process via netlink
+> in mptcp_event_sub_closed()
+>
+
+**[v2: net: af_unix: Clear stale u->oob_skb.](http://lore.kernel.org/netdev/20240405221057.2406-1-kuniyu@amazon.com/)**
+
+> syzkaller started to report deadlock of unix_gc_lock after commit
+> it just uncovers the bug that has been there since commit 314001f0bf92
+> ("af_unix: Add OOB support").
+>
+
+**[v1: net-next: ipv4: Set scope explicitly in ip_route_output().](http://lore.kernel.org/netdev/1f3c874fb825cdc030f729d2e48e6f45f3e3527f.1712347466.git.gnault@redhat.com/)**
+
+> Add a "scope" parameter to ip_route_output() so that callers don't have
+> to override the tos parameter with the RTO_ONLINK flag if they want a
+> local scope.
+>
+
+**[[net-next,RFC PATCH 0/5] Configuring NAPI instance for a queue](http://lore.kernel.org/netdev/171234737780.5075.5717254021446469741.stgit@anambiarhost.jf.intel.com/)**
+
+> Support user configurability of queue<->NAPI association. The netdev-genl
+> interface is extended with 'queue-set' command. Currently, the set
+> command enables associating a NAPI ID for a queue, but can also be extended
+> to support configuring other attributes. To set the NAPI attribute, the
+> command requires the queue identifiers and the ID of the NAPI instance that
+> the queue has to be associated with.
+>
+
+**[v2: net-next: ipvlan: handle NETDEV_DOWN event](http://lore.kernel.org/netdev/1712340972-13643-1-git-send-email-venkat.x.venkatsubra@oracle.com/)**
+
+> In case of stacked devices, to help propagate the down
+> link state from the parent/root device (to this leaf device),
+> handle NETDEV_DOWN event like it is done now for NETDEV_UP.
+>
+
+**[v1: net-next: mptcp: add last time fields in mptcp_info](http://lore.kernel.org/netdev/20240405-upstream-net-next-20240405-mptcp-last-time-info-v1-0-52dc49453649@kernel.org/)**
+
+> These patches from Geliang add support for the "last time" field in
+> MPTCP Info, and verify that the counters look valid.
+>
+
+**[v6: ipsec-next: xfrm: Add Direction to the SA in or out](http://lore.kernel.org/netdev/a53333717022906933e9113980304fa4717118e9.1712320696.git.antony.antony@secunet.com/)**
+
+> This patch introduces the 'dir' attribute, 'in' or 'out', to the
+> xfrm_state, SA, enhancing usability by delineating the scope of values
+> based on direction. An input SA will now exclusively encompass values
+> pertinent to input, effectively segregating them from output-related
+> values. This change aims to streamline the configuration process and
+> improve the overall clarity of SA attributes.
+>
+
+**[v1: wifi: Un-embed ath10k and ath11k dummy netdev](http://lore.kernel.org/netdev/20240405122123.4156104-1-leitao@debian.org/)**
+
+> struct net_device shouldn't be embedded into any structure, instead,
+> the owner should use the private space to embed their state into
+> net_device.
+>
+
+**[v1: net-next: XYZ: Handle HAS_IOPORT dependencies](http://lore.kernel.org/netdev/20240405111831.3881080-1-schnelle@linux.ibm.com/)**
+
+> This is a follow up in my ongoing effort of making inb()/outb() and
+> similar I/O port accessors compile-time optional. Previously I sent this
+> as a treewide series titled "treewide: Remove I/O port accessors for
+> HAS_IOPORT=n" with the latest being its 5th version[0]. With a significant
+> subset of patches merged I've changed over to per-subsystem series. These
+> series are stand alone and should be merged via the relevant tree such
+> that with all subsystems complete we can follow this up with the final
+> patch that will make the I/O port accessors compile-time optional.
+>
+
+**[v1: net-next: tcp: more struct tcp_sock adjustments](http://lore.kernel.org/netdev/20240405102926.170698-1-edumazet@google.com/)**
+
+> tp->recvmsg_inq is used from tcp recvmsg() thus should
+> be in tcp_sock_read_rx group.
+>
+> tp->tcp_clock_cache and tp->tcp_mstamp are written
+> both in rx and tx paths, thus are better placed
+> in tcp_sock_write_txrx group.
+>
+
+**[v2: Bluetooth: keep LE flow credits when recvbuf full](http://lore.kernel.org/netdev/20240405102551.114999-1-surban@surban.net/)**
+
+> Previously LE flow credits were returned to the
+> sender even if the socket's receive buffer was
+> full. This meant that no back-pressure
+> was applied to the sender, thus it continued to
+> send data, resulting in data loss without any
+> error being reported.
+>
+
+**[v1: HW TX Rate Limiting Driver API](http://lore.kernel.org/netdev/20240405102313.GA310894@kernel.org/)**
+
+> This is follow-up to the ongoing discussion started by Intel to extend the
+> support for TX shaping H/W offload [1].
+>
+
+**[v6: iwl-next: Introduce ETH56G PHY model for E825C products](http://lore.kernel.org/netdev/20240405100648.144756-14-karol.kolacinski@intel.com/)**
+
+> E825C products have a different PHY model than E822, E823 and E810 products.
+> This PHY is ETH56G and its support is necessary to have functional PTP stack
+> for E825C products.
+>
+
+**[v3: net-next: Enhanced DCB and DSCP Support for KSZ Switches](http://lore.kernel.org/netdev/20240405095216.353829-1-o.rempel@pengutronix.de/)**
+
+> This patch series is aimed at improving support for DCB (Data Center
+> Bridging) and DSCP (Differentiated Services Code Point) on KSZ switches.
+>
+
+**[v1: l2cap: do not return LE flow credits when buf full](http://lore.kernel.org/netdev/20240405093834.63666-1-surban@surban.net/)**
+
+> Previously LE flow credits were returned to the
+> sender even if the socket's receive buffer was
+> full. This meant that no back-pressure
+> was applied to the sender, thus it continued to
+> send data, resulting in data loss without any
+> error being reported.
+>
+
+**[v1: pull request for net-next: batman-adv 2024-04-05](http://lore.kernel.org/netdev/20240405084549.20003-1-sw@simonwunderlich.de/)**
+
+> The following changes since commit 4cece764965020c22cff7665b18a012006359095:
+>
+> Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)
+>
+> are available in the Git repository at:
+>
+> git://git.open-mesh.org/linux-merge.git tags/batadv-next-pullrequest-20240405
+>
+
+**[v4: net-next: net: usb: ax88179_178a: non necessary second random mac address](http://lore.kernel.org/netdev/20240405082431.8329-1-jtornosm@redhat.com/)**
+
+> If the mac address can not be read from the device registers or the
+> devicetree, a random address is generated, but this was already done from
+> usbnet_probe, so it is not necessary to call eth_hw_addr_random from here
+> again to generate another random address.
+>
+
+**[v2: net-next: net: phy: micrel: lan8814: Enable PTP_PF_PEROUT](http://lore.kernel.org/netdev/20240405082257.1552821-1-horatiu.vultur@microchip.com/)**
+
+> Add support for PTP_PF_PEROUT to lan8814. First patch just enables
+> the LTC at probe time, such that it is not required to enable
+> timestamping to have the LTC enabled. While the second patch actually
+> adds support for PTP_PF_PEROUT.
+>
+
+**[v4: net-next: nfp: series of minor driver improvements](http://lore.kernel.org/netdev/20240405081547.20676-1-louis.peens@corigine.com/)**
+
+> This short series bundles two unrelated but small updates to the nfp
+> driver.
+>
+
+**[v2: net-next: Add support for flower actions mirred and redirect](http://lore.kernel.org/netdev/20240405-mirror-redirect-actions-v2-0-875d4c1927c8@microchip.com/)**
+
+> This series adds support for the two tc flower actions mirred and
+> redirect. Both actions are implemented by means of a port mask and a
+> mask mode. The mask mode controls how the mask is applied, and together
+> they are used by the switch to make a forwarding decision. Both actions
+> are configurable via the IS0 or IS2 VCAP's (ingress stage 0 and 2,
+> respectively).
+>
+
+**[v3: net-next: selftests: net: groundwork for YNL-based tests](http://lore.kernel.org/netdev/20240405024526.2752998-1-kuba@kernel.org/)**
+
+> Currently the options for writing networking tests are C, bash or
+> some mix of the two. YAML/Netlink gives us the ability to easily
+> interface with Netlink in higher level laguages. In particular,
+> there is a Python library already available in tree, under tools/net.
+> Add the scaffolding which allows writing tests using this library.
+>
+
+**[v1: net-next: mptcp: add reset reasons in skb in more cases](http://lore.kernel.org/netdev/20240405023914.54872-1-kerneljasonxing@gmail.com/)**
+
+> The first patch only removes the check while the second adds reasons into
+> some places.
+>
+
+**[v1: Add REQ_F_CQE_SKIP support to io_uring zerocopy](http://lore.kernel.org/netdev/cover.1712268605.git.ozlinuxc@gmail.com/)**
+
+> This patchset allows for io_uring zerocopy to support REQ_F_CQE_SKIP,
+> skipping the normal completion notification, but not the zerocopy buffer
+> release notification.
+>
+
+**[[PATCH RESEND net-next v3] net: cache for same cpu skb_attempt_defer_free](http://lore.kernel.org/netdev/00c5b7641c0c854b630a80038d0131d148c2c81a.1712270285.git.asml.silence@gmail.com/)**
+
+> Optimise skb_attempt_defer_free() when run by the same CPU the skb was
+> allocated on. Instead of __kfree_skb() -> kmem_cache_free() we can
+> disable softirqs and put the buffer into cpu local caches.
+>
+
+**[v2: net-next: net: enable SOCK_NOSPACE for UDP](http://lore.kernel.org/netdev/1da265997eb754925e30260eb4c5b15f3bff3b43.1712273351.git.asml.silence@gmail.com/)**
+
+> wake_up_poll() and variants can be expensive even if they don't actually
+> wake anything up as it involves disabling irqs, taking a spinlock and
+> walking through the poll list, which is fraught with cache bounces.
+> That might happen when someone waits for POLLOUT or even POLLIN as the
+> waitqueue is shared, even though we should be able to skip these
+> false positive calls when the tx queue is not full.
+>
+
+### 安全增强
+
+**[v1: xfs: replace deprecated strncpy with strscpy_pad](http://lore.kernel.org/linux-hardening/20240405-strncpy-xfs-split1-v1-1-3e3df465adb9@google.com/)**
+
+> strncpy() is deprecated for use on NUL-terminated destination strings
+> [1] and as such we should prefer more robust and less ambiguous string
+> interfaces.
+>
+>
+
+**[v1: kdb: replace deprecated strncpy](http://lore.kernel.org/linux-hardening/20240403-strncpy-kernel-debug-kdb-kdb_io-c-v1-1-7f78a08e9ff4@google.com/)**
+
+> All the other cases in this big switch statement use memcpy or other
+> methods for copying string data. Since the lengths are handled manually
+> and carefully, using strncpy() is may be misleading. It doesn't
+> guarantee any sort of NUL-termination on its destination buffer. At any
+> rate, it's deprecated [1] and we want to remove all its uses [2].
+>
+
+**[v2: Add sy7802 flash led driver](http://lore.kernel.org/linux-hardening/20240401-sy7802-v2-0-1138190a7448@apitzsch.eu/)**
+
+> This series introduces a driver for the Silergy SY7802 charge pump used
+> in the BQ Aquaris M5 and X5 smartphones.
+>
+
+**[v1: udf: replace deprecated strncpy/strcpy with strscpy](http://lore.kernel.org/linux-hardening/20240401-strncpy-fs-udf-super-c-v1-1-80cddab7a281@google.com/)**
+
+> strncpy() is deprecated for use on NUL-terminated destination strings
+> [1] and as such we should prefer more robust and less ambiguous string
+> interfaces. Also replace an instance of strcpy() which is also
+> deprecated.
+>
+
+**[v6: RESEND: arm64: qcom: add AIM300 AIoT board support](http://lore.kernel.org/linux-hardening/20240401093843.2591147-1-quic_tengfan@quicinc.com/)**
+
+> Add AIM300 AIoT support along with usb, ufs, regulators, serial, PCIe,
+> and PMIC functions.
+> AIM300 Series is a highly optimized family of modules designed to
+> support AIoT applications. It integrates QCS8550 SoC, UFS and PMIC
+> chip etc.
+>
+
+### 异步 IO
+
+**[v1: liburing: manpage improvements](http://lore.kernel.org/io-uring/20240403164413.16398-1-krisman@suse.de/)**
+
+> Just sweeping through github issues.
+>
+
+**[v1: io_uring: use private workqueue for exit work](http://lore.kernel.org/io-uring/5018c04c-ea11-4a52-a3fa-3b053aad355a@kernel.dk/)**
+
+> Rather than use the system unbound event workqueue, use an io_uring
+> specific one. This avoids dependencies with the tty, which also uses
+> the system_unbound_wq, and issues flushes of said workqueue from inside
+> its poll handling.
+>
+
+### Rust For Linux
+
+**[v1: Rust bindings for cpufreq and OPP core + sample driver](http://lore.kernel.org/rust-for-linux/cover.1712314032.git.viresh.kumar@linaro.org/)**
+
+> This RFC adds initial rust bindings for two subsystems, cpufreq and operating
+> performance points (OPP). The bindings are provided for most of the interface
+> these subsystems expose.
+>
+
+**[v1: rust: init: change the generated name of guard variables](http://lore.kernel.org/rust-for-linux/20240403194321.88716-1-benno.lossin@proton.me/)**
+
+> The initializers created by the `[try_][pin_]init!` macros utilize the
+> guard pattern to drop already initialized fields, when initialization
+> fails mid-way. These guards are generated to have the same name as the
+> field that they handle. To prevent namespacing issues when the field
+> name is the same as e.g. a constant name, add `__` as a prefix and
+> `_guard` as the suffix.
+>
+
+**[v4: Arc methods for linked list](http://lore.kernel.org/rust-for-linux/20240402-arc-for-list-v4-0-54db6440a9a9@google.com/)**
+
+> This patchset contains two useful methods for the Arc type. They will be
+> used in my Rust linked list implementation [1], which Rust Binder uses. See
+> the Rust Binder RFC [2] for more information.
+>
+
+**[v1: Rust 1.78.0 upgrade](http://lore.kernel.org/rust-for-linux/20240401212303.537355-1-ojeda@kernel.org/)**
+
+> This is the first upgrade without the `alloc` fork.
+>
+> In other words, it is based on top of Wedson's "Allocation APIs" series
+> [1], applied on top of the current `rust-next`, i.e. commit 9ffe2a730313
+> ("rust: str: add {make,to}_{upper,lower}case() to CString").
+>
+
+### BPF
+
+**[v2: bpf-next: selftests/bpf: Add F_SETFL for fcntl](http://lore.kernel.org/bpf/6af4240525d760d0d89ed374bfa28826c18c7a2c.1712478251.git.tanggeliang@kylinos.cn/)**
+
+> Incorrect arguments are passed to fcntl() in test_sockmap.c when invoking
+> it to set file status flags. If O_NONBLOCK is used as 2nd argument and
+> passed into fcntl, -EINVAL will be returned (See do_fcntl() in fs/fcntl.c).
+> The correct approach is to use F_SETFL as 2nd argument, and O_NONBLOCK as
+> 3rd one.
+>
+
+**[v1: bpf: dereference of null in __cgroup_bpf_query() function](http://lore.kernel.org/bpf/20240406151457.4774-1-m.lobanov@rosalinux.ru/)**
+
+> In the __cgroup_bpf_query() function, it is possible to dereference
+> the null pointer in the line id = prog->aux->id; since there is no
+> check for a non-zero value of the variable prog.
+>
+
+**[v4: libbpf: API to partially consume items from ringbuffer](http://lore.kernel.org/bpf/20240406092005.92399-1-andrea.righi@canonical.com/)**
+
+> Introduce ring__consume_n() and ring_buffer__consume_n() API to
+> partially consume items from one (or more) ringbuffer(s).
+>
+
+**[v2: bpf-next: bpf: Allow invoking kfuncs from BPF_PROG_TYPE_SYSCALL progs](http://lore.kernel.org/bpf/20240405143041.632519-1-void@manifault.com/)**
+
+> Currently, a set of core BPF kfuncs (e.g. bpf_task_*, bpf_cgroup_*,
+> bpf_cpumask_*, etc) cannot be invoked from BPF_PROG_TYPE_SYSCALL
+> programs. The whitelist approach taken for enabling kfuncs makes sense:
+> it not safe to call these kfuncs from every program type. For example,
+> it may not be safe to call bpf_task_acquire() in an fentry to
+> free_task().
+>
+
+**[v1: bpf-next: arm64, bpf: add internal-only MOV instruction to resolve per-CPU addrs](http://lore.kernel.org/bpf/20240405091707.66675-1-puranjay12@gmail.com/)**
+
+> Support an instruction for resolving absolute addresses of per-CPU
+> data from their per-CPU offsets. This instruction is internal-only and
+> users are not allowed to use them directly. They will only be used for
+> internal inlining optimizations for now between BPF verifier and BPF
+> JITs.
+>
+
+**[v1: bpf-next: bpf: allow bpf_for_each_map_elem() helper with different input maps](http://lore.kernel.org/bpf/20240405025536.18113-1-lulie@linux.alibaba.com/)**
+
+> Currently, taking different maps within a single bpf_for_each_map_elem
+> call is not allowed. For example the following codes cannot pass the
+> verifier (with error "tail_call abusing map_ptr"):
+>
+
+**[v2: bpf-next: selftests/bpf: Make sure libbpf doesn't enforce the signature of a func pointer.](http://lore.kernel.org/bpf/20240404232342.991414-1-thinker.li@gmail.com/)**
+
+> The verifier in the kernel ensures that the struct_ops operators behave
+> correctly by checking that they access parameters and context
+> appropriately. The verifier will approve a program as long as it correctly
+> accesses the context/parameters, regardless of its function signature.
+>
+
+**[GIT PULL: Networking for v6.9-rc3](http://lore.kernel.org/bpf/20240404211803.2089033-1-kuba@kernel.org/)**
+
+> The following changes since commit 50108c352db70405b3d71d8099d0b3adc3b3352c:
+>
+> Merge tag 'net-6.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2024-03-28 13:09:37 -0700)
+>
+
+**[v1: net: xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING](http://lore.kernel.org/bpf/20240404202738.3634547-1-edumazet@google.com/)**
+
+> syzbot reported an illegal copy in xsk_setsockopt() [1]
+>
+> Make sure to validate setsockopt() @optlen parameter.
+>
+
+**[v5: bpf-next: bpftool: Mount bpffs on provided dir instead of parent dir](http://lore.kernel.org/bpf/20240404192219.52373-1-icegambit91@gmail.com/)**
+
+> When pinning programs/objects under PATH (eg: during "bpftool prog
+> loadall") the bpffs is mounted on the parent dir of PATH in the
+> following situations:
+> - the given dir exists but it is not bpffs.
+> - the given dir doesn't exist and the parent dir is not bpffs.
+>
+
+**[v5: kallsyms: rework symbol lookup return codes](http://lore.kernel.org/bpf/20240404143424.3279752-1-arnd@kernel.org/)**
+
+> This originally showed up while building with -O3, but later started
+> happening in other configurations as well, depending on inlining
+> decisions. The underlying issue is that the local 'name' variable is
+> always initialized to the be the same as 'buffer' in the called functions
+> that fill the buffer, which gcc notices while inlining, though it could
+> see that the address check always skips the copy.
+>
+
+**[v1: bpf: x86: avoid link error with CONFIG_SMP=n](http://lore.kernel.org/bpf/20240404123346.2661488-1-arnd@kernel.org/)**
+
+> On UP systems, this_cpu_off is not defined, so the new percpu code in bpf
+> fails to link:
+>
+> x86_64-linux-ld: vmlinux.o: in function `do_jit':
+> bpf_jit_comp.c:(.text+0xbab14): undefined reference to `this_cpu_off'
+>
+> Use offset zero on UP builds instead.
+>
+
+**[v14: net-next: Introducing P4TC (series 1)](http://lore.kernel.org/bpf/20240404122338.372945-1-jhs@mojatatu.com/)**
+
+> This is the first patchset of two. In this patch we are submitting 15 which
+> cover the minimal viable P4 PNA architecture.
+>
+
+**[v3: net-next: allocate dummy device dynamically](http://lore.kernel.org/bpf/20240404114854.2498663-1-leitao@debian.org/)**
+
+> struct net_device shouldn't be embedded into any structure, instead,
+> the owner should use the private space to embed their state into
+> net_device.
+>
+
+**[v1: bpf-next: bpf: handle CONFIG_SMP=n configuration in x86 BPF JIT](http://lore.kernel.org/bpf/20240404034726.2766740-1-andrii@kernel.org/)**
+
+> On non-SMP systems, there is no "per-CPU" data, it's just global data.
+> So in such case just don't do this_cpu_off-based per-CPU address adjustment.
+>
+> Closes: https://lore.kernel.org/oe-kbuild-all/202404040951.d4CUx5S6-lkp@intel.com/
+>
+
+**[v3: bpf-next: Inline bpf_get_branch_snapshot() BPF helper](http://lore.kernel.org/bpf/20240404002640.1774210-1-andrii@kernel.org/)**
+
+> Implement inlining of bpf_get_branch_snapshot() BPF helper using generic BPF
+> assembly approach. This allows to reduce LBR record usage right before LBR
+> records are captured from inside BPF program.
+>
+
+**[v1: bpf-next: bpf: pack struct bpf_fib_lookup](http://lore.kernel.org/bpf/20240403123303.1452184-1-aspsk@isovalent.com/)**
+
+> The struct bpf_fib_lookup is supposed to be of size 64. A recent commit
+> a static assertion to check this property so that future changes to the
+> structure will not accidentally break this assumption.
+>
+
+**[v8: net-next: Device Memory TCP](http://lore.kernel.org/bpf/20240403002053.2376017-1-almasrymina@google.com/)**
+
+> This revision largely rebases on top of net-next and addresses the feedback
+> RFCv6 received from folks, namely Jakub, Yunsheng, Arnd, David, & Pavel.
+>
+
+**[v1: bpf: replace deprecated strncpy with strscpy](http://lore.kernel.org/bpf/20240402-strncpy-kernel-bpf-core-c-v1-1-7cb07a426e78@google.com/)**
+
+> strncpy() is deprecated for use on NUL-terminated destination strings
+> [1] and as such we should prefer more robust and less ambiguous string
+> interfaces.
+>
+
+**[v1: perf lock contention: Add a missing NULL check](http://lore.kernel.org/bpf/20240402184543.898923-1-namhyung@kernel.org/)**
+
+> I got a report for a failure in BPF verifier on a recent kernel with
+> perf lock contention command. It checks task->sighand->siglock without
+> checking if sighand is NULL or not. Let's add one.
+>
+
+**[v2: libbpf: use local bpf_helpers.h include](http://lore.kernel.org/bpf/q5d5bgc6vty2fmaazd5e73efd6f5bhiru2le6fxn43vkw45bls@fhlw2s5ootdb/)**
+
+> Commit 20d59ee55172fdf6 ("libbpf: add bpf_core_cast() macro") added a
+> bpf_helpers include in bpf_core_read.h as a system include. Usually, the
+> includes are local, though, like in bpf_tracing.h. This commit adjusts
+> the include to be local as well.
+>
+
+**[v3: bpf-next: Selftests/xsk: Test with maximum and minimum HW ring size configurations](http://lore.kernel.org/bpf/20240402114529.545475-1-tushar.vyavahare@intel.com/)**
+
+> Please find enclosed a patch set that introduces enhancements and new test
+> cases to the selftests/xsk framework. These test the robustness and
+> reliability of AF_XDP across both minimal and maximal ring size
+> configurations.
+>
+
+**[v1: bpf-next: selftests/bpf: Add pid limit for mptcpify prog](http://lore.kernel.org/bpf/8987e2938e15e8ec390b85b5dcbee704751359dc.1712054986.git.tanggeliang@kylinos.cn/)**
+
+> In order to prevent mptcpify prog from affecting the running results
+> of other BPF tests, a pid limit was added to restrict it from only
+> modifying its own program.
+>
+
+**[v6: net-next: Add minimal XDP support to TI AM65 CPSW Ethernet driver](http://lore.kernel.org/bpf/20240223-am65-cpsw-xdp-basic-v6-0-212eeff5bd5f@baylibre.com/)**
+
+> This patch adds XDP support to TI AM65 CPSW Ethernet driver.
+>
+
+**[v3: bpf-next: bpf: add a verbose message if map limit is reached](http://lore.kernel.org/bpf/20240402073347.195920-1-aspsk@isovalent.com/)**
+
+> When more than 64 maps are used by a program and its subprograms the
+> verifier returns -E2BIG. Add a verbose message which highlights the
+> source of the error and also print the actual limit.
+>
+
+**[v2: bpf-next: selftests/bpf: Skip test when perf_event_open returns EOPNOTSUPP](http://lore.kernel.org/bpf/20240402073029.1299085-1-pulehui@huaweicloud.com/)**
+
+> When testing send_signal and stacktrace_build_id_nmi using the riscv sbi
+> pmu driver without the sscofpmf extension or the riscv legacy pmu
+> driver, they encountered failures as follows:
+>
+
+**[v1: bpf-next: export send_byte and send_recv_data](http://lore.kernel.org/bpf/cover.1712039441.git.tanggeliang@kylinos.cn/)**
+
+> Export two helpers used by MPTCP BPF selftests.
+>
+
+**[v1: bpf-next: bpf: Improve program stats run-time calculation](http://lore.kernel.org/bpf/20240402034010.25060-1-josef@netflix.com/)**
+
+> This patch improves the run-time calculation for program stats by
+> capturing the duration as soon as possible after the program returns.
+>
+
+**[v1: bpf-next: selftests/bpf: Using llvm may_goto inline asm for cond_break macro](http://lore.kernel.org/bpf/20240402025446.3215182-1-yonghong.song@linux.dev/)**
+
+> Currently, cond_break macro uses bytes to encode the may_goto insn.
+> Patch [1] in llvm implemented may_goto insn in BPF backend.
+> Replace byte-level encoding with llvm inline asm for better usability.
+> Using llvm may_goto insn is controlled by macro __BPF_FEATURE_MAY_GOTO.
+>
+
+**[v2: ftrace: make extra rcu_is_watching() validation check optional](http://lore.kernel.org/bpf/20240402022757.1067292-1-andrii@kernel.org/)**
+
+> Introduce CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING config option to
+> control whether ftrace low-level code performs additional
+> rcu_is_watching()-based validation logic in an attempt to catch noinstr
+> violations.
+>
+
+**[v5: perf/x86/amd: add LBR capture support outside of hardware events](http://lore.kernel.org/bpf/20240402022118.1046049-1-andrii@kernel.org/)**
+
+> Add AMD-specific implementation of perf_snapshot_branch_stack static call that
+> allows LBR capture from arbitrary points in the kernel. This is utilized by
+> BPF programs. See patch #3 for all the details.
+>
+
+## 周边技术动态
+
+### Qemu
+
+**[riscv disassembler error with pmpcfg0](http://lore.kernel.org/qemu-devel/183897139.5301881.1712168206289@mail.yahoo.com/)**
+
+> I've been using QEMU8 to collect instruction information on U-Boot + OpenSBI.
+>
+
+**[v3: target/riscv: raise an exception when CSRRS/CSRRC writes a read-only CSR](http://lore.kernel.org/qemu-devel/20240403070823.80897-1-yumin686@andestech.com/)**
+
+> Both CSRRS and CSRRC always read the addressed CSR and cause any read side
+> effects regardless of rs1 and rd fields. Note that if rs1 specifies a register
+> holding a zero value other than x0, the instruction will still attempt to write
+> the unmodified value back to the CSR and will cause any attendant side effects.
+>
+
+### U-Boot
+
+**[v3: riscv: add support for Milk-V Mars board](http://lore.kernel.org/u-boot/20240402084912.43228-1-heinrich.schuchardt@canonical.com/)**
+
+> The Milk-V Mars board is technically very close to the StarFive
+> VisionFive 2 board.
+>
+