linux prctl系统调用触发IPI
prctl系统调用提供了一系列操作进程的方法。
这里主要说明一下PR_SET_SECCOMP参数是如何触发IPI的。
seccomp 是 secure computing 的缩写,是 Linux kernel 从2.6.23版本引入的一种简洁的沙盒 sandboxing 机制。
在 Linux 系统里,大量的系统调用(system call)直接暴露给用户态程序。但是,通常的程序并不需要所有的系统调用,滥用系统调用会对系统造成安全威胁。
seccomp安全机制能使指定的进程进入到一种“安全”运行模式,该模式下的进程要么只能调用4种系统调用(system call),即 read(), write(), exit() 和 sigreturn(),要么只能运行用户指定的系统调用,这些可以运行的系统调用放到白名单中,如果调用其他系统调会发送错误信号给进程。
进程调用系统调用prctl,如果参数为PR_SET_SECCOMP,那么后面会为安全考虑,会将一些页面的权限设置为只读,这是通过调用set_memory_ro函数实现。
更新了页面的权限后,需要刷新TLB,因此会调用flush_tlb_all,这样就会向所有线上cpu发送IPI来刷新TLB。
因此,在实时系统中使用prctl系统调用必须小心,因为有可能因为刷新TLB触发IPI,影响系统的确定性。
linux prctl系统调用触发IPI相关推荐
- linux系统列表,Linux常用系统调用列表-20210415054405.docx-原创力文档
Linux Linux常用系统调用列表作者:雷震 2002年3月 本文列出了大部分常见的Linux系统调用,并附有简要中文说明. 以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调 ...
- linux mkdir 系统调用,Linux Rootkit 系列四:对于系统调用挂钩方法的补充
免责声明:本文介绍的安全知识方法以及代码仅用于渗透测试及安全教学使用,禁止任何非法用途,后果自负 前言 我将会把系列文章继续写下去,由于本系列文章novice同学也在写,所以我俩的顺序可能有点乱,不过 ...
- Linux的系统调用、网络连接状态、磁盘I/O;可疑行为监控/日志收集、SHELL命令执行流程
http://man7.org/linux/man-pages/man7/capabilities.7.html http://www.cnblogs.com/LittleHann/p/3850653 ...
- 文件编程之Linux下系统调用
说明: linux下文件编程可使用两种方法: ****linux系统调用 ****C语言库函数 前者依赖于linux系统,后者与操作系统是独立的. 在任何操作系统下,使用C语言库函数操作文件的方法都是 ...
- linux中系统调用和库函数的区别
linux中系统调用和库函数的区别 2013-05-03 22:18:20 分类: LINUX 首先,要说一下两者的概念: 系统调用 :是操作系统为用户态运行的进程和硬件设备(如CPU.磁盘.打印机等 ...
- open函数返回-1_4.6 linux的系统调用执行探究(1)
arm64大约支持280个系统调用,我们平时使用的这些系统调用,到底工作原理是什么,调用后又是到哪里实现的呢,这篇文章初步了解下内核系统调用的流程,并告诉跟踪这个流程的方法. 废话不多说,如上就是li ...
- linux网络系统调用,Linux网络系统调用接口--待续
[内核版本:linux-2.6.30] Linux网络系统调用接口其定义在:linux/net/socket.c 其中主要的接口,如下所示. 1. socket Function: Definitio ...
- linux内核中获取虚拟地址api,Linux内核-系统调用
Linux内核-系统调用 1.与内核通信 #系统调用在用户空间进程和硬件设备之间添加了一个中间层 作用:1.为用户空间提供了一种硬件的抽象接口 2.系统调用保证了系统的稳定和安全 3.出于每一个进程都 ...
- linux内核-系统调用execve()
读者在linux内核-系统调用fork.vfork与clone中已经看到,进程通常是按其父进程的原样复制出来的,在多数情况下,如果复制出来的子进程不能与父进程分道扬镳,走自己的路,那就没多大意义.所以 ...
最新文章
- 转载:QT图形视图框架(The Graphics View Framework)
- mvn test BUILD FAILURE
- 最新版Xshell 6安装教程详解
- C++ 动态内存管理:c/c++的动态内存管理,new/delete,operator new/delete,placement-new, 内存泄漏
- 在VC中使用MATLAB C++函数库
- java 多线程池_Java ThreadPoolExecutor线程池 同时执行50个线程
- Win10 Nodejs搭建http-server注意点
- Audio Session Programming Guide
- Cocos creator之javascript闭包
- 【游戏开发实战】Unity逆向怀旧经典游戏《寻秦OL》,解析二进制动画文件生成预设并播放(资源逆向 | 二进制 | C#)
- python时间序列进行线性插值_精解Python实现线性插值法——一看就会
- 厦门龙凤419_福建生物工程职业技术学校2019招生通知书EMS单号
- php7从入门到入坟,《在对家的坟头做直播》
- oracle 转chr,[Oracle]Oracle之Chr函数返回
- 小米,山寨杀手,国货的希望
- ZZULIOJ:1125: 上三角矩阵的判断
- 阿里云大数据助理工程师认证考试考什么内容?
- 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十六)
- 基于图像的三维重建——对极几何(3)
- 小程序遇到回车换行怎么处理