- Hands-On System Programming with C++
- Dr. Rian Quinn
- 202字
- 2021-07-02 14:42:29
SYSRET
The fast system call interface provided by Intel and AMD was not without its issues. As stated previously, for fast system calls to work, the hardware, operating system, and applications must coordinate. This is to ensure that ABI information is handled properly, to allow the operating system to execute a system call without the need for the hardware to save the entire CPU state before execution begins.
The same applies when the system call is complete, and control must be handed back to the application. To accomplish this, the operating system must load the application's stack, and then execute the SYSRET instruction, which returns control to the application.
The problem with this approach is that a non-maskable interrupt (NMI) could fire between the operating system loading the application's stack and the execution of SYSRET. The result of this race condition is that an NMI (which is code that executes with root privileges) would be executed using the application's stack and not the kernel's stack, resulting in a possible security vulnerability or corruption.
Thankfully, there are ways for modern operating systems to prevent this type of attack, which most operating systems, such as Linux, can and do leverage.
- ETL數(shù)據(jù)整合與處理(Kettle)
- 達(dá)夢數(shù)據(jù)庫編程指南
- 分布式數(shù)據(jù)庫系統(tǒng):大數(shù)據(jù)時(shí)代新型數(shù)據(jù)庫技術(shù)(第3版)
- Hadoop大數(shù)據(jù)實(shí)戰(zhàn)權(quán)威指南(第2版)
- Proxmox VE超融合集群實(shí)踐真?zhèn)?/a>
- 云原生數(shù)據(jù)中臺:架構(gòu)、方法論與實(shí)踐
- 圖數(shù)據(jù)實(shí)戰(zhàn):用圖思維和圖技術(shù)解決復(fù)雜問題
- SAS金融數(shù)據(jù)挖掘與建模:系統(tǒng)方法與案例解析
- MySQL技術(shù)內(nèi)幕:SQL編程
- 機(jī)器學(xué)習(xí):實(shí)用案例解析
- Oracle 11g+ASP.NET數(shù)據(jù)庫系統(tǒng)開發(fā)案例教程
- Python 3爬蟲、數(shù)據(jù)清洗與可視化實(shí)戰(zhàn)
- ECharts數(shù)據(jù)可視化:入門、實(shí)戰(zhàn)與進(jìn)階
- Python金融數(shù)據(jù)挖掘與分析實(shí)戰(zhàn)
- 數(shù)據(jù)分析方法及應(yīng)用:基于SPSS和EXCEL環(huán)境