From: Wu Zhenyu <[email protected]>
To: [email protected]
Subject: [PATCH] libkmod: use realpath
Date: Wed,  4 Oct 2023 21:04:08 +0800
Message-ID: <[email protected]>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

$ modinfo ../Linux-Device-Driver/eg_07_ioctl/ioctl.ko | head -n1
filename:       
/home/wzy/Desktop/kmod/../Linux-Device-Driver/eg_07_ioctl/ioctl.ko
$ tools/modinfo ../Linux-Device-Driver/eg_07_ioctl/ioctl.ko | head -n1
filename:       /home/wzy/Desktop/Linux-Device-Driver/eg_07_ioctl/ioctl.ko
---
 libkmod/libkmod-module.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
index 585da41..bdc1427 100644
--- a/libkmod/libkmod-module.c
+++ b/libkmod/libkmod-module.c
@@ -794,15 +794,17 @@ KMOD_EXPORT const char *kmod_module_get_name(const struct 
kmod_module *mod)
  */
 KMOD_EXPORT const char *kmod_module_get_path(const struct kmod_module *mod)
 {
-       char *line;
+       char *line, *path;
 
        if (mod == NULL)
                return NULL;
 
        DBG(mod->ctx, "name='%s' path='%s'\n", mod->name, mod->path);
 
-       if (mod->path != NULL)
-               return mod->path;
+       if (mod->path != NULL) {
+               path = malloc(strlen(mod->path));
+               return realpath(mod->path, path);
+       }
        if (mod->init.dep)
                return NULL;
 
-- 
2.42.0


Reply via email to