繁体   English   中英

系统调用可以导致Linux中的系统恐慌吗?

[英]Can a system call cause a system panic in linux?

由于调用panic()等,请不要考虑系统调用,这实际上应该是恐慌系统。 我对通用系统调用更感兴趣,如Socket ,读取,写入等。如果这样的系统调用确实引起恐慌,那么这是一个内核错误吗? 我的理解是它应该是一个内核bug。 如果传递错误的参数,那么系统调用应该只是中止而不是恐慌整个系统。

奇怪的是,这不是100%正确。

是的,非特权用户对系统调用的输入不应引起恐慌,除非内核中存在错误或硬件故障(例如RAM芯片损坏)。

但是,对于特权用户(例如root)而言,情况并非如此。 当一个特权用户(root就是一个明显的例子)应用于/ dev / mem时,请考虑write(2)系统调用 - 没有什么可以阻止你用它覆盖内核内存。

Unix就是这样 - 如果你想做的话,它可以让你轻松地挂起自己的绳子:-)

当然,内核必须检查系统调用参数,用户权限,资源可用性以及处理并发等问题,以避免不惜一切代价崩溃。 最重要的是,一个简单的用户(即使是root,理想情况下 - 但由于gby提到这很困难,因为root可以直接访问物理地址空间) 永远不能让系统崩溃,无论她多么努力。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM