This change makes `igt_module_unload_r` safer as it checks whether the
module can be unloaded before attempting it.

Signed-off-by: Isabella Basso <isabba...@riseup.net>
---
 lib/igt_kmod.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index bb6cb7bb..97cac7f5 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -256,6 +256,9 @@ static int igt_kmod_unload_r(struct kmod_module *kmod, 
unsigned int flags)
        struct kmod_list *holders, *pos;
        int err = 0;
 
+       if (kmod_module_get_initstate(kmod) == KMOD_MODULE_BUILTIN)
+               return err;
+
        holders = kmod_module_get_holders(kmod);
        kmod_list_foreach(pos, holders) {
                struct kmod_module *it = kmod_module_get_module(pos);
-- 
2.37.2

Reply via email to