[PATCH 2/3] ima_fs: Reorder input parameter validation in ima_write_policy()

From: SF Markus Elfring
Date: Wed Jan 25 2017 - 04:33:47 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 24 Jan 2017 22:38:00 +0100

Move validation for the input parameter "ppos" to the beginning in this
function so that a following check for the input parameter "datalen"
can be occasionally avoided earlier.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
security/integrity/ima/ima_fs.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c
index c1c8d34d111d..98304411915d 100644
--- a/security/integrity/ima/ima_fs.c
+++ b/security/integrity/ima/ima_fs.c
@@ -315,15 +315,14 @@ static ssize_t ima_write_policy(struct file *file, const char __user *buf,
char *data;
ssize_t result;

- if (datalen >= PAGE_SIZE)
- datalen = PAGE_SIZE - 1;
-
/* No partial writes. */
result = -EINVAL;
if (*ppos != 0)
goto reset_validity;

result = -ENOMEM;
+ if (datalen >= PAGE_SIZE)
+ datalen = PAGE_SIZE - 1;
data = kmalloc(datalen + 1, GFP_KERNEL);
if (!data)
goto reset_validity;
--
2.11.0