An Analysis of the Implementation Principles of MSI-X: A Study Based on the Linux Kernel Source Code

An Analysis of the Implementation Principles of MSI-X: A Study Based on the Linux Kernel Source Code

Recently, while simulating MSI-X interrupts using QEMU, I found that many people do not fully understand MSI-X interrupts. Below, I will analyze this based on the Linux kernel version 6.1.26 source code. 1. MSI-X Specification in the PCIe Protocol 1.1 MSI-X Capability in PCIe Configuration Space Capability According to the PCIe 3.0 specification, the MSI-X … Read more

Linux Kernel Subsystem – UART Subsystem

Linux Kernel Subsystem - UART Subsystem

1 Introduction In a formal project, I encountered a problem during serial communication where a sequence of data was unexpectedly interrupted by a 00. The data received from the hardware FIFO was correct, but the data received at the upper layer was abnormal. This issue might be obvious to someone with experience, but for those … Read more

In-Depth Analysis of Linux Kernel Linked Lists: The Secrets and Practical Guide to list.h

In-Depth Analysis of Linux Kernel Linked Lists: The Secrets and Practical Guide to list.h

In the world of the Linux kernel, data structures are like the foundation of a building, supporting the efficient operation of the entire system. Linked lists, as a flexible and commonly used data structure, play a crucial role in the kernel. Today, we will delve into the implementation of linked lists in the Linux kernel—list.h—and … Read more

Linux Power Management (14): Power Management from the Perspective of Device Drivers

Linux Power Management (14): Power Management from the Perspective of Device Drivers

Original:Wowotech Technology http://www.wowotech.net/pm_subsystem/pm_architecture.html 1. Introduction It is well known among Linux driver engineers who have been working for a while: In the past, implementing power management functions for a device was a straightforward task. Most devices were abstracted as platform devices, and the driver only needed to provide callback functions for suspend/resume/shutdown and register them … Read more

Dynamic Debugging in the Linux Kernel: A Powerful Tool for Runtime Debugging

Dynamic Debugging in the Linux Kernel: A Powerful Tool for Runtime Debugging

Introduction Previously, we discussed Linux Kernel Debugging: The Powerful printk (Part 2) Linux Kernel Debugging: The Powerful printk (Part 3) In those articles, we introduced pr_debug and dev_dbg. Below is the definition of dev_dbg: #if defined(CONFIG_DYNAMIC_DEBUG) || \ (defined(CONFIG_DYNAMIC_DEBUG_CORE) && defined(DYNAMIC_DEBUG_MODULE)) #define dev_dbg(dev, fmt, …) \ dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) #elif defined(DEBUG) #define dev_dbg(dev, fmt, …) … Read more

Detailed Explanation of LCD Driver in Embedded Linux Kernel

Detailed Explanation of LCD Driver in Embedded Linux Kernel

1 Application Layer Calls to LCD Driver Methods Open the corresponding device node app: open(“/dev/fb0”, …) Major device number: 29, Minor device number: 0 ————————————————————– kernel: fb_open // fbmem.c struct fb_info *info; info = get_fb_info(fbidx); if (info->fbops->fb_open) { res = info->fbops->fb_open(info,1); // Hardware-related driver if (res) module_put(info->fbops->owner); } Obtain variable information (including resolution, etc.) app: … Read more

RISC-V Linux Kernel and Related Technology Updates

RISC-V Linux Kernel and Related Technology Updates

20220723: Issue 4 Kernel Updates v4: Fix RISC-V’s arch-topology reporting The arm64 topology code is largely applicable to RISC-V as well, so it has been made generic along with the removal of MPIDR related code, which appears to be redundant since ‘3102bc0e6ac7 (“arm64: topology: Stop using MPIDR for topology information”)’ replaced the code that actually … Read more

“Treating Bugs as Features is Absurd!” Linus Torvalds Criticizes Case-Insensitive Filesystems: A Major Mistake

"Treating Bugs as Features is Absurd!" Linus Torvalds Criticizes Case-Insensitive Filesystems: A Major Mistake

Shake Network Technology NewsClick on the right to follow for the latest technology news!In the open-source community, Linus Torvalds’ outbursts always seem to trigger a wave of “mini earthquakes”. Recently, this father of Linux has once again fired back — this time, targeting a long-standing issue in filesystem development: case insensitivity (i.e., not distinguishing between … Read more

Chinese Professor’s Actions Spark Outrage After Linux Kernel Blacklists University for Submitting Vulnerabilities

Chinese Professor's Actions Spark Outrage After Linux Kernel Blacklists University for Submitting Vulnerabilities

Author | Xu Xuanjuan“Even if you can provide evidence that those patches are effective, why are we actually wasting time doing extra work?” Linus Torvalds must be furious. Recently, Greg Kroah-Hartman, the maintainer of the Linux kernel stable branch, blacklisted the University of Minnesota (UMN), prohibiting it from submitting patches to the mainline Linux kernel. … Read more

Statistical Study of High-Frequency Attack Surfaces and Vulnerability Types in the Linux Kernel

Statistical Study of High-Frequency Attack Surfaces and Vulnerability Types in the Linux Kernel

Collected and organized all Linux kernel vulnerabilities from January 1, 2022, to February 18, 2023, with data sourced from NVD, totaling 314 vulnerabilities. The analysis of the Linux kernel attack surface is based on CWE types and the subsystems where the vulnerabilities are located. CWE Statistics According to publicly available CVE information, a total of … Read more