@@ -13,6 +13,10 @@ class DependencyResolutionError(Exception):
1313 pass
1414
1515
16+ class IgnoredKernelModuleError (Exception ):
17+ pass
18+
19+
1620def _process_kmod_ignore_multi (self , module : str ) -> None :
1721 """
1822 Adds ignored modules to self['kmod_ignore'].
@@ -40,17 +44,17 @@ def _process_kernel_modules_multi(self, module: str) -> None:
4044 Adds the passed kernel module to self['kernel_modules']
4145 Checks if the module is ignored
4246 """
43- if module in self ['kmod_ignore' ]:
44- self .logger .warning ("Not adding ignored kernel module to kernel_modules: %s" % module )
45- _remove_kmod (self , module , 'Ignored' )
46- return
47-
4847 try :
4948 _get_kmod_info (self , module )
50- except DependencyResolutionError :
51- if module in self ['kmod_init' ] or module in self ['_kmod_depend' ]:
52- raise DependencyResolutionError ("Failed to get modinfo for kernel required module: %s" % module )
53- self .logger .error ("Failed to get modinfo for kernel module: %s" % module )
49+ except IgnoredKernelModuleError :
50+ self .logger .debug ("[%s] Kernel module is in ignore list." % module )
51+ return
52+ except DependencyResolutionError as e :
53+ if module in self ['_kmod_depend' ]:
54+ raise DependencyResolutionError ("Failed to get modinfo for required kernel module: %s" % module )
55+ elif module in self ['kmod_init' ]:
56+ self .logger .warning ("Failed to get modinfo for init kernel module: %s" % module )
57+ self .logger .debug ("[%s] Failed to get modinfo for kernel module: %s" % (module , e ))
5458 self ['kmod_ignore' ] = module
5559 return
5660
@@ -70,8 +74,9 @@ def _process_kernel_modules_multi(self, module: str) -> None:
7074
7175 for dependency in dependencies :
7276 if dependency in self ['kmod_ignore' ]:
73- self .logger .error ( " Kernel module dependency is in ignore list: %s" % dependency )
77+ self .logger .warning ( "[%s] Kernel module dependency is in ignore list: %s" % ( module , dependency ) )
7478 self ['kmod_ignore' ] = module
79+ return
7580 self .logger .debug ("[%s] Processing dependency: %s" % (module , dependency ))
7681 self ['kernel_modules' ] = dependency
7782
@@ -85,10 +90,13 @@ def _process_kernel_modules_multi(self, module: str) -> None:
8590
8691def _process_kmod_init_multi (self , module : str ) -> None :
8792 """ Adds init modules to self['kernel_modules']. """
93+ if module in self ['kmod_ignore' ]:
94+ self .logger .debug ("[%s] Module is in ignore list." % module )
95+ return
8896 # First append it to kmod_init
8997 self ['kmod_init' ].append (module )
9098 self .logger .debug ("Adding kmod_init module to kernel_modules: %s" , module )
91- # If it's an ignored module , kernel_modules processing will resolve that issue
99+ # If it has ignored dependencies , kernel_modules processing will resolve that issue
92100 self ['kernel_modules' ] = module
93101
94102
@@ -98,6 +106,9 @@ def _get_kmod_info(self, module: str):
98106 self .logger .log (5 , "Module info already exists for: %s" % module )
99107 return
100108
109+ if module in self ['kmod_ignore' ]:
110+ raise IgnoredKernelModuleError ("[%s] Module is in ignore list." % module )
111+
101112 args = ['modinfo' , module ]
102113 # Set kernel version if it exists, otherwise use the running kernel
103114 if self .get ('kernel_version' ):
0 commit comments