On 1/25/2019 3:48 PM, Herbert Xu wrote: > On Fri, Jan 25, 2019 at 12:43:21PM +0000, Horia Geanta wrote: >> >> Herbert, is there something we could do to avoid this? > > Async crypto requests cannot be allocated off the stack. So > whoever is doing this needs to stop. > IIUC, the crypto request is allocated in ima_calc_file_hash_atfm() using ahash_request_alloc(), so this seems to be fine. However, further below the req->result pointer is set to a location on stack: out2: if (!rc) { ahash_request_set_crypt(req, NULL, hash->digest, 0); More exactly, the call sequence is: ima_collect_measurement() -> ima_calc_file_hash() -> ima_calc_file_ahash() -> ima_calc_file_hash_atfm() and "hash" is allocated on stack in ima_collect_measurement(). Thus, it seems the problem lies in the fact that ahash_request structure defines the digest buffer as "u8 *result" - thus the memory area might not be DMAable. Thanks, Horia