linux/security/integrity/ima
Lakshmi Ramasubramanian 5b3014b952 IMA: Defined delayed workqueue to free the queued keys
Keys queued for measurement should be freed if a custom IMA policy
was not loaded.  Otherwise, the keys will remain queued forever
consuming kernel memory.

This patch defines a delayed workqueue to handle the above scenario.
The workqueue handler is setup to execute 5 minutes after IMA
initialization is completed.

If a custom IMA policy is loaded before the workqueue handler is
scheduled to execute, the workqueue task is cancelled and any queued keys
are processed for measurement.  But if a custom policy was not loaded then
the queued keys are just freed when the delayed workqueue handler is run.

Signed-off-by: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
Reported-by: kernel test robot <rong.a.chen@intel.com> # sleeping
function called from invalid context
Reported-by: kbuild test robot <lkp@intel.com> # redefinition of
ima_init_key_queue() function.
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
2020-01-23 07:37:31 -05:00
..
ima_api.c IMA: Add support to limit measuring keys 2019-12-12 08:53:50 -05:00
ima_appraise.c IMA: Add support to limit measuring keys 2019-12-12 08:53:50 -05:00
ima_asymmetric_keys.c IMA: Call workqueue functions to measure queued keys 2020-01-23 07:35:25 -05:00
ima_crypto.c ima: avoid appraise error for hash calc interrupt 2019-12-12 08:52:05 -05:00
ima_fs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
ima_init.c IMA: Defined delayed workqueue to free the queued keys 2020-01-23 07:37:31 -05:00
ima_kexec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ima_main.c ima: add the ability to query the cached hash of a given file 2020-01-22 15:22:51 -05:00
ima_modsig.c ima: Fix use after free in ima_read_modsig() 2019-08-28 15:01:24 -04:00
ima_mok.c Revert "Merge tag 'keys-acl-20190703' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs" 2019-07-10 18:43:43 -07:00
ima_policy.c IMA: Call workqueue functions to measure queued keys 2020-01-23 07:35:25 -05:00
ima_queue_keys.c IMA: Defined delayed workqueue to free the queued keys 2020-01-23 07:37:31 -05:00
ima_queue.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
ima_template_lib.c ima: Define ima-modsig template 2019-08-05 18:40:25 -04:00
ima_template_lib.h ima: Define ima-modsig template 2019-08-05 18:40:25 -04:00
ima_template.c ima: use struct_size() in kzalloc() 2019-08-29 14:23:22 -04:00
ima.h IMA: Defined delayed workqueue to free the queued keys 2020-01-23 07:37:31 -05:00
Kconfig IMA: Define workqueue for early boot key measurements 2020-01-23 07:35:11 -05:00
Makefile IMA: Define workqueue for early boot key measurements 2020-01-23 07:35:11 -05:00