免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: youmin0
打印 上一主题 下一主题

unresolved symbol sys_mount? [复制链接]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
11 [报告]
发表于 2008-12-19 16:32 |只看该作者
原帖由 scutan 于 2008-12-19 16:29 发表


我以前写过一个在内核中调用sys_open的方法,不过是2.6的,不晓得2.4是否可行。你看看:

#include
#include
#include
#include
#include
#include
#include
#include
#include


int fd;
in ...


scutan兄总是在做一些很深入细节的研究啊,佩服!

论坛徽章:
0
12 [报告]
发表于 2008-12-19 16:34 |只看该作者
楼主看看这个贴子呢:
http://linux.chinaunix.net/bbs/thread-1052093-1-2.html
在11楼

论坛徽章:
0
13 [报告]
发表于 2008-12-19 16:35 |只看该作者
原帖由 scutan 于 2008-12-19 16:30 发表
有时候一个问题可能有多个解决的方法。


是的。我之所以使用sys_mount这个函数是因为我想在模块里面执行类似shell中的
mount -o remount ro XXX XXX
即将我的某个挂载的文件系统重新设置为只读。
不知道是否有更好的办法?
多谢各位的热心

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
14 [报告]
发表于 2008-12-19 16:38 |只看该作者
原帖由 youmin0 于 2008-12-19 16:31 发表


呵呵,我看sys_mount在这里面,而且我也用到了struct namespace *namespace = current->namespace这样的代码。


我的2.4.22里面没有啊,呵呵

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
15 [报告]
发表于 2008-12-19 16:39 |只看该作者

回复 #7 scutan 的帖子

这个是如何使用了sys_open

论坛徽章:
0
16 [报告]
发表于 2008-12-19 16:45 |只看该作者
看错了
先mark

论坛徽章:
0
17 [报告]
发表于 2008-12-19 16:51 |只看该作者
原帖由 Godbach 于 2008-12-19 16:39 发表
这个是如何使用了sys_open


实际上就是定义一个系统调用,它的系统调用号就和sys_open相同,都为__NR_open。
然后就可以去使用这个系统调用了。sys_open没有被导出,故不能用,所以我们就自己定义一个系统调用号,使其为__NR_open。

就像在用户态这样:

  1. #include <stdio.h>
  2. #include <asm/unistd.h>
  3. #include <syscall.h>
  4. #include <linux/unistd.h>
  5. #include <sys/syscall.h>

  6. #define __NR_getpid1 __NR_getpid
  7. _syscall0(long, getpid1);


  8. int main()
  9. {
  10.         int i;
  11.         i = getpid1();
  12.         printf("i=%d\n", i);
  13.         return 0;
  14. }

复制代码

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
18 [报告]
发表于 2008-12-19 17:17 |只看该作者

回复 #17 scutan 的帖子

多谢,学习了

论坛徽章:
0
19 [报告]
发表于 2008-12-19 21:49 |只看该作者
sys_mount是系统调用吧。
得EXPORT_SYMBOL or EXPORT_SYMBOL_GPL导出符号
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP