1. A method for performing direct memory access, the method comprising: obtaining, by a first application executing on a host, a first kernel address space identifier of a first driver kernel memory, wherein the first driver kernel memory is a portion of kernel space allocated to a first device driver, and wherein the first device driver is for a first device operatively connected to a bus of the host; sending, by the first application, the first kernel address space identifier to a second device driver, wherein the second device driver is for a second device operatively connected to the bus of the host; obtaining, by the second device driver and using the first kernel address space identifier, a cookie structure binding the first driver kernel memory to a second device driver address space for the first driver kernel memory; sending, by the first application, a first request for a first direct memory access operation, wherein the first request comprises a first location identifier of a first location storing a first data object in the first driver kernel memory; and performing, by the second device driver, based on the cookie structure, and using the first location identifier, the first direct memory access operation to transfer the first data object from the first driver kernel memory to a second driver kernel memory, wherein the second driver kernel memory is a portion of kernel space allocated to the second device driver.