此标记用于解决Linux内核本身的内部问题 - 特别是关于编写在内核上下文中运行的代码(如内核模块或驱动程序)。关于在Linux中编写用户空间代码的问题通常应该标记为[linux]。由于Linux内核的内部不断变化,因此包含您感兴趣的精确内核版本会很有帮助。
我需要监控我的 kubernetes 集群的网络,我正在使用用 Go 编写的 netlink 包来做到这一点。 https://github.com/vishvananda/netlink 我能够解析
为什么我无法在 QEMU 中的 linux 内核入口处设置断点?
最近,我开始使用QEMU(qemu-system-x86_64)和gdb调试Linux内核5.18.10。我知道QEMU的BIOS在QEMU启动时会加载内核代码到0x10000,并且第一条指令...
当我尝试从源代码安装内核时,我得到 arch/arm64/Makefile:48:检测到 .inst 损坏的汇编程序;拆解会不可靠 我尝试重建 bin-utils 但消息不会出现...
我知道在DRM渲染中,实际的像素数据保存在voidmappeddata中,如下所示: 结构 drm_mode_map_dumb arg; memset(&arg, 0, sizeof(arg)); arg.handle = bo->handle; ret = drmI...
我正在为Linux内核开发一个模块。它导出一些函数供我的伙伴在系统调用中调用(我的伙伴修改了Linux内核中的系统调用源代码)。 我可以为我的手机构建静态库吗...
我正在尝试熟悉Linux内核模块。所以我写了这个在 USB 上工作的最简单的模块。我不确定我错过了什么。正在加载模块。在 dmesg 上我也可以看到...
对于给定的线程组,我需要获取其每个成员线程的顺序索引以从内核内部存储有关每个线程的一些数据,我可以访问task_struct。类似于&qu...
在我早期的内核编程工作中,我尝试替换/挂钩 ioctl 系统调用,目的是记录并最终检查完成的每个 ioctl 调用。 目标系统是...
我最近一直在学习和试验内核探针(kprobes 和 kretprobes),今天我设法让它适用于 Ubuntu 22.04 内核 5.x(这是我在开发中使用的内核...
我正在 sys_kill 上安装 kprobe,我想监视 PID 和信号编号。 虽然我可以安装 kprobe 并在 dmesg 中获取一些数据,但数据看起来错误,我无法理解它。 贝尔...
我正在 sys_kill 上安装 kprobe,我想监视 PID 和信号。 虽然我可以安装 kprobe 并在 dmesg 中获取一些数据,但它们要么是错误的,要么是我无法理解它们。 是...
我编写了一个发送 ping 数据包的驱动程序,但它不起作用(我使用 tcpdump -i wlan0 icmp 检查)。基本上我已经使用用户程序中的 ioctl 调用来启动传输(它的 w...
我们正在开发一个Linux主机PCIe驱动程序,用于外部PCIe卡(设备)执行DMA操作。 DMA 控制器位于 PCIe 板上。我们需要通过...将 DMA 地址传递给开发板...
在Linux(系统模式)上,我们通常会设置动态分配内存的自旋锁,例如: spinlock_t *my_lock = kzalloc(sizeof(spinlock_t), GFP_KERNEL); spin_lock_init(my_lock); 我猜...
不幸的是,标题可能不是描述问题的最佳方式。 我正在学习 Linux 内核编程,当我对 kprobe 和 kretprobe 感到兴奋时,但我开始体验......
我正在尝试连接到arm64的sys_call_table,同样我正在修改sys_call_table的读写权限。它在使表可读可写时崩溃,返回-22: u200e u200e ...
无法在 Oracle 8 ARM64 中使 sys_call_table 读写
内核版本:5.15.0-205.149.5.1.el8uek.aarch64(5.15系列全部) 操作系统:Oracle 8 ARM64 我正在尝试连接到 sys_call_table,同样我正在修改
Linux 编程接口在第 3 章中有一个练习,如下所示: 当使用Linux特定的reboot()时 系统调用来重新启动系统, 第二个参数 magic2 必须是 规格...
在我上次的工作面试中,我被问到了一个似乎非常简单的问题: 问:哪个库系统调用(是内核空间而不是 libc 中的包装器)实现的? 答:我答...
我的问题可能听起来很愚蠢,但这是我过去两天面临的一个简单问题。在写这个问题时,最新的内核版本是 4.14,但我想编译任何随机选择...