Skip to content

Commit c65c9e5

Browse files
authored
Merge pull request #4172 from mvo5/dont-fail-connection-on-module-load
interfaces/kmod: simplify loadModules now that errors are ignored
2 parents f1b51b5 + 2333a79 commit c65c9e5

File tree

3 files changed

+5
-17
lines changed

3 files changed

+5
-17
lines changed

interfaces/kmod/backend.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ func (b *Backend) Setup(snapInfo *snap.Info, confinement interfaces.ConfinementO
8888
}
8989

9090
if len(changed) > 0 {
91-
return loadModules(modules)
91+
loadModules(modules)
9292
}
9393
return nil
9494
}

interfaces/kmod/kmod.go

+3-14
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,17 @@
2020
package kmod
2121

2222
import (
23-
"fmt"
2423
"os/exec"
25-
26-
"github.com/snapcore/snapd/osutil"
2724
)
2825

29-
func LoadModule(module string) error {
30-
if output, err := exec.Command("modprobe", "--syslog", module).CombinedOutput(); err != nil {
31-
return fmt.Errorf("cannot load module %s: %s", module, osutil.OutputErr(output, err))
32-
}
33-
return nil
34-
}
35-
3626
// loadModules loads given list of modules via modprobe.
3727
// Since different kernels may not have the requested module, we treat any
3828
// error from modprobe as non-fatal and subsequent module loads are attempted
3929
// (otherwise failure to load a module means failure to connect the interface
4030
// and the other security backends)
41-
func loadModules(modules []string) error {
31+
func loadModules(modules []string) {
4232
for _, mod := range modules {
43-
LoadModule(mod) // ignore errors which are logged by
44-
// LoadModule() via syslog
33+
// ignore errors which are logged by loadModule() via syslog
34+
_ = exec.Command("modprobe", "--syslog", mod).Run()
4535
}
46-
return nil
4736
}

interfaces/kmod/kmod_test.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,10 @@ func (s *kmodSuite) TestModprobeCall(c *C) {
4545
cmd := testutil.MockCommand(c, "modprobe", "")
4646
defer cmd.Restore()
4747

48-
err := kmod.LoadModules([]string{
48+
kmod.LoadModules([]string{
4949
"module1",
5050
"module2",
5151
})
52-
c.Assert(err, IsNil)
5352
c.Assert(cmd.Calls(), DeepEquals, [][]string{
5453
{"modprobe", "--syslog", "module1"},
5554
{"modprobe", "--syslog", "module2"},

0 commit comments

Comments
 (0)