linux/security/keys/sysctl.c
<<
>>
Prefs
   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
  16static const int zero, one = 1, max = INT_MAX;
  17
  18struct ctl_table key_sysctls[] = {
  19        {
  20                .procname = "maxkeys",
  21                .data = &key_quota_maxkeys,
  22                .maxlen = sizeof(unsigned),
  23                .mode = 0644,
  24                .proc_handler = proc_dointvec_minmax,
  25                .extra1 = (void *) &one,
  26                .extra2 = (void *) &max,
  27        },
  28        {
  29                .procname = "maxbytes",
  30                .data = &key_quota_maxbytes,
  31                .maxlen = sizeof(unsigned),
  32                .mode = 0644,
  33                .proc_handler = proc_dointvec_minmax,
  34                .extra1 = (void *) &one,
  35                .extra2 = (void *) &max,
  36        },
  37        {
  38                .procname = "root_maxkeys",
  39                .data = &key_quota_root_maxkeys,
  40                .maxlen = sizeof(unsigned),
  41                .mode = 0644,
  42                .proc_handler = proc_dointvec_minmax,
  43                .extra1 = (void *) &one,
  44                .extra2 = (void *) &max,
  45        },
  46        {
  47                .procname = "root_maxbytes",
  48                .data = &key_quota_root_maxbytes,
  49                .maxlen = sizeof(unsigned),
  50                .mode = 0644,
  51                .proc_handler = proc_dointvec_minmax,
  52                .extra1 = (void *) &one,
  53                .extra2 = (void *) &max,
  54        },
  55        {
  56                .procname = "gc_delay",
  57                .data = &key_gc_delay,
  58                .maxlen = sizeof(unsigned),
  59                .mode = 0644,
  60                .proc_handler = proc_dointvec_minmax,
  61                .extra1 = (void *) &zero,
  62                .extra2 = (void *) &max,
  63        },
  64#ifdef CONFIG_PERSISTENT_KEYRINGS
  65        {
  66                .procname = "persistent_keyring_expiry",
  67                .data = &persistent_keyring_expiry,
  68                .maxlen = sizeof(unsigned),
  69                .mode = 0644,
  70                .proc_handler = proc_dointvec_minmax,
  71                .extra1 = (void *) &zero,
  72                .extra2 = (void *) &max,
  73        },
  74#endif
  75        { }
  76};
  77