1 /* Key management controls 2 * 3 * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. 4 * Written by David Howells (dhowells@redhat.com) 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public Licence 8 * as published by the Free Software Foundation; either version 9 * 2 of the Licence, or (at your option) any later version. 10 */ 11 12 #include <linux/key.h> 13 #include <linux/sysctl.h> 14 #include "internal.h" 15 16 static const int zero, one = 1, max = INT_MAX; 17 18 ctl_table key_sysctls[] = { 19 { 20 .ctl_name = CTL_UNNUMBERED, 21 .procname = "maxkeys", 22 .data = &key_quota_maxkeys, 23 .maxlen = sizeof(unsigned), 24 .mode = 0644, 25 .proc_handler = &proc_dointvec_minmax, 26 .extra1 = (void *) &one, 27 .extra2 = (void *) &max, 28 }, 29 { 30 .ctl_name = CTL_UNNUMBERED, 31 .procname = "maxbytes", 32 .data = &key_quota_maxbytes, 33 .maxlen = sizeof(unsigned), 34 .mode = 0644, 35 .proc_handler = &proc_dointvec_minmax, 36 .extra1 = (void *) &one, 37 .extra2 = (void *) &max, 38 }, 39 { 40 .ctl_name = CTL_UNNUMBERED, 41 .procname = "root_maxkeys", 42 .data = &key_quota_root_maxkeys, 43 .maxlen = sizeof(unsigned), 44 .mode = 0644, 45 .proc_handler = &proc_dointvec_minmax, 46 .extra1 = (void *) &one, 47 .extra2 = (void *) &max, 48 }, 49 { 50 .ctl_name = CTL_UNNUMBERED, 51 .procname = "root_maxbytes", 52 .data = &key_quota_root_maxbytes, 53 .maxlen = sizeof(unsigned), 54 .mode = 0644, 55 .proc_handler = &proc_dointvec_minmax, 56 .extra1 = (void *) &one, 57 .extra2 = (void *) &max, 58 }, 59 { 60 .ctl_name = CTL_UNNUMBERED, 61 .procname = "gc_delay", 62 .data = &key_gc_delay, 63 .maxlen = sizeof(unsigned), 64 .mode = 0644, 65 .proc_handler = &proc_dointvec_minmax, 66 .extra1 = (void *) &zero, 67 .extra2 = (void *) &max, 68 }, 69 { .ctl_name = 0 } 70 }; 71