ima: fix ima_show_template_data_ascii()
authorMimi Zohar <zohar@linux.vnet.ibm.com>
Thu, 11 Jun 2015 15:54:42 +0000 (11:54 -0400)
committerMimi Zohar <zohar@linux.vnet.ibm.com>
Tue, 16 Jun 2015 12:18:21 +0000 (08:18 -0400)
This patch fixes a bug introduced in "4d7aeee ima: define new template
ima-ng and template fields d-ng and n-ng".

Changelog:
- change int to uint32 (Roberto Sassu's suggestion)

Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Signed-off-by: Roberto Sassu <rsassu@suse.de>
Cc: stable@vger.kernel.org # 3.13
security/integrity/ima/ima.h
security/integrity/ima/ima_fs.c
security/integrity/ima/ima_template_lib.c

index c996f7edff3a360511a1e9aa65a6a8209ea057d7..e2a60c30df44b33526fd8ec5f7175d7f72cc2a18 100644 (file)
@@ -115,7 +115,7 @@ void ima_add_violation(struct file *file, const unsigned char *filename,
                       const char *op, const char *cause);
 int ima_init_crypto(void);
 void ima_putc(struct seq_file *m, void *data, int datalen);
-void ima_print_digest(struct seq_file *m, u8 *digest, int size);
+void ima_print_digest(struct seq_file *m, u8 *digest, u32 size);
 struct ima_template_desc *ima_template_desc_current(void);
 int ima_init_template(void);
 
index 461215e5fd31d11be9f68c97fac1de09e057b368..816d175da79aa9cf51e77024def3f3318bf4b8e0 100644 (file)
@@ -190,9 +190,9 @@ static const struct file_operations ima_measurements_ops = {
        .release = seq_release,
 };
 
-void ima_print_digest(struct seq_file *m, u8 *digest, int size)
+void ima_print_digest(struct seq_file *m, u8 *digest, u32 size)
 {
-       int i;
+       u32 i;
 
        for (i = 0; i < size; i++)
                seq_printf(m, "%02x", *(digest + i));
index de0ce4fbdf694b2facb18be8a76ba3fc9fbf89a1..2934e3d377f1e0c1c20e6d97e8651b19154569da 100644 (file)
@@ -70,7 +70,8 @@ static void ima_show_template_data_ascii(struct seq_file *m,
                                         enum data_formats datafmt,
                                         struct ima_field_data *field_data)
 {
-       u8 *buf_ptr = field_data->data, buflen = field_data->len;
+       u8 *buf_ptr = field_data->data;
+       u32 buflen = field_data->len;
 
        switch (datafmt) {
        case DATA_FMT_DIGEST_WITH_ALGO: