Re: [PATCH v2 5/8] ima: Switch to dynamically allocated buffer for template digests
From: Mimi Zohar <zohar@linux.ibm.com>
Date: 2020-02-06 16:08:31
Also in:
linux-integrity, lkml
From: Mimi Zohar <zohar@linux.ibm.com>
Date: 2020-02-06 16:08:31
Also in:
linux-integrity, lkml
Hi Roberto, On Wed, 2020-02-05 at 11:33 +0100, Roberto Sassu wrote:
This patch dynamically allocates the array of tpm_digest structures in ima_alloc_init_template() and ima_restore_template_data(). The size of the array, stored in ima_num_template_digests, is initially equal to 1 (SHA1) and will be determined in the upcoming patches depending on the allocated PCR banks and the chosen default IMA algorithm. Calculating the SHA1 digest is mandatory, as SHA1 still remains the default hash algorithm for the measurement list. When IMA will support the Crypto Agile format, remaining digests will be also provided. The position in the array of the SHA1 digest is stored in the ima_sha1_idx global variable and it is determined at IMA initialization time. Changelog v1: - move ima_sha1_idx to ima_crypto.c - introduce ima_num_template_digests (suggested by Mimi)
Instead of hardcoding "nr_allocated_banks + 1" or nr_allocated_banks + 2", I suggested defining "nr_allocated_banks + extra", where "extra" could be 0, 1, or 2. The rest of the code would remain exactly the same as you had. Mimi