Restricting access to memory in a multithreaded environment
First Claim
1. A computer-readable medium for restricting access to memory, comprising:
- a data structure with a plurality of elements;
a pointer to an element in the data structure, the pointer having a first indication of whether a trap is enabled depending on whether an unauthorized or authorized portion of a computer program is accessing the data structurefor each element of the data structure, a second indication of whether a trap is enabled, the second indication being distinct from the first indication; and
a handler including instructions for handling the enabled trap as determined from the first indication and the second indication.
0 Assignments
0 Petitions
Accused Products
Abstract
Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.
-
Citations
19 Claims
-
1. A computer-readable medium for restricting access to memory, comprising:
-
a data structure with a plurality of elements; a pointer to an element in the data structure, the pointer having a first indication of whether a trap is enabled depending on whether an unauthorized or authorized portion of a computer program is accessing the data structure for each element of the data structure, a second indication of whether a trap is enabled, the second indication being distinct from the first indication; and a handler including instructions for handling the enabled trap as determined from the first indication and the second indication. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for restricting access to memory, the system comprising:
-
means for, under control of a computer program, setting a first trap indicator for a memory location to indicate that a trap should occur when the memory location is accessed; means for, under control of the computer program, setting a pointer to a memory location, the pointer containing a second trap indicator that is distinct from the first trap indicator for the memory location, wherein the second trap indicator contained in the pointer has an indication of trap handling depending on whether an unauthorized or authorized portion of the computer program is accessing the memory location; means for accessing the memory location; and means for handling a trap wherein propriety of the access is determined based on the indication that the trap should occur when the memory location is accessed as determined from the first trap indicator for the memory location and the indication of trap handling as determined from the second trap indicator contained in the pointer set to the memory location. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A system for restricting access to memory comprising:
-
a component that sets a first trap indicator for a memory location to indicate a trap should occur when the memory location is accessed; a component that, under control of an unauthorized portion of a computer program, sets a pointer to point to the memory location, the pointer including a second indicator for indicating whether traps to the pointed to memory location are enabled or disabled, the second indicator being distinct from the first indicator; sets the second indicator in the pointer to indicates that traps to the pointed to memory location are enabled; and accesses the memory location using the set pointer so that a trap occurs and access to the restricted memory location is detected; and a component that, under control of an authorized portion of a computer program, sets a pointer to point to the memory location, the pointer including a second indicator for indicating whether traps to the pointed to memory location are enabled or disabled, the second indicator being distinct from the first indicator; sets the second indicator in the pointer to indicates that traps to the pointed to memory location are disabled; and accesses the memory location using the set pointer so that a trap does not occur and access to the restricted memory location is allowed. - View Dependent Claims (13, 14, 15)
-
-
16. A method in a computer system of restricting access to memory, the method comprising:
-
setting a memory location to indicate a trap should occur when the memory location is accessed; under control of an unauthorized portion of a computer program, setting a pointer to point to the memory location; setting an indication included in the pointer to indicates that traps to the pointed to memory location are enabled; and accessing the memory location using the set pointer, wherein the access of the memory location causes a trap to occurs and access to the restricted memory location is detected; and under control of an authorized portion of a computer program, setting a pointer to point to the memory location; setting an indication included in the pointer to indicates that traps to the pointed to memory location are disabled; and accessing the memory location using the set pointer, wherein the access of the memory location does not cause a trap to occur and access to the restricted memory location is allowed. - View Dependent Claims (17, 18, 19)
-
Specification