Patent ID: 8245002

Claim:
A computer-implemented method of call stack protection, the method implemented on one or more computer processors of a computer, each computer processor comprising address comparison registers whose contents specify a guard area, each computer processor further comprising address comparison logic operatively coupled to the address comparison registers, the computer comprising an operating system, the method comprising: executing at least one application program on the one or more computer processors, including initializing by the operating system a process of execution for the application program, the process comprising one or more threads of execution, each thread having a call stack, each call stack characterized by a separate guard area defining a maximum extent of the call stack, each guard area comprising a range of computer memory addresses access to which is precluded, each guard area comprising a range of memory addresses separating each call stack from other memory, each guard area's range of memory addresses specified in context information for each thread; dispatching by the operating system onto the processor one of the threads of the process, including loading a guard area specification for the dispatched thread's call stack guard area from thread context storage into the address comparison registers of the processor; determining by the address comparison logic in dependence upon the dispatched thread's guard area specification whether each access of memory by the dispatched thread is a precluded access of memory in the guard area of the call stack for the dispatched thread; and effecting by the address comparison logic an address comparison interrupt for each access of memory that is a precluded access of memory in the dispatched thread's guard area.