You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04加载LKM后dmesg出现AppArmor DENIED报错求解决

问题描述

我编写了C程序与Makefile并生成.ko文件,执行sudo insmod filename.ko、sudo sysctl kernel.dmesg_restrict=0、dmesg | tail后,dmesg输出多条audit type=1400的AppArmor DENIED日志,涉及ptrace操作,关联profile为snap.python-ai-toolkit.jupyter。使用Ubuntu 22.04.2 LTS,期望dmesg能显示模块正常输出,该如何处理?

我的LKM代码

#include <linux/module.h>
#include <linux/init.h>

/* Meta Information */
MODULE_LICENSE("GPU");
MODULE_AUTHOR("Johannes 4 GNU/Linux");
MODULE_DESCRIPTION("A hello world LKM");

/**
 * @brief This function is called, when the module is loaded into the kernel
**/
static int __init ModuleInit(void) {
        printk("Hello, Kernel!\n");
        return 0;
}

/**
 * @brief This function is called, when the module is removed from the kernel
 * */
static void __exit ModuleExit(void) {
    printk("Goodbye, Kernel\n");
    }

module_init(ModuleInit);
module_exit(ModuleExit);

Makefile内容

obj-m += mymodule.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
解决方案

1. 确认模块加载状态

先执行lsmod | grep mymodule,如果能查到模块名,说明模块已成功加载,printk内容已写入内核日志,只是被AppArmor日志淹没。

2. 过滤日志查看模块输出

无需查看全部dmesg内容,直接过滤模块相关输出:

dmesg | grep -E "Hello, Kernel|Goodbye, Kernel"

或按模块名精准过滤:

dmesg | grep mymodule

3. 消除AppArmor日志(可选)

这些日志与你的LKM无关,是snap.python-ai-toolkit.jupyter的AppArmor权限限制导致的,两种处理方式:

  • 临时关闭该snap的AppArmor规则:
    sudo aa-disable /var/lib/snapd/apparmor/profiles/snap.python-ai-toolkit.jupyter
    sudo systemctl restart snapd.apparmor
    
  • 永久调整profile权限:
    编辑规则文件/var/lib/snapd/apparmor/profiles/snap.python-ai-toolkit.jupyter,添加允许ptrace的规则:
    ptrace (read,write) peer=snap.python-ai-toolkit.*,
    
    重新加载规则:
    sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.python-ai-toolkit.jupyter
    
    注意:snap更新时可能会覆盖修改的规则,需重新调整。

4. 修正LKM许可证(潜在优化)

代码中MODULE_LICENSE("GPU");是无效的内核许可证,内核认可的合法许可证包括GPL、GPL v2等,改为MODULE_LICENSE("GPL");可避免内核加载时的潜在警告。

内容的提问来源于stack exchange,提问作者Shwarz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 02:46:24