Merge branch 'for-v5.6' of git://git.kernel.org:/pub/scm/linux/kernel/git/jmorris...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 29 Jan 2020 02:55:17 +0000 (18:55 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 29 Jan 2020 02:55:17 +0000 (18:55 -0800)
Pull security subsystem update from James Morris:
 "Just one minor fix this time"

* 'for-v5.6' of git://git.kernel.org:/pub/scm/linux/kernel/git/jmorris/linux-security:
  security: remove EARLY_LSM_COUNT which never used

1  2 
security/security.c

diff --combined security/security.c
  
  /* How many LSMs were built into the kernel? */
  #define LSM_COUNT (__end_lsm_info - __start_lsm_info)
- #define EARLY_LSM_COUNT (__end_early_lsm_info - __start_early_lsm_info)
  
 +/*
 + * These are descriptions of the reasons that can be passed to the
 + * security_locked_down() LSM hook. Placing this array here allows
 + * all security modules to use the same descriptions for auditing
 + * purposes.
 + */
 +const char *const lockdown_reasons[LOCKDOWN_CONFIDENTIALITY_MAX+1] = {
 +      [LOCKDOWN_NONE] = "none",
 +      [LOCKDOWN_MODULE_SIGNATURE] = "unsigned module loading",
 +      [LOCKDOWN_DEV_MEM] = "/dev/mem,kmem,port",
 +      [LOCKDOWN_EFI_TEST] = "/dev/efi_test access",
 +      [LOCKDOWN_KEXEC] = "kexec of unsigned images",
 +      [LOCKDOWN_HIBERNATION] = "hibernation",
 +      [LOCKDOWN_PCI_ACCESS] = "direct PCI access",
 +      [LOCKDOWN_IOPORT] = "raw io port access",
 +      [LOCKDOWN_MSR] = "raw MSR access",
 +      [LOCKDOWN_ACPI_TABLES] = "modifying ACPI tables",
 +      [LOCKDOWN_PCMCIA_CIS] = "direct PCMCIA CIS storage",
 +      [LOCKDOWN_TIOCSSERIAL] = "reconfiguration of serial port IO",
 +      [LOCKDOWN_MODULE_PARAMETERS] = "unsafe module parameters",
 +      [LOCKDOWN_MMIOTRACE] = "unsafe mmio",
 +      [LOCKDOWN_DEBUGFS] = "debugfs access",
 +      [LOCKDOWN_XMON_WR] = "xmon write access",
 +      [LOCKDOWN_INTEGRITY_MAX] = "integrity",
 +      [LOCKDOWN_KCORE] = "/proc/kcore access",
 +      [LOCKDOWN_KPROBES] = "use of kprobes",
 +      [LOCKDOWN_BPF_READ] = "use of bpf to read kernel RAM",
 +      [LOCKDOWN_PERF] = "unsafe use of perf",
 +      [LOCKDOWN_TRACEFS] = "use of tracefs",
 +      [LOCKDOWN_XMON_RW] = "xmon read and write access",
 +      [LOCKDOWN_CONFIDENTIALITY_MAX] = "confidentiality",
 +};
 +
  struct security_hook_heads security_hook_heads __lsm_ro_after_init;
  static BLOCKING_NOTIFIER_HEAD(blocking_lsm_notifier_chain);
  
@@@ -2437,30 -2403,3 +2436,30 @@@ int security_locked_down(enum lockdown_
        return call_int_hook(locked_down, 0, what);
  }
  EXPORT_SYMBOL(security_locked_down);
 +
 +#ifdef CONFIG_PERF_EVENTS
 +int security_perf_event_open(struct perf_event_attr *attr, int type)
 +{
 +      return call_int_hook(perf_event_open, 0, attr, type);
 +}
 +
 +int security_perf_event_alloc(struct perf_event *event)
 +{
 +      return call_int_hook(perf_event_alloc, 0, event);
 +}
 +
 +void security_perf_event_free(struct perf_event *event)
 +{
 +      call_void_hook(perf_event_free, event);
 +}
 +
 +int security_perf_event_read(struct perf_event *event)
 +{
 +      return call_int_hook(perf_event_read, 0, event);
 +}
 +
 +int security_perf_event_write(struct perf_event *event)
 +{
 +      return call_int_hook(perf_event_write, 0, event);
 +}
 +#endif /* CONFIG_PERF_EVENTS */