Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2018005267) SPLIT CONTROL STACK AND DATA STACK PLATFORM
Latest bibliographic data on file with the International Bureau    Submit observation

Pub. No.: WO/2018/005267 International Application No.: PCT/US2017/038911
Publication Date: 04.01.2018 International Filing Date: 23.06.2017
IPC:
G06F 11/28 (2006.01) ,G06F 21/52 (2013.01) ,G06F 11/07 (2006.01)
G PHYSICS
06
COMPUTING; CALCULATING; COUNTING
F
ELECTRIC DIGITAL DATA PROCESSING
11
Error detection; Error correction; Monitoring
28
by checking the correct order of processing
G PHYSICS
06
COMPUTING; CALCULATING; COUNTING
F
ELECTRIC DIGITAL DATA PROCESSING
21
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
50
Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
52
during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure
G PHYSICS
06
COMPUTING; CALCULATING; COUNTING
F
ELECTRIC DIGITAL DATA PROCESSING
11
Error detection; Error correction; Monitoring
07
Responding to the occurrence of a fault, e.g. fault tolerance
Applicants:
MICROSOFT TECHNOLOGY LICENSING, LLC [US/US]; One Microsoft Way Redmond, Washington 98052-6399, US
Inventors:
CHEN, Ling Tony; US
JOHNSON, Kenneth D.; US
LANGE, Jonathan E.; US
KINSHUMANN, -; US
MILLER, Matthew; US
SINGH, Neeraj; US
Agent:
MINHAS, Sandip; US
CHEN, Wei-Chen Nicholas; US
DRAKOS, Katherine J.; US
HINOJOSA, Brianna L.; US
HOLMES, Danielle J.; US
SWAIN, Cassandra T.; US
WONG, Thomas S.; US
CHOI, Daniel; US
HWANG, William C.; US
WIGHT, Stephen A.; US
CHATTERJEE, Aaron C.; US
Priority Data:
15/199,39930.06.2016US
Title (EN) SPLIT CONTROL STACK AND DATA STACK PLATFORM
(FR) PILE DE COMMANDE DIVISÉE ET PLATEFORME DE PILE DE DONNÉES
Abstract:
(EN) In one example, a method includes allocating separate portions of memory for a control stack and a data stack. The method also includes, upon detecting a call instruction, storing a first return address in the control stack and a second return address in the data stack; and upon detecting a return instruction, popping the first return address from the control stack and the second return address from the data stack and raising an exception if the two return addresses do not match. Otherwise, the return instruction returns the first return address. Additionally, the method includes executing an exception handler in response to the return instruction detecting an exception, wherein the exception handler is to pop one or more return addresses from the control stack until the return address on a top of the control stack matches the return address on a top of the data stack.
(FR) Un exemple de l'invention concerne un procédé comprenant l'attribution de portions de mémoire séparées à une pile de commande et à une pile de données. Le procédé comprend également, lors de la détection d'une instruction d'appel, le stockage d'une première adresse de retour dans la pile de commande et d'une deuxième adresse de retour dans la pile de données ; et lors de la détection d'une instruction de retour, la sortie de la première adresse de retour de la pile de commande et de la deuxième adresse de retour de la pile de données et le signalement d'une exception si les deux adresses de retour ne concordent pas. Dans le cas contraire, l'instruction de retour renvoie la première adresse de retour. De plus, le procédé comprend l'exécution d'un gestionnaire d'exceptions en réponse à la détection d'une exception par l'instruction de retour. Le gestionnaire d'exceptions est destiné à faire sortir une ou plusieurs adresses de retour de la pile de commande jusqu'à ce que l'adresse de retour sur un sommet de la pile de commande concorde avec l'adresse de retour sur un sommet de la pile de données.
front page image
Designated States: AE, AG, AL, AM, AO, AT, AU, AZ, BA, BB, BG, BH, BN, BR, BW, BY, BZ, CA, CH, CL, CN, CO, CR, CU, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, GT, HN, HR, HU, ID, IL, IN, IR, IS, JO, JP, KE, KG, KH, KN, KP, KR, KW, KZ, LA, LC, LK, LR, LS, LU, LY, MA, MD, ME, MG, MK, MN, MW, MX, MY, MZ, NA, NG, NI, NO, NZ, OM, PA, PE, PG, PH, PL, PT, QA, RO, RS, RU, RW, SA, SC, SD, SE, SG, SK, SL, SM, ST, SV, SY, TH, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, ZA, ZM, ZW
African Regional Intellectual Property Organization (ARIPO) (BW, GH, GM, KE, LR, LS, MW, MZ, NA, RW, SD, SL, ST, SZ, TZ, UG, ZM, ZW)
Eurasian Patent Office (AM, AZ, BY, KG, KZ, RU, TJ, TM)
European Patent Office (EPO) (AL, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, MC, MK, MT, NL, NO, PL, PT, RO, RS, SE, SI, SK, SM, TR)
African Intellectual Property Organization (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, KM, ML, MR, NE, SN, TD, TG)
Publication Language: English (EN)
Filing Language: English (EN)