在 /proc/net 中创建 ProcFS 条目

2024-01-11

我尝试在里面创建一个条目/proc/net来自内核模块,如下所示:

struct file *filp = filp_open("/proc/net", O_RDONLY, 0);
struct proc_dir_entry *parent = PDE(filp->f_dentry->d_inode);
filp_close(filp, NULL);

proc_file = create_proc_entry("test", 0644, parent);

粗略地摘自here http://www.linuxquestions.org/questions/linux-kernel-70/create_proc_entry-path-help-894814/

为什么它会像这样创建我的条目/proc/test代替/proc/net/test?

(注:我想使用create_proc_entry, not proc_create.)


在最近的内核中,您将不再找到 create_proc_entry(),它已被完全删除。看一眼https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=80e928f7ebb958f4d79d4099d1c5c0a015a23b93 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=80e928f7ebb958f4d79d4099d1c5c0a015a23b93。因此,您需要使用 proc_create()。并且,传递 ->proc_net 作为父目录条目。看看这个:https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/ipv4/proc.c#n479 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/ipv4/proc.c#n479,这会给你一个清晰的想法。

如果您没有使用最新的内核,那么您可能有 create_proc_entry(),因此可以考虑使用 create_proc_entry(),而不是 proc_create()。但是,我认为最好采用当前的方法。因为最新内核无法支持 create_proc_entry() 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 /proc/net 中创建 ProcFS 条目 的相关文章

  • 在 strace 中捕获 vDSO

    我想知道是否有一种方法可以捕获 换句话说观察 vDSO 调用 例如gettimeofday in strace 另外 有没有一种方法可以在不加载的情况下执行二进制文件linux vdso so 1 标志或环境变量 最后 如果我编写一个程序来
  • Android 版 usbmon

    我想分析我的设备的 USB 通信 SGS4 我到处都看到需要配置 usbmon 并将其编译到内核中 Afaik 这个模块没有内置在android linux系统中 我在编译内核方面没有太多经验 但如果有必要 我会这样做 您能说出这样做的步骤
  • Linux 中的直接内存访问

    我正在尝试直接访问嵌入式 Linux 项目的物理内存 但我不确定如何最好地指定内存供我使用 如果我定期启动设备并访问 dev mem 我就可以轻松地读写任何我想要的位置 然而 在这里 我访问的是可以轻松分配给任何进程的内存 我不想做 我的
  • ARM架构中不同处理器模式下如何使用内核堆栈?

    据我了解 每个进程都有一个用户堆栈和内核堆栈 除此之外 ARM 架构中的每种模式都有一个堆栈 所以我想知道不同的堆栈和堆栈指针在 ARM 模式下如何工作 另外 何时会使用与进程关联的内核堆栈 何时会使用与进程关联的内核堆栈 当您进行系统调用
  • 内核虚拟地址转换

    考虑到 Linux 和 32 位 x86 架构 可访问的 4GB 地址空间的比例为 3 1 用户空间分配0 3 Gb 而3 4 Gb 分配给内核 大于 3Gb 且位于内核地址空间的虚拟地址如何转换为物理地址 页表会出现吗 梅尔 戈尔曼的书中
  • Linux 内核:为什么调用 kstrtol 会崩溃?

    我正在学习内核编程 并且对 kstrtol 进行了简单的调用 我用它来将字符串转换为数字 然而 每次我编译这个模块并使用 insmod 将其放入内核时 我都会收到 BUG 无法处理 f862b026 处的内核分页请求 然后是寄存器和堆栈转储
  • syn队列和accept队列的混淆

    在阅读TCP源码时 我发现一个困惑的事情 我知道 TCP 在 3 次握手中有两个队列 第一个队列存储服务器收到的连接SYN并发回ACK SYN 我们称之为同步队列 第二个队列存储3WHS成功并建立连接的连接 我们称之为接受队列 但在阅读代码
  • 使用 GCC 为 Linux 设备驱动程序编译 Intel AVX 内联

    我在 corei7 上的 ubuntu 上运行 gcc 版本 4 8 2 从谷歌搜索中找到了有关 AVX 内在函数的信息 但我不确定这组内在函数是否可以用于 Linux 设备驱动程序并进行编译 如果可以的话 这里的任何人都可以告诉我 mak
  • 在内核模块中执行shell命令

    是否可以在内核模块中执行shell命令 我知道我们可以在用户空间 C 代码中使用system子程序 我正在调试一个存在内存泄漏问题的内核模块 在无限循环中执行 insmod 和 rmmod module ko 后 8G RAM 的系统在几分
  • 如何编写需要内核源头文件的 BitBake 驱动程序配方?

    介绍 我有一个do install我为驱动程序编写的 BitBake 配方中的任务 我在其中执行自定义install脚本 任务失败 因为安装脚本无法在其中找到内核源头文件
  • ARM 系统调用的接口是什么?它在 Linux 内核中的何处定义?

    我读过有关 Linux 中的系统调用的内容 并且到处都给出了有关 x86 架构的描述 0x80中断和SYSENTER 但我无法追踪 ARM 架构中系统调用的文件和进程 任何人都可以帮忙吗 我知道的几个相关文件是 arch arm kerne
  • 从内核空间中的块设备读取

    我正在编写一个内核模块 需要从现有的块设备执行读取 dev 东西 有谁知道有任何其他模块可以执行这些操作 我可以用作参考吗 欢迎任何指点 Linux 2 6 30 如果你真的绝对必须那么使用filp open filp close vfs
  • perf 找不到外部模块符号

    跑步时perf它找到了我的程序的内核符号和符号 但没有找到外部模块符号 我已经编写了一个内核模块 我使用它加载insmod我怎么知道perf也找到它的符号 我正在运行 2 6 37 6 内核 无法升级 我的perf尚不支持矮人选项 但我认为
  • Linux内核页表更新

    在linux x86 中分页 每个进程都有它自己的页面目录 页表遍历从 CR3 指向的页目录开始 每个进程共享内核页目录内容 假设三个句子是正确的 假设某个进程进入内核 模式并更新他的内核页目录内容 地址映射 访问 权利等 问题 由于内核地
  • 这个反斜杠在这段汇编代码中起什么作用?

    我不确定这些推线有什么区别 修剪下来来自 Linux 的 x86 entry calling h https github com torvalds linux blob 241e39004581475b2802cd63c111fec43b
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 在网络处理中使用自旋变体

    我编写了一个与网络过滤器挂钩交互的内核模块 网络过滤器挂钩在 Softirq 上下文中运行 我正在访问全局数据结构 哈希表 来自软中断上下文以及进程上下文 进程上下文访问是由于sysctl文件用于修改哈希表的内容 我正在使用 spinloc
  • 在 /dev/input/eventX 中写入事件需要哪些命令?

    我正在开发一个android需要将触摸事件发送到 dev input eventX 的应用程序 我知道C执行此类操作的代码结构如下 struct input event struct timeval time unsigned short
  • 树莓派的设备树驱动内核

    我想用设备树驱动的 Linux 内核启动树莓派 有什么特别的事情要做吗 谁能指出为树莓派设置基于设备树的内核启动需要什么 我可能需要有树莓派内核源代码 其中设备驱动程序应与设备树兼容 如果是这样 我在哪里可以找到 Raspberry Pi
  • Linux中的CONFIG_OF是什么?

    我看到它在很多地方被广泛使用 但不明白在什么场景下我需要使用它 What is 配置 OF OF 的全名是什么 打开固件 这是很久以前发明的 当时苹果公司正在生产基于 PowerPC CPU 的笔记本电脑 而 Sun Microsystem

随机推荐

  • 使用 RCTAsyncLocalStorage + getAllKeys

    我正在尝试获取 iOS 本机代码上的 AsyncStorage 这是我的代码 void jsonFromLocalRNStrogeForKey NSString key completion void NSDictionary Nullab
  • 动画 UIScrollView contentInset 导致跳转卡顿

    我实现了一个自定义刷新控件 我自己的类 而不是子类 并且由于某种原因 自从迁移到 iOS 8 以来 设置滚动视图 特别是 UICollectionView 的 contentInset 来启动刷新动画会导致奇怪的跳跃 卡顿 这是我的代码 v
  • 自动删除MySQL中过期的数据行

    我已将一些奖金代码行添加到数据库中的奖金详细信息表中 所有奖金代码都有有效期 php是否可以自动删除已过期的行 我使用的代码是 有效期是日期 query select from bonusdetails where BonusType Ma
  • 更改 Fullcalendar 中过去事件的颜色

    我正在尝试实施这个解决方案 https stackoverflow com questions 4016044 adding a class to past events using fullcalendar with google cal
  • Yii ClistView 分页不起作用

    我的 Clistview 分页无法正常工作 我尝试了所有方法 但仍然没有成功 这是我的模型函数 public function getallone criteria new CDbCriteria criteria gt select t
  • 将 XML 转换为 Java 对象的最佳实践是什么?

    我需要将 XML 数据转换为 Java 对象 将此 XML 数据转换为对象的最佳实践是什么 想法是通过 Web 服务获取数据 它不使用 WSDL 仅使用 HTTP GET 查询 因此我无法使用任何框架 答案采用 XML 格式 处理这种情况的
  • 添加了 Lombok,但 Intellij IDEA 无法识别 getter 和 setter

    我在 ubuntu 上使用 IntelliJ IDEA 我添加了龙目岛 jar进入我的项目并安装 IDEA 的 Lombok 插件 我可以访问注释 但是getters and setters没有生成 如果我尝试访问不存在的 getter 或
  • 如何使soapUI 附件路径相对?

    我正在使用soapUI 来测试HTTP 服务器 我需要发送一个多部分 表单数据请求 当我通过文件选择器并附加它时 该请求工作正常 但它将路径保存为绝对路径 并且我需要保存相对于我的测试文件的路径 但没有缓存在我的测试文件中 我怎样才能做到这
  • UITableViewCell 与 UIImage,宽度未更新初始显示的单元格

    我想动态调整 UITableViewCell 内 UIImage 的宽度 我使用情节提要来设计 UITableViewCell 我刚刚添加了一个标签和一个图像 属性得到正确更新 我什至加载了将宽度放入标签以显示它是正确的值 对于图像 我正在
  • Hadoop MapReduce 与 MPI(与 Spark、Mahout 与 Mesos) - 何时使用其中之一?

    我是并行计算新手 刚刚开始在 Amazon AWS 上尝试 MPI 和 Hadoop MapReduce 但我对何时使用其中一种而不是另一种感到困惑 例如 我看到的一个常见的经验法则可以总结为 大数据 非迭代 容错 gt MapReduce
  • docker-machine 和 docker-compose 有什么区别?

    我想我不明白 首先 我创建了 docker machine docker machine create d virtualbox dev eval docker machine env dev 然后我编写了 Dockerfile 和 doc
  • MVC 区域 - 非区域路由解析为区域

    我已在我的 MVC 3 项目中添加了一个区域 我似乎无法在非常简单的场景中使用路由 看来总是想去区解决一下 这是我的配置 启动时 AreaRegistration RegisterAllAreas IgnoreRoute resource
  • HTML5:输入类型持续时间

    有没有办法使用输入类型持续时间 我正在尝试以某种方式进行输入 用户可以添加类似这样的持续时间06 30 27 15 hh mm ss ms 并且应该只允许 0 23 0 59 0 59 0 59 任何帮助表示赞赏 NOTE 我想在 Angu
  • TypeError: jQuery(...).validate 不是一个函数

    我将动态 html 内容添加到另一个 html 内容上 这基本上是一个编辑表单 html 视图 但是当我尝试验证 from 时 它给出了 TypeError jQuery validate is not a function 错误 我使用的
  • conda 'base' 和 'root' 环境有什么区别?

    我最近一直在努力组织我的 conda 环境 我最终重新安装了 miniconda 现在一切顺利 我的问题是 当我跑步时conda env list I get conda environments base Users rheft mini
  • 是否有即将推出的 Cloud Spanner 框架?

    我开始研究 Google 的 Cloud Spanner 它看起来确实很有趣 由于ruby有rails MongoDB有Meteor RethinkDB有Horizo n 是否有关于Cloud Spanner拥有某种专用框架的讨论 或者是否
  • 在近实时分析中,为什么 Lambda-->Firehose-->S3 优于 Lambda-->S3?

    许多用于无服务器实时分析的 AWS 参考架构建议通过 Kinesis Firehose 将处理后的数据从 Lambda 推送到 S3 e g https aws amazon com blogs big data create real t
  • PHP mail() 仅发送给单个收件人

    我正在为客户端更新一些非 PHP 相关页面 这些页面将表单输入发送到 PHP 但是 如果不对代码进行任何更改 客户端就会报告没有收到电子邮件 相反 他说它只向其中一封电子邮件发送电子邮件 而不是向所有 3 封电子邮件发送电子邮件 有人能指出
  • 如何使用 Mongoid 查看原始 mongoDB 查询

    我按照此页面查看了 mongoDB 查询 结果我可以看到轻便摩托车日志 但我看不到原始的 mongoDB 查询 如何在 Rails 控制台 服务器中显示 MongoDB 查询 https stackoverflow com question
  • 在 /proc/net 中创建 ProcFS 条目

    我尝试在里面创建一个条目 proc net来自内核模块 如下所示 struct file filp filp open proc net O RDONLY 0 struct proc dir entry parent PDE filp gt