From 35a9d6ea22c119b653d2279f0bf7c32f992bec53 Mon Sep 17 00:00:00 2001 From: lucia <11452490+luciafu@user.noreply.gitee.com> Date: Mon, 1 Jan 2024 13:42:10 +0000 Subject: [PATCH] add news/2024. Signed-off-by: lucia <11452490+luciafu@user.noreply.gitee.com> --- news/2024 | 668 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 668 insertions(+) create mode 100644 news/2024 diff --git a/news/2024 b/news/2024 new file mode 100644 index 0000000..1c4c0c4 --- /dev/null +++ b/news/2024 @@ -0,0 +1,668 @@ + +## 20231231:第 72 期 + +### 内核动态 + +#### RISC-V 架构支持 + +**[v2: riscv: Add Zicbop & prefetchw support](http://lore.kernel.org/linux-riscv/20231231082955.16516-1-guoren@kernel.org/)** + +> This patch series adds Zicbop support and then enables the Linux +> prefetchw feature. It's based on v6.7-rc7. +> + +**[GIT PULL: KVM/riscv changes for 6.8 part #1](http://lore.kernel.org/linux-riscv/CAAhSdy1QsMuAmr+DFxjkf3a2Ur91AX9AnddRnBHGM6+exkAn1g@mail.gmail.com/)** + +> We have the following KVM RISC-V changes for 6.8: +> 1) KVM_GET_REG_LIST improvement for vector registers +> 2) Generate ISA extension reg_list using macros in get-reg-list selftest +> 3) Steal time account support along with selftest +> + +**[v1: Enable SPCR table for console output on RISC-V](http://lore.kernel.org/linux-riscv/20231229065405.235625-1-jeeheng.sia@starfivetech.com/)** + +> This patch will enable the SPCR table for RISC-V. +> +> Vendor will enable/disable the SPCR table in the firmware based on the +> platform design. However, in cases where the SPCR table is not usable, +> a kernel parameter could be used to specify the preferred console. +> + +**[v1: riscv: dts: sophgo: add watchdog dt node for CV1800](http://lore.kernel.org/linux-riscv/DM6PR20MB23160B8499CC2BFDAE6FCACDAB9EA@DM6PR20MB2316.namprd20.prod.outlook.com/)** + +> Add the watchdog device tree node to cv1800 SoC. +> This patch depends on the clk driver and reset driver. +> Clk driver link: +> https://lore.kernel.org/all/IA1PR20MB49539CDAD9A268CBF6CA184BBB9FA@IA1PR20MB4953.namprd20.prod.outlook.com/ +> Reset driver link: +> https://lore.kernel.org/all/20231113005503.2423-1-jszhang@kernel.org/ +> + +**[v1: riscv: dts: sophgo: add timer dt node for CV1800](http://lore.kernel.org/linux-riscv/DM6PR20MB23167E08FCA546D6C1899CB1AB9EA@DM6PR20MB2316.namprd20.prod.outlook.com/)** + +> Add the timer device tree node to CV1800 SoC. +> This patch depends on the clk driver and reset driver. +> Clk driver link: +> https://lore.kernel.org/all/IA1PR20MB49539CDAD9A268CBF6CA184BBB9FA@IA1PR20MB4953.namprd20.prod.outlook.com/ +> Reset driver link: +> https://lore.kernel.org/all/20231113005503.2423-1-jszhang@kernel.org/ +> + +**[v1: riscv: tlb: avoid tlb flushing on exit & execve](http://lore.kernel.org/linux-riscv/20231228084642.1765-1-jszhang@kernel.org/)** + +> The mmu_gather code sets fullmm=1 when tearing down the entire address +> space for an mm_struct on exit or execve. So if the underlying platform +> supports ASID, the tlb flushing can be avoided because the ASID +> allocator will never re-allocate a dirty ASID. +> + +**[v1: Add driver for Cadence SD6HC SD/eMMC controller](http://lore.kernel.org/linux-riscv/20231228065322.1176351-1-yuklin.soo@starfivetech.com/)** + +> Starfive JH8100 SoC consists of a Cadence SD/eMMC host controller +> (Version 6) with Combo PHY which provides DFI interface to SD/eMMC +> removable or embedded devices. This patch adds initial SD/eMMC support +> for JH8100 SoC by providing device drivers for Cadence SD/eMMC Version 6 +> host controller and Combo PHY. This patch series is depending on the +> JH8100 base patch series in [1], [2], and [3]. +> The relevant dt-bindings documentation has been updated accordingly. +> + +**[v2: Unified cross-architecture kernel-mode FPU API](http://lore.kernel.org/linux-riscv/20231228014220.3562640-1-samuel.holland@sifive.com/)** + +> This series unifies the kernel-mode FPU API across several architectures +> by wrapping the existing functions (where needed) in consistently-named +> functions placed in a consistent header location, with mostly the same +> semantics: they can be called from preemptible or non-preemptible task +> context, and are not assumed to be reentrant. Architectures are also +> expected to provide CFLAGS adjustments for compiling FPU-dependent code. +> For the moment, SIMD/vector units are out of scope for this common API. +> + +**[v1: dt-bindings: riscv: cpus: Clarify mmu-type interpretation](http://lore.kernel.org/linux-riscv/20231227175739.1453782-1-samuel.holland@sifive.com/)** + +> The current description implies that only a single address translation +> mode is available to the operating system. However, some implementations +> support multiple address translation modes, and the operating system is +> free to choose between them. +> + +**[v14: riscv: Add fine-tuned checksum functions](http://lore.kernel.org/linux-riscv/20231227-optimize_checksum-v14-0-ddfd48016566@rivosinc.com/)** + +> Each architecture generally implements fine-tuned checksum functions to +> leverage the instruction set. This patch adds the main checksum +> functions that are used in networking. Tested on QEMU, this series +> allows the CHECKSUM_KUNIT tests to complete an average of 50.9% faster. +> + +**[v5: riscv: sophgo: add clock support for Sophgo CV1800 SoCs](http://lore.kernel.org/linux-riscv/IA1PR20MB49539CDAD9A268CBF6CA184BBB9FA@IA1PR20MB4953.namprd20.prod.outlook.com/)** + +> Add clock controller support for the Sophgo CV1800B and CV1812H. +> +> This patch follow this patch series: +> https://lore.kernel.org/all/IA1PR20MB495399CAF2EEECC206ADA7ABBBD5A@IA1PR20MB4953.namprd20.prod.outlook.com/ +> + +**[v1: irqchip/sifive-plic: One function call less in __plic_init() after error detection](http://lore.kernel.org/linux-riscv/71aebecb-ab59-4835-9320-10e849c04a5c@web.de/)** + +> Date: Tue, 26 Dec 2023 21:34:47 +0100 +> +> The kfree() function was called in one case by the +> __plic_init() function during error handling +> even if the passed data structure member contained a null pointer. +> This issue was detected by using the Coccinelle software. +> + +**[v1: Basic clock and reset support for StarFive JH8100 RISC-V SoC](http://lore.kernel.org/linux-riscv/20231226053848.25089-1-jeeheng.sia@starfivetech.com/)** + +> This patch series enabled basic clock & reset support for StarFive +> JH8100 SoC. +> +> This patch series depends on the Initial device tree support for +> StarFive JH8100 SoC patch series which can be found at [1]. +> + +**[v6: Support Andes PMU extension](http://lore.kernel.org/linux-riscv/20231225103308.1557548-1-peterlin@andestech.com/)** + +> This patch series introduces the Andes PMU extension, which serves +> the same purpose as Sscofpmf. To use FDT-based probing for hardware +> support of the PMU extensions, we first convert T-Head's PMU to CPU +> feature alternative, then add Andes PMU alternatives. +> + +**[v4: riscv: enable EFFICIENT_UNALIGNED_ACCESS and DCACHE_WORD_ACCESS](http://lore.kernel.org/linux-riscv/20231225044207.3821-1-jszhang@kernel.org/)** + +> Some riscv implementations such as T-HEAD's C906, C908, C910 and C920 +> support efficient unaligned access, for performance reason we want +> to enable HAVE_EFFICIENT_UNALIGNED_ACCESS on these platforms. To +> avoid performance regressions on non efficient unaligned access +> platforms, HAVE_EFFICIENT_UNALIGNED_ACCESS can't be globally selected. +> + +**[v1: riscv: Improve exception and system call latency](http://lore.kernel.org/linux-riscv/20231225040018.1660554-1-antonb@tenstorrent.com/)** + +> Many CPUs implement return address branch prediction as a stack. The +> RISCV architecture refers to this as a return address stack (RAS). If +> this gets corrupted then the CPU will mispredict at least one but +> potentally many function returns. +> + +#### 进程调度 + +**[v2: net-next: net/sched: cls_api: complement tcf_tfilter_dump_policy](http://lore.kernel.org/lkml/20231228064358.3042747-1-linma@zju.edu.cn/)** + +> In function `tc_dump_tfilter`, the attributes array is parsed via +> tcf_tfilter_dump_policy which only describes TCA_DUMP_FLAGS. However, +> the NLA TCA_CHAIN is also accessed with `nla_get_u32`. +> + +**[v1: drm/sched: Adjustments for drm_sched_init()](http://lore.kernel.org/lkml/12b3e9cb-3241-40cc-b7a4-43c45b9eedc9@web.de/)** + +> Date: Tue, 26 Dec 2023 16:48:48 +0100 +> +> A few update suggestions were taken into account +> from static source code analysis. +> + +**[v2: sched/fair: Do not scan non-movable tasks several times](http://lore.kernel.org/lkml/20231225152943.2657849-1-khorenko@virtuozzo.com/)** + +> If busiest rq is small, nr_running < SCHED_NR_MIGRATE_BREAK and all +> tasks are not movable, detach_tasks() should not iterate more than tasks +> available in the busiest rq. +> + +**[v1: net: net/sched: cls_api: complement tcf_tfilter_dump_policy](http://lore.kernel.org/lkml/20231224165413.831486-1-linma@zju.edu.cn/)** + +> In function `tc_dump_tfilter`, the attributes array is parsed via +> tcf_tfilter_dump_policy which only describes TCA_DUMP_FLAGS. However, +> the NLA TCA_CHAIN is also accessed with `nla_get_u32`. According to the +> commit 5e2424708da7 ("xfrm: add forgotten nla_policy for +> XFRMA_MTIMER_THRESH"), such a missing piece could lead to a potential +> heap data leak. +> + +#### 内存管理 + +**[v11: Add AMD Secure Nested Paging (SEV-SNP) Hypervisor Support](http://lore.kernel.org/linux-mm/20231230172351.574091-1-michael.roth@amd.com/)** + +> This patchset is also available at: +> +> https://github.com/amdese/linux/commits/snp-host-v11 +> +> and is based on top of the following series: +> +> "v1: Add AMD Secure Nested Paging (SEV-SNP) Initialization Support" +> https://lore.kernel.org/kvm/20231230161954.569267-1-michael.roth@amd.com/ +> + +**[v1: mm: memory: use nth_page() in clear/copy_subpage()](http://lore.kernel.org/linux-mm/20231229082207.60235-1-wangkefeng.wang@huawei.com/)** + +> The clear and copy of huge gigantic page has converted to use nth_page() +> to handle the possible discontinuous struct page(SPARSEMEM without VMEMMAP), +> but not change for the non-gigantic part, fix it too. +> + +**[[mm-stable PATCH] mm/vmstat: move pgdemote_* out of CONFIG_NUMA_BALANCING](http://lore.kernel.org/linux-mm/20231229022651.3229174-1-lizhijian@fujitsu.com/)** + +> Demotion can work well without CONFIG_NUMA_BALANCING. But the +> commit 23e9f0138963 ("mm/vmstat: move pgdemote_* to per-node stats") +> wrongly hid it behind CONFIG_NUMA_BALANCING. +> + +**[v1: x86 NUMA-aware kernel replication](http://lore.kernel.org/linux-mm/20231228131056.602411-1-artem.kuzin@huawei.com/)** + +> This patchset implements initial support of kernel +> text and rodata replication for x86_64 platform. +> Linux kernel 6.5.5 is used as a baseline. +> +> There was a work previously published for ARM64 platform +> by Russell King (arm64 kernel text replication). +> We hope that it will be possible to push this technology forward together. +> + +**[v1: mm: ratelimit stat flush from workingset shrinker](http://lore.kernel.org/linux-mm/20231228073055.4046430-1-shakeelb@google.com/)** + +> One of our internal workload regressed on newer upstream kernel and on +> further investigation, it seems like the cause is the always synchronous +> rstat flush in the count_shadow_nodes() added by the commit f82e6bf9bb9b +> ("mm: memcg: use rstat for non-hierarchical stats"). On further +> inspection it seems like we don't really need accurate stats in this +> function as it was already approximating the amount of appropriate +> shadow entried to keep for maintaining the refault information. Since +> there is already 2 sec periodic rstat flush, we don't need exact stats +> here. Let's ratelimit the rstat flush in this code path. +> + +**[v9: mm/gup: Introduce memfd_pin_folios() for pinning memfd folios (v9)](http://lore.kernel.org/linux-mm/20231227073822.390518-1-vivek.kasireddy@intel.com/)** + +> The first two patches were previously reviewed but not yet merged. +> These ones need to be merged first as the fourth patch depends on +> the changes introduced in them and they also fix bugs seen in +> very specific scenarios (running Qemu with hugetlb=on, blob=true +> and rebooting guest VM). +> + +**[v1: mm: kasan: stop leaking stack trace handles](http://lore.kernel.org/linux-mm/20231226225121.235865-1-andrey.konovalov@linux.dev/)** + +> Commit 773688a6cb24 ("kasan: use stack_depot_put for Generic mode") added +> support for stack trace eviction for Generic KASAN. +> +> However, that commit didn't evict stack traces when the object is not put +> into quarantine. As a result, some stack traces are never evicted from +> the stack depot. +> + +**[v2: vhost-vdpa: account iommu allocations](http://lore.kernel.org/linux-mm/20231226182827.294158-1-pasha.tatashin@soleen.com/)** + +> iommu allocations should be accounted in order to allow admins to +> monitor and limit the amount of iommu memory. +> + +**[v1: mm: xtensa, kasan: define KASAN_SHADOW_END](http://lore.kernel.org/linux-mm/20231225151924.5422-1-andrey.konovalov@linux.dev/)** + +> Common KASAN code might rely on the definitions of the shadow mapping +> start, end, and size. Define KASAN_SHADOW_END in addition to +> KASAN_SHADOW_START and KASAN_SHADOW_SIZE. +> + +**[v1: kernel: Introduce a write lock/unlock wrapper for tasklist_lock](http://lore.kernel.org/linux-mm/20231225081932.17752-1-quic_aiquny@quicinc.com/)** + +> As a rwlock for tasklist_lock, there are multiple scenarios to acquire +> read lock which write lock needed to be waiting for. +> In freeze_process/thaw_processes it can take about 200+ms for holding read +> lock of tasklist_lock by walking and freezing/thawing tasks in commercial +> devices. And write_lock_irq will have preempt disabled and local irq +> disabled to spin until the tasklist_lock can be acquired. This leading to +> a bad responsive performance of current system. +> + +#### 文件系统 + +**[v1: virtiofs: Adjustments for two function implementations](http://lore.kernel.org/linux-fsdevel/c5c14b02-660a-46e1-9eb3-1a16d7c84922@web.de/)** + +> Date: Fri, 29 Dec 2023 09:28:09 +0100 +> +> A few update suggestions were taken into account +> from static source code analysis. +> + +**[v1: fuse: Improve error handling in two functions](http://lore.kernel.org/linux-fsdevel/70ebc121-4332-4c64-9a20-29837758aa19@web.de/)** + +> Date: Thu, 28 Dec 2023 21:57:00 +0100 +> +> The kfree() function was called in two cases during error handling +> even if the passed variable contained a null pointer. +> This issue was detected by using the Coccinelle software. +> + +**[回复: v1: fuse: use page cache pages for writeback io when virtio_fs is in use](http://lore.kernel.org/linux-fsdevel/SI2PR06MB53852C772180B28FE8AD7182FF9EA@SI2PR06MB5385.apcprd06.prod.outlook.com/)** + +> This patch just shows the idea, to see if I'm in the right direction 😊 +> And a quick prototype shows the performance improvement. +> If there're no obvious concerns, I'll try to make a formal patch and +> run the fstests +> + +**[v1: fs: extract include/linux/fs_type.h](http://lore.kernel.org/linux-fsdevel/1c70c171-a0e4-457e-af34-229d5a56951e@p183/)** + +> struct file_system_type is one of the things which could be extracted +> out of include/linux/fs.h easily. +> +> Drop some useless forward declarations and externs too. +> + +**[v2: Move fscrypt keyring destruction to after ->put_super](http://lore.kernel.org/linux-fsdevel/20231227171429.9223-1-ebiggers@kernel.org/)** + +> This series moves the fscrypt keyring destruction to after ->put_super, +> as this will be needed by the btrfs fscrypt support. To make this +> possible, it also changes f2fs to release its block devices after +> generic_shutdown_super() rather than before. +> + +**[v1: sysctl: treewide: constify ctl_table_root::set_ownership](http://lore.kernel.org/linux-fsdevel/20231226-sysctl-const-ownership-v1-1-d78fdd744ba1@weissschuh.net/)** + +> The set_ownership callback is not supposed to modify the ctl_table. +> Enforce this expectation via the typesystem. +> +> This change also is a step to put "struct ctl_table" into .rodata +> throughout the kernel. +> + +**[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: sunrpc: Improve exception handling in krb5_etm_checksum()](http://lore.kernel.org/netdev/9561c78e-49a2-430c-a611-52806c0cdf25@web.de/)** + +> Date: Sun, 31 Dec 2023 14:43:05 +0100 +> +> The kfree() function was called in one case by +> the krb5_etm_checksum() function during error handling +> even if the passed variable contained a null pointer. +> This issue was detected by using the Coccinelle software. +> + +**[[net-next: PATCH] net: mvpp2: initialize port fwnode pointer](http://lore.kernel.org/netdev/20231231122019.123344-1-marcin.s.wojtas@gmail.com/)** + +> Update the port's device structure also with its fwnode pointer +> with a recommended device_set_node() helper routine. +> + +**[v1: tipc: Improve exception handling in tipc_bcast_init()](http://lore.kernel.org/netdev/b9646b4a-61a2-41fb-8fea-ba63e08996f3@web.de/)** + +> Date: Sun, 31 Dec 2023 12:20:06 +0100 +> +> The kfree() function was called in two cases by +> the tipc_bcast_init() function during error handling +> even if the passed variable contained a null pointer. +> This issue was detected by using the Coccinelle software. +> + +**[v1: wifi: cfg80211: Replace a label in cfg80211_parse_ml_sta_data()](http://lore.kernel.org/netdev/873097b9-5a0b-495b-83ae-f2247fbb512b@web.de/)** + +> Date: Sun, 31 Dec 2023 11:22:42 +0100 +> +> The kfree() function was called in one case by +> the cfg80211_parse_ml_sta_data() function during error handling +> even if the passed variable contained a null pointer. +> This issue was detected by using the Coccinelle software. +> + +**[v1: bpf: Adjustments for four function implementations](http://lore.kernel.org/netdev/7011cdcc-4287-4e63-8bfa-f08710f670b1@web.de/)** + +> Date: Sat, 30 Dec 2023 20:51:23 +0100 +> +> A few update suggestions were taken into account +> from static source code analysis. +> + +**[v1: Revert "net: ipv6/addrconf: clamp preferred_lft to the minimum required"](http://lore.kernel.org/netdev/20231230043252.10530-1-alexhenrie24@gmail.com/)** + +> The commit had a bug and might not have been the right approach anyway. +> + +**[v1: net-next: net/sched: sch_api: conditional netlink notifications](http://lore.kernel.org/netdev/20231229132642.1489088-2-pctammela@mojatatu.com/)** + +> Implement conditional netlink notifications for Qdiscs and classes, +> which were missing in the initial patches that targeted tc filters and +> actions. Notifications will only be built after passing a check for +> 'rtnl_notify_needed()'. +> + +**[v1: net-next: net/sched: introduce ACT_P_BOUND return code](http://lore.kernel.org/netdev/20231229132642.1489088-1-pctammela@mojatatu.com/)** + +> Bound actions always return '0' and as of today we rely on '0' +> being returned in order to properly skip bound actions in +> tcf_idr_insert_many. In order to further improve maintainability, +> introduce the ACT_P_BOUND return code. +> + +**[v2: net-next: selftests/net: change shebang to bash to support "source"](http://lore.kernel.org/netdev/20231229131931.3961150-1-yujie.liu@intel.com/)** + +> The patch set [1] added a general lib.sh in net selftests, and converted +> several test scripts to source the lib.sh. +> +> unicast_extensions.sh (converted in [1]) and pmtu.sh (converted in [2]) +> have a /bin/sh shebang which may point to various shells in different +> distributions, but "source" is only available in some of them. For +> example, "source" is a built-it function in bash, but it cannot be +> used in dash. +> + +**[v1: net: rtnetlink: allow to set iface down before enslaving it](http://lore.kernel.org/netdev/20231229100835.3996906-1-nicolas.dichtel@6wind.com/)** + +> The below commit adds support for: +> > ip link set dummy0 down +> > ip link set dummy0 master bond0 up +> +> but breaks the opposite: +> > ip link set dummy0 up +> > ip link set dummy0 master bond0 down +> + +**[v1: bpf-next: bpf: add csum/ip_summed fields to __sk_buff](http://lore.kernel.org/netdev/20231229081409.1276386-1-menglong8.dong@gmail.com/)** + +> For now, we have to call some helpers when we need to update the csum, +> such as bpf_l4_csum_replace, bpf_l3_csum_replace, etc. These helpers are +> not inlined, which causes poor performance. +> + +**[v3: net-next: virtio-net: support AF_XDP zero copy](http://lore.kernel.org/netdev/20231229073108.57778-1-xuanzhuo@linux.alibaba.com/)** + +> ## AF_XDP +> +> XDP socket(AF_XDP) is an excellent bypass kernel network framework. The zero +> copy feature of xsk (XDP socket) needs to be supported by the driver. The +> performance of zero copy is very good. mlx5 and intel ixgbe already support +> this feature, This patch set allows virtio-net to support xsk's zerocopy xmit +> feature. +> + +**[v4: VMware hypercalls enhancements](http://lore.kernel.org/netdev/20231228192421.29894-1-alexey.makhalov@broadcom.com/)** + +> VMware hypercalls invocations were all spread out across the kernel +> implementing same ABI as in-place asm-inline. With encrypted memory +> and confidential computing it became harder to maintain every changes +> in these hypercall implementations. +> + +**[v3: posix-timers: add multi_clock_gettime system call](http://lore.kernel.org/netdev/20231228122411.3189-1-maimon.sagi@gmail.com/)** + +> Some user space applications need to read some clocks. +> Each read requires moving from user space to kernel space. +> The syscall overhead causes unpredictable delay between N clocks reads +> Removing this delay causes better synchronization between N clocks. +> + +**[v8: GenieZone hypervisor drivers](http://lore.kernel.org/netdev/20231228105147.13752-1-yi-de.wu@mediatek.com/)** + +> This series is based on linux-next, tag: next-20231222. +> +> GenieZone hypervisor(gzvm) is a type-1 hypervisor that supports various virtual +> machine types and provides security features such as TEE-like scenarios and +> secure boot. It can create guest VMs for security use cases and has +> virtualization capabilities for both platform and interrupt. Although the +> hypervisor can be booted independently, it requires the assistance of GenieZone +> hypervisor kernel driver(gzvm-ko) to leverage the ability of Linux kernel for +> vCPU scheduling, memory management, inter-VM communication and virtio backend +> support. +> + +**[v1: net-next: net: mctp: use deprecated parser in mctp_set_link_af](http://lore.kernel.org/netdev/20231228070258.3052422-1-linma@zju.edu.cn/)** + +> In mctp set_link_af implementation `mctp_set_link_af`, it uses strict +> parser nla_parse_nested to parse the nested attribute. This is fine in +> most cases but not here, as the rtnetlink uses *bad magic* in setlink +> code, see code snippet in function `do_setlink`. +> + +**[v5: net-next: netdevsim: link and forward skbs between ports](http://lore.kernel.org/netdev/20231228014633.3256862-1-dw@davidwei.uk/)** + +> This patchset adds the ability to link two netdevsim ports together and +> forward skbs between them, similar to veth. The goal is to use netdevsim +> for testing features e.g. zero copy Rx using io_uring. +> + +**[v1: iwl-net: idpf: avoid compiler padding in virtchnl2_ptype struct](http://lore.kernel.org/netdev/20231227173757.1743001-1-pavan.kumar.linga@intel.com/)** + +> Config option in arm random config file is causing the compiler +> to add padding. Avoid it by using "__packed" structure attribute +> for virtchnl2_ptype struct. +> + +**[v1: nfc: mei_phy: Adjustments for two function implementations](http://lore.kernel.org/netdev/9a683f73-c5a2-4b80-af1b-01540834a3dd@web.de/)** + +> Date: Wed, 27 Dec 2023 16:53:21 +0100 +> +> A few update suggestions were taken into account +> from static source code analysis. +> + +**[v1: ss: add option to suppress queue columns](http://lore.kernel.org/netdev/20231227134409.12694-1-cgzones@googlemail.com/)** + +> Add a new option `-Q/--no-queues` to ss(8) to suppress the two standard +> columns Send-Q and Recv-Q. This helps to keep the output steady for +> monitoring purposes (like listening sockets). +> + +**[[net-next PATCH 0/3] net: phy: at803x: even more generalization](http://lore.kernel.org/netdev/20231227091946.12937-1-ansuelsmth@gmail.com/)** + +> This is part 3 of at803x required patches to split the PHY driver +> in more specific PHY Family driver. +> +> While adding support for a new PHY Family qca807x it was notice lots +> of similarities with the qca808x cdt function. Hence this series +> is done to make things easier in the future when qca807x PHY will be +> submitted. +> + +**[v2: net-next: MT7530 DSA Subdriver Improvements Act I](http://lore.kernel.org/netdev/20231227044347.107291-1-arinc.unal@arinc9.com/)** + +> Hello! +> +> This patch series simplifies the MT7530 DSA subdriver and improves the +> logic of the support for MT7530, MT7531, and the switch on the MT7988 SoC. +> +> I have done a simple ping test to confirm basic communication on all switch +> ports on MCM and standalone MT7530, and MT7531 switch with this patch +> series applied. +> + +**[v1: iproute2-next: bridge: mdb: Add flush support](http://lore.kernel.org/netdev/20231226153013.3262346-1-idosch@nvidia.com/)** + +> Implement MDB flush functionality, allowing user space to flush MDB +> entries from the kernel according to provided parameters. +> + +**[v1: net-next: virtio-net: support device stats](http://lore.kernel.org/netdev/20231226073103.116153-1-xuanzhuo@linux.alibaba.com/)** + +> As the spec: +> +> https://github.com/oasis-tcs/virtio-spec/commit/42f389989823039724f95bbbd243291ab0064f82 +> +> The virtio net supports to get device stats. +> + +**[v2: net: wwan: t7xx: Add fastboot interface](http://lore.kernel.org/netdev/MEYP282MB2697D55EB54FA63E7F58AFD4BB98A@MEYP282MB2697.AUSP282.PROD.OUTLOOK.COM/)** + +> To support cases such as firmware update or core dump, the t7xx +> device is capable of signaling the host that a special port needs +> to be created before the handshake phase. +> + +**[v1: net-next: sockptr: Change sockptr_t to be a struct](http://lore.kernel.org/netdev/199c9af56a5741feaf4b1768bf7356be@AcuMS.aculab.com/)** + +> The original commit for sockptr_t tried to use the pointer value +> to determine whether a pointer was user or kernel. +> This can't work on some architectures and was buggy on x86. +> So the is_kernel discriminator was added after the union of pointers. +> + +#### 安全增强 + +**[v6: shrink lib/string.i via IWYU](http://lore.kernel.org/linux-hardening/20231226-libstringheader-v6-0-80aa08c7652c@google.com/)** + +> This patch series changes the include list of string.c to minimize +> the preprocessing size. The patch series intends to remove REPEAT_BYE +> from kernel.h and move it into its own header file because +> word-at-a-time.h has an implicit dependancy on it but it is declared +> in kernel.h which is bloated. +> + +#### BPF + +**[v1: bpf-next: bpf: introduce BPF_MAP_TYPE_RELAY](http://lore.kernel.org/bpf/20231227100130.84501-1-lulie@linux.alibaba.com/)** + +> The patch set introduce a new type of map, BPF_MAP_TYPE_RELAY, based on +> relay interface [0]. It provides a way for persistent and overwritable data +> transfer. +> + +### 周边技术动态 + +#### Qemu + +**[v2: target/riscv: SMBIOS support for RISC-V virt machine](http://lore.kernel.org/qemu-devel/20231229120724.41383-1-heinrich.schuchardt@canonical.com/)** + +> Generate SMBIOS tables for the RISC-V mach-virt. +> Add CONFIG_SMBIOS=y to the RISC-V default config. +> + +**[v1: target/riscv/tcg: do not set defaults for non-generic](http://lore.kernel.org/qemu-devel/20231229080302.125418-1-vladimir.isaev@syntacore.com/)** + +> riscv_cpu_options[] are exported using qdev and some of them are defined +> with default values. This is unfortunate since riscv_cpu_add_user_properties() +> is called after CPU instance init and there is no clear way to disable MMU/PMP +> for some CPUs. +> + +**[v1: RISC-V: ACPI: Enable SPCR](http://lore.kernel.org/qemu-devel/20231228080616.158822-1-jeeheng.sia@starfivetech.com/)** + +> This series focuses on enabling the Serial Port Console Redirection (SPCR) +> table for the RISC-V virt platform. Considering that ARM utilizes the same +> function, the initial patch involves migrating the build_spcr function to +> common code. This consolidation ensures that RISC-V avoids duplicating the +> function. +> + +#### Buildroot + +**[package/gdb: add support for GDB 14.1](http://lore.kernel.org/buildroot/20231227214032.1A05183732@busybox.osuosl.org/)** + +> commit: https://git.buildroot.net/buildroot/commit/?id=a9a56ab6fd98125ca09078bdeb7c8d55d53aa35e +> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master +> +> All patches are still relevant, and have been rebased on top of GDB +> 14.1. +> + +**[configs/qemu_riscv64_virt_efi: new defconfig](http://lore.kernel.org/buildroot/20231224165609.AEA7282753@busybox.osuosl.org/)** + +> commit: https://git.buildroot.net/buildroot/commit/?id=8219955118fee56ccd3ca8a13a6350d0e15de418 +> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master +> + +**[boot/grub2: add RISC-V 64bit EFI support](http://lore.kernel.org/buildroot/20231224165609.A142482751@busybox.osuosl.org/)** + +> commit: https://git.buildroot.net/buildroot/commit/?id=f439b47ed6e987306c7de6d9c3be11de04935377 +> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master +> +> Grub can be built as a RISC-V UEFI application since commit [1]. This +> commit was first included in grub version 2.04. +> + +#### U-Boot + +**[v1: rtc: driver for Goldfish RTC](http://lore.kernel.org/u-boot/20231230235301.236868-1-heinrich.schuchardt@canonical.com/)** + +> The Goldfish RTC is a virtual device which may be supplied by QEMU. +> It is enabled by default on QEMU's RISC-V virt machine. +> +> Provide a driver and enable it by default on RISC-V QEMU. +> + +**[v1: smbios: riscv: set correct SMBIOS processor family value](http://lore.kernel.org/u-boot/20231228073024.6508-1-heinrich.schuchardt@canonical.com/)** + +> Many value of processor type exceed 0xff and have to be stored as u16 +> value. In the type 4 table set processor_family = 0xfe signaling that +> field processor_family2 is used and write the actual value into the +> processor_family2 field. +> + +**[GIT PULL: u-boot-riscv/next](http://lore.kernel.org/u-boot/ZY0Jwxaqw6bGOvBI@swlinux02/)** + +> The following changes since commit 4b151562bb8e54160adedbc6a1c0c749c00a2f84: +> +> bootmeth: pass size to efi_binary_run() (2023-12-22 10:36:50 -0500) +> +> are available in the Git repository at: +> +> https://source.denx.de/u-boot/custodians/u-boot-riscv.git next +> -- Gitee