[PULL REQUEST] Lockdown patches for 5.2

From: Matthew Garrett
Date: Mon Mar 25 2019 - 18:10:01 EST


The following changes since commit 468e91cecb3218afd684b8c422490dfebe0691bb:

keys: fix missing __user in KEYCTL_PKEY_QUERY (2019-03-04 15:48:37 -0800)

are available in the Git repository at:

https://github.com/mjg59/linux lock_down

for you to fetch changes up to 1c57935ab108280aa79fe4420d4bc13e19bd38e2:

kexec: Allow kexec_file() with appropriate IMA policy when locked down (2019-03-25 15:00:35 -0700)

This version replaces the original IMA integration with a new approach
tied to IMA architecture policy. It also drops the sysrq patch for now,
since that primarily makes sense in the context of lockdown policy being
automatically enabled based on boot state.

----------------------------------------------------------------
Dave Young (1):
Copy secure_boot flag in boot params across kexec reboot

David Howells (12):
Add the ability to lock down access to the running kernel image
Enforce module signatures if the kernel is locked down
Prohibit PCMCIA CIS storage when the kernel is locked down
Lock down TIOCSSERIAL
Lock down module params that specify hardware parameters (eg. ioport)
x86/mmiotrace: Lock down the testmmiotrace module
Lock down /proc/kcore
Lock down kprobes
bpf: Restrict kernel image access functions when the kernel is locked down
Lock down perf
debugfs: Restrict debugfs when the kernel is locked down
lockdown: Print current->comm in restriction messages

Jiri Bohac (2):
kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE
kexec_file: Restrict at runtime if the kernel is locked down

Josh Boyer (2):
hibernate: Disable when the kernel is locked down
acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down

Linn Crosetto (2):
acpi: Disable ACPI table override if the kernel is locked down
acpi: Disable APEI error injection if the kernel is locked down

Matthew Garrett (8):
Restrict /dev/{mem,kmem,port} when the kernel is locked down
kexec_load: Disable at runtime if the kernel is locked down
uswsusp: Disable when the kernel is locked down
PCI: Lock down BAR access when the kernel is locked down
x86: Lock down IO port access when the kernel is locked down
x86/msr: Restrict MSR access when the kernel is locked down
ACPI: Limit access to custom_method when the kernel is locked down
kexec: Allow kexec_file() with appropriate IMA policy when locked down

arch/x86/Kconfig | 20 +++++++++---
arch/x86/kernel/ioport.c | 6 ++--
arch/x86/kernel/kexec-bzimage64.c | 1 +
arch/x86/kernel/msr.c | 10 ++++++
arch/x86/mm/testmmiotrace.c | 3 ++
crypto/asymmetric_keys/verify_pefile.c | 4 ++-
drivers/acpi/apei/einj.c | 3 ++
drivers/acpi/custom_method.c | 3 ++
drivers/acpi/osl.c | 2 +-
drivers/acpi/tables.c | 5 +++
drivers/char/mem.c | 2 ++
drivers/pci/pci-sysfs.c | 9 +++++
drivers/pci/proc.c | 9 ++++-
drivers/pci/syscall.c | 3 +-
drivers/pcmcia/cistpl.c | 3 ++
drivers/tty/serial/serial_core.c | 6 ++++
fs/debugfs/file.c | 28 ++++++++++++++++
fs/debugfs/inode.c | 30 +++++++++++++++--
fs/proc/kcore.c | 2 ++
include/linux/ima.h | 9 +++++
include/linux/kernel.h | 17 ++++++++++
include/linux/kexec.h | 4 +--
include/linux/security.h | 9 ++++-
kernel/bpf/syscall.c | 3 ++
kernel/events/core.c | 5 +++
kernel/kexec.c | 7 ++++
kernel/kexec_file.c | 59 +++++++++++++++++++++++++++++----
kernel/kprobes.c | 3 ++
kernel/module.c | 39 ++++++++++++++++++----
kernel/params.c | 26 ++++++++++++---
kernel/power/hibernate.c | 2 +-
kernel/power/user.c | 3 ++
security/Kconfig | 15 +++++++++
security/Makefile | 3 ++
security/integrity/ima/ima.h | 2 ++
security/integrity/ima/ima_main.c | 2 +-
security/integrity/ima/ima_policy.c | 50 ++++++++++++++++++++++++++++
security/lock_down.c | 60 ++++++++++++++++++++++++++++++++++
38 files changed, 430 insertions(+), 37 deletions(-)
create mode 100644 security/lock_down.c