首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我得到错误信息“赋值成员‘readdir’in read-only object”

为什么我得到错误信息“赋值成员‘readdir’in read-only object”
EN

Stack Overflow用户
提问于 2013-05-01 09:14:56
回答 1查看 522关注 0票数 1

当我编译这个文件时,它抛出了以下错误。

代码语言:javascript
复制
kit.c: In function ‘hide_pid’://rootkit.c:109:9: error: assignment of member ‘readdir’ in read-only kit.c:
In function ‘restore’ 127
error: assignment of member ‘readdir’ in read-only object

有人知道为什么吗?

代码语言:javascript
复制
int hide_pid(readdir_t *orig_readdir, readdir_t new_readdir)
{
        struct file *filep;

        /*open /proc */
        if((filep = filp_open("/proc",O_RDONLY,0))==NULL)
        {
                return -1;
        }
        /*store proc's readdir*/
        if(orig_readdir)
                *orig_readdir = filep->f_op->readdir;

        /*set proc's readdir to new_readdir*/ //ERROR IN THE LINE BELOW
        filep->f_op->readdir=new_readdir;

        filp_close(filep,0);

        return 0;
}


int restore (readdir_t orig_readdir)
{
        struct file *filep;

        /*open /proc */
if ((filep = filp_open("/proc", O_RDONLY, 0)) == NULL) {
                return -1;
        }

        /*restore /proc's readdir*/ //ERROR BELOW
        filep->f_op->readdir = orig_readdir;

        filp_close(filep, 0);

        return 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-01 10:54:14

定义操作向量(f_op)的结构可能会在其readdir字段的定义中使用const --也可能使用所有其他字段。设置自己的操作向量比替换现有操作向量中的一到两个方法要正常得多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16311382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档