如何添加新的/ proc / sys / kernel条目?

时间:2016-06-06 10:02:39

标签: linux-kernel kernel

我想在内核模块中为代码audit.c添加新的sysctl参数,并且应该在运行时更改此参数值。我究竟需要添加新的sysctl代码以及如何实现它?

1 个答案:

答案 0 :(得分:0)

您应该在树层次结构中使用ctl_table并在模块中处理它。

static struct ctl_table sample_child_table1[] = {
{
        .ctl_name = CTL_UNNUMBERED1,
        .procname = "sample",
        .maxlen = sizeof(int),
        .mode = 0444,
        .data = &global_var,
        .proc_handler = &proc_dointvec_minmax,
        .extra1 = &min_val,
        .extra2 = &max_val,
},
{}
};

static struct ctl_table sample_parent_table[] = {
{
.ctl_name = CTL_KERN,
.procname = "kernel",
.mode = 0777,
.child = sample_child_table,
{}
},

register_sysctl_table(sample_parent_table)