X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fima-setup.c;h=3470ca1768cd2a28d15bc4418b0313e463f919dd;hp=3416802bcb4d69acc7adad9aa03e6737008646e3;hb=553acb7b6b8d4f16a4747b1f978e8b7888fbfb2c;hpb=cb01aedc3b4ba70859267159fe716253e3551ec6 diff --git a/src/core/ima-setup.c b/src/core/ima-setup.c index 3416802bc..3470ca176 100644 --- a/src/core/ima-setup.c +++ b/src/core/ima-setup.c @@ -42,13 +42,13 @@ #define IMA_POLICY_PATH "/etc/ima/ima-policy" int ima_setup(void) { + int r = 0; #ifdef HAVE_IMA struct stat st; - ssize_t policy_size = 0, written = 0; + ssize_t policy_size = 0; char *policy; _cleanup_close_ int policyfd = -1, imafd = -1; - int result = 0; if (stat(IMA_POLICY_PATH, &st) < 0) return 0; @@ -81,13 +81,13 @@ int ima_setup(void) { policy = mmap(NULL, policy_size, PROT_READ, MAP_PRIVATE, policyfd, 0); if (policy == MAP_FAILED) { log_error_errno(errno, "mmap() failed (%m), freezing"); - result = -errno; + r = -errno; goto out; } - written = loop_write(imafd, policy, (size_t)policy_size, false); - if (written != policy_size) { - log_error_errno(errno, "Failed to load the IMA custom policy file %s (%m), ignoring.", + r = loop_write(imafd, policy, (size_t)policy_size, false); + if (r < 0) { + log_error_errno(r, "Failed to load the IMA custom policy file %s (%m), ignoring.", IMA_POLICY_PATH); goto out_mmap; } @@ -97,9 +97,6 @@ int ima_setup(void) { out_mmap: munmap(policy, policy_size); out: - if (result) - return result; #endif /* HAVE_IMA */ - - return 0; + return r; }