Merge pull request #9779 from apollo13/fix_9776

Properly detect unloaded dynamic modules on RHEL derivates. Fixes #9776
This commit is contained in:
Seth Hoenig
2021-01-12 12:25:30 -06:00
committed by GitHub
3 changed files with 7 additions and 1 deletions

View File

@@ -16,7 +16,7 @@ const bridgeKernelModuleName = "bridge"
const (
dynamicModuleRe = `%s\s+.*$`
builtinModuleRe = `.+/%s.ko$`
dependsModuleRe = `.+/%s.ko:.*$`
dependsModuleRe = `.+/%s.ko(\.xz)?:.*$`
)
func (f *BridgeFingerprint) Fingerprint(req *FingerprintRequest, resp *FingerprintResponse) error {

View File

@@ -67,6 +67,8 @@ kernel/net/bridge/bridge.ko: kernel/net/802/stp.ko kernel/net/llc/llc.ko
kernel/net/bridge/br_netfilter.ko: kernel/net/bridge/bridge.ko kernel/net/802/stp.ko kernel/net/llc/llc.ko
kernel/net/appletalk/appletalk.ko: kernel/net/802/psnap.ko kernel/net/llc/llc.ko
kernel/net/x25/x25.ko:
# Dummy module to test RHEL modules.dep format
kernel/net/bridge/bridgeRHEL.ko.xz: kernel/net/802/stp.ko.xz kernel/net/llc/llc.ko.xz
`
)
@@ -116,6 +118,9 @@ func TestBridgeFingerprint_search(t *testing.T) {
err := f.searchFile("bridge", file, f.regexp(dependsModuleRe, "bridge"))
require.NoError(t, err)
err = f.searchFile("bridgeRHEL", file, f.regexp(dependsModuleRe, "bridgeRHEL"))
require.NoError(t, err)
})
t.Run("absent", func(t *testing.T) {