Address verification for direct memory access requests
AssigneeHewlett-Packard Development Company, L.P.
InventorsWei Ze Liu, Monji G Jabori
Life of this patent
Estimating the term…
Abstract
An example apparatus can receive a DMA request from a device, where the DMA request comprises an address and an ID of the device that uniquely identifies the device and wherein the device is a bus mastering device. The example apparatus can access a range of addresses using the ID of the device. An example apparatus can determine whether the address is in the range of addresses and can process the DMA request responsive to verifying that the address is in the range of addresses.
Claims15
An apparatus comprising:
- a memory;
- a processor executing instructions stored in the memory to:
- receive a direct memory access (DMA) request from a driver of a device, wherein:
- the DMA request comprises an address and an identifier (ID) of the device that uniquely identifies the device;
- and
- the device is a bus mastering (BM) device, wherein the BM device is a trusted device, and wherein the BM device is to:
- access a range of addresses using the ID of the device;
- determine whether the address is in the range of addresses;
- and
- process the DMA request responsive to verifying that the address is in the range of addresses.
An apparatus comprising:
- a memory;
- a processor executing instructions stored in the memory to:
- generate a direct memory access (DMA) range of addresses based on an identifier (ID) of a device, wherein the device is a bus mastering (BM) device and the ID uniquely identifies the device, wherein the BM device is a trusted device, and wherein the BM device is to:
- update the DMA range of addresses stored in a root port device;
- and
- the root port device to:
- receive a DMA request wherein the DMA request includes an address;
- and
- process the DMA request responsive to verifying that the address is in the DMA range of addresses stored in the root port device.
A non-transitory machine-readable medium storing instructions executable by a processing resource to:
- receive a direct memory access (DMA) request from a driver of bus mastering (BM) device, wherein:
- the BM device is a trusted device;
- the DMA request includes an identifier (ID) of the BM device and an address of a memory resource;
- and
- the ID uniquely identifies the BM device;
- retrieve a range of addresses of the memory resource from a plurality of registers of a root proxy device;
- determine whether the address is in the range of addresses using the ID of the BM device;
- responsive to a determination that the address is not in the range of addresses, request an updated range of addresses from an operating system (OS);
- and
- responsive to verifying that the address is in the range of addresses, process the DMA request.
Dependencies are inferred from the claim text.