Skip to content

Commit 989cf4c

Browse files
Merge pull request #149 from gcx-17211270/main
fix: Refuse direct calls to _dl_sym; standardize the dlsym hooking approach: call dlvsym first, then _dl_sym.
2 parents 6660c84 + 7fa7c0d commit 989cf4c

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/libvgpu.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,13 @@ void* __dlsym_hook_section_nvml(void* handle, const char* symbol) {
839839
void preInit(){
840840
LOG_MSG("Initializing.....");
841841
if (real_dlsym == NULL) {
842-
real_dlsym = _dl_sym(RTLD_NEXT, "dlsym", dlsym);
842+
real_dlsym = dlvsym(RTLD_NEXT,"dlsym","GLIBC_2.2.5");
843+
if (real_dlsym == NULL) {
844+
LOG_ERROR("real dlsym not found");
845+
real_dlsym = _dl_sym(RTLD_NEXT, "dlsym", dlsym);
846+
if (real_dlsym == NULL)
847+
LOG_ERROR("real dlsym not found");
848+
}
843849
}
844850
real_realpath = NULL;
845851
load_cuda_libraries();

0 commit comments

Comments
 (0)