Memory write protection for memory corruption detection architectures
First Claim
1. A processing system comprising:
- a processor core comprising a register to store an address of a memory corruption detection (MCD) table, wherein the processing core is to;
receive, from an application, an allocation request for allocation of a memory object with a contiguous memory block in memory;
allocate the contiguous memory block for the memory object in view of a size of the memory object requested;
write, into the MCD table, a MCD metadata word, wherein the MCD metadata word comprises;
a first MCD unique identifier (ID) associated with the contiguous memory block; and
a write protection indicator that indicates a first protection mode of a first portion of the contiguous memory block;
receive, from the application, a memory store request to store data in the first portion of the contiguous memory block of the memory object of the memory, wherein the memory store request comprises a first pointer indicating a first location of the first portion in the memory block to store the data;
retrieve, from the MCD table, the write protection indicator that indicates the first protection mode of the first portion; and
send, to the application, a fault message when a fault event associated with the first portion occurs based on the first protection mode of the first portion.
2 Assignments
0 Petitions
Accused Products
Abstract
Memory corruption detection technologies are described. A processing system can include a processor core including a register to store an address of a memory corruption detection (MCD) table. The processor core can receive, from an application, a memory store request to store data in a first portion of a contiguous memory block of the memory object of a memory. The memory store request comprises a first pointer indicating a first location of the first portion in the memory block to store the data. The processor core can retrieve, from the MCD table, a write protection indicator that indicates a first protection mode of the first portion. The processor core can send, to the application, a fault message when a fault event associated with the first portion occurs based on the first protection mode of the first portion.
-
Citations
20 Claims
-
1. A processing system comprising:
a processor core comprising a register to store an address of a memory corruption detection (MCD) table, wherein the processing core is to; receive, from an application, an allocation request for allocation of a memory object with a contiguous memory block in memory; allocate the contiguous memory block for the memory object in view of a size of the memory object requested; write, into the MCD table, a MCD metadata word, wherein the MCD metadata word comprises; a first MCD unique identifier (ID) associated with the contiguous memory block; and a write protection indicator that indicates a first protection mode of a first portion of the contiguous memory block; receive, from the application, a memory store request to store data in the first portion of the contiguous memory block of the memory object of the memory, wherein the memory store request comprises a first pointer indicating a first location of the first portion in the memory block to store the data; retrieve, from the MCD table, the write protection indicator that indicates the first protection mode of the first portion; and send, to the application, a fault message when a fault event associated with the first portion occurs based on the first protection mode of the first portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A processing system comprising:
a processor core comprising a register to store an address of a memory corruption detection (MCD) table, wherein the processing core is to; receive, from an application, a memory store request to store data in a first portion of a contiguous memory block of the memory object of a memory, wherein the memory store request comprises a first pointer indicating a first location of the first portion in the memory block to store the data; retrieve, from the MCD table, a write protection indicator that indicates a first protection mode of the first portion; and send, to the application, a fault message when a fault event associated with the first portion occurs based on the first protection mode of the first portion. - View Dependent Claims (10, 11, 12, 13, 14)
-
15. A system on a chip (SoC) comprising:
-
a processor; a memory device, coupled to the processor, to store data from an application, wherein the memory comprises a memory corruption detection (MCD) table and a memory object; and a memory controller coupled to the memory device, the memory controller to; receive, from the application, an allocation request for an allocation of the memory object with a contiguous memory block in the memory; allocate the contiguous memory block for the memory object in view of a size of the memory object requested; and write, into the MCD table, a MCD metadata word with a write protection indicator that indicates a first protection mode of a first portion of the contiguous memory block. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification