From e726bc2910f386824c182ea18e7f495b8fb0a98a Mon Sep 17 00:00:00 2001 From: HirakawaTakara Date: Fri, 5 Dec 2025 00:34:54 +0000 Subject: [PATCH 1/4] Fix: Clean up module on IO error during hash check in module_impl_obj_load() --- src/libevp-agent/module_impl_obj.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libevp-agent/module_impl_obj.c b/src/libevp-agent/module_impl_obj.c index ad10165a..dfeb1550 100644 --- a/src/libevp-agent/module_impl_obj.c +++ b/src/libevp-agent/module_impl_obj.c @@ -114,6 +114,9 @@ module_impl_obj_load(struct module *m, const struct Module *modspec) return EINVAL; } } else if (ret != ENOENT) { + /* Cleaned up the module if some IO error occurs. */ + plat_mod_fs_file_unlink(m); + /* some IO error in check_hash */ return ret; } From f79c8c7e9277ec0442ee0a05d9d3f6e06173ec14 Mon Sep 17 00:00:00 2001 From: HirakawaTakara Date: Wed, 10 Dec 2025 04:17:28 +0000 Subject: [PATCH 2/4] Add more log information --- src/libevp-agent/platform.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libevp-agent/platform.c b/src/libevp-agent/platform.c index 47b3ffc4..ed6ed487 100644 --- a/src/libevp-agent/platform.c +++ b/src/libevp-agent/platform.c @@ -135,7 +135,8 @@ plat_mod_fs_file_mmap(struct module *module, const void **data, size_t *size, struct stat sb; if (fstat(fd, &sb) == -1) { *error = errno; - xlog_error("%s: error on stat: %d", __func__, *error); + xlog_error("%s: error on stat %s(%d): %d", __func__, filename, + fd, *error); goto failure; } @@ -145,7 +146,8 @@ plat_mod_fs_file_mmap(struct module *module, const void **data, size_t *size, if (addr == MAP_FAILED) { *error = errno; - xlog_error("%s: error on mmap: %d", __func__, errno); + xlog_error("%s: error on mmap %s(%d): %d, st_size=%zu", + __func__, filename, fd, errno, sb.st_size); goto failure; } From 7a4b2905392caa33d8522cc42b5a7fbdf89a08f5 Mon Sep 17 00:00:00 2001 From: HirakawaTakara Date: Wed, 10 Dec 2025 06:10:15 +0000 Subject: [PATCH 3/4] update log information --- src/libevp-agent/platform.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libevp-agent/platform.c b/src/libevp-agent/platform.c index ed6ed487..d4a5f99f 100644 --- a/src/libevp-agent/platform.c +++ b/src/libevp-agent/platform.c @@ -135,8 +135,8 @@ plat_mod_fs_file_mmap(struct module *module, const void **data, size_t *size, struct stat sb; if (fstat(fd, &sb) == -1) { *error = errno; - xlog_error("%s: error on stat %s(%d): %d", __func__, filename, - fd, *error); + xlog_error("%s: error on stat %s(%d): errno=%d", __func__, + filename, fd, *error); goto failure; } @@ -146,7 +146,7 @@ plat_mod_fs_file_mmap(struct module *module, const void **data, size_t *size, if (addr == MAP_FAILED) { *error = errno; - xlog_error("%s: error on mmap %s(%d): %d, st_size=%zu", + xlog_error("%s: error on mmap %s(%d): errno=%d, st_size=%zu", __func__, filename, fd, errno, sb.st_size); goto failure; } From 5b644f671f3bf32dd7c7cd8fef51cd8aebdaeedd Mon Sep 17 00:00:00 2001 From: HirakawaTakara Date: Thu, 11 Dec 2025 00:22:43 +0000 Subject: [PATCH 4/4] Fix typo --- src/libevp-agent/module_impl_obj.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libevp-agent/module_impl_obj.c b/src/libevp-agent/module_impl_obj.c index dfeb1550..bf8a9d42 100644 --- a/src/libevp-agent/module_impl_obj.c +++ b/src/libevp-agent/module_impl_obj.c @@ -114,7 +114,7 @@ module_impl_obj_load(struct module *m, const struct Module *modspec) return EINVAL; } } else if (ret != ENOENT) { - /* Cleaned up the module if some IO error occurs. */ + /* Clean up the module if some IO error occurs. */ plat_mod_fs_file_unlink(m); /* some IO error in check_hash */