gpt4 book ai didi

linux-kernel - Linux内存中的漏洞是什么意思?

转载 作者:行者123 更新时间:2023-12-03 09:24:20 26 4
gpt4 key购买 nike

我遇到过一个术语——Linux 中的内存漏洞。我相信这是 I/O 重新映射的内存。我的理解正确吗?

最佳答案

内存中的空洞可能意味着不同的东西:

1) 它可以指物理内存寻址:由于历史和引导的原因,在“标准 PC”(x86)架构中,所有系统 RAM 不是连续的。内存映射 I/O 所在的地址空间中存在“漏洞”。例如,从最早的日子开始,就为引导 ROM (BIOS) 和视频内存保留了一个区域。此外,还有一大块地址空间是为动态分配给 PCI(和 PCI-X 或 PCI-Express)外围设备而保留的。这些区域通常由设备驱动程序根据需要映射到内核虚拟地址空间(可能称为“I/O 重映射”)。

主板内置的内存 Controller 允许配置 RAM 的物理地址(这通常由标准 PC 架构中的 BIOS 处理)。其他 [非 x86] 架构通常在物理地址空间中存在类似的漏洞。

2.) 该术语也可以指虚拟地址空间中的未分配区域。内核虚拟地址空间和用户进程的虚拟地址空间通常都有“漏洞”。例如,linux 不会映射任何对应于虚拟地址 0 的物理内存(即地址空间的第一页永远不会有有效内存)——这允许捕获空指针引用。

在某些类型的内存分配中,Linux 内核在正确分配的虚拟内存区域之间维护未映射的区域,以捕获错误的内存引用(即偏离分配空间末尾的内存引用)。

关于linux-kernel - Linux内存中的漏洞是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23626165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com