diff -upk.orig modutils-2.4.27.orig/insmod/insmod.c modutils-2.4.27/insmod/insmod.c --- modutils-2.4.27.orig/insmod/insmod.c 2005-10-26 15:07:58 +0000 +++ modutils-2.4.27/insmod/insmod.c 2005-10-26 15:11:53 +0000 @@ -1674,7 +1674,7 @@ int INSMOD_MAIN(int argc, char **argv) int force_kallsyms = 0; int persist_parms = 0; /* does module have persistent parms? */ int i; - int gpl; + int gpl_status, gpl; error_file = "insmod"; @@ -1881,7 +1881,8 @@ int INSMOD_MAIN(int argc, char **argv) obj_set_symbol_compare(f, ncv_strcmp, ncv_symbol_hash); /* Let the module know about the kernel symbols. */ - gpl = obj_gpl_license(f, NULL) == 0; + gpl_status = obj_gpl_license(f, NULL); + gpl = (gpl_status == 0); add_kernel_symbols(f, gpl); #ifdef ARCH_ppc64 @@ -1908,7 +1909,7 @@ int INSMOD_MAIN(int argc, char **argv) arch_create_got(f); /* DEPMOD */ if (!obj_check_undefineds(f, quiet)) { /* DEPMOD, obj_clear_undefineds */ - if (!gpl && !quiet) { + if ( !quiet && gpl_status >= 2 ) { if (gplonly_seen) error("\n" "Hint: You are trying to load a module without a GPL compatible license\n"