Byte level granularity buffer overflow detection for memory corruption detection architectures
First Claim
Patent Images
1. A processor comprising:
- a memory to store a memory corruption detection (MCD) table; and
a processor core coupled to the memory, wherein the processing core is to;
receive, from an application, an allocation request for an allocation of a memory object within a contiguous memory block in the memory;
allocate the contiguous memory block in view of a size of the memory object requested; and
write a MCD meta-data into the MCD table, wherein the MCD meta-data comprises;
a MCD identifier (ID) associated with the contiguous memory block; and
a MCD border value indicating how many bytes of the contiguous memory block are unusable.
1 Assignment
0 Petitions
Accused Products
Abstract
Memory corruption detection technologies are described. A processor can include a memory to store a memory corruption detection (MCD) table. A processor core of the processor can receive, from an application, an allocation request for an allocation of a memory object within a contiguous memory block in the memory. The processor core can allocate the contiguous memory block in view of a size of the memory object requested and write MCD meta-data into the MCD table, including a MCD identifier (ID) associated with the contiguous memory block and a MCD border value indicating a size of a memory region of the contiguous memory block.
-
Citations
20 Claims
-
1. A processor comprising:
-
a memory to store a memory corruption detection (MCD) table; and a processor core coupled to the memory, wherein the processing core is to; receive, from an application, an allocation request for an allocation of a memory object within a contiguous memory block in the memory; allocate the contiguous memory block in view of a size of the memory object requested; and write a MCD meta-data into the MCD table, wherein the MCD meta-data comprises; a MCD identifier (ID) associated with the contiguous memory block; and a MCD border value indicating how many bytes of the contiguous memory block are unusable. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A processor comprising:
-
a memory; and a processor core coupled to the memory, wherein the processing core is to; receive, from an application an allocation request for a memory object to be stored within one or more contiguous memory blocks in the memory, wherein the allocation request specifies a size of the memory object; allocate the one or more contiguous memory blocks for the memory object in view of the size of the memory object; and write allocation data into the memory, the allocation data comprising for each one of the one or more contiguous memory blocks a unique identifier associated with the memory object and a border value indicating how many bytes of the respective one of the one or more contiguous memory blocks are unusable. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A processor comprising:
-
a memory; and a processor core coupled to the memory, wherein the processing core is to; receive, from an application an allocation request for a memory object to be stored within one or more contiguous memory blocks in the memory, wherein the allocation request specifies a size of the memory object; allocate the one or more contiguous memory blocks for the memory object in view of the size of the memory object, wherein a contiguous memory block of the one or more contiguous memory blocks comprise a first memory region and a second memory region; and write allocation data into the memory, the allocation data comprising a unique identifier associated with the memory object and a border value indicating a size of the first memory region, wherein the allocation data comprises a first byte for the unique identifier and a second byte for the border value. - View Dependent Claims (16)
-
-
17. A system comprising:
-
a memory device to store data according to a fixed-size memory blocks; and a processor coupled to the memory device, wherein the processor is to; receive, from an application, an allocation request for an allocation of a memory object within a contiguous memory block in the memory, wherein the allocation request specifies a size of the memory object; allocate the contiguous memory block in view of the size of the memory object; and write meta-data into at a table accessible by the processor, the meta-data comprising; an identifier (ID) associated with the contiguous memory block; and a border value indicating how many bytes of the contiguous memory block are unusable. - View Dependent Claims (18, 19, 20)
-
Specification