blob: dd1e21fab827a51fd66a7363e9463f5c197aeaa0 [file] [log] [blame]
Thomas Gleixnerb4d0d232019-05-20 19:08:01 +02001// SPDX-License-Identifier: GPL-2.0-or-later
David Howells0b77f5b2008-04-29 01:01:32 -07002/* Key management controls
3 *
4 * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved.
5 * Written by David Howells (dhowells@redhat.com)
David Howells0b77f5b2008-04-29 01:01:32 -07006 */
7
8#include <linux/key.h>
9#include <linux/sysctl.h>
10#include "internal.h"
11
David Howells5d135442009-09-02 09:14:00 +010012static const int zero, one = 1, max = INT_MAX;
13
Joe Perchesfab71a92014-04-13 18:55:51 -070014struct ctl_table key_sysctls[] = {
David Howells0b77f5b2008-04-29 01:01:32 -070015 {
David Howells0b77f5b2008-04-29 01:01:32 -070016 .procname = "maxkeys",
17 .data = &key_quota_maxkeys,
18 .maxlen = sizeof(unsigned),
19 .mode = 0644,
Eric W. Biederman6d456112009-11-16 03:11:48 -080020 .proc_handler = proc_dointvec_minmax,
David Howells5d135442009-09-02 09:14:00 +010021 .extra1 = (void *) &one,
22 .extra2 = (void *) &max,
David Howells0b77f5b2008-04-29 01:01:32 -070023 },
24 {
David Howells0b77f5b2008-04-29 01:01:32 -070025 .procname = "maxbytes",
26 .data = &key_quota_maxbytes,
27 .maxlen = sizeof(unsigned),
28 .mode = 0644,
Eric W. Biederman6d456112009-11-16 03:11:48 -080029 .proc_handler = proc_dointvec_minmax,
David Howells5d135442009-09-02 09:14:00 +010030 .extra1 = (void *) &one,
31 .extra2 = (void *) &max,
David Howells0b77f5b2008-04-29 01:01:32 -070032 },
33 {
David Howells0b77f5b2008-04-29 01:01:32 -070034 .procname = "root_maxkeys",
35 .data = &key_quota_root_maxkeys,
36 .maxlen = sizeof(unsigned),
37 .mode = 0644,
Eric W. Biederman6d456112009-11-16 03:11:48 -080038 .proc_handler = proc_dointvec_minmax,
David Howells5d135442009-09-02 09:14:00 +010039 .extra1 = (void *) &one,
40 .extra2 = (void *) &max,
David Howells0b77f5b2008-04-29 01:01:32 -070041 },
42 {
David Howells0b77f5b2008-04-29 01:01:32 -070043 .procname = "root_maxbytes",
44 .data = &key_quota_root_maxbytes,
45 .maxlen = sizeof(unsigned),
46 .mode = 0644,
Eric W. Biederman6d456112009-11-16 03:11:48 -080047 .proc_handler = proc_dointvec_minmax,
David Howells5d135442009-09-02 09:14:00 +010048 .extra1 = (void *) &one,
49 .extra2 = (void *) &max,
50 },
51 {
David Howells5d135442009-09-02 09:14:00 +010052 .procname = "gc_delay",
53 .data = &key_gc_delay,
54 .maxlen = sizeof(unsigned),
55 .mode = 0644,
Eric W. Biederman6d456112009-11-16 03:11:48 -080056 .proc_handler = proc_dointvec_minmax,
David Howells5d135442009-09-02 09:14:00 +010057 .extra1 = (void *) &zero,
58 .extra2 = (void *) &max,
David Howells0b77f5b2008-04-29 01:01:32 -070059 },
David Howellsf36f8c72013-09-24 10:35:19 +010060#ifdef CONFIG_PERSISTENT_KEYRINGS
61 {
62 .procname = "persistent_keyring_expiry",
63 .data = &persistent_keyring_expiry,
64 .maxlen = sizeof(unsigned),
65 .mode = 0644,
66 .proc_handler = proc_dointvec_minmax,
67 .extra1 = (void *) &zero,
68 .extra2 = (void *) &max,
69 },
70#endif
Eric W. Biederman5cdb3552009-04-03 05:08:03 -070071 { }
David Howells0b77f5b2008-04-29 01:01:32 -070072};