泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

泰晓RISC-V实验箱,转战RISC-V,开箱即用
请稍侯

RISC-V Linux 内核及周边技术动态第 110 期

呀呀呀 创作于 2024/09/22

时间:20240922
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS

内核动态

RISC-V 架构支持

v1: riscv: add Svukte extension

Svukte introduce senvcfg.UKTE and hstatus.HUKTE bitfield.

v1: riscv: make riscv_isa_vendor_ext_andes[] static

The riscv_isa_vendor_ext_andes array is not exported out of the file it is in, so make it static to fix the following sparse

v1: Introduce support for T-head TH1520 Mailbox

The T-head TH1520 SoC supports a hardware mailbox that enables two cores within the SoC to communicate and coordinate [1].

RFC: extern illegal instruction trap and trap RDCYCLE

This is a RFC series to change how the illegal instruction trap is handled and then how to trap RDCYCLE and emulate it with RDTIME instead.

v1: riscv/entry: issue about a0/orig_a0 register and ENOSYS

Before PTRACE_GET_SYSCALL_INFO was implemented in v5.3, the only way to get syscall arguments was to get user_regs_struct via PTRACE_GETREGSET.

v2: Add clock controller support for Spacemit K1

The clock tree of Spacemit K1 is managed by several independent controllers in different SoC parts. In this series, all clock hardwares in APBS, MPMU, APBC and APMU, are implemented.

v1: Add initial support for Canaan Kendryte K230 pinctrl

This patch series introduces support for the pinctrl driver of the Canaan K230 SoC.

v2: pinctrl: Add T-Head TH1520 SoC pin controllers

This adds a pin control driver created by Emil for the T-Head TH1520 RISC-V SoC used on the Lichee Pi 4A and BeagleV Ahead boards and updates the device trees to make use of it.

GIT PULL: KVM/riscv changes for 6.12

We have only 4 KVM RISC-V fixes for 6.12. There are quite a few in-flight patches waiting for more reviews and these will be included in 6.13.

LoongArch 架构支持

v1: LoongArch: KVM: Ensure ret is always initialized in kvm_eiointc_{read,write}()

Clang warns (or errors with CONFIG_WERROR=y)

ARM 架构支持

v1: rockchip: Split rk3288-vop compatible into big and lit

The Rockchip RK3288 SoC contain two different Visual Output Processor (VOP) blocks, VOP_BIG and VOP_LIT.

v2: Add support for ArmSoM LM7 SoM

This series add support for ArmSoM RK3588 based SoM and carrier board.

v4: drm: sun4i: add Display Engine 3.3 (DE33) support

V4 of this patch series adding support for the Allwinner DE33 display engine variant.

v5: Correct perf sampling with Guest VMs

v5: Add minimal Exynos8895 SoC and SM-G950F support

This series adds initial SoC support for the Exynos 8895 SoC and also initial board support for Samsung Galaxy S8 phone (SM-G950F), codenamed dreamlte.

v2: Add support for new IMX8MP based board

this series adds support for a new member in our IOTA platform.

v19: Add i2c-mux and eeprom devices for Meta Yosemite4

v4: Initial device trees for A7-A11 based Apple devices

This series adds device trees for all A7-A11 SoC based iPhones, iPads, iPod touches and Apple TVs.

v8: Marvell Odyssey uncore performance monitor support

This series of patches introduces support for uncore performance monitor units (PMUs) on the Marvell Odyssey platform. The PMUs covered in this series include the DDR PMU and LLC-TAD PMU.

v4: MIPI DSI Controller support for SAM9X75 series

This patch series adds support for the Microchip’s MIPI DSI Controller wrapper driver that uses the Synopsys DesignWare MIPI DSI host controller bridge for SAM9X75 SoC series.

v2: yosemite4: Add power module and ADC on Medusa Board

v1: ARM: bcm: Make BCM6846 bootable on mainline

Bringing up BCM6846 on mainline I faced two problems.

linux-next: duplicate patch in the watchdog tree

The following commit is also in the arm-soc tree as a different commit

[GIT PULL 0/4]

These are the usual four branches from the SoC tree, with around 900 non-merge changesets from 220 individual authors.

v3: perf: cs-etm: Coresight decode and disassembly improvements

A set of changes that came out of the issues reported here.

v10: Coresight for Kernel panic and watchdog reset

This patch series is rebased on coresight-next-v6.12.

v2: perf arm-spe: Refactor data source encoding

As more Arm CPU variants (not only Neoverse CPUs) support data source encoding, they share the same format for the data source packet.

v2: perf arm-spe: Introduce metadata version 2

This patch series enhances Arm SPE metadata in the Perf file to a version 2 format and maintains backward compatibility for metadata v1.

v4: Add support for Ariaboard Photonicat RK3568

Add dts for Ariaboard Photonicat RK3568.

v5: Add support for RK3588S Evaluation board

GIT PULL: Emulated one-byte cmpxchg() for ARC and sh

This series provides emulated one-byte cmpxchg() support for ARM and sh using the cmpxchg_emu_u8() function that uses a four-byte cmpxchg() to emulate the one-byte variant.

X86 架构支持

v4: nosnp sev command line support

Provide “nosnp” boot option via “sev=nosnp” kernel command line to prevent SEV-SNP[1] capable host kernel from enabling SEV-SNP and initializing Reverse Map Table (RMP) [1].

v4: mm: x86: instrument __get/__put_kernel_nofault

Instrument copy_from_kernel_nofault(), copy_to_kernel_nofault(), strncpy_from_kernel_nofault() where __put_kernel_nofault, __get_kernel_nofault macros are used.

v2: ext4: prevent data-race that occur when read/write ext4_group_desc structure members

Currently, data-race like [1] occur in fs/ext4/ialloc.c

v1: Selective mitigation for trusted userspace

This is an experimental series exploring the feasibility of selectively applying CPU vulnerability mitigations on a per-process basis.

GIT PULL: PCI changes for v6.12

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b

GIT PULL: perf tools changes for v6.12

Please consider pulling,

GIT PULL: platform-drivers-x86 for 6.12-1

Here is the main PDx86 PR for 6.12.

GIT PULL: Performance events changes for v6.12

Pull the latest perf/core Git tree from

v3: platform/x86: introduce asus-armoury driver

This is the first major patch I’ve ever done with the intention of introducing a new module, so it’s highly likely I’ve made some mistakes or misunderstood something.

[PATCH AUTOSEL 5.4] x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency

A Linux guest on Hyper-V gets the TSC frequency from a synthetic MSR, if available.

[PATCH AUTOSEL 5.15] x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency

A Linux guest on Hyper-V gets the TSC frequency from a synthetic MSR, if available.

[GIT pull] x86/timers for v6.12-rc1

please pull the latest x86/timers branch from

[GIT pull] x86/core for v6.12-rc1

Enable UBSAN traps for x86, which provides better reporting through metadata encodeded into UD1.

v1: objtool: Also include tools/include/uapi

Added tools/include/uapi to the include paths when building objtool. With this trick, linux/stddef.h is resolved to tools/include/uapi/linux/stddef.h, which doesn’t include linux/compiler_types.h.

v1: Extend SEV-SNP SVSM support with a kvm_vcpu per VMPL

I’ve prepared this series as an extension to the RFC patch series: ‘SEV-SNP support for running an SVSM’ posted by Tom Lendacky [1].

v1: 6.6: 6.6.52-rc1 review

This is the start of the stable review cycle for the 6.6.52 release. There are 91 patches in this series, all will be posted as a response to this one.

v1: 6.10: 6.10.11-rc1 review

This is the start of the stable review cycle for the 6.10.11 release. There are 121 patches in this series, all will be posted as a response to this one.

v1: 6.1: 6.1.111-rc1 review

This is the start of the stable review cycle for the 6.1.111 release. There are 63 patches in this series, all will be posted as a response to this one.

v1: acerhdf refactoring

hope you’re doing good. I finally found some time to rework acerhdf.

v1: x86: add more x86-64 micro-architecture levels

GCC 11.1 and Clang 12.0[1] allow for the following new generic 64-bit levels: x86-64-v2, x86-64-v3, and x86-64-v4. This commit adds them as options accessible under.

v15: tracing: fprobe: function_graph: Multi-function graph and fprobe on fgraph

Here is the 15th version of the series to re-implement the fprobe on function-graph tracer.

GIT PULL: First batch of KVM changes for Linux 6.12

These are the non-x86 changes (mostly ARM, as is usually the case).

v3: perf & kvm: Enhance perf to collect KVM guest os statistics from host side

Here is the new patch of V3 against tip/master of April 13th if anyone wants to try it.

进程调度

[GIT pull] sched/rt for v6.12-rc1

After twenty years of development we finally reached the point to enablePREEMPT_RT support in the mainline kernel.

v1: perf sched: Introduce stats tool

Existing perf sched is quite exhaustive and provides lot of insights into scheduler behavior but it quickly becomes impractical to use for long running or scheduler intensive workload.

v1: sched/syscalls: Allow setting niceness using sched_param struct

From userspace, spawning a new process with, for example, posix_spawn(), only allows the user to work with the scheduling priority value defined by POSIX in the sched_param struct.

内存管理

v1: rust: alloc: pass old_layout to Allocator

Since this came up a few times, this patch shows how the implementation looks like with an old_layout argument.

v1: mm/fake-numa: per-phys node fake size

Determine fake numa node size on a per-phys node basis to handle cases where there are big differences of reserved memory size inside physical nodes, this will allow to get the expected number of nodes evenly interleaved.

v1: memory tiering fairness by per-cgroup control of promotion and demotion

Currently in Linux, there is no concept of fairness in memory tiering. Depending on the memory usage and access patterns of other colocated applications, an application cannot be sure of how much memory in which tier it will get, and how much its performance will suffer or benefit.

v2: tmpfs: fault in smaller chunks if large folio allocation not allowed

The tmpfs supports large folio, but there is some configurable options to enable/disable large folio allocation, and for huge=within_size, large folio only allowabled if it fully within i_size, so there is performance issue when perform write without large folio, the issue is similar to commit 4e527d5841e2 (“iomap: fault in smaller chunks for non-large folio mappings”).

v1: mm/page_alloc: Add some detailed comments in can_steal_fallback

v13: ACPI: APEI: handle synchronous errors in task work

Changes Log

v1: refine mas_end of mas_mab_cp()

mas_mab_cp() copy range [mas_start, mas_end] inclusively. For some usage, the mas_end passed could be refined.

v1: ext4, mm: improve partial inode eof zeroing

I’ve been poking around at testing zeroing behavior after a couple recent enhancements to iomap_zero_range() and fsx[1].

v1: misc: sgi-gru: Don’t disable preemption in GRU driver

Disabling preemption in the GRU driver is unnecessary, and clashes with sleeping locks in several code paths.

v1: Add BLK_FEAT_READ_SYNCHRONOUS and SWP_READ_SYNCHRONOUS_IO

This patchset introduces 2 new feature flags, BLK_FEAT_READ_SYNCHRONOUS and SWP_READ_SYNCHRONOUS_IO.

v2: Add NUMA mempolicy support for KVM guest_memfd

The current implementation of KVM guest-memfd does not honor the settings provided by VMM.

v1: mm: call the security_mmap_file() LSM hook in remap_file_pages()

The remap_file_pages syscall handler calls do_mmap() directly, which doesn’t contain the LSM security check.

v1: Add hazard pointers to kernel

This series introduces hazard pointers [1] to kernel space.

v1: Proposal of Integrating Namespaces and Cgroups for Enhanced Resource Management

We have carefully reviewed the comments and have made the necessary adjustments to the patch to align with the Linux kernel development conventions.

v2: Compute contiguous empty PTEs for mTHP efficiently

We use pte_range_none() to determine whether contiguous PTEs are empty for an mTHP allocation.

v4: Do not shatter hugezeropage on wp-fault

It was observed at [1] and [2] that the current kernel behaviour of shattering a hugezeropage is inconsistent and suboptimal.

v1: Managed Percpu Refcount

v8: fs: multigrain timestamp redux

This is a fairly small update to the v7 set.

v1: -next: tmpfs: fault in smaller chunks if large folio allocation not allowed

The tmpfs supports large folio, but there is some configurable options to enable/disable large folio allocation, and for huge=within_size, large folio only allowabled if it fully within i_size, so there is performance issue when perform write without large folio, the issue is similar to commit 4e527d5841e2 (“iomap: fault in smaller chunks for non-large folio mappings”).

v1: mm: mglru: provide a separate list for lazyfree anon folios

This follows up on the discussion regarding Gaoxu’s work.

文件系统

GIT PULL: bcachefs changes for 6.12-rc1

I think we’ll be able to take off EXPERIMENTAL in inside of a year, see below for more.

v1: drm/panthor: Add FOP_UNSIGNED_OFFSET to fop_flags

Since 641bb4394f40 (“fs: move FMODE_UNSIGNED_OFFSET to fop_flags”) the FMODE_UNSIGNED_OFFSET flag has been moved to fop_flags and renamed, but the patch failed to make the changes for the panthor driver.

v1: RESEND: rust: introduce declare_err! autogeneration

This patchset solves this issues for good by introducing a rule to generate errno_generated.rs by seding the errno.h and including the generated file in the error.rs.

v1: API for exporting connectable file handles to userspace

These patches bring the NFS connectable file handles feature to userspace servers.

GIT PULL: vfs blocksize

This contains the vfs infrastructure as well as the xfs bits to enable support for block sizes (bs) larger than page sizes (ps) plus a few fixes to related infrastructure.

v1: cifs: Make the write_{enter,done,err} tracepoints display netfs info

Make the write RPC tracepoints use the same trace macro complexes as the read tracepoints and display the netfs request and subrequest IDs where available (see commit 519be989717c “cifs: Add a tracepoint to track credits involved in R/W requests”).

v1: more descriptor fun: dma_buf_fd()

dma_buf_fd() takes dmabuf and either inserts the corresponding struct file reference into descriptor table (and returns the descriptor) or returns an error.  In the former case dmabuf reference is consumed, in the latter it is not.

v1: erofs: introduce Rust implementation

So here is a patchset to add Rust skeleton codes to the current EROFS implementation.

v2: fs/exfat: resolve memory leak from exfat_create_upcase_table()

If exfat_load_upcase_table reaches end and returns -EINVAL,
allocated memory doesn't get freed and while
exfat_load_default_upcase_table allocates more memory, leading to a
memory leak.

v1: fuse: use exclusive lock when FUSE_I_CACHE_IO_MODE is set

This may be a typo. The comment has said shared locks are not allowed when this bit is set.

v1: blk: optimization for classic polling

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: bpf-next: Add XDP rx hw hints support performing XDP_REDIRECT

This series introduces the xdp_rx_meta struct in the xdp_buff/xdp_frame one as a container to store the already supported xdp rx hw hints (rx_hash and rx_vlan, rx_timestamp will be stored in skb_shared_info area) when the eBPF program running on the nic performs XDP_REDIRECT. Doing so, we are able to set the skb metadata converting the xdp_buff/xdp_frame to a skb.

v2: net: mana: Add get_link and get_link_ksettings in ethtool

Add support for the ethtool get_link and get_link_ksettings operations. Display standard port information using ethtool.

v2: net/mlx5: unique names for per device caches

Add the device name to the per device kmem_cache names to ensure their uniqueness. This fixes warnings like this: “kmem_cache of name ‘mlx5_fs_fgs’ already exists”.

v1: bpf-next: bpf: Make sure internal and UAPI bpf_redirect flags don’t overlap

The bpf_redirect_info is shared between the SKB and XDP redirect paths, and the two paths use the same numeric flag values in the ri->flags field (specifically, BPF_F_BROADCAST == BPF_F_NEXTHOP).

v1: net: fjes: Refactor a string comparison in is_extended_socket_device()

Assign the return value from a strncmp() call to a local variable so that an if statement can be omitted accordingly.

v1: net: xilinx: axienet: Reduce scopes for two resources in axienet_probe()

The calls “dma_release_channel(tx_chan)” and “of_node_put(np)” were immediately used after return value checks in this function implementation.

v1: net-next: Threads extension for process connector

Recently we committed a fix to allow processes to receive notifications for non-zero exits via the process connector module. Commit is a4c9a56e6a2c.

v1: Extending features on DP83TG720 driver

The DP83TG720S-Q1 device is an IEEE 802.3bp and Open Alliance compliant automotive Ethernet physical layer transceiver. It provides all physical layer functions needed to transmit and receive data over unshielded/shielded single twisted-pair cables.

v2: net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled

After this patch, up to 9% noticeable performance improvement was observed on certain platforms.

v1: octeontx2-af: Change block parameter to const pointer in get_lf_str_list

Convert struct rvu_block block to const struct rvu_block *block in get_lf_str_list() function parameter.

v1: net-next: wireguard: Omit unnecessary memset of netdev private data

The memory for netdev_priv is allocated using kvzalloc in alloc_netdev_mqs before rtnl_link_ops->setup is called so there is no need to zero it again in wg_setup.

v3: net-next: Netlink flag for creating IPv6 Default Routes

From 7b6ccc0ce49f1bb440a6f91f45fd2e46542d169c Mon Sep 17 00:00:00 2001

Submitted a patch, got error “Patch does not apply to net-next-0”

First time submitter and it seems I did something wrong, as I got the error “Patch does not apply to net-next-0”. I suspected it was complaining about a missing end-of-line, so I resubmitted and get the error “Patch does not apply to net-next-1”.

v2: net: stmmac: dwmac4: extend timeout for VLAN Tag register busy bit check

Increase the timeout for checking the busy bit of the VLAN Tag register from 10µs to 500ms. This change is necessary to accommodate scenarios where Energy Efficient Ethernet (EEE) is enabled.

v1: net: r8169: add missing MODULE_FIRMWARE entry for RTL8126A rev.b

Add a missing MODULE_FIRMWARE entry.

v3: net-next: sfc: per-queue stats

This series implements the netdev_stat_ops interface for per-queuestatistics in the sfc driver, partly using existing counters thatwere originally added for ethtool -S output.

v1: net-next: e1000e: link NAPI instances to queues and IRQs

Make e1000e compatible with the newly added netdev-genl APIs.

v11: iwl-next: ice: Implement PTP support for E830 devices

Add specific functions and definitions for E830 devices to enable PTP support.

v1: net-next: net/smc: Introduce a hook to modify syn_smc at runtime

The introduction of IPPROTO_SMC enables eBPF programs to determine whether to use SMC based on the context of socket creation, such as network namespaces, PID and comm name, etc.

v2: bpf-next: Cgroup skb add helper to get net_cls’s classid

v1: net-next: vmxnet3: support higher link speeds from vmxnet3 v9

This patch adds support for vmxnet3 to report higher link speeds and converts it to mbps as expected by Linux stack.

v1: net: r8169: add tally counter fields added with RTL8125

RTL8125 added fields to the tally counter, what may result in the chip dma’ing these new fields to unallocated memory.

v1: net/ncsi: Cancel the ncsi work before freeing the associated structure

The work function can run after the ncsi device is freed, resulting in use-after-free bugs or kernel panic.

v4: net-next: net: phy: microchip_t1: SQI support for LAN887x

Add support for measuring Signal Quality Index for LAN887x T1 PHY. Signal Quality Index (SQI) is measure of Link Channel Quality from 0 to 7, with 7 as the best. By default, a link loss event shall indicate an SQI of 0.

v7: net-next: Introducing OpenVPN Data Channel Offload

This is the 7th version of the ovpn patchset.

v5: PCIe TPH and cache direct injection support

This series introduces generic TPH support in Linux, allowing STs to be retrieved and used by PCIe endpoint drivers as needed. As a demonstration, it includes an example usage in the Broadcom BNXT driver.

v2: net: ipv6: select DST_CACHE from IPV6_RPL_LWTUNNEL

The rpl sr tunnel code contains calls to dst_cache_*() which are only present when the dst cache is built.

v1: stmmac: mmc: dwmac4: Add ip payload error statistics

Add dwmac4 ip payload error statistics, and rename discripter bit macro because latest version descriptor IPCE bit claims include ip checksum error and l4 segment length error.

v2: Introduce GRO support to cpumap codebase

Add GRO support to cpumap codebase moving the cpu_map_entry kthread to a NAPI-kthread pinned on the selected cpu.

安全增强

v1: clocksource/drivers/timer-sprd: Select driver on ARM and ARM64

sprd timer is currently available on ARM and ARM64 based devices.

v2: Add inline encryption support

QCOM SDCC controller having Inline Crypto Engine support Inline Crypto Engine do encryption/decryption on fly.

异步 IO

v1: io_uring: check if we need to reschedule during overflow flush

In terms of normal application usage, this list will always be empty. And if an application does overflow a bit, it’ll have a few entries.

v8: RESEND: io_uring: releasing CPU resources when polling

This patch add a new hybrid poll at io_uring level, it also set a signal “IORING_SETUP_HY_POLL” to application, aim to provide a interface for users to enable use new hybrid polling flexibly.

v2: napi tracking strategy

the patch serie consist of very minor fixes followed by the core of the changes to implement the new feature.

v3: RESEND: io_uring: do the sqpoll napi busy poll outside the submission block

there are many small reasons justifying this change.

v1: io_uring/sqpoll: retain test for whether the CPU is valid

A recent commit ensured that SQPOLL cannot be setup with a CPU that isn’t in the current tasks cpuset, but it also dropped testing whether the CPU is valid in the first place.

Rust For Linux

v1: rust: introduce declare_err! autogeneration

This patchset solves this issues by introducing a rule to generate errno_generated.rs by seding the errno.h and including the generated file in the error.rs.

v2: rust: types: Add examples for the Either type

Add examples for the Either type

v2: hrtimer Rust API

This series adds support for using the hrtimer subsystem from Rust code.

v1: kbuild: support building external modules in a separate build directory

There has been a long-standing request to support building external modules in a separate build directory.

v1: rust: Adds examples for the Either type

Adds examples for the Either type

v2: rust: sync: Add Lock::from_raw for Lock<(), B>

This patch just adds a ::from_raw method to the kernel’s Lock type, which can be used for locks where the data type is ().

v1: rust: sync: Add Lock::from_raw for ZST data types

This patch just adds a ::from_raw method to the kernel’s Lock type, which can be used for locks where the data type is a ZST.

v6: rust: Add irq abstraction, SpinLockIrq

This adds a simple interface for disabling and enabling CPUs, along with the ability to mark a function as expecting interrupts be disabled - along with adding bindings for spin_lock_irqsave/spin_lock_irqrestore().

v2: rust: add trylock method support for lock backend

Add a non-blocking trylock method to lock backend interface, mutex and spinlock implementations.

v2: rust: sync: require T: Sync for LockedBy::access

The LockedBy::access method only requires a shared reference to the owner, so if we have shared access to the LockedBy from several threads at once, then two threads could call access in parallel and both obtain a shared reference to the inner value. Thus, require that T: Sync when calling the access method.

BPF

v1: bpf-next: libbpf: add resizable array helpers

Arrays in custom data sections can be resized via bpf_map__set_value(). While working with these types of arrays in some sched_ext programs, there was some feedback that the manual operations involved could use helpers.

v2: dwarves: Emit global variables in BTF

This is v2 of the series to add global variables to pahole’s generated BTF. Please see v1’s cover letter for more justification and background.

v1: bpf-next: Improve .BTF_ids patching and alignment

This patch series offers improvements to the way .BTF_ids section data is created and later patched by resolve_btfids.

v1: bpf-next: libbpf: change log level of BTF loading error message

Reduce log level of BTF loading error to INFO if BTF is not required.

v1: uprobes: Improve the usage of xol slots for better scalability

The kprobe handler allocates xol slot from xol_area and quickly release it in the single-step handler. The atomic operations on the xol bitmap and slot_count lead to expensive cache line bouncing between multiple CPUs.

v1: dwarves: pahole: generate “bpf_fastcall” decl tags for eligible kfuncs

For kfuncs marked with KF_FASTCALL flag generate the following pair of decl tags:

v1: bpf-next: ‘bpf_fastcall’ attribute in vmlinux.h and bpf_helper_defs.h

The goal of this patch-set is to reflect attribute bpf_fastcall for supported helpers and kfuncs in generated header files.

v1: net: bondig: Add bond_xdp_check for bond_xdp_xmit in bond_main.c

Add bond_xdp_check to ensure the bond interface is in a valid state.

v2: bpf-next: Support eliding map lookup nullness

This patch allows progs to elide a null check on statically known map lookup keys. In other words, if the verifier can statically prove that the lookup will be in-bounds, allow the prog to drop the null check.

v3: -next: perf stat: Support inherit events for bperf

Here is the 3th version of the series to support inherit events for bperf. This version add pid or tgid selection based on filter type in new_task prog to avoid memory waste and potential count loss.

v5: powerpc: Core ftrace rework, support for ftrace direct and bpf trampolines

This series reworks core ftrace support on powerpc to have the function profiling sequence moved out of line.

v1: bpf: Constify struct btf_kind_operations

Constifying this structures moves some data to a read-only section, so increase overall security, especially when the structure holds some function pointers.

v1: net: netkit: Ensure current->bpf_net_context is set in netkit_xmit()

When operating Cilium in netkit mode with BPF-based host routing, calls to bpf_redirect() cause a kernel panic.

v2: bpf: Check the remaining info_cnt before repeating btf fields

The patch set adds the missed check again info_cnt when flattening the array of nested struct. The problem was spotted when developing dynptr key support for hash map. Patch #1 adds the missed check and patch #2 adds three success test cases and one failure test case for the problem.

周边技术动态

Qemu

v7: target/riscv: Expose RV32 cpu to RV64 QEMU

This patch set aims to expose 32-bit RISC-V cpu to RV64 QEMU. Thus qemu-system-riscv64 can directly boot a RV32 Linux.

v6: Improve the performance of RISC-V vector unit-stride/whole register ld/st instructions

Thank for Richard Henderson’s suggestions that this version unrolled the loop in helper functions of unmasked vector unit-stride load/store instructions, etc.

v9: target/riscv/kvm/kvm-cpu.c: kvm_riscv_handle_sbi() fail with vendor-specific SBI

Add new error path to provide proper error in case of qemu_chr_fe_read_all() may not return sizeof(ch), because exactly zero just means we failed to read input, which can happen, so telling the SBI caller we failed to read, but telling the caller of this function that we successfully emulated the SBI call, is correct.

v7: bsd-user: Comprehensive RISCV Support

Key Changes Compared to Version 6: Included “signal-common.h” in target_arch_cpu.h



Read Album:

Read Related:

Read Latest: