[發明專利]檢測計算環境的堆棧的損壞的方法、系統和計算機程序產品有效
| 申請號: | 201680076585.2 | 申請日: | 2016-12-23 |
| 公開(公告)號: | CN108475223B | 公開(公告)日: | 2021-04-20 |
| 發明(設計)人: | M.K.格施溫德;K.杜瓦爾圣;V.薩拉普拉 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F11/00 | 分類號: | G06F11/00;G06F21/52 |
| 代理公司: | 北京市柳沈律師事務所 11105 | 代理人: | 王珊珊 |
| 地址: | 美國紐*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 檢測 計算 環境 堆棧 損壞 方法 系統 計算機 程序 產品 | ||
1.一種用于檢測計算環境的堆棧的損壞的計算機程序產品,所述計算機程序產品包括:
計算機可讀存儲介質,所述計算機可讀存儲介質可由處理電路讀取并存儲用于由所述處理電路運行的方法的指令,以執行方法包括:
確定調用例程和在計算環境的處理器上運行的被調用例程是否支持使用防護字來保護返回地址;
基于確定所述調用例程和所述被調用例程支持使用防護字來保護返回地址,由所述被調用例程檢查由所述調用例程提供的防護字,其中所述調用例程調用了所述被調用例程,并且所述防護字被存儲在所述調用例程的堆棧中并且保護通過硬件指令直接存儲到堆棧中的返回地址;
基于所述檢查確定所述防護字是否具有期望值;和
基于確定防護字具有意外值,提供堆棧損壞的指示。
2.如權利要求1所述的計算機程序產品,其中至少所述檢查和所述確定所述防護字是否具有期望值是通過由所述被調用例程發布的指令來執行的。
3.如權利要求2所述的計算機程序產品,其中所述方法還包括運行所述指令,所述運行包括:
從堆棧中獲得防護字;
移動堆棧的堆棧指針,使得防護字不再出現在堆棧上;和
執行確定所述防護字是否具有期望值,檢查和提供指示中的一個或多個。
4.根據權利要求1所述的計算機程序產品,其中所述防護字是使用指定防護字地址的存儲防護字指令提供的。
5.如權利要求1所述的計算機程序產品,其中所述方法進一步包括:
使用存儲防護字指令提供防護字;和
設置一個指示器來指示調用例程支持使用防護字來保護返回地址。
6.如權利要求1所述的計算機程序產品,其中,所述方法還包括基于確定所述調用例程和所述被調用例程的至少一個例程不支持使用防護字來保護返回地址,在檢查之前終止處理。
7.如權利要求1所述的計算機程序產品,其中確定調用例程和在計算環境的處理器上運行的被調用例程是否支持使用防護字來保護返回地址包括檢查至少一個指示符。
8.如權利要求7所述的計算機程序產品,其中,所述至少一個指示符被存儲在指示符的向量中。
9.一種用于檢測計算環境的堆棧的損壞的計算機系統,所述計算機系統包括:
存儲器;和
與所述存儲器通信的處理器,其中所述計算機系統被配置為執行一種方法,所述方法包括:
確定調用例程和在計算環境的處理器上運行的被調用例程是否支持使用防護字來保護返回地址;
基于確定所述調用例程和所述被調用例程支持使用防護字來保護返回地址,由所述被調用例程檢查由所述調用例程提供的防護字,其中所述調用例程調用了所述被調用例程,并且所述防護字被存儲在所述調用例程的堆棧中并且保護通過硬件指令直接存儲到堆棧中的返回地址;
基于所述檢查確定所述防護字是否具有期望值;和
基于確定防護字具有意外值,提供堆棧損壞的指示。
10.如權利要求9所述的計算機系統,其中至少所述檢查和所述確定所述防護字是否具有期望值是經由所述被調用例程發出的指令來執行的,并且其中所述方法還包括運行所述指令,所述運行包括:
從堆棧中獲得防護字;
移動堆棧的堆棧指針,使得防護字不再出現在堆棧上;和
執行確定所述防護字是否具有期望值,檢查和提供指示中的一個或多個。
11.根據權利要求9所述的計算機系統,其中使用指定所述防護字的地址的存儲防護字指令來提供所述防護字。
12.如權利要求9所述的計算機系統,其中該方法還包括:
使用存儲防護字指令提供防護字;和
設置指示器來指示調用例程支持使用防護字來保護返回地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司,未經國際商業機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680076585.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:車載更新裝置、更新系統及更新處理程序
- 下一篇:車載用控制系統





