Merge tag 'char-misc-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
[sfrench/cifs-2.6.git] / security / integrity / ima / ima_fs.c
index e3fcad871861a31918e213e7dc01bdb24eeae10e..ea8ff8a07b36b4b80cbb664126614643e628d1e7 100644 (file)
@@ -13,6 +13,7 @@
  */
 
 #include <linux/fcntl.h>
+#include <linux/kernel_read_file.h>
 #include <linux/slab.h>
 #include <linux/init.h>
 #include <linux/seq_file.h>
@@ -272,9 +273,9 @@ static const struct file_operations ima_ascii_measurements_ops = {
 
 static ssize_t ima_read_policy(char *path)
 {
-       void *data;
+       void *data = NULL;
        char *datap;
-       loff_t size;
+       size_t size;
        int rc, pathlen = strlen(path);
 
        char *p;
@@ -283,11 +284,14 @@ static ssize_t ima_read_policy(char *path)
        datap = path;
        strsep(&datap, "\n");
 
-       rc = kernel_read_file_from_path(path, &data, &size, 0, READING_POLICY);
+       rc = kernel_read_file_from_path(path, 0, &data, INT_MAX, NULL,
+                                       READING_POLICY);
        if (rc < 0) {
                pr_err("Unable to open file: %s (%d)", path, rc);
                return rc;
        }
+       size = rc;
+       rc = 0;
 
        datap = data;
        while (size > 0 && (p = strsep(&datap, "\n"))) {