此标记用于解决Linux内核本身的内部问题 - 特别是关于编写在内核上下文中运行的代码(如内核模块或驱动程序)。关于在Linux中编写用户空间代码的问题通常应该标记为[linux]。由于Linux内核的内部不断变化,因此包含您感兴趣的精确内核版本会很有帮助。
我一直在寻找一段时间,但还没有找到足够的文档/示例来说明如何使用 linux 附带的 CryptoAPI 创建系统调用/在内核空间...
我正在尝试编写一个 go 程序,每次创建新的网络接口时都会在终端中写入一些内容。为此,我使用 Go 库 Cilium ebpf-go (https://github.com/cilium/ebp...
我实现了一个 GPIO 驱动程序,它设置了中断。不知道为什么第一次安装模块的时候会报如下错误,但是卸载模块后就正常了……
Linux 内核 6.6 从 block_device 如何查明它是否已挂载文件系统
在内核6.6之前,struct block_device有成员变量: 结构super_block * bd_super; 可以通过检查以下内容来检查块设备是否已安装文件系统: 结构 super_block...
关于arch/arm64/include/asm/atomic.h的atomic_add函数的问题
我对基于 Linux 内核的 C 编码风格非常陌生。我试图理解“arch/arm64/include/asm/atomic.h”中“atomic_add”函数的以下实现 fi...
我正在尝试使用内核加密 API 从用户空间与硬件加速器进行通信。 我使用 af_alg 与内核进行通信。我可以使用 API 进行散列或“正常...
在 eBPF 程序中使用“bpf_trace_printk”迭代数据包时对数据包的访问无效
我正在开发一个使用BCC框架来分析HTTP请求的eBPF程序。该程序旨在拦截端口 8000 上的 TCP 数据包并搜索特定模式 (“cmd=”) i...
理解内核消息“没人关心(尝试使用“irqpoll”选项启动)”
我正在尝试理解以下消息的含义: irq N:无人关心(尝试使用“irqpoll”选项启动) 这是否意味着 IRQ 处理程序不会处理响应,即使它已经走了...
无法在 Raspberry Pi 上使用 JTAG gdb 命中断点
我准备了一张带有 RPi OS Lite 的 SD 卡,并修改了我的 config.txt 以启用 jtag 并将其指向引导 u-boot.bin 文件,而不是默认的 kernel.img 文件。当我插入 SD 卡时,我的 RPi-3B+ 是
pci_driver.probe函数没有被调用所以pci_device_id错误?
我正在迈出 Linux 内核设备驱动程序开发的第一步。 我了解到,对于 pci-e 卡,我必须调用 pci_register_driver 通过 pci_driver 类型的对象提供信息(是...
在NUMA多CPU架构中,a的初始值为0,并且在CPU-x和CPU-y之间处于共享状态。在时间 t0,CPU-x 执行 a = 1,紧接着执行 smp_wmb,然后在 a...
我知道Inode表存储在硬盘上。 但是当我们打开系统时,整个表会被加载到主内存中还是只是其中的一部分。哪一部分?
Linux内核现在如何在platform_data中放入什么?
我正在分析设备驱动程序,例如TI TCA6408设备,驱动程序是gpio-pca953x。 ->probe() 函数中有一个从设备检索平台数据的部分: 静态整型
假设我正在探测一个内核函数,比如 vfs_read (源代码) - 我可以编写一个看起来像这样的 bpftrace 脚本,以在操作系统中触发此特定函数时记录语句。
hotplug vga(drm radeon) 将状态从断开连接更改为连接状态,但从 sys 中可见仍处于禁用状态
这是我的显卡: 03:00.0 VGA 兼容控制器:Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] 子系统:XFX Pine Group Inc. Caicos [Rade...
运行 'bash' 和 `source ./bashrc` 之间的区别
当您在 bash 提示符下键入“bash”时,它会启动一个新的 bash 进程。 我很好奇 source ./bashrc 是做什么的。这是我的以下问题: 源OOOO有什么作用? 在我看来
我的目标是使用命令行更改 kbuild 配置而不弄乱依赖项。 为此,我通过使用 make menuconfig 编辑我的默认 .config 创建了一个“参考”配置。 ‘唯一’
如果我使用带有 NORESERVE 标志的匿名 mmap,然后我手动管理该区域的页表(绕过原始 Linux 内核实现)。例如,如果我为虚拟安装物理页面
hook系统调用表函数sys_execve后如何打印argv参数
如标题,我通过ftrace hook了系统调用表函数sys_execve,但是当我打印argv参数和envp参数时,printk函数打印了一堆看不见的字符,怎么办...
我正在编写一个内核网络模块,当我收到一个以太网DIX帧(它表示为连续的字节序列)时,我必须正确地将收到的数据包的所有内容放入sk_bu...