xref: /linux/fs/cachefiles/error_inject.c (revision f4738f56d1dc62aaba69b33702a5ab098f1b8c63)
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 
25 int __init cachefiles_register_error_injection(void)
26 {
27 	cachefiles_sysctl = register_sysctl("cachefiles", cachefiles_sysctls);
28 	if (!cachefiles_sysctl)
29 		return -ENOMEM;
30 	return 0;
31 
32 }
33 
34 void cachefiles_unregister_error_injection(void)
35 {
36 	unregister_sysctl_table(cachefiles_sysctl);
37 }
38