talos
1// This Source Code Form is subject to the terms of the Mozilla Public
2// License, v. 2.0. If a copy of the MPL was not distributed with this
3// file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5// Package kernel provides the utilities to interact with the kernel.
6package kernel
7
8import (
9"os"
10
11"github.com/siderolabs/talos/pkg/machinery/kernel"
12)
13
14// WriteParam writes a value to a key under /proc/sys.
15func WriteParam(prop *kernel.Param) error {
16return os.WriteFile(prop.Path(), []byte(prop.Value), 0o644)
17}
18
19// ReadParam reads a value from a key under /proc/sys.
20func ReadParam(prop *kernel.Param) ([]byte, error) {
21return os.ReadFile(prop.Path())
22}
23
24// DeleteParam deletes a value from a key under /proc/sys.
25func DeleteParam(prop *kernel.Param) error {
26return os.Remove(prop.Path())
27}
28