Linux内核硬件断点注册因EACCES而失败

时间:2018-04-20 10:57:23

标签: linux-kernel x86 hardware breakpoints drivers

我在驱动程序中使用以下代码,但register_wide_hw_breakpoint返回EACESS错误。

      hw_breakpoint_init(&attr);
        attr.bp_addr = kallsyms_lookup_name(ksym_name);
        attr.bp_len = HW_BREAKPOINT_LEN_4;
        attr.bp_type = HW_BREAKPOINT_W | HW_BREAKPOINT_R;

        sample_hbp = register_wide_hw_breakpoint(&attr, sample_hbp_handler, NULL);
                if (IS_ERR((void __force *)sample_hbp)) {
                        ret = PTR_ERR((void __force *)sample_hbp);
                        printk(KERN_INFO "Breakpoint registration failed:%d\n",ret);
                }

可能的原因是什么?我错过了CONFIG选项,它将授予对硬件寄存器的访问权限吗?

其他信息:我的平台是X86_64,Linux

请帮忙。

0 个答案:

没有答案