On Tue, Dec 08, 2015 at 01:01:22PM -0500, Mimi Zohar wrote: > diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c > index 8524450..dcd902f 100644 > --- a/drivers/base/firmware_class.c > +++ b/drivers/base/firmware_class.c > @@ -29,6 +29,7 @@ > #include <linux/syscore_ops.h> > #include <linux/reboot.h> > #include <linux/security.h> > +#include <linux/ima.h> > > #include <generated/utsrelease.h> > > @@ -305,11 +306,17 @@ static int fw_read_file_contents(struct file *file, > struct firmware_buf *fw_buf) > buf = vmalloc(size); > if (!buf) > return -ENOMEM; > - rc = kernel_read(file, 0, buf, size); > - if (rc != size) { > - if (rc > 0) > - rc = -EIO; > + > + rc = ima_read_and_process_file(file, FIRMWARE_CHECK, buf, size); > + if (rc == -EIO) > goto fail; > + else if (rc != -EOPNOTSUPP) { > + rc = kernel_read(file, 0, buf, size); > + if (rc != size) { > + if (rc > 0) > + rc = -EIO; > + goto fail; > + } > } > rc = security_kernel_fw_from_file(file, buf, size); > if (rc)
This is one way, the other way is to generalize the kernel-read from path routine. I have some changes which help generalize this routine a bit so help on review there would be appreciated. I'm personally indifferent as to needing or not *now* a generic kernel read routine that is shared for this purpose *but* since this patch set *also* seems to be adding yet-another file reading I'm more inclined to wish for that to be addressed now instead. Please let me know if this logic is fair. Luis -- To unsubscribe from this list: send the line "unsubscribe linux-security-module" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html