1 | // SPDX-License-Identifier: GPL-2.0-or-later |
---|---|
2 | /* Error injection handling. |
3 | * |
4 | * Copyright (C) 2021 Red Hat, Inc. All Rights Reserved. |
5 | * Written by David Howells (dhowells@redhat.com) |
6 | */ |
7 | |
8 | #include <linux/sysctl.h> |
9 | #include "internal.h" |
10 | |
11 | unsigned int cachefiles_error_injection_state; |
12 | |
13 | static struct ctl_table_header *cachefiles_sysctl; |
14 | static struct ctl_table cachefiles_sysctls[] = { |
15 | { |
16 | .procname = "error_injection", |
17 | .data = &cachefiles_error_injection_state, |
18 | .maxlen = sizeof(unsigned int), |
19 | .mode = 0644, |
20 | .proc_handler = proc_douintvec, |
21 | }, |
22 | }; |
23 | |
24 | int __init cachefiles_register_error_injection(void) |
25 | { |
26 | cachefiles_sysctl = register_sysctl("cachefiles", cachefiles_sysctls); |
27 | if (!cachefiles_sysctl) |
28 | return -ENOMEM; |
29 | return 0; |
30 | |
31 | } |
32 | |
33 | void cachefiles_unregister_error_injection(void) |
34 | { |
35 | unregister_sysctl_table(table: cachefiles_sysctl); |
36 | } |
37 |