From 65a0d61939d258fe7c6bc6666315603f7a2e52de Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 11 Feb 2019 18:35:46 +0100 Subject: pkg/host: don't fail if CONFIG_FAIL_FUTEX is not enabled See #991 and added comments. Fixes #991 --- pkg/host/host_linux.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'pkg/host/host_linux.go') diff --git a/pkg/host/host_linux.go b/pkg/host/host_linux.go index 12cd048a0..ca98d927b 100644 --- a/pkg/host/host_linux.go +++ b/pkg/host/host_linux.go @@ -467,26 +467,29 @@ func checkFaultInjection() string { return reason } if err := osutil.IsAccessible("/sys/kernel/debug/failslab/ignore-gfp-wait"); err != nil { - return "CONFIG_FAULT_INJECTION_DEBUG_FS is not enabled" + return "CONFIG_FAULT_INJECTION_DEBUG_FS or CONFIG_FAILSLAB are not enabled" } return "" } func setupFaultInjection() error { + // Note: these files are also hardcoded in pkg/csource/csource.go. if err := osutil.WriteFile("/sys/kernel/debug/failslab/ignore-gfp-wait", []byte("N")); err != nil { return fmt.Errorf("failed to write /failslab/ignore-gfp-wait: %v", err) } + // These are enabled by separate configs (e.g. CONFIG_FAIL_FUTEX) + // and we did not check all of them in checkFaultInjection, so we ignore errors. if err := osutil.WriteFile("/sys/kernel/debug/fail_futex/ignore-private", []byte("N")); err != nil { - return fmt.Errorf("failed to write /fail_futex/ignore-private: %v", err) + log.Logf(0, "failed to write /sys/kernel/debug/fail_futex/ignore-private: %v", err) } if err := osutil.WriteFile("/sys/kernel/debug/fail_page_alloc/ignore-gfp-highmem", []byte("N")); err != nil { - return fmt.Errorf("failed to write /fail_page_alloc/ignore-gfp-highmem: %v", err) + log.Logf(0, "failed to write /sys/kernel/debug/fail_page_alloc/ignore-gfp-highmem: %v", err) } if err := osutil.WriteFile("/sys/kernel/debug/fail_page_alloc/ignore-gfp-wait", []byte("N")); err != nil { - return fmt.Errorf("failed to write /fail_page_alloc/ignore-gfp-wait: %v", err) + log.Logf(0, "failed to write /sys/kernel/debug/fail_page_alloc/ignore-gfp-wait: %v", err) } if err := osutil.WriteFile("/sys/kernel/debug/fail_page_alloc/min-order", []byte("0")); err != nil { - return fmt.Errorf("failed to write /fail_page_alloc/min-order: %v", err) + log.Logf(0, "failed to write /sys/kernel/debug/fail_page_alloc/min-order: %v", err) } return nil } -- cgit mrf-deployment