From c4473585ac73c28718eb9fd7bc9983fe501d14aa Mon Sep 17 00:00:00 2001 From: lucia <11452490+luciafu@user.noreply.gitee.com> Date: Mon, 30 Oct 2023 15:02:20 +0000 Subject: [PATCH] update news/README.md. Signed-off-by: lucia <11452490+luciafu@user.noreply.gitee.com> --- news/README.md | 414 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 414 insertions(+) diff --git a/news/README.md b/news/README.md index d8df5f4..4132946 100644 --- a/news/README.md +++ b/news/README.md @@ -5,6 +5,420 @@ * [2022 年](2022.md) * [2023 年 - 上半年](2023-1st-half.md) +## 20231029:第 66 期 + +### 内核动态 + +#### RISC-V 架构支持 + +**[v2: riscv: ASID-related and UP-related TLB flush enhancements](http://lore.kernel.org/linux-riscv/20231028231339.3116618-1-samuel.holland@sifive.com/)** + +> While reviewing Alexandre Ghiti's "riscv: tlb flush improvements" +> series[1], I noticed that most TLB flush functions end up as a call to +> local_flush_tlb_all() when SMP is disabled. This series resolves that. +> Along the way, I realized that we should be using single-ASID flushes +> wherever possible, so I implemented that as well. +> + +**[v1: riscv: split cache ops out of dma-noncoherent.c](http://lore.kernel.org/linux-riscv/20231028155101.1039049-1-hch@lst.de/)** + +> The cache ops are also used by the pmem code which is unconditionally +> built into the kernel. Move them into a separate file that is built +> based on the correct config option. +> + +**[v6: scripts/gdb: add lx_current support for riscv](http://lore.kernel.org/linux-riscv/20231028045813.685389-1-debug@rivosinc.com/)** + +> csr_sscratch CSR holds current task_struct address when hart is in +> user space. Trap handler on entry spills csr_sscratch into "tp" (x2) +> register and zeroes out csr_sscratch CSR. Trap handler on exit reloads +> "tp" with expected user mode value and place current task_struct address +> again in csr_sscratch CSR. +> + +**[v8: riscv: Add fine-tuned checksum functions](http://lore.kernel.org/linux-riscv/20231027-optimize_checksum-v8-0-feb7101d128d@rivosinc.com/)** + +> Each architecture generally implements fine-tuned checksum functions to +> leverage the instruction set. This patch adds the main checksum +> functions that are used in networking. +> +> This patch takes heavy use of the Zbb extension using alternatives +> patching. +> + +**[v13: KVM: guest_memfd() and per-page attributes](http://lore.kernel.org/linux-riscv/20231027182217.3615211-1-seanjc@google.com/)** + +> Non-KVM people, please take a gander at two small-ish patches buried in the +> middle of this series: +> +> fs: Export anon_inode_getfile_secure() for use by KVM +> mm: Add AS_UNMOVABLE to mark mapping as completely unmovable +> +> Our plan/hope is to take this through the KVM tree for 6.8, reviews (and acks!) +> would be much appreciated. Note, adding AS_UNMOVABLE isn't strictly required as +> it's "just" an optimization, but we'd prefer to have it in place straightaway. +> + +**[v1: riscv: defconfig: Regenerate defconfig](http://lore.kernel.org/linux-riscv/20231027113525.2227513-1-chanho61.park@samsung.com/)** + +> Run 'make defconfig savedefconfig' and copy the defconfig file to +> arch/riscv/configs/defconfig. +> + +**[v2: perf vendor events riscv: add StarFive Dubhe-90 JSON file](http://lore.kernel.org/linux-riscv/20231027073925.1523843-1-jisheng.teoh@starfivetech.com/)** + +> StarFive Dubhe-90 supports raw event id 0x00 - 0x22. +> The raw events are enabled through PMU node of the DT binding. +> + +#### 内存管理 + +**[v4: userfaultfd move option](http://lore.kernel.org/linux-mm/20231028003819.652322-1-surenb@google.com/)** + +> This patch series introduces UFFDIO_MOVE feature to userfaultfd, which +> has long been implemented and maintained by Andrea in his local tree [1], +> but was not upstreamed due to lack of use cases where this approach would +> be better than allocating a new page and copying the contents. Previous +> upstraming attempts could be found at [6] and [7]. +> + +**[v2: mm/ksm: Add ksm advisor](http://lore.kernel.org/linux-mm/20231028000945.2428830-1-shr@devkernel.io/)** + +> The ksm advisor automatically manages the pages_to_scan setting to +> achieve a target scan time. The target scan time defines how many seconds +> it should take to scan all the candidate KSM pages. In other words the +> pages_to_scan rate is changed by the advisor to achieve the target scan +> time. +> + +**[v2: Permission Overlay Extension](http://lore.kernel.org/linux-mm/20231027180850.1068089-1-joey.gouly@arm.com/)** + +> Hello everyone, +> +> This series implements the Permission Overlay Extension introduced in 2022 +> VMSA enhancements [1]. It is based on v6.6-rc3. +> + +**[v1: mm, memcg: avoid recycling when there is no more recyclable memory](http://lore.kernel.org/linux-mm/20231027093004.681270-1-suruifeng1@huawei.com/)** + +> When the number of alloc anonymous pages exceeds the memory.high, +> exc_page_fault successfully alloc code pages, +> and is released by mem_cgroup_handle_over_high before return to user mode. +> As a result, the program is trapped in a loop to exc page fault and reclaim +> pages. +> + +#### 文件系统 + +**[v1: fuse: Track process write operations in both direct and writethrough modes](http://lore.kernel.org/linux-fsdevel/20231028065912.6084-1-zhoujifeng@kylinos.com.cn/)** + +> Due to the fact that fuse does not count the write IO of processes in the +> direct and writethrough write modes, user processes cannot track +> write_bytes through the “/proc/[pid]/io” path. For example, the system +> tool iotop cannot count the write operations of the corresponding process. +> + +**[v1: Triggering a softlockup panic during SMP boot](http://lore.kernel.org/linux-fsdevel/cover.1698441495.git.kjlx@templeofstupid.com/)** + +> This pair of patches was the result of an unsuccessful attempt to set +> softlockup_panic before SMP boot. The rationale for wanting to set this +> parameter is that some of the VMs that my team runs will occasionally +> get stuck while onlining the non-boot processors as part of SMP boot. +> + +**[v1: fs: make s_count atomic_t](http://lore.kernel.org/linux-fsdevel/20231027-neurologie-miterleben-a8c52a745463@brauner/)** + +> So, I believe we can drop the sb_lock in bdev_super_lock() for all +> holder operations if we turn s_count into an atomic. It will slightly +> change semantics for list walks like iterate_supers() but imho that's +> fine. It'll mean that list walkes need a acquire sb_lock, then try to +> get reference via atomic_inc_not_zero(). +> + +**[v4: security: Move IMA and EVM to the LSM infrastructure](http://lore.kernel.org/linux-fsdevel/20231027083558.484911-1-roberto.sassu@huaweicloud.com/)** + +> IMA and EVM are not effectively LSMs, especially due to the fact that in +> the past they could not provide a security blob while there is another LSM +> active. +> + +**[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: Add missing MODULE_DESCRIPTIONS](http://lore.kernel.org/netdev/20231028184458.99448-1-andrew@lunn.ch/)** + +> Fixup PHY and MDIO drivers which are missing MODULE_DESCRIPTION. +> + +**[v1: net: dccp: check for ccid in ccid_hc_tx_send_packet](http://lore.kernel.org/netdev/20231028144136.3462-1-bragathemanick0908@gmail.com/)** + +> ccid_hc_tx_send_packet might be called with a NULL ccid pointer +> leading to a NULL pointer dereference +> +> Below mentioned commit has similarly changes +> commit 276bdb82dedb ("dccp: check ccid before dereferencing") +> + +**[v7: bpf-next: add BPF_F_PERMANENT flag for sockmap skmsg redirect](http://lore.kernel.org/netdev/20231028100552.2444158-1-liujian56@huawei.com/)** + +> v6->v7: Rebase to latest bpf-next tree, and no changes. +> v5->v6: Modified the description of the helper function. +> v4->v5: Fix one refcount bug caused by patch1. +> v3->v4: Change the two helpers's description. +> Let BPF_F_PERMANENT takes precedence over apply/cork_bytes. +> + +**[GIT PULL: Networking for 6.7](http://lore.kernel.org/netdev/20231028011741.2400327-1-kuba@kernel.org/)** + +> I'll be traveling next week, so anticipating no -rc8 here is our +> merge window material. +> +> The following changes since commit c17cda15cc86e65e9725641daddcd7a63cc9ad01: +> +> Merge tag 'net-6.6-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2023-10-26 07:41:27 -1000) +> + +**[v1: net-next: bnxt_en: TX path improvements](http://lore.kernel.org/netdev/20231027232252.36111-1-michael.chan@broadcom.com/)** + +> All patches in this patchset are related to improving the TX path. +> There are 2 areas of improvements: +> +> 1. The TX interrupt logic currently counts the number of TX completions +> to determine the number of TX SKBs to free. We now change it so that +> the TX completion will now contain the hardware consumer index +> information. The driver will keep track of the latest hardware +> consumer index from the last TX completion and clean up all TX SKBs +> up to that index. This scheme aligns better with future chips and +> allows xmit_more code path to be more optimized. +> + +**[v1: net-next: tools: ynl-gen: don't touch the output file if content is the same](http://lore.kernel.org/netdev/20231027223408.1865704-1-kuba@kernel.org/)** + +> I often regenerate all YNL files in the tree to make sure they +> are in sync with the codegen and specs. Generator rewrites +> the files unconditionally, so since make looks at file modification +> time to decide what to rebuild - my next build takes longer. +> + +**[v3: net-next: ethtool: Add ethtool_puts()](http://lore.kernel.org/netdev/20231027-ethtool_puts_impl-v3-0-3466ac679304@google.com/)** + +> This series aims to implement ethtool_puts() and send out a wave 1 of +> conversions from ethtool_sprintf(). There's also a checkpatch patch +> included to check for the cases listed below. +> + +**[v2: net: r8169: Disable multicast filter for RTL_GIGA_MAC_VER_46](http://lore.kernel.org/netdev/20231027213059.3550747-1-ptf@google.com/)** + +> MAC_VER_46 ethernet adapters fail to detect eapol packets unless +> allmulti is enabled. Add exception for VER_46 in the same way VER_35 +> has an exception. +> + +**[v2: net-next: net: fill in 18 MODULE_DESCRIPTION()s](http://lore.kernel.org/netdev/20231027211311.1821605-1-kuba@kernel.org/)** + +> W=1 builds now warn if module is built without a MODULE_DESCRIPTION(). +> +> Fill in the first 18 that jumped out at me, and those missing +> in modules I maintain. +> + +**[v2: hv_netvsc: Mark VF as slave before exposing it to user-mode](http://lore.kernel.org/netdev/1698440390-13719-1-git-send-email-longli@linuxonhyperv.com/)** + +> When a VF is being exposed form the kernel, it should be marked as "slave" +> before exposing to the user-mode. The VF is not usable without netvsc running +> as master. The user-mode should never see a VF without the "slave" flag. +> + +**[v1: dsa: tag_rtl4_a: Bump min packet size](http://lore.kernel.org/netdev/20231027-fix-rtl8366rb-v1-1-d565d905535a@linaro.org/)** + +> It was reported that the "LuCI" web UI was not working properly +> with a device using the RTL8366RB switch. Disabling the egress +> port tagging code made the switch work again, but this is not +> a good solution as we want to be able to direct traffic to a +> certain port. +> + +**[v1: net-next: net: bpf: Use sockopt_lock_sock() in ip_sock_set_tos()](http://lore.kernel.org/netdev/20231027182424.1444845-1-yonghong.song@linux.dev/)** + +> Both ip_sock_set_tos() and inet_listen() calls lock_sock(sk) which +> caused a dead lock. +> +> To fix the issue, use sockopt_lock_sock() in ip_sock_set_tos() +> instead. sockopt_lock_sock() will avoid lock_sock() if it is in bpf +> context. +> + +**[v1: net-next: Use xdp_set_features_flag instead of direct assignment](http://lore.kernel.org/netdev/1698430011-21562-1-git-send-email-haiyangz@microsoft.com/)** + +> This patch uses a helper function for assignment of xdp_features. +> This change simplifies backports. +> + +**[v1: net-next: net: sched: Fill in missing MODULE_DESCRIPTIONs for net/sched](http://lore.kernel.org/netdev/20231027155045.46291-1-victor@mojatatu.com/)** + +> W=1 builds now warn if module is built without a MODULE_DESCRIPTION(). +> +> Fill in the missing MODULE_DESCRIPTIONs for net/sched +> + +**[v1: selftests/landlock: Add tests for FS topology changes with network rules](http://lore.kernel.org/netdev/20231027154615.815134-1-mic@digikod.net/)** + +> Add 2 tests to the layout1 fixture: +> * topology_changes_with_net_only: Checks that FS topology +> changes are not denied by network-only restrictions. +> * topology_changes_with_net_and_fs: Make sure that FS topology +> changes are still denied with FS and network restrictions. +> + +**[v18: nvme-tcp receive offloads](http://lore.kernel.org/netdev/20231027122755.205334-1-aaptel@nvidia.com/)** + +> The next iteration of our nvme-tcp receive offload series. +> The main change is the move of the capabilities from the netdev to the driver. +> + +**[v1: ss: pretty-printing BPF socket-local storage](http://lore.kernel.org/netdev/20231027121155.1244308-1-qde@naccy.de/)** + +> BPF allows programs to store socket-specific data using +> BPF_MAP_TYPE_SK_STORAGE maps. The data is attached to the socket itself, +> and Martin added INET_DIAG_REQ_SK_BPF_STORAGES, so it can be fetched +> using the INET_DIAG mechanism. +> +> Currently, ss doesn't request the socket-local data, this patch aims to +> fix this. +> + +**[v1: net: hsr: Prevent use after free in prp_create_tagged_frame()](http://lore.kernel.org/netdev/57af1f28-7f57-4a96-bcd3-b7a0f2340845@moroto.mountain/)** + +> The prp_fill_rct() function can fail. In that situation, it frees the +> skb and returns NULL. Meanwhile on the success path, it returns the +> original skb. So it's straight forward to fix bug by using the returned +> value. +> + +**[v1: net-next: net:prevent shared skb corruption on rx-gro-list segmentation](http://lore.kernel.org/netdev/a6f256694783a0692f2f079e7ac76ace621308c3.camel@mediatek.com/)** + +> From 1d4aea846dd08d824e1097a933ed8618a6da03da Mon Sep 17 00:00:00 2001 +> +> Date: Fri, 27 Oct 2023 17:52:50 +0800 +> Subject: v1: net-next: net:prevent shared skb corruption on rx-gro- +> list segmentation +> +> shared skb triggers corruptions on rx-gro-list segmentation. +> + +**[v4: net-next: expose devlink instances relationships](http://lore.kernel.org/netdev/20231027101403.958745-1-jiri@resnulli.us/)** + +> Print out recently added attributes that expose relationships between +> devlink instances. This patchset extends the outputs by +> "nested_devlink" attributes. +> + +**[v1: net-next: net: bridge: fill in MODULE_DESCRIPTION()](http://lore.kernel.org/netdev/20231027100549.1695865-1-razor@blackwall.org/)** + +> Fill in bridge's module description. +> + +**[v1: rxrpc_find_service_conn_rcu: use read_seqbegin() rather than read_seqbegin_or_lock()](http://lore.kernel.org/netdev/20231027095842.GA30868@redhat.com/)** + +> read_seqbegin_or_lock() makes no sense unless you make "seq" odd +> after the lockless access failed. See thread_group_cputime() as +> an example, note that it does nextseq = 1 for the 2nd round. +> + +**[v1: net-next: iavf: use iavf_schedule_aq_request() helper](http://lore.kernel.org/netdev/20231027095102.499914-1-poros@redhat.com/)** + +> Use the iavf_schedule_aq_request() helper when we need to +> schedule a watchdog task immediately. No functional change. +> + +**[v4: net-next: tools: ynl: introduce option to process unknown attributes or types](http://lore.kernel.org/netdev/20231027092525.956172-1-jiri@resnulli.us/)** + +> In case the kernel sends message back containing attribute not defined +> in family spec, following exception is raised to the user: +> +> $ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/devlink.yaml --do trap-get --json '{"bus-name": "netdevsim", "dev-name": "netdevsim1", "trap-name": "source_mac_is_multicast"}' +> Traceback (most recent call last): +> File "/home/jiri/work/linux/tools/net/ynl/lib/ynl.py", line 521, in _decode +> attr_spec = attr_space.attrs_by_val[attr.type] +> + +**[v2: iproute2-next: Increase BPF verifier verbosity when in verbose mode](http://lore.kernel.org/netdev/20231027085706.25718-1-shung-hsi.yu@suse.com/)** + +> When debugging BPF verifier issue, it is useful get as much information +> out of the verifier as possible to help diagnostic, but right now that +> is not possible because load_bpf_object() does not set the +> kernel_log_level in struct bpf_object_open_opts, which is addressed in +> patch 1. +> + +**[v1: net: dsa: lan9303: consequently nested-lock physical MDIO](http://lore.kernel.org/netdev/20231027065741.534971-1-alexander.sverdlin@siemens.com/)** + +> When LAN9303 is MDIO-connected two callchains exist into +> mdio->bus->write(): +> +> 1. switch ports 1&2 ("physical" PHYs): +> +> virtual (switch-internal) MDIO bus (lan9303_switch_ops->phy_{read|write})-> +> lan9303_mdio_phy_{read|write} -> mdiobus_{read|write}_nested +> + +#### 安全增强 + +**[v3: seq_buf: Introduce DECLARE_SEQ_BUF and seq_buf_str()](http://lore.kernel.org/linux-hardening/20231027155634.make.260-kees@kernel.org/)** + +> Solve two ergonomic issues with struct seq_buf; +> +> Instead, we can just return s->buffer directly after terminating it in +> the refactored seq_buf_terminate(), now known as seq_buf_str(): +> +> do_something(seq_buf_str(s)); +> + +#### BPF + +**[v3: bpf-next: selftests/bpf: Replaces CHECK macros and adds malloc failure checks to bpf_iter](http://lore.kernel.org/bpf/DB3PR10MB683535836CE7B90591B4FFC0E8A3A@DB3PR10MB6835.EURPRD10.PROD.OUTLOOK.COM/)** + +> This patch series contains the following updates: +> - Replaces the usage of all the CHECK macros in bpf_iter +> to the appropriate ASSERT_* macro calls +> - Adds appropriate malloc failure checks to bpf_iter +> + +**[v7: bpf-next: Registrating struct_ops types from modules](http://lore.kernel.org/bpf/20231027211702.1374597-1-thinker.li@gmail.com/)** + +> Given the current constraints of the current implementation, +> struct_ops cannot be registered dynamically. This presents a +> significant limitation for modules like coming fuse-bpf, which seeks +> to implement a new struct_ops type. To address this issue, a new API +> is introduced that allows the registration of new struct_ops types +> from modules. +> + +**[v1: bpf-next: Add bpf_xdp_get_xfrm_state() kfunc](http://lore.kernel.org/bpf/cover.1698431765.git.dxu@dxuuu.xyz/)** + +> This patchset adds a kfunc helper, bpf_xdp_get_xfrm_state(), that wraps +> xfrm_state_lookup(). The intent is to support software RSS (via XDP) for +> the ongoing/upcoming ipsec pcpu work [0]. Recent experiments performed +> on (hopefully) reproducible AWS testbeds indicate that single tunnel +> pcpu ipsec can reach line rate on 100G ENA nics. +> + +**[v5: bpf-next: BPF register bounds logic and testing improvements](http://lore.kernel.org/bpf/20231027181346.4019398-1-andrii@kernel.org/)** + +> This patch set adds a big set of manual and auto-generated test cases +> validating BPF verifier's register bounds tracking and deduction logic. See +> details in the last patch. +> + ## 20231027:第 65 期 ### 内核动态 -- Gitee