社区
Linux_Kernel
帖子详情
内核代码中的: int reboot(int flag) 这个函数在哪里?
ZhangYv
2004-11-11 06:53:21
我需要知道包含在
/usr/include/sys/reboot.h文件中的
extern int reboot (int __howto) __THROW
这个函数的实现在那哪个C程序文件中?内核代码是2.4.20版本。
能否帮我找找?很急的。写过
...全文
432
11
打赏
收藏
内核代码中的: int reboot(int flag) 这个函数在哪里?
我需要知道包含在 /usr/include/sys/reboot.h文件中的 extern int reboot (int __howto) __THROW 这个函数的实现在那哪个C程序文件中?内核代码是2.4.20版本。 能否帮我找找?很急的。写过
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aria
2004-11-18
打赏
举报
回复
就是在redhat 9下编译2.4.27的内核然后安装,重启系统后再reboot,此时可以看到终端上有打印加入的调试信息。reboot的方法是直接用reboot命令。
ZhangYv
2004-11-17
打赏
举报
回复
我在用户态调用了reboot(), 在machine_restart()-->machine_real_restart()加了调试信息,但是这两个函数根本没有执行,这是怎么回事???
ZhangYv
2004-11-17
打赏
举报
回复
不会吧?我测试了半天都不行。楼上你是怎么测试得?
aria
2004-11-17
打赏
举报
回复
手头没有2.4.20的内核,用redhat 9 + 2.4.27内核在x86上测试的结果是machine_restart()有调用,测试方法是在arch/i386/kernel/process.c中machine_restart()的开始加了一句打印和延时。是否你加的调试信息位置不对?
aria
2004-11-14
打赏
举报
回复
不是很明白,如果是在用户态调用reboot(),x86体系最终是会调用到内核中的sys_reboot()-->machine_restart()-->machine_real_restart(),只要修改相应位置应就可以了吧
ZhangYv
2004-11-12
打赏
举报
回复
我不明白,我现在需要得是reboot的源代码,并且我要修改它。这和syscall有什么关系?具体的说:
reboot的最后一步是跳到ljmp 0xffff, 0x0000的BIOS处重新开始自检,我现在要让它ljmp 0x0000, 0x7c00处,并且在跳转之前,我需要做一些预处理(比如验证权限和加载)的事情。syscall可以实现么?
zhouqingyuan
2004-11-11
打赏
举报
回复
我是来帮你顶的!!!
Wolf0403
2004-11-11
打赏
举报
回复
所以你需要的就是直接用 syscall 而不是用 reboot
ZhangYv
2004-11-11
打赏
举报
回复
不是啊,我在程序里直接调用
reboot(0x1234567); //让系统重启
但是reboot函数不能满足我当前的需要,所有我要进行修改,所以要直接找到reboot的实现然后修改代码。
Wolf0403
2004-11-11
打赏
举报
回复
syscall(sys_reboot, ...)
ZhangYv
2004-11-11
打赏
举报
回复
就是调用时候就是reboot(magic),让系统重启,我需要修改这个函数,但是没地方找在哪里,应该不在process.c中。希望高人出手帮助。
Linux
reboot
命令底层原理与生产环境安全实践
reboot
是Linux系统
中
最常用却最易被低估的基础命令,其本质并非简单重启,而是触发
内核
级系统状态协调机制。它依赖init系统(如systemd或SysVinit)执行服务停止、文件系统同步、硬件安全断电等多阶段流程,最终调用
reboot
()系统调用完成切换。理解其三层架构(用户命令层、init管理层、
内核
系统调用层)对规避数据损坏、服务雪崩等生产事故至关重要。尤其在金融、电信等高SLA场景
中
,错误参数如-f(force)或-p(poweroff)可能绕过优雅终止,导致ext4日志不一致或虚拟机假死。本
Linux
内核
Dirty Pipe漏洞:原理、复现与防御指南
Linux
内核
的页面缓存机制通过将文件数据缓存在内存
中
,极大提升了磁盘I/O性能,其核心原理是多个进程共享同一物理内存页以实现数据一致性。写时复制技术则在此基础上保障了进程隔离与数据安全,当进程尝试修改共享的只读内存页时,
内核
会为其创建私有副本。然而,Dirty Pipe漏洞巧妙地利用了管道与页面缓存交互时的设计缺陷,通过错误地设置PIPE_BUF_F
LAG
_CAN_MERGE标志,绕过了写时复制保护,使得普通进程能够直接污染共享的页面缓存,从而越权修改只读文件。这种确定性的利用方式,相较于需要竞争条件的D
内核
漏洞利用实战:从KASLR绕过到ROP链构造的完整攻防解析
操作系统
内核
作为计算机系统的核心,负责管理硬件资源和关键服务。其安全性直接关系到整个系统的稳定。现代
内核
通过KASLR、SMEP、SMAP等机制,从地址随机化到执行权限控制,构建了多层防御体系。这些保护机制的技术价值在于大幅增加了漏洞利用的难度,迫使攻击者需要更系统的技术链。在CTF竞赛和真实攻防场景
中
,攻击者需要综合利用信息泄露、堆风水、ROP等技术,形成完整的利用链。本文聚焦
内核
漏洞利用
中
的KASLR绕过与ROP链构造,通过堆溢出等常见漏洞类型,演示如何在
内核
态完成权限提升并稳定返回用户态,为理解系统底
Android 7系统休眠唤醒(三)关机_重启全链路—ShutdownThread到kernel_power_off
关机流程是一个"有序拆除"的过程,而非简单的"拉闸断电"。向所有应用广播关机通知AMS 终止所有 Activity 和进程PackageManager 保存包状态系统服务按依赖顺序关闭vold 安全卸载文件系统并 sync调用
内核
接口断电整个过程确保:数据不丢失、文件系统不损坏、服务正常断开连接。下一篇Android 7系统休眠唤醒(四)休眠唤醒与开关机—核心差异深度对比。
Linux脏管道漏洞深度解析:从
内核
原理到本地提权实战
在Linux系统
中
,进程间通信与内存管理是核心基础机制。管道作为经典的IPC方式,通过
内核
缓冲区实现数据流转,而页面缓存则优化了文件读写性能,通过维护内存页的“脏”状态来协调内存与磁盘数据一致性。这些机制共同保障了系统的效率与安全。然而,当管道通过splice系统调用进行零拷贝操作时,若与页面缓存的交互逻辑存在缺陷,便可能引发严重的安全漏洞。CVE-2022-0847脏管道漏洞正是这样一个典型案例,其根源在于管道缓冲区错误继承了页面缓存页的可写标志,导致权限检查被绕过。这使得无特权进程能够篡改只读文件,实现
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章