The module .ko file might be called differently than the name used
by the kernel internally, e.g. "nls_iso8859-1.ko" is called
"nls_iso8859_1" in lsmmod. The module removal syscall expects the
latter as well.
After this change, "rmmod" supports unloading the module even if the
user gives the file name spelling instead of the kernel internal one,
so that e.g. "rmmod nls_iso8859-1.ko" and "rmmod nls_iso8859_1" will
both succeed.
LOG("module is not loaded\n");
return -1;
}
- free_modules();
-
- ret = syscall(__NR_delete_module, name, 0);
+ ret = syscall(__NR_delete_module, m->name, 0);
if (ret)
LOG("unloading the module failed\n");
+ free_modules();
+
return ret;
}