Skip to content

Commit

Permalink
ima: based on policy require signed firmware (sysfs fallback)
Browse files Browse the repository at this point in the history
With an IMA policy requiring signed firmware, this patch prevents
the sysfs fallback method of loading firmware.

Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Matthew Garrett <mjg59@google.com>
Signed-off-by: James Morris <james.morris@microsoft.com>
  • Loading branch information
Mimi Zohar authored and James Morris committed Jul 16, 2018
1 parent 6e85265 commit fed2512
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion security/integrity/ima/ima_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,8 +472,10 @@ int ima_post_read_file(struct file *file, void *buf, loff_t size,

if (!file && read_id == READING_FIRMWARE) {
if ((ima_appraise & IMA_APPRAISE_FIRMWARE) &&
(ima_appraise & IMA_APPRAISE_ENFORCE))
(ima_appraise & IMA_APPRAISE_ENFORCE)) {
pr_err("Prevent firmware loading_store.\n");
return -EACCES; /* INTEGRITY_UNKNOWN */
}
return 0;
}

Expand Down Expand Up @@ -517,6 +519,12 @@ int ima_load_data(enum kernel_load_data_id id)
pr_err("impossible to appraise a kernel image without a file descriptor; try using kexec_file_load syscall.\n");
return -EACCES; /* INTEGRITY_UNKNOWN */
}
break;
case LOADING_FIRMWARE:
if (ima_appraise & IMA_APPRAISE_FIRMWARE) {
pr_err("Prevent firmware sysfs fallback loading.\n");
return -EACCES; /* INTEGRITY_UNKNOWN */
}
default:
break;
}
Expand Down

0 comments on commit fed2512

Please sign in to comment.