此标记用于解决Linux内核本身的内部问题 - 特别是关于编写在内核上下文中运行的代码(如内核模块或驱动程序)。关于在Linux中编写用户空间代码的问题通常应该标记为[linux]。由于Linux内核的内部不断变化,因此包含您感兴趣的精确内核版本会很有帮助。
Linux 内核代码中“EXPORT_SYMBOL”的含义是什么?
从这里 48 struct snd_card *snd_cards[SNDRV_CARDS]; 49 EXPORT_SYMBOL(snd_cards); 我不明白它的含义是什么以及为什么使用它。我尝试搜索它,但没有找到...
我需要在 x86 架构上的内核空间中通过名称自动识别故障模块。挑战是我只有一个与失败的 m 相关的随机内存地址...
为什么使用线程控制块(TCB)而不是内核堆栈来保存线程信息?
一些背景 我一直在研究操作系统,目前正在学习系统调用以及如何使用中断处理它们。我正在学习的课程(Berkly CS 162)表明......
Docker 支持 cgroup v2 的 cpu.weight 旋钮吗?
当 docker 容器在 v1 中运行时,我们只需在 run 命令中传递 --cpu-shares 值,众所周知,在 cgroup v2 中,我们没有可用的 cpu.shares 旋钮,它被替换为 cpu。
Linux 内核调度程序代码中 context_switch() 中的上一个任务的解释
我试图了解 Linux 内核(特别是 x86)中上下文切换的实现,为此我有几个问题。 为什么要定义 switch_to() 宏并在...
如何在Linux和x86上重新映射PCIe Bar地址以及配置空间如何分配MMIO?
我对 x86 上的 Linux 中的 PCIe 子系统的详细工作原理存有疑问。 据我所知,要仅使用 mmio 与 PCIe 设备通信,需要执行以下操作: PCIe 配置空间...
在linux内核的内存屏障文档(Documentation/memory-barriers.txt)中,有一些示例表明内存屏障之后的写入器在...之前的写入之前是可见的。
如何更新从 gki 内核的供应商和其他区域的公共区域导出的符号列表?
我正在内核的公共区域中开发一个模块,但是从供应商区域(模块)我需要访问公共区域中的一些注册函数。我看到公共区域的功能...
我想在进程处于内核模式时测试一些东西。完全处于内核模式 10-15 秒的时间应该足够了。 有什么办法可以强制用C编写的程序运行在...
yocto 内核配方中的 SRCREV_machine 和 SRCREV_meta 是什么
为什么内核配方不简单地使用 SRCREV="${AUTOINC}" 或哈希。 我反而找到了这些行。 https://github.com/agherzan/meta-raspberrypi/blob/master/recipes-kernel/linux/linux-
getsockopt 返回的 TCP_INFO 给出哪个方向(入站或出站)?
tcp_info 结构提供有关当前 TCP 连接的有用统计信息。但是,我不确定这些统计数据指的是哪个流程。 对于双向连接,意味着 fd 既可以读取,也可以读取
我正在开发 Altera 的 Cyclone V SOC FPGA,带有双 Cortex-A9 处理器。嵌入式系统(linux 4.15.7)是使用Buildroot-2018.02创建的。 U-boot用于加载系统即FPGA.rbf
根据Linux内核编码风格,if条件语句只有一个分支 是单个语句,则应在两个分支中使用大括号。例如: 如果(条件){ ...
TCP 打开连接(尚未收到最终 ACK 的套接字)存储在 Linux 内核中的位置?是否有任何函数仅根据侦听端口返回打开的套接字? PS:
我试图窃取 Linux 6.8 上的 statx 系统调用并修改返回参数。 但是,当尝试加载模块时,我在行中遇到了关于 NULL 指针引用的 BUG r = strncpy_from...
我正在使用M41T0M6F芯片并试图找到预期的i2c地址。我怎样才能找到地址?我在数据表或技术文档中找不到它。 我想知道我...
我正在尝试从 LKM 在某些内核函数上安装 kprobes/kretprobes。在这种情况下,我尝试了以下函数,正如您所看到的,它们在 kallsyms 中被标记为 t, // 内核版本:6.8.0-45-
在内核 6.8 中使用 kprode 修改 // 窃取 Linux 系统调用
在 Linux 内核 6.8 上: T 尝试窃取 stat 系统调用 我尝试修改 Linux 上系统调用的返回参数。 但路径没有改变,统计值也不好: 当模块加载时...
我正在尝试构建一些添加到 Ubuntu 源代码中的内核模块。经过多次编译尝试失败后,我发现相同的错误不断发生在不同的地方。编译器是...
是否可以让PTE指向不同的物理页面? 假设我当前处于某个进程 A 的上下文中的内核模式,该进程 A 当前将地址 400k 映射到物理页号。 5. 我可以吗