From 9d3019d3c0f2b3fff0e5ab79f3a4cdead0061204 Mon Sep 17 00:00:00 2001 From: yooyoyo <11251868+yooyoyo@user.noreply.gitee.com> Date: Sun, 12 Feb 2023 04:02:53 +0000 Subject: [PATCH] update news/README.md. Signed-off-by: yooyoyo <11251868+yooyoyo@user.noreply.gitee.com> --- news/README.md | 844 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 844 insertions(+) diff --git a/news/README.md b/news/README.md index b3d15c4..e1be1a9 100644 --- a/news/README.md +++ b/news/README.md @@ -4,6 +4,850 @@ * [2022 年](2022.md) +## 20230212:第 33 期 + +### 内核动态 + +#### RISC-V 架构支持 + +* [v1: RISC-v: add a spin_shadow_stack declaration](http://lore.kernel.org/linux-riscv/20230210185945.915806-1-conor@kernel.org/) + + The patchwork automation reported a sparse complaint that + spin_shadow_stack was not declared and should be static: + ../arch/riscv/kernel/traps.c:335:15: warning: symbol 'spin_shadow_stack' was not declared. Should it be static? + +* [v3: irqchip/irq-sifive-plic: Add syscore callbacks for hibernation](http://lore.kernel.org/linux-riscv/20230210100122.80255-1-mason.huo@starfivetech.com/) + + The priority and enable registers of plic will be reset + during hibernation power cycle in poweroff mode, + add the syscore callbacks to save/restore those registers. + +* [v1: Add JH7110 MIPI DPHY RX support](http://lore.kernel.org/linux-riscv/20230210061713.6449-1-changhuang.liang@starfivetech.com/) + + This patchset adds power mipi dphy rx driver for the StarFive JH7110 SoC. + It use to transfer the CSI cameras data. The series has been tested on + the VisionFive 2 board. + +* [v1: clocksource/drivers/riscv: Refuse to probe on T-Head](http://lore.kernel.org/linux-riscv/20230209232302.25658-1-palmer@rivosinc.com/) + + As of d9f15a9de44a ("Revert "clocksource/drivers/riscv: Events are + stopped during CPU suspend"") this driver no longer functions correctly + for the T-Head firmware. That shouldn't impact any users, as we've got + a functioning driver that's higher priority, but let's just be safe and + ban it from probing at all. + +* [v4: RISC-v: Apply Zicboz to clear_page](http://lore.kernel.org/linux-riscv/20230209152628.129914-1-ajones@ventanamicro.com/) + + When the Zicboz extension is available we can more rapidly zero naturally + aligned Zicboz block sized chunks of memory. As pages are always page + aligned and are larger than any Zicboz block size will be, then + clear_page() appears to be a good candidate for the extension. + +* [v5: Basic pinctrl support for StarFive JH7110 RISC-V SoC](http://lore.kernel.org/linux-riscv/20230209143702.44408-1-hal.feng@starfivetech.com/) + + This patch series adds basic pinctrl support for StarFive JH7110 SoC. + +* [v13: riscv, mm: detect svnapot cpu support at runtime](http://lore.kernel.org/linux-riscv/20230209131647.17245-1-panqinglin00@gmail.com/) + + Svnapot is a RISC-V extension for marking contiguous 4K pages as a non-4K + page. This patch set is for using Svnapot in hugetlb fs and huge vmap. + +* [v1: riscv: hwcap: Don't alphabetize ISA extension IDs](http://lore.kernel.org/linux-riscv/20230209123636.123537-1-ajones@ventanamicro.com/) + + While the comment above the ISA extension ID definitions says + "Entries are sorted alphabetically.", this stopped being good + advice with commit d8a3d8a75206 ("riscv: hwcap: make ISA extension + ids can be used in asm"), as we now use macros instead of enums. + +* [v12: riscv, mm: detect svnapot cpu support at runtime](http://lore.kernel.org/linux-riscv/20230209035343.15282-1-panqinglin00@gmail.com/) + + Svnapot is a RISC-V extension for marking contiguous 4K pages as a non-4K + page. This patch set is for using Svnapot in hugetlb fs and huge vmap. + +* [v1: riscv: dts: nezha-d1: add gpio-line-names](http://lore.kernel.org/linux-riscv/20230208014504.18899-1-twoerner@gmail.com/) + + Add descriptive names so users can associate specific lines with their + respective pins on the 40-pin header according to the schematics found at: + + http://dl.linux-sunxi.org/D1/D1_Nezha_development_board_schematic_diagram_20210224.pdf + +* [GIT PULL: KVM/riscv changes for 6.3](http://lore.kernel.org/linux-riscv/CAAhSdy25NgCY23u=icRgcZpEZzNgJkyEN92KEVL8D-SvUwTBXg@mail.gmail.com/) + + We have the following KVM RISC-V changes for 6.3: + 1) Fix wrong usage of PGDIR_SIZE to check page sizes + 2) Fix privilege mode setting in kvm_riscv_vcpu_trap_redirect() + 3) Redirect illegal instruction traps to guest + 4) SBI PMU support for guest + +* [v6: KVM perf support](http://lore.kernel.org/linux-riscv/20230207095529.1787260-1-atishp@rivosinc.com/) + + This series extends perf support for KVM. The KVM implementation relies + on the SBI PMU extension and trap n emulation of hpmcounter CSRs. + The KVM implementation exposes the virtual counters to the guest and internally + manage the counters using kernel perf counters. + +* [v1: RISC-v: support some cryptography accelerations](http://lore.kernel.org/linux-riscv/20230206225846.1381789-1-heiko@sntech.de/) + + So this was my playground the last days. + + The base is v13 of the vector patchset but the first patches up to doing + the Zbc-based GCM GHash can also run without those. Of course the vector- + crypto extensions are also not ratified yet, hence the marking as RFC. + +* [v2: RISC-V Hardware Probing User Interface](http://lore.kernel.org/linux-riscv/20230206201455.1790329-1-evan@rivosinc.com/) + + These are very much up for discussion, as it's a pretty big new user + interface and it's quite a bit different from how we've historically + done things: this isn't just providing an ISA string to userspace, this + has its own format for providing information to userspace. + +* [v1: Add DMA driver for StarFive JH7110 SoC](http://lore.kernel.org/linux-riscv/20230206113811.23133-1-walker.chen@starfivetech.com/) + + This patch series adds dma support for the StarFive JH7110 RISC-V SoC. + The first patch adds device tree binding. The second patch includes dma + driver. The last patch adds device node of dma to JH7110 dts. + +#### 进程调度 + +* [v3: sched/fair: sanitize vruntime of entity being placed](http://lore.kernel.org/lkml/20230209193107.1432770-1-rkagan@amazon.de/) + + When a scheduling entity is placed onto cfs_rq, its vruntime is pulled + to the base level (around cfs_rq->min_vruntime), so that the entity + doesn't gain extra boost when placed backwards. + + However, if the entity being placed wasn't executed for a long time, its + vruntime may get too far behind (e.g. while cfs_rq was executing a + low-weight hog), which can inverse the vruntime comparison due to s64 overflow. + +* [v1: livepatch,sched: Add livepatch task switching to cond_resched()](http://lore.kernel.org/lkml/cover.1675969869.git.jpoimboe@kernel.org/) + + Fix patching stalls caused by busy kthreads. + +* [v1: sched: show cpu number when sched_show_task](http://lore.kernel.org/lkml/20230208124655.2592560-1-peng.fan@oss.nxp.com/) + + It would be helpful to show cpu number when dump task. Such as + when doing system suspend, we could know the failed freezing + process run on which cpu. + +* [v1: sched: sd_llc_id initialized](http://lore.kernel.org/lkml/20230207103636.13783-1-sunshouxin@chinatelecom.cn/) + + In my test,I use isolcpus to isolate cpu for specific, + and then I noticed different scenario when core binding. + +* [v3: sched: Introduce classes of tasks for load balance](http://lore.kernel.org/lkml/20230207051105.11575-1-ricardo.neri-calderon@linux.intel.com/) + + This is third version of this patchset. Previous versions can be found + here [1] and here [2]. For brevity, I did not include the cover letter + from the original posting. You can read it here [1]. + +* [v3: sched: pick_next_rt_entity(): check list_entry](http://lore.kernel.org/lkml/20230128-list-entry-null-check-sched-v3-1-b1a71bd1ac6b@diag.uniroma1.it/) + + Commit 326587b84078 ("sched: fix goto retry in pick_next_task_rt()") + removed any path which could make pick_next_rt_entity() return NULL. + However, BUG_ON(!rt_se) in _pick_next_task_rt() (the only caller of + pick_next_rt_entity()) still checks the error condition, which can + never happen, since list_entry() never returns NULL. + +* [v2: sched/deadline: Add more reschedule cases to prio_changed_dl()](http://lore.kernel.org/lkml/20230206140612.701871-1-vschneid@redhat.com/) + + On that kernel, it is quite easy to trigger using rt-tests's deadline_test + [1] with the test running on isolated CPUs (this reduces the chance of + something unrelated setting TIF_NEED_RESCHED on the idle tasks, making the + issue even more obvious as the hung task detector chimes in). + +#### 内存管理 + +* [GIT PULL: memblock: Revert "mm: Always release pages to the buddy allocator in memblock_free_late()."](http://lore.kernel.org/linux-mm/Y+dqPRXSqoP1x7u5@kernel.org/) + + The following changes since commit 4ec5183ec48656cec489c49f989c508b68b518e3: + + Linux 6.2-rc7 (2023-02-05 13:13:28 -0800) + + are available in the Git repository at: + + https://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock tags/fixes-2023-02-11 + +* [v1: New arch interfaces for manipulating multiple pages](http://lore.kernel.org/linux-mm/20230211033948.891959-1-willy@infradead.org/) + + Here's my latest draft of a new set of page table manipulation APIs. I've + only done alpha, arc and x86 (other than x86, I'm going alphabetically). + Before I go much further, some feedback might be a good idea. Or if + someone wants to volunteer to do their architecture ;-) + +* [v1: psi: reduce min window size to 50ms](http://lore.kernel.org/linux-mm/8b7a3270fe253de1cd2b71473e29394409b2a0f7.1676067791.git.quic_sudaraja@quicinc.com/) + + Few systems would require much finer-grained tracking of memory + pressure in the system using PSI mechanism. Reduce the minimum + allowable window size to be 50ms to increase the sampling rate + of PSI monitor for much faster response and reaction to memory + pressures in the system. With 50ms window size, the smallest + resolution of memory pressure that can be tracked is now 5ms. + +* [v1: mm: add tracepoints to ksm](http://lore.kernel.org/linux-mm/20230210214645.2720847-1-shr@devkernel.io/) + + This adds the following tracepoints to ksm: + - start / stop scan + - ksm enter / exit + - merge a page + - merge a page with ksm + - remove a page + - remove a rmap item + + This patch has been split off from the RFC patch series "mm: + process/cgroup ksm support". + +* [v2: bpf-next: bpf, mm: introduce cgroup.memory=nobpf](http://lore.kernel.org/linux-mm/20230210154734.4416-1-laoar.shao@gmail.com/) + + The bpf memory accouting has some known problems in contianer + environment, + + - The container memory usage is not consistent if there's pinned bpf + program + After the container restart, the leftover bpf programs won't account + to the new generation, so the memory usage of the container is not + consistent. This issue can be resolved by introducing selectable + memcg, but we don't have an agreement on the solution yet. + +* [v1: mm/memcg: Skip high limit check in root memcg](http://lore.kernel.org/linux-mm/20230210094550.5125-1-haifeng.xu@shopee.com/) + + The high limit checks the memory usage from given memcg to root memcg. + However, there is no limit in root memcg. So this check makes no sense + and we can ignore it. + +* [v2: fold per-CPU vmstats remotely](http://lore.kernel.org/linux-mm/20230209150150.380060673@redhat.com/) + + This is done using cmpxchg to manipulate the counters, + both CPU locally (via the account functions), + and remotely (via cpu_vm_stats_fold). + + Thanks to Aaron Tomlin for diagnosing issue 1 and writing + the initial patch series. + +* [v1: Writeback handling of pinned pages](http://lore.kernel.org/linux-mm/20230209121046.25360-1-jack@suse.cz/) + + since we are slowly getting into a state where folios used as buffers for + [R]DMA are detectable by folio_maybe_dma_pinned(), I figured it is time we also + address the original problems filesystems had with these pages [1] - namely + that page/folio private data can get reclaimed from the page while it is being + written to by the DMA and also that page contents can be modified while the + page is under writeback. + +* [v13: iov_iter: Improve page extraction (pin or just list)](http://lore.kernel.org/linux-mm/20230209102954.528942-1-dhowells@redhat.com/) + + Here are patches to provide support for extracting pages from an iov_iter + and to use this in the extraction functions in the block layer bio code. + +* [v2: mm/page_alloc: optimize find_suitable_fallback() and fallbacks array](http://lore.kernel.org/linux-mm/20230209101144.496144-1-yajun.deng@linux.dev/) + + There is no need to execute the next loop if it not return in the first + loop. So add a break at the end of the loop. + + At the same time, add !migratetype_is_mergeable() before the loop and + reduce the first index size from MIGRATE_TYPES to MIGRATE_PCPTYPES in + fallbacks array. + +* [v1: mm/page_alloc: optimize the loop in find_suitable_fallback()](http://lore.kernel.org/linux-mm/20230209024435.3392916-1-yajun.deng@linux.dev/) + + There is no need to execute the next loop if it not return in the first + loop. So add a break at the end of the loop. + + There are only three rows in fallbacks, so reduce the first index size + from MIGRATE_TYPES to MIGRATE_PCPTYPES. + +* [v1: Revert "slub: force on no_hash_pointers when slub_debug is enabled"](http://lore.kernel.org/linux-mm/20230208194712.never.999-kees@kernel.org/) + + Linking no_hash_pointers() to slub_debug has had a chilling effect + on using slub_debug features for security hardening, since system + builders are forced to choose between redzoning and heap address location + exposures. Instead, just require that the "no_hash_pointers" boot param + needs to be used to expose pointers during slub_debug reports. + +* [v1: Prevent ->map_pages from sleeping](http://lore.kernel.org/linux-mm/20230208145335.307287-1-willy@infradead.org/) + + In preparation for a larger patch series which will handle (some, easy) + page faults protected only by RCU, change the two filesystems which have + sleeping locks to not take them and hold the RCU lock around calls to + ->map_page to prevent other filesystems from adding sleeping locks. + +* [v1: Memory access profiler(IBS) driven NUMA balancing](http://lore.kernel.org/linux-mm/20230208073533.715-1-bharata@amd.com/) + + Some hardware platforms can provide information about memory accesses + that can be used to do optimal page and task placement on NUMA + systems. AMD processors have a hardware facility called Instruction- + Based Sampling (IBS) that can be used to gather specific metrics + related to instruction fetch and execution activity. + +* [v1: mm/damon/sysfs: make kobj_type structures constant](http://lore.kernel.org/linux-mm/20230207-kobj_type-damon-v1-1-9d4fea6a465b@weissschuh.net/) + + Since commit ee6d3dd4ed48 ("driver core: make kobj_type constant.") + the driver core allows the usage of const struct kobj_type. + + Take advantage of this to constify the structure definitions to prevent + modification at runtime. + +* [v1: mm: kfence: export kfence_enabled as global variables](http://lore.kernel.org/linux-mm/1675750519-1064-1-git-send-email-quic_zhenhuah@quicinc.com/) + + Export the variable to ease the judgement of whether kfence enabled + at runtime. It should be more precise than through kernel config + "CONFIG_KFENCE". + +* [v1: tmpfs: add the option to disable swap](http://lore.kernel.org/linux-mm/20230207025259.2522793-1-mcgrof@kernel.org/) + + Many folks suggest using tmpfs is not great because it can use swap. + That's not a good reason to *not* use tmpfs, what's just missing is just + the option to let you disable it. And so this does that, to enable that + and also let users experiment with it. + +#### 文件系统 + +* [v1: io_uring: add IORING_OP_READ[WRITE]_SPLICE_BUF](http://lore.kernel.org/linux-fsdevel/20230210153212.733006-1-ming.lei@redhat.com/) + + Add two OPs which buffer is retrieved via kernel splice for supporting + fuse/ublk zero copy. + + The 1st patch enhances direct pipe & splice for moving pages in kernel, + so that the two added OPs won't be misused, and avoid potential security hole. + +* [v1: zonefs: make kobj_type structure constant](http://lore.kernel.org/linux-fsdevel/20230210-kobj_type-zonefs-v1-1-9a9c5b40e037@weissschuh.net/) + + Since commit ee6d3dd4ed48 ("driver core: make kobj_type constant.") + the driver core allows the usage of const struct kobj_type. + + Take advantage of this to constify the structure definition to prevent + modification at runtime. + +* [v1: Add the test_dummy_encryption key on-demand](http://lore.kernel.org/linux-fsdevel/20230208062107.199831-1-ebiggers@kernel.org/) + + This series eliminates the call to fscrypt_destroy_keyring() from + __put_super(), which is causing confusion because it looks like (but + actually isn't) a sleep-in-atomic bug. See the thread "block: sleeping + in atomic warnings", i.e. + https://lore.kernel.org/linux-fsdevel/CAHk-=wg6ohuyrmLJYTfEpDbp2Jwnef54gkcpZ3-BYgy4C6UxRQ@mail.gmail.com + and its responses. + +* [v12: iov_iter: Improve page extraction (pin or just list)](http://lore.kernel.org/linux-fsdevel/20230207171305.3716974-1-dhowells@redhat.com/) + + Here are patches to provide support for extracting pages from an iov_iter + and to use this in the extraction functions in the block layer bio code. + +* [v4: Introduce Copy-On-Write to Page Table](http://lore.kernel.org/linux-fsdevel/20230207035139.272707-1-shiyn.lin@gmail.com/) + + [RUN] vmsplice() + unmap in child ... with hugetlb (2048 kB) + not ok 33 No leak from parent into child + + See the more information about anon cow hugetlb tests: + https://patchwork.kernel.org/project/linux-mm/patch/20220927110120.106906-5-david@redhat.com/ + +* [v1: vfs: Delay root FS switch after UMH completion](http://lore.kernel.org/linux-fsdevel/20230206171032.12801-1-mkoutny@suse.com/) + + We want to make sure no UMHs started with an old root survive into the + world with the new root (they may fail when it is not expected). + Therefore, insert a wait for existing UMHs termination (this assumes UMH + runtime is finite). + +* [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. + +#### 网络设备 + +* [v1: net-next: sock_map: dump socket map id via diag](http://lore.kernel.org/netdev/20230211201954.256230-1-xiyou.wangcong@gmail.com/) + + Currently there is no way to know which sockmap a socket has been added + to from outside, especially for that a socket can be added to multiple + sockmap's. We could dump this via socket diag, as shown below. + +* [v2: net-next: net: dsa: mt7530: add support for changing DSA master](http://lore.kernel.org/netdev/20230211184101.651462-1-richard@routerhints.com/) + + Add support for changing the master of a port on the MT7530 DSA subdriver. + +* [v5: net: ethernet: mtk_eth_soc: various enhancements](http://lore.kernel.org/netdev/cover.1676128246.git.daniel@makrotopia.org/) + + This series brings a variety of fixes and enhancements for mtk_eth_soc, + adds support for the MT7981 SoC and facilitates sharing the SGMII PCS + code between mtk_eth_soc and mt7530. + +* [v3: net-next: net: wwan: tmi: PCIe driver for MediaTek M.2 modem](http://lore.kernel.org/netdev/20230211083732.193650-1-yanchao.yang@mediatek.com/) + + TMI(T-series Modem Interface) is the PCIe host device driver for MediaTek's + modem. The driver uses the WWAN framework infrastructure to create the + following control ports and network interfaces for data transactions. + +* [v1: net-next: net: Kconfig.debug: wrap socket refcnt debug into an option](http://lore.kernel.org/netdev/20230211065153.54116-1-kerneljasonxing@gmail.com/) + + Since commit 463c84b97f24 ("[NET]: Introduce inet_connection_sock") + commented out the definition of SOCK_REFCNT_DEBUG and later another + patch deleted it, we need to enable it through defining it manually + somewhere. Wrapping it into an option in Kconfig.debug could make + it much clearer and easier for some developers to do things based on this change. + +* [v1: net: make kobj_type structures constant](http://lore.kernel.org/netdev/20230211-kobj_type-net-v1-0-e3bdaa5d8a78@weissschuh.net/) + + Since commit ee6d3dd4ed48 ("driver core: make kobj_type constant.") + the driver core allows the usage of const struct kobj_type. + + Take advantage of this to constify the structure definitions to prevent + modification at runtime. + +* [v4: net-next: ionic: on-chip descriptors](http://lore.kernel.org/netdev/20230211005017.48134-1-shannon.nelson@amd.com/) + + We start with a couple of house-keeping patches that were originally + presented for 'net', then we add support for on-chip descriptor rings + for tx-push, as well as adding support for rx-push. + +* [v1: net-next: selftests: forwarding: add a test for MAC Merge layer](http://lore.kernel.org/netdev/20230210221243.228932-1-vladimir.oltean@nxp.com/) + + The MAC Merge layer (IEEE 802.3-2018 clause 99) does all the heavy + lifting for Frame Preemption (IEEE 802.1Q-2018 clause 6.7.2), a TSN + feature for minimizing latency. + + Preemptible traffic is different on the wire from normal traffic in + incompatible ways. + +* [v1: iproute2-next: tc: m_ct: add support for helper](http://lore.kernel.org/netdev/ab1e6bfbefff74b2b4fe230162b198c38cf5b394.1676065393.git.lucien.xin@gmail.com/) + + This patch is to add the setup and dump for helper in tc ct action + in userspace, and the support in kernel was added in: + + https://lore.kernel.org/netdev/cover.1667766782.git.lucien.xin@gmail.com/ + +* [v1: net-next: net/sched: transition actions to pcpu stats and rcu](http://lore.kernel.org/netdev/20230210202725.446422-1-pctammela@mojatatu.com/) + + Following the work done for act_pedit[0], transition the remaining tc + actions to percpu stats and rcu, whenever possible. + Percpu stats make updating the action stats very cheap, while combining + it with rcu action parameters makes it possible to get rid of the per + action lock in the datapath. + +* [v1: net: net/sched: act_ctinfo: use percpu stats](http://lore.kernel.org/netdev/20230210200824.444856-1-pctammela@mojatatu.com/) + + The tc action act_ctinfo was using shared stats, fix it to use percpu stats + since bstats_update() must be called with locks or with a percpu pointer argument. + +* [v4: spi: Add support for stacked/parallel memories](http://lore.kernel.org/netdev/20230210193647.4159467-1-amit.kumar-mahapatra@amd.com/) + + This patch is in the continuation to the discussions which happened on + 'commit f89504300e94 ("spi: Stacked/parallel memories bindings")' for + adding dt-binding support for stacked/parallel memories. + +* [v1: net-next: net: ipa: determine GSI register offsets differently](http://lore.kernel.org/netdev/20230210193655.460225-1-elder@linaro.org/) + + This series changes the way GSI register offset are specified, using + the "reg" mechanism currently used for IPA registers. A follow-on + series will extend this work so fields within GSI registers are also + specified this way. + +* [v1: bpf-next: net: lan966x: set xdp_features flag](http://lore.kernel.org/netdev/01f4412f28899d97b0054c9c1a63694201301b42.1676055718.git.lorenzo@kernel.org/) + + Set xdp_features netdevice flag if lan966x nic supports xdp mode. + +* [v1: net-next: net: pcs: tse: port to pcs-lynx](http://lore.kernel.org/netdev/20230210190949.1115836-1-maxime.chevallier@bootlin.com/) + + When submitting the initial driver for the Altera TSE PCS, Russell King + noted that the register layout for the TSE PCS is very similar to the + Lynx PCS. The main difference being that TSE PCS's register space is + memory-mapped, whereas Lynx's is exposed over MDIO. + +* [v1: net: ethernet: efct Add x3 ethernet driver](http://lore.kernel.org/netdev/20230210130321.2898-1-h.jain@amd.com/) + + This patch series adds new ethernet network driver for Alveo X3522[1]. + X3 is a low-latency NIC with an aim to deliver the lowest possible + latency. It accelerates a range of diverse trading strategies + and financial applications. + + [1] https://www.xilinx.com/x3 + +* [v1: net-next: devlink: don't allow to change net namespace for FW_ACTIVATE reload action](http://lore.kernel.org/netdev/20230210115827.3099567-1-jiri@resnulli.us/) + + The change on network namespace only makes sense during re-init reload + action. For FW activation it is not applicable. So check if user passed + an ATTR indicating network namespace change request and forbid it. + +* [v5: Introduce ICSSG based ethernet Driver](http://lore.kernel.org/netdev/20230210114957.2667963-1-danishanwar@ti.com/) + + The Programmable Real-time Unit and Industrial Communication Subsystem + Gigabit (PRU_ICSSG) is a low-latency microcontroller subsystem in the TI + SoCs. This subsystem is provided for the use cases like the implementation + of custom peripheral interfaces, offloading of tasks from the other + processor cores of the SoC, etc. + +* [v1: b43legacy: Add checking for null for ssb_get_devtypedata(dev)](http://lore.kernel.org/netdev/20230210111228.370513-1-n.petrova@fintech.ru/) + + Function ssb_get_devtypedata(dev) may return null (next call + B43legacy_WARN_ON(!wl) is used for error handling, including null-value). + Therefore, a check is added before calling b43legacy_wireless_exit(), + where the argument containing this value is expected to be dereferenced. + +* [v1: net-next: net: micrel: Add PHC support for lan8841](http://lore.kernel.org/netdev/20230210102701.703569-1-horatiu.vultur@microchip.com/) + + Add support for PHC and timestamping operations for the lan8841 PHY. + PTP 1-step and 2-step modes are supported, over Ethernet and UDP both + ipv4 and ipv6. + +* [v1: net-next: nfp: ethtool: supplement nfp link modes supported](http://lore.kernel.org/netdev/20230210095319.603867-1-simon.horman@corigine.com/) + + Add support for the following modes to the nfp driver: + + NFP_MEDIA_10GBASE_LR + NFP_MEDIA_25GBASE_LR + NFP_MEDIA_25GBASE_ER + + These modes are supported by the hardware and, + support for them was recently added to firmware. + +* [v1: bpf: selftests/bpf: enable mptcp before testing](http://lore.kernel.org/netdev/20230210093205.1378597-1-liuhangbin@gmail.com/) + + Some distros may not enable mptcp by default. Enable it before start the + mptcp server. To use the {read/write}_int_sysctl() functions, I moved + them to test_progs.c + +* [v1: bpf-next: selftests/bpf: Cross-compile bpftool](http://lore.kernel.org/netdev/20230210084326.1802597-1-bjorn@kernel.org/) + + When the BPF selftests are cross-compiled, only the a host version of + bpftool is built. This version of bpftool is used to generate various + intermediates, e.g., skeletons. + +* [v1: net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path](http://lore.kernel.org/netdev/2f74aab82a40e4c11c91ccba40f5b620f6cb209c.camel@gmail.com/) + + syzbot reported that act_len in kalmia_send_init_packet() is + uninitialized when passing it to the first usb_bulk_msg error path. Jiri + Pirko noted that it's pointless to pass it in the error path, and that + the value that would be printed in the second error path would be the + value of act_len from the first call to usb_bulk_msg.[1] + +* [v1: net-next: xsk: support use vaddr as ring](http://lore.kernel.org/netdev/20230210021232.108211-1-xuanzhuo@linux.alibaba.com/) + + When we try to start AF_XDP on some machines with long running time, due + to the machine's memory fragmentation problem, there is no sufficient + continuous physical memory that will cause the start failure. + +* [v1: iproute2-next: iplink: support IPv4 BIG TCP](http://lore.kernel.org/netdev/cover.1675985919.git.lucien.xin@gmail.com/) + + Patch 1 fixes some typos in the documents, and Patch 2 adds two + attributes to allow userspace to enable IPv4 BIG TCP. + +#### 安全增强 + +* [v1: ASoC: Intel: Skylake: Replace 1-element array with flex-array](http://lore.kernel.org/linux-hardening/20230210051447.never.204-kees@kernel.org/) + + The kernel is globally removing the ambiguous 0-length and 1-element + arrays in favor of flexible arrays, so that we can gain both compile-time + and run-time array bounds checking[1]. In this instance, struct + skl_cpr_cfg contains struct skl_cpr_gtw_cfg, which defined "config_data" + as a 1-element array. + +* [v1: bpf: Deprecate "data" member of bpf_lpm_trie_key](http://lore.kernel.org/linux-hardening/20230209192337.never.690-kees@kernel.org/) + + The kernel is globally removing the ambiguous 0-length and 1-element + arrays in favor of flexible arrays, so that we can gain both compile-time + and run-time array bounds checking[1]. + +* [v1: RDMA/cma: Distinguish between sockaddr_in and sockaddr_in6 by size](http://lore.kernel.org/linux-hardening/20230208232549.never.139-kees@kernel.org/) + + Clang can do some aggressive inlining, which provides it with greater + visibility into the sizes of various objects that are passed into + helpers. Specifically, compare_netdev_and_ip() can see through the type + given to the "sa" argument, which means it can generate code for "struct + sockaddr_in" that would have been passed to ipv6_addr_cmp() (that expects + to operate on the larger "struct sockaddr_in6"), which would result in a + compile-time buffer overflow condition detected by memcmp(). + +* [v1: randstruct: disable Clang 15 support](http://lore.kernel.org/linux-hardening/20230208065133.220589-1-ebiggers@kernel.org/) + + The randstruct support released in Clang 15 is unsafe to use due to a + bug that can cause miscompilations: "-frandomize-layout-seed + inconsistently randomizes all-function-pointers structs" + (https://github.com/llvm/llvm-project/issues/60349). It has been fixed + on the Clang 16 release branch, so add a Clang version check. + +* [v3: next: scsi: smartpqi: Replace one-element array with flexible-array member](http://lore.kernel.org/linux-hardening/Y+LJz%2Fr6+UeLqnV3@work/) + + One-element arrays are deprecated, and we are replacing them with flexible + array members instead. So, replace one-element array with flexible-array + member in struct report_log_lun_list. + +* [v2: pstore/blk: Export a method to implemente panic_write()](http://lore.kernel.org/linux-hardening/20230206061813.44506-1-victor@allwinnertech.com/) + + The panic_write() is necessary to write the pstore frontend message + to blk devices when panic. Here is a way to register panic_write when + we use "best_effort" way to register the pstore blk-backend. + +* [v1: media: imx-jpeg: Bounds check sizeimage access](http://lore.kernel.org/linux-hardening/20230204183804.never.323-kees@kernel.org/) + + The call of mxc_jpeg_get_plane_size() from mxc_jpeg_dec_irq() sets + plane_no argument to 1. + + Silence the warning by bounds checking comp_planes for future robustness. + +* [v1: scsi: mpi3mr: Replace 1-element array with flex-array](http://lore.kernel.org/linux-hardening/20230204183715.never.937-kees@kernel.org/) + + Nothing else defined MPI3_NVME_ENCAP_CMD_MAX, so the "command" + buffer was being defined as a fake flexible array of size 1. Replace + this with a proper flex array. Avoids this GCC 13 warning under + -fstrict-flex-arrays=3: + +* [v1: usb: host: xhci: mvebu: Iterate over array indexes instead of using pointer math](http://lore.kernel.org/linux-hardening/20230204183651.never.663-kees@kernel.org/) + + Walking the dram->cs array was seen as accesses beyond the first array + item by the compiler. Instead, use the array index directly. This allows + for run-time bounds checking under CONFIG_UBSAN_BOUNDS as well. + +* [v1: btrfs: sysfs: Handle NULL return values](http://lore.kernel.org/linux-hardening/20230204183510.never.909-kees@kernel.org/) + + Each of to_fs_info(), discard_to_fs_info(), and to_space_info() can + return NULL values. Check for these so it's not possible to perform + calculations against NULL pointers. + +* [v1: jfs: Use unsigned variable for length calculations](http://lore.kernel.org/linux-hardening/20230204183355.never.877-kees@kernel.org/) + + To avoid confusing the compiler about possible negative sizes, switch + "ssize" which can never be negative from int to u32. + +* [v1: bpf: Replace bpf_lpm_trie_key 0-length array with flexible array](http://lore.kernel.org/linux-hardening/20230204183241.never.481-kees@kernel.org/) + + This includes fixing the selftest which was incorrectly using a + variable length struct as a header, identified earlier[1]. Avoid this + by just explicitly including the prefixlen member instead of struct + bpf_lpm_trie_key. + + [1] https://lore.kernel.org/all/202206281009.4332AA33@keescook/ + +#### 异步 IO + +* [v8: io_uring: add napi busy polling support](http://lore.kernel.org/io-uring/20230209230144.465620-1-shr@devkernel.io/) + + This adds the napi busy polling support in io_uring.c. It adds a new + napi_list to the io_ring_ctx structure. This list contains the list of + napi_id's that are currently enabled for busy polling. This list is + used to determine which napi id's enabled busy polling. For faster + access it also adds a hash table. + +* [v1: for-next: io_uring: mark task TASK_RUNNING before handling resume/task work](http://lore.kernel.org/io-uring/fdbc0707-ace4-d565-402a-4927fe0b9947@kernel.dk/) + + Just like for task_work, set the task mode to TASK_RUNNING before doing + any potential resume work. We're not holding any locks at this point, + but we may have already set the task state to TASK_INTERRUPTIBLE in + preparation for going to sleep waiting for events. + +* [v7: liburing: add api for napi busy poll](http://lore.kernel.org/io-uring/20230205002424.102422-1-shr@devkernel.io/) + + The patch series also contains the documentation for the two new functions + and two example programs. The client program is called napi-busy-poll-client + and the server program napi-busy-poll-server. The client measures the + roundtrip times of requests. + +#### Rust For Linux + +* [v1: rust: allow to use INIT_STACK_ALL_ZERO](http://lore.kernel.org/rust-for-linux/20230210172203.101331-1-andrea.righi@canonical.com/) + + This flag should be dropped in clang-17, but at the moment it seems more + reasonable to add it to the bindgen CFLAGS to prevent the error above. + + In this way we can enable CONFIG_INIT_STACK_ALL_ZERO with CONFIG_RUST + without triggering any build error. + +#### BPF + +* [v4: bpf-next: BPF rbtree next-gen datastructure](http://lore.kernel.org/bpf/20230209174144.3280955-1-davemarchevsky@fb.com/) + + This series adds a rbtree datastructure following the "next-gen + datastructure" precedent set by recently-added linked-list [0]. This is + a reimplementation of previous rbtree RFC [1] to use kfunc + kptr + instead of adding a new map type. + +* [v1: bpf-next: tools/resolve_btfids: Pass HOSTCFLAGS as EXTRA_CFLAGS to prepare targets](http://lore.kernel.org/bpf/20230209143735.4112845-1-jolsa@kernel.org/) + + Thorsten reported build issue with command line that defined extra + HOSTCFLAGS that were not passed into 'prepare' targets, but were + used to build resolve_btfids objects. + +* [v1: bpf-next: bpf: add --skip_encoding_btf_inconsistent_proto, --btf_gen_optimized to pahole flags for v1.25](http://lore.kernel.org/bpf/1675949331-27935-1-git-send-email-alan.maguire@oracle.com/) + + v1.25 of pahole supports filtering out functions with multiple + inconsistent function prototypes or optimized-out parameters + from the BTF representation. These present problems because + there is no additional info in BTF saying which inconsistent + prototype matches which function instance to help guide + attachment, and functions with optimized-out parameters can + lead to incorrect assumptions about register contents. + +* [v1: dwarves: btf_encoder: ensure elf function representation is fully initialized](http://lore.kernel.org/bpf/1675896868-26339-1-git-send-email-alan.maguire@oracle.com/) + + new fields in BTF encoder state (used to support save and later + addition of function) of ELF function representation need to + be initialized. No need to set parameter names to NULL as + got_parameter_names guards their use. + +* [v1: bpf-next: sfc: move xdp_features configuration in efx_pci_probe_post_io()](http://lore.kernel.org/bpf/9bd31c9a29bcf406ab90a249a28fc328e5578fd1.1675875404.git.lorenzo@kernel.org/) + + Move xdp_features configuration from efx_pci_probe() to + efx_pci_probe_post_io() since it is where all the other basic netdev + features are initialised. + +* [v1: nf-next: bpf, netfilter: minimal support for bpf progs](http://lore.kernel.org/bpf/20230208160307.27534-1-fw@strlen.de/) + + Add minimal support to hook bpf programs to netfilter hooks, + e.g. PREROUTING or FORWARD. + + Hooking is currently possible for all supprted protocols, i.e. + arp, bridge, ip, ip6 and inet (both ipv4/ipv6) pseudo-family. + +* [v2: bpf-next: samples: bpf: syscall_tp: Add syscall openat2 enter/exit tracepoint](http://lore.kernel.org/bpf/tencent_9381CB1A158ED7ADD12C4406034E21A3AC07@qq.com/) + + commit fe3300897cbf("samples: bpf: fix syscall_tp due to unused syscall") + add openat() syscall trapoints, this submit support openat2(). + +* [v2: Add ftrace direct call for arm64](http://lore.kernel.org/bpf/20230207182135.2671106-1-revest@chromium.org/) + + This series adds ftrace direct call support to arm64. + This makes BPF tracing programs (fentry/fexit/fmod_ret/lsm) work on arm64. + + It is meant to apply on top of the arm64 tree which contains Mark Rutland's + series on CALL_OPS [1] under the for-next/ftrace tag. + +* [v4: bpf-next: libbpf: Add sample_period to creation options](http://lore.kernel.org/bpf/20230207081916.3398417-1-arilou@gmail.com/) + + Add option to set when the perf buffer should wake up, by default the + perf buffer becomes signaled for every event that is being pushed to it. + + In case of a high throughput of events it will be more efficient to wake + up only once you have X events ready to be read. + +* [v1: samples: bpf: syscall_tp: Add syscall openat2 enter/exit tracepoint](http://lore.kernel.org/bpf/tencent_FB3E886D062242FF59A997492A3BAF2BA308@qq.com/) + + commit fe3300897cbf("samples: bpf: fix syscall_tp due to unused syscall") + add openat() syscall trapoints, this submit support openat2(). + +* [[RFC/PATCH 0/3] perf lock contention: Track lock owner (v2)](http://lore.kernel.org/bpf/20230207002403.63590-1-namhyung@kernel.org/) + + When there're many lock contentions in the system, people sometimes + want to know who caused the contention, IOW who's the owner of the locks. + + This patchset adds -o/--lock-owner option to track the owner info + if it's available. Right now, it supports mutex and rwsem as they + have the owner fields in themselves. Please see the patch 2 for the details. + +* [v2: bpf-next: net: add missing xdp_features description](http://lore.kernel.org/bpf/7878544903d855b49e838c9d59f715bde0b5e63b.1675705948.git.lorenzo@kernel.org/) + + Add missing xdp_features field description in the struct net_device + documentation. This patch fix the following warning: + + ./include/linux/netdevice.h:2375: warning: Function parameter or member 'xdp_features' not described in 'net_device' + +* [v1: bpf-next: selftests: bpf: Use BTF map in sk_assign](http://lore.kernel.org/bpf/4ebd4e68dec83863c51a9114e6507524c8feafb7.1675698070.git.fmaurer@redhat.com/) + + The sk_assign selftest uses tc to load the BPF object file for the test. If + tc is linked against libbpf 1.0+, this test failed, because the BPF file + used the legacy maps section. This approach is considered legacy by libbpf + and tc (see examples/bpf/README in the iproute2 repo). + +* [v1: bpf-next: samples: bpf: Add macro SYSCALL() for aarch64](http://lore.kernel.org/bpf/tencent_9E0636426959DE97692A50AF79A3D9888B08@qq.com/) + + kernel arm64/kernel/sys.c macro __SYSCALL() adds a prefix __arm64_, we + should support it for aarch64. The following is the output of the bpftrace + script: + + $ sudo bpftrace -l | grep sys_write + ... + kprobe:__arm64_sys_write + kprobe:__arm64_sys_writev + ... + +* [v1: net-next: NXP ENETC AF_XDP zero-copy sockets](http://lore.kernel.org/bpf/20230206100837.451300-1-vladimir.oltean@nxp.com/) + + This is RFC because I have a few things I'm not 100% certain about. + I've tested this with the xdpsock test application, I don't have very + detailed knowledge about the internals of AF_XDP sockets. + + Patches where I'd appreciate if people took a look are 02/11, 05/11, + +### 周边技术动态 + +#### Qemu + +* [v1: target/riscv: avoid env_archcpu() in cpu_get_tb_cpu_state()](http://lore.kernel.org/qemu-devel/20230210123836.506286-1-dbarboza@ventanamicro.com/) + + We have a RISCVCPU *cpu pointer available at the start of the function. + +* [v1: target/riscv: Smepmp: Skip applying default rules when address matches](http://lore.kernel.org/qemu-devel/20230209055206.229392-1-hchauhan@ventanamicro.com/) + + When MSECCFG.MML is set, after checking the address range in PMP if the + asked permissions are not same as programmed in PMP, the default + permissions are applied. This should only be the case when there + is no matching address is found. + +* [v1: MAINTAINERS: Add some RISC-V reviewers](http://lore.kernel.org/qemu-devel/20230209003308.738237-1-alistair.francis@opensource.wdc.com/) + + This patch adds some active RISC-V members as reviewers to the + MAINTAINERS file. + +* [v1: hw/riscv: virt: Simplify virt_{get,set}_aclint()](http://lore.kernel.org/qemu-devel/20230206085007.3618715-1-bmeng@tinylab.org/) + + There is no need to declare an intermediate "MachineState *ms". + +* [v1: configure: normalize riscv* cpu types too](http://lore.kernel.org/qemu-devel/20230204112502.2558739-1-mjt@msgid.tls.msk.ru/) + + For most CPU types out there, ./configure normalizes all + variations into base form plus, optionally, variations, + to find the proper arch-specific code. + +#### Buildroot + +* [package/wolfssl: disable assembly when not supported](http://lore.kernel.org/buildroot/20230207213844.DCD8484378@busybox.osuosl.org/) + + commit: https://git.buildroot.net/buildroot/commit/?id=d8dc5315eb712eca0a5cbf793a6714a47ab6e57e + branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master + + wolfssl contains some assembly code and its configure.ac script + enables the assembly code depending on the CPU architecture. However, + the detection logic is not sufficient and leads to using the assembly + code in situation where it should not. + +* [package/python-spake2: new package](http://lore.kernel.org/buildroot/20230207132558.94BFC84150@busybox.osuosl.org/) + + commit: https://git.buildroot.net/buildroot/commit/?id=9aaef2a07780a200512ccadb2381c559c4ffd8e6 + branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master + + SPAKE2 password-authenticated key exchange (in pure python). + +* [package/python-hkdf: new package](http://lore.kernel.org/buildroot/20230207115045.1C17C840AE@busybox.osuosl.org/) + + commit: https://git.buildroot.net/buildroot/commit/?id=433ce2966f787248d5b8a62c46634e2f86250f8e + branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master + + HMAC-based Extract-and-Expand Key Derivation Function (HKDF). + +* [package/rdma-core: new package](http://lore.kernel.org/buildroot/20230205125237.A6202837ED@busybox.osuosl.org/) + + commit: https://git.buildroot.net/buildroot/commit/?id=ea47e177f093d7378e8e8e1f50d6f4e3fce0a088 + branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master + +#### U-Boot + +* [v1: riscv: add sbi v0.2 or later support](http://lore.kernel.org/u-boot/CAJ8bkywohgE_njAYmLJUUDpHW2+R=NYPSqp1G0rCksrCHCdpDw@mail.gmail.com/) + + add rfence and ipi extension for sbi v0.2 or later. sbi_ipi add support + for sbi v0.2 or later. This can make sbi_ipi break through the limit that + the number of cores needs to be less than or equal to xlen + +* [v1: semihosting: use assembly conduit functions](http://lore.kernel.org/u-boot/20230207152105.2167641-1-andre.przywara@arm.com/) + + to trigger the actual semihosting action in the debugger, we used some + carefully constructed inline assembly sequence. This was motivated by + the trigger being really just a single instruction, so originally this + could be neatly inlined by the compiler. + However we now have a separate function anyway, so inlining is no longer + happening. On top of that the inline assembly was really fragile and + hard to read. + +* [v3: RFC: Migrate to split config](http://lore.kernel.org/u-boot/20230206190550.1692420-1-sjg@chromium.org/) + + U-Boot uses an SPL prefix on CONFIG options to indicate when an option + relates to SPL. For example, while CONFIG_TEXT_BASE is the text base for + U-Boot proper, CONFIG_SPL_TEXT_BASE is the text base for SPL. + ## 20230205:第 32 期 ### 内核动态 -- Gitee