2008-04-29 08:01:32 +00:00
|
|
|
/* Key management controls
|
|
|
|
*
|
|
|
|
* Copyright (C) 2008 Red Hat, Inc. All Rights Reserved.
|
|
|
|
* Written by David Howells (dhowells@redhat.com)
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public Licence
|
|
|
|
* as published by the Free Software Foundation; either version
|
|
|
|
* 2 of the Licence, or (at your option) any later version.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <linux/key.h>
|
|
|
|
#include <linux/sysctl.h>
|
|
|
|
#include "internal.h"
|
|
|
|
|
2009-09-02 08:14:00 +00:00
|
|
|
static const int zero, one = 1, max = INT_MAX;
|
|
|
|
|
2008-04-29 08:01:32 +00:00
|
|
|
ctl_table key_sysctls[] = {
|
|
|
|
{
|
|
|
|
.procname = "maxkeys",
|
|
|
|
.data = &key_quota_maxkeys,
|
|
|
|
.maxlen = sizeof(unsigned),
|
|
|
|
.mode = 0644,
|
2009-11-16 11:11:48 +00:00
|
|
|
.proc_handler = proc_dointvec_minmax,
|
2009-09-02 08:14:00 +00:00
|
|
|
.extra1 = (void *) &one,
|
|
|
|
.extra2 = (void *) &max,
|
2008-04-29 08:01:32 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
.procname = "maxbytes",
|
|
|
|
.data = &key_quota_maxbytes,
|
|
|
|
.maxlen = sizeof(unsigned),
|
|
|
|
.mode = 0644,
|
2009-11-16 11:11:48 +00:00
|
|
|
.proc_handler = proc_dointvec_minmax,
|
2009-09-02 08:14:00 +00:00
|
|
|
.extra1 = (void *) &one,
|
|
|
|
.extra2 = (void *) &max,
|
2008-04-29 08:01:32 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
.procname = "root_maxkeys",
|
|
|
|
.data = &key_quota_root_maxkeys,
|
|
|
|
.maxlen = sizeof(unsigned),
|
|
|
|
.mode = 0644,
|
2009-11-16 11:11:48 +00:00
|
|
|
.proc_handler = proc_dointvec_minmax,
|
2009-09-02 08:14:00 +00:00
|
|
|
.extra1 = (void *) &one,
|
|
|
|
.extra2 = (void *) &max,
|
2008-04-29 08:01:32 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
.procname = "root_maxbytes",
|
|
|
|
.data = &key_quota_root_maxbytes,
|
|
|
|
.maxlen = sizeof(unsigned),
|
|
|
|
.mode = 0644,
|
2009-11-16 11:11:48 +00:00
|
|
|
.proc_handler = proc_dointvec_minmax,
|
2009-09-02 08:14:00 +00:00
|
|
|
.extra1 = (void *) &one,
|
|
|
|
.extra2 = (void *) &max,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
.procname = "gc_delay",
|
|
|
|
.data = &key_gc_delay,
|
|
|
|
.maxlen = sizeof(unsigned),
|
|
|
|
.mode = 0644,
|
2009-11-16 11:11:48 +00:00
|
|
|
.proc_handler = proc_dointvec_minmax,
|
2009-09-02 08:14:00 +00:00
|
|
|
.extra1 = (void *) &zero,
|
|
|
|
.extra2 = (void *) &max,
|
2008-04-29 08:01:32 +00:00
|
|
|
},
|
2013-09-24 09:35:19 +00:00
|
|
|
#ifdef CONFIG_PERSISTENT_KEYRINGS
|
|
|
|
{
|
|
|
|
.procname = "persistent_keyring_expiry",
|
|
|
|
.data = &persistent_keyring_expiry,
|
|
|
|
.maxlen = sizeof(unsigned),
|
|
|
|
.mode = 0644,
|
|
|
|
.proc_handler = proc_dointvec_minmax,
|
|
|
|
.extra1 = (void *) &zero,
|
|
|
|
.extra2 = (void *) &max,
|
|
|
|
},
|
|
|
|
#endif
|
2009-04-03 12:08:03 +00:00
|
|
|
{ }
|
2008-04-29 08:01:32 +00:00
|
|
|
};
|