]> git.hungrycats.org Git - linux/commitdiff
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)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 4 Jul 2015 03:02:31 +0000 (23:02 -0400)
[ Upstream commit 45b26133b97871896b8c5241d59f4ff7839db7b2 ]

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
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
security/integrity/ima/ima.h
security/integrity/ima/ima_fs.c
security/integrity/ima/ima_template_lib.c

index 8ee997dff13937521157d02c6aac27b25903b46f..fc56d4dfa9547611bcdbc018e2bcef3adeb3b22a 100644 (file)
@@ -106,7 +106,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 da92fcc08d151645c8139ba724c9c15ccd029267..d30afe4610701b29b10ffc330ccbea8167965ca1 100644 (file)
@@ -186,9 +186,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 1506f02485726e18e3f6ba5c8c057da9e00e296a..1eb173ddefd6a84eac4c7660b53dd1770c900f1b 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: