System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于管理能力的装置和方法制造方法及图纸_技高网
当前位置: 首页 > 专利查询>ARM有限公司专利>正文

用于管理能力的装置和方法制造方法及图纸

技术编号:43514334 阅读:30 留言:0更新日期:2024-11-29 17:16
描述了一种装置,该装置具有用于执行在其期间生成对存储器的访问请求的操作的处理电路。该处理电路使用能力来生成针对访问请求的存储器地址,其中每种能力指示指针值和用于使用从指针值导出的存储器地址约束对存储器的访问的约束信息。与每种能力相关联地存储标记指示字段,以提供用于在用于访问静态分配的存储器的静态能力与用于访问动态分配的存储器的动态能力之间进行区分的标记值。能力跟踪电路维持为多个存储器区域中的每一者提供跟踪字段的跟踪结构,并且当其相关联的标记指示字段具有指定标记值的至少一种能力被写入到多个存储器区域中的给定存储器区域时,能力跟踪电路为该给定存储器区域设置跟踪字段。指定标记值指示相关联的能力到存储器的写入将由能力跟踪电路跟踪以便于此相关联的能力的后续撤销。

【技术实现步骤摘要】
【国外来华专利技术】


技术介绍

1、本技术涉及数据处理领域,并且更具体地涉及用于管理能力的技术。

2、对基于能力的架构越来越感兴趣,在这些基于能力的架构中,针对给定过程定义了特定能力,并且如果尝试执行所定义的能力之外的操作,则可能触发错误。能力可以采取多种形式,但是一种类型的能力是有界指针(其也可以被称为“胖指针”)。

3、每种能力可包括用于限制在使用此能力时可执行的操作的约束信息。例如,考虑到有界指针,这可提供用于识别当使用此能力时能够由处理电路访问的存储器地址的不可延展的范围的信息,以及识别相关联的权限的一个或多个权限标记。

4、当分配存储器块例如以使得此存储器块能够在执行数据处理操作的情况下由处理电路使用时,可提供一种或多种能力以供当访问所分配的存储器块时使用。可能出现的问题是,当存储器块稍后被解除分配时,释放此存储器空间用于重新分配,上文提及的一种或多种能力可能仍然可用于处理电路。在相关联的存储器块已经被解除分配之后对此类能力的潜在使用被称为“释放后使用(use-after-free)”问题。具体地,在相关联的存储器块已被解除分配之后对能力的使用可能在由于编程错误而发生此使用的情况下引起未定义的软件行为。另外,当对能力的此类使用作为由安全攻击者有意引起的动作而发生时,这可能潜在地导致信息安全泄露和/或远程代码执行。

5、因此,希望提供一种减轻释放后使用问题的技术。


技术实现思路

1、在一个示例布置中,提供了一种装置,该装置包括:处理电路,该处理电路用以执行操作,在该操作期间生成对存储器的访问请求,其中该处理电路被布置成使用能力来生成针对该访问请求的存储器地址,其中每种能力被布置成指示指针值和用于使用从该指针值导出的存储器地址来约束对存储器的访问的约束信息,并且其中标记指示字段与每种能力相关联地被存储以提供用于在用于访问静态分配的存储器的静态能力与用于访问动态分配的存储器的动态能力之间进行区分的标记值;和能力跟踪电路,该能力跟踪电路用以维持为多个存储器区域中的每一者提供跟踪字段的跟踪结构,其中该能力跟踪电路被布置成当其相关联的标记指示字段具有指定标记值的至少一种能力被写入到该多个存储器区域中的给定存储器区域时为该给定存储器区域设置该跟踪字段,其中该指定标记值指示相关联的能力到存储器的写入将由该能力跟踪电路跟踪以便于此相关联的能力的后续撤销。

2、在另一个示例布置中,提供了一种操作装置以跟踪用于撤销的能力的方法,该方法包括:采用处理电路来执行操作,在该操作期间生成对存储器的访问请求,其中该处理电路使用能力来生成针对该访问请求的存储器地址,其中每种能力被布置成指示指针值和用于使用从该指针值导出的存储器地址来约束对存储器的访问的约束信息;与每种能力相关联地存储标记指示字段,以提供用于在用于访问静态分配的存储器的静态能力与用于访问动态分配的存储器的动态能力之间进行区分的标记值;使用能力跟踪电路来维持为多个存储器区域中的每一者提供跟踪字段的跟踪结构;以及当其相关联的标记指示字段具有指定标记值的至少一种能力被写入到该多个存储器区域中的给定存储器区域时为该给定存储器区域设置该跟踪字段,其中该指定标记值指示相关联的能力到存储器的写入将由该能力跟踪电路跟踪以便于此相关联的能力的后续撤销。

3、在又一个示例布置中,提供了一种用于控制主机数据处理装置以提供指令执行环境的计算机程序,该计算机程序包括:处理程序逻辑,该处理程序逻辑用以执行操作,在该操作期间生成对存储器的访问请求,其中该处理程序逻辑被布置成使用能力来生成针对该访问请求的存储器地址,其中每种能力被布置成指示指针值和用于使用从该指针值导出的存储器地址来约束对存储器的访问的约束信息,并且其中标记指示字段与每种能力相关联地被存储以提供用于在用于访问静态分配的存储器的静态能力与用于访问动态分配的存储器的动态能力之间进行区分的标记值;和能力跟踪程序逻辑,该能力跟踪程序逻辑用以维持为多个存储器区域中的每一者提供跟踪字段的跟踪结构,其中该能力跟踪程序逻辑被布置成当其相关联的标记指示字段具有指定标记值的至少一种能力被写入到该多个存储器区域中的给定存储器区域时为该给定存储器区域设置该跟踪字段,其中该指定标记值指示相关联的能力到存储器的写入将由该能力跟踪程序逻辑跟踪以便于此相关联的能力的后续撤销。该计算机程序可以非暂态或暂态的形式提供。

本文档来自技高网...

【技术保护点】

1.一种装置,所述装置包括:

2.根据权利要求1所述的装置,其中:

3.根据权利要求2所述的装置,其中针对每种能力,所述约束信息包括至少指示使用所述指针值能够访问的存储器地址允许范围的范围约束信息,并且针对给定识别的存储的能力,当所述存储器地址允许范围包括已经被解除分配的存储器块内的一个或多个存储器地址时,确定满足所述撤销条件。

4.根据权利要求2或权利要求3所述的装置,其中:

5.根据权利要求4所述的装置,其中所述单独存储器区还被布置成存储与存储器中的每个能力大小的数据块相关联的有效能力指示字段,其中每个有效能力指示字段被用于识别存储器中的相关联的所述能力大小的数据块是否存储有效能力,并且所述处理电路被布置成针对其在所述跟踪结构中的跟踪字段被设置的所述给定存储器区域,根据所述有效能力指示字段和存储在所述单独存储器区中的所述标记指示字段来识别具有所述指定标记值的每种有效能力。

6.根据任一前述权利要求所述的装置,所述装置还包括:

7.根据任一前述权利要求所述的装置,其中每个标记指示字段被约束,使得一旦所述标记值已经被存储在所述标记指示字段中,就禁止修改所述标记指示字段内的所述标记值,除非使所述相关联的能力无效。

8.根据权利要求1至6中任一项所述的装置,其中每个标记指示字段被约束,使得一旦所述标记值已经被存储在所述标记指示字段中,修改所述标记指示字段的任何尝试就使得故障信号被断言。

9.根据任一前述权利要求所述的装置,其中所述处理电路至少在一种操作模式中被启用以执行能力生成操作以从现有能力导出新能力,并且在导出所述新能力时被约束以确保所述新能力继承与所述现有能力相关联的所述标记值。

10.根据任一前述权利要求所述的装置,其中所述能力跟踪电路被布置成防止具有所述指定标记值的能力被写入到一个或多个限制的存储器区域内的存储器地址。

11.根据任一前述权利要求所述的装置,其中所述标记指示字段是单个位值,所述指定标记值是能够在所述标记指示字段内设置的第一值,并且能够在所述标记指示字段内设置的第二值用于识别所述相关联的能力到存储器的存储不由所述能力跟踪电路跟踪。

12.根据权利要求1至10中任一项所述的装置,其中所述标记指示字段是多位字段,并且用于指示给定能力将被跟踪的所述标记值是根据在提供所述给定能力以供所述处理电路使用时存在的分配条件来选择的。

13.根据权利要求12所述的装置,其中所述分配条件被布置成取决于以下中的至少一者:

14.根据权利要求12或权利要求13所述的装置,其中:

15.根据权利要求12至14中任一项所述的装置,其中所述标记指示字段由单个位标记指示子字段和所述相关联的能力的预先存在字段形成,并且由所述标记指示字段提供的所述标记值是从所述单个位标记指示子字段的值和所述预先存在字段的值的组合确定的。

16.根据任一前述权利要求所述的装置,其中所述处理电路被布置成执行能力确定指令以确定供所述处理电路使用的能力,其中所述能力确定指令的执行使得从所述装置的系统控制寄存器中的控制值导出所确定的能力的所述标记值。

17.根据权利要求16所述的装置,其中所述系统控制寄存器中的所述控制值也用于控制所述能力跟踪电路在查看被写入到存储器的能力时正在寻找的所述指定标记值。

18.根据任一前述权利要求所述的装置,其中所述能力跟踪电路被布置成针对至少一个或多个定义的存储器区,仅准许关于其标记值匹配一个或多个预定义值的有效能力执行至少一种类型的存储器访问。

19.根据权利要求18所述的装置,其中所述能力跟踪电路被布置成防止从存储器加载有效能力,除非所述能力具有匹配所述一个或多个预定义值的相关联的标记值。

20.根据任一前述权利要求所述的装置,所述装置还包括启用标签存储装置,所述启用标签存储装置的值能够设置为选择性地启用和禁用所述能力跟踪电路。

21.根据任一前述权利要求所述的装置,其中所述跟踪字段是饱和计数器,并且所述能力跟踪电路被配置为每当其相关联的标记指示字段具有所述指定标记值的能力被写入到所述给定存储器区域时,针对所述给定存储器区域递增所述饱和计数器。

22.根据任一前述权利要求所述的装置,其中所述能力跟踪电路被布置成在写入到其相关联的标记指示字段具有所述指定标记值的所述给定存储器区域的所有能力无效时,清除针对所述给定存储器区域的所述跟踪字段。

23.一种操作装置以跟踪用于撤销的能力的方法,所述方法包括:

24.一种用于控制主机数据处理装置以提供指令执行环境的计算...

【技术特征摘要】
【国外来华专利技术】

1.一种装置,所述装置包括:

2.根据权利要求1所述的装置,其中:

3.根据权利要求2所述的装置,其中针对每种能力,所述约束信息包括至少指示使用所述指针值能够访问的存储器地址允许范围的范围约束信息,并且针对给定识别的存储的能力,当所述存储器地址允许范围包括已经被解除分配的存储器块内的一个或多个存储器地址时,确定满足所述撤销条件。

4.根据权利要求2或权利要求3所述的装置,其中:

5.根据权利要求4所述的装置,其中所述单独存储器区还被布置成存储与存储器中的每个能力大小的数据块相关联的有效能力指示字段,其中每个有效能力指示字段被用于识别存储器中的相关联的所述能力大小的数据块是否存储有效能力,并且所述处理电路被布置成针对其在所述跟踪结构中的跟踪字段被设置的所述给定存储器区域,根据所述有效能力指示字段和存储在所述单独存储器区中的所述标记指示字段来识别具有所述指定标记值的每种有效能力。

6.根据任一前述权利要求所述的装置,所述装置还包括:

7.根据任一前述权利要求所述的装置,其中每个标记指示字段被约束,使得一旦所述标记值已经被存储在所述标记指示字段中,就禁止修改所述标记指示字段内的所述标记值,除非使所述相关联的能力无效。

8.根据权利要求1至6中任一项所述的装置,其中每个标记指示字段被约束,使得一旦所述标记值已经被存储在所述标记指示字段中,修改所述标记指示字段的任何尝试就使得故障信号被断言。

9.根据任一前述权利要求所述的装置,其中所述处理电路至少在一种操作模式中被启用以执行能力生成操作以从现有能力导出新能力,并且在导出所述新能力时被约束以确保所述新能力继承与所述现有能力相关联的所述标记值。

10.根据任一前述权利要求所述的装置,其中所述能力跟踪电路被布置成防止具有所述指定标记值的能力被写入到一个或多个限制的存储器区域内的存储器地址。

11.根据任一前述权利要求所述的装置,其中所述标记指示字段是单个位值,所述指定标记值是能够在所述标记指示字段内设置的第一值,并且能够在所述标记指示字段内设置的第二值用于识别所述相关联的能力到存储器的存储不由所述能力跟踪电路跟踪。

12.根据权利要求1至10中任一项所述的装置,其中所述标记指示字段是多位字段,并且用于指示给定能力...

【专利技术属性】
技术研发人员:弗朗索瓦·克里斯托弗·雅克·波特曼托马斯·克里斯多夫·格鲁卡特雨果·约翰·马丁·文森特克里斯托弗·艾伦·里德
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1