HARDWARE REVOCATION ENGINE FOR TEMPORAL MEMORY SAFETY

    公开(公告)号:US20230393746A1

    公开(公告)日:2023-12-07

    申请号:US17934355

    申请日:2022-09-22

    CPC classification number: G06F3/0611 G06F3/0629 G06F3/0673

    Abstract: A hardware revocation engine for invalidating a pointer, that refers to a deallocated object, from memory in a memory constrained system. The hardware revocation engine has a revocation pipeline coupled to a pipeline of a main processor of the memory constrained system. The revocation pipeline shares access to memory with the main pipeline, the revocation pipeline comprising at least a first stage and a subsequent second stage. In a first cycle of the revocation pipeline, the first stage of the revocation pipeline loads a first pointer-sized value from the memory. In a second cycle: the second stage checks whether the first loaded pointer-sized value is a pointer referring to deallocated memory. In a third cycle: in response to the outcome of the check indicating that the first loaded pointer-sized value is a pointer referring to deallocated memory, the first stage invalidates the first pointer-sized value.

    DYNAMICALLY ALLOCATABLE PHYSICALLY ADDRESSED METADATA STORAGE

    公开(公告)号:US20230029331A1

    公开(公告)日:2023-01-26

    申请号:US17385765

    申请日:2021-07-26

    Abstract: In examples there is a computing device comprising a processor, the processor having a memory management unit. The computing device also has a memory that stores instructions that, when executed by the processor, cause the memory management unit to receive a memory access instruction comprising a virtual memory address; translate the virtual memory address to a physical memory address of the memory, and obtain permission information associated with the physical memory address. Responsive to the permission information indicating that metadata is permitted to be associated with the physical memory address, a check is made of a metadata summary table stored in the physical memory to check whether metadata is compatible with the physical memory address. Responsive to the check being unsuccessful, a trap is sent to system software of the computing device in order to trigger dynamic allocation of physical memory for storing metadata associated with the physical memory address.

    MEMORY DEALLOCATION ACROSS A TRUST BOUNDARY

    公开(公告)号:US20240411598A1

    公开(公告)日:2024-12-12

    申请号:US18812979

    申请日:2024-08-22

    Abstract: A method of memory deallocation across a trust boundary between a first software component and a second software component is described. Some memory is shared between the first and second software components. An in-memory message passing facility is implemented using the shared memory. The first software component is used to deallocate memory from the shared memory which has been allocated by the second software component. The deallocation is done by: taking at least one allocation to be freed from the message passing facility; and freeing the at least one allocation using a local deallocation mechanism while validating that memory access to memory owned by data structures related to memory allocation within the shared memory are within the shared memory.

    EXECUTION ENVIRONMENT AND GATEKEEPER ARRANGEMENT

    公开(公告)号:US20210004469A1

    公开(公告)日:2021-01-07

    申请号:US16503455

    申请日:2019-07-03

    Abstract: A computer system has a separation mechanism which enforces separation between at least two execution environments such that one execution environment is a gatekeeper which interposes on all communications of the other execution environment. The computer system has an attestation mechanism which enables the gatekeeper to attest to properties of the at least two execution environments. A first one of the execution environments runs application specific code which may contain security vulnerabilities. The gatekeeper is configured to enforce an input output policy on the first execution environment by interposing on all communication to and from the first execution environment by forwarding, modifying or dropping individual ones of the communications according to the policy. The gatekeeper provides evidence of attestation both for the application specific code and the policy.

    MEMORY DEALLOCATION ACROSS A TRUST BOUNDARY

    公开(公告)号:US20210004271A1

    公开(公告)日:2021-01-07

    申请号:US16503449

    申请日:2019-07-03

    Abstract: A method of memory deallocation across a trust boundary between a first software component and a second software component is described. Some memory is shared between the first and second software components. An in-memory message passing facility is implemented using the shared memory. The first software component is used to deallocate memory from the shared memory which has been allocated by the second software component. The deallocation is done by: taking at least one allocation to be freed from the message passing facility; and freeing the at least one allocation using a local deallocation mechanism while validating that memory access to memory owned by data structures related to memory allocation within the shared memory are within the shared memory.

Patent Agency Ranking