David Howells
d55201ce08
Merge branch 'keys-trust' into keys-next
...
Here's a set of patches that changes how certificates/keys are determined
to be trusted. That's currently a two-step process:
(1) Up until recently, when an X.509 certificate was parsed - no matter
the source - it was judged against the keys in .system_keyring,
assuming those keys to be trusted if they have KEY_FLAG_TRUSTED set
upon them.
This has just been changed such that any key in the .ima_mok keyring,
if configured, may also be used to judge the trustworthiness of a new
certificate, whether or not the .ima_mok keyring is meant to be
consulted for whatever process is being undertaken.
If a certificate is determined to be trustworthy, KEY_FLAG_TRUSTED
will be set upon a key it is loaded into (if it is loaded into one),
no matter what the key is going to be loaded for.
(2) If an X.509 certificate is loaded into a key, then that key - if
KEY_FLAG_TRUSTED gets set upon it - can be linked into any keyring
with KEY_FLAG_TRUSTED_ONLY set upon it. This was meant to be the
system keyring only, but has been extended to various IMA keyrings.
A user can at will link any key marked KEY_FLAG_TRUSTED into any
keyring marked KEY_FLAG_TRUSTED_ONLY if the relevant permissions masks
permit it.
These patches change that:
(1) Trust becomes a matter of consulting the ring of trusted keys supplied
when the trust is evaluated only.
(2) Every keyring can be supplied with its own manager function to
restrict what may be added to that keyring. This is called whenever a
key is to be linked into the keyring to guard against a key being
created in one keyring and then linked across.
This function is supplied with the keyring and the key type and
payload[*] of the key being linked in for use in its evaluation. It
is permitted to use other data also, such as the contents of other
keyrings such as the system keyrings.
[*] The type and payload are supplied instead of a key because as an
optimisation this function may be called whilst creating a key and
so may reject the proposed key between preparse and allocation.
(3) A default manager function is provided that permits keys to be
restricted to only asymmetric keys that are vouched for by the
contents of the system keyring.
A second manager function is provided that just rejects with EPERM.
(4) A key allocation flag, KEY_ALLOC_BYPASS_RESTRICTION, is made available
so that the kernel can initialise keyrings with keys that form the
root of the trust relationship.
(5) KEY_FLAG_TRUSTED and KEY_FLAG_TRUSTED_ONLY are removed, along with
key_preparsed_payload::trusted.
This change also makes it possible in future for userspace to create a private
set of trusted keys and then to have it sealed by setting a manager function
where the private set is wholly independent of the kernel's trust
relationships.
Further changes in the set involve extracting certain IMA special keyrings
and making them generally global:
(*) .system_keyring is renamed to .builtin_trusted_keys and remains read
only. It carries only keys built in to the kernel. It may be where
UEFI keys should be loaded - though that could better be the new
secondary keyring (see below) or a separate UEFI keyring.
(*) An optional secondary system keyring (called .secondary_trusted_keys)
is added to replace the IMA MOK keyring.
(*) Keys can be added to the secondary keyring by root if the keys can
be vouched for by either ring of system keys.
(*) Module signing and kexec only use .builtin_trusted_keys and do not use
the new secondary keyring.
(*) Config option SYSTEM_TRUSTED_KEYS now depends on ASYMMETRIC_KEY_TYPE as
that's the only type currently permitted on the system keyrings.
(*) A new config option, IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY,
is provided to allow keys to be added to IMA keyrings, subject to the
restriction that such keys are validly signed by a key already in the
system keyrings.
If this option is enabled, but secondary keyrings aren't, additions to
the IMA keyrings will be restricted to signatures verifiable by keys in
the builtin system keyring only.
Signed-off-by: David Howells <dhowells@redhat.com>
2016-05-04 17:20:20 +01:00
..
ABI
Merge tag 'ofs-pull-tag-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux
2016-03-26 12:59:04 -07:00
accounting
Documentation-getdelays: Apply a recommendation from "checkpatch.pl" in main()
2015-12-24 07:22:32 -07:00
acpi
mfd: core: redo ACPI matching of the children devices
2015-10-26 15:25:53 +01:00
aoe
arm
ARM: SoC 64-bit changes for v4.6
2016-03-20 15:08:45 -07:00
arm64
arm64: Add workaround for Cavium erratum 27456
2016-02-26 15:14:27 +00:00
auxdisplay
backlight
blackfin
Docs: blackfin: Use new switch macro SAMPLE_IRQ_TIMER instead of IRQ_TIMER5
2015-05-07 09:35:14 -06:00
block
A relatively boring cycle in the docs tree. There's a few kernel-doc
2016-01-17 11:55:07 -08:00
blockdev
cpqarray: remove it from the kernel
2016-03-14 09:06:01 -06:00
bus-devices
cdrom
cgroup-v1
Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2016-03-18 20:25:49 -07:00
cma
cma: debug: document new debugfs interface
2015-04-14 16:49:00 -07:00
connector
console
cpu-freq
Documentation: cpufreq: intel_pstate: fix typo
2016-02-18 20:31:53 +01:00
cpuidle
cris
crypto
crypto: doc - Use ahash
2016-02-06 15:33:11 +08:00
development-process
device-mapper
dm cache: make the 'mq' policy an alias for 'smq'
2016-03-10 17:12:08 -05:00
devicetree
SCSI misc on 20160326
2016-03-26 11:31:01 -07:00
dmaengine
Merge branch 'topic/async' into for-linus
2016-01-06 15:17:47 +05:30
DocBook
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
2016-03-21 13:48:00 -07:00
driver-model
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
2016-03-19 16:31:54 -07:00
dvb
[media] media: change email address
2016-01-25 12:01:08 -02:00
early-userspace
EDID
extcon
fault-injection
net: Add support for CHANGEUPPER notifier error injection
2015-12-03 11:49:23 -05:00
fb
Documentation/fb: add documentation for sm712fb
2015-08-07 15:05:01 -07:00
features
arm64 updates for 4.6:
2016-03-17 20:03:47 -07:00
filesystems
Merge tag 'ofs-pull-tag-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux
2016-03-26 12:59:04 -07:00
firmware_class
fmc
fpga
usage documentation for FPGA manager core
2015-10-07 18:07:20 +01:00
frv
gpio
gpio: documenatation: fix GPIO_LOOKUP{,_IDX} documentation
2016-02-25 16:01:51 +01:00
hid
HID: sensor: Update document for custom sensor
2015-04-10 22:22:56 +02:00
hwmon
hwmon: Create an NSA320 hardware monitoring driver
2016-03-08 18:40:49 -08:00
i2c
Doc: i2c: Fix typo in Documentation/i2c
2016-02-10 13:12:14 -07:00
ia64
virtual: Documentation: simplify and generalize paravirt_ops.txt
2015-02-13 17:15:44 +10:30
ide
iio
iio: Documentation: Add IIO configfs documentation
2015-12-03 18:19:28 +00:00
infiniband
staging/rdma/hfi1: Method to toggle "fast ECN" detection
2016-03-10 20:37:50 -05:00
input
Input: add userio module
2015-10-27 18:55:31 -07:00
ioctl
gpio: uapi: use 0xB4 as ioctl() major
2016-03-10 16:02:52 +07:00
isdn
isdn: i4l: move active-isdn drivers to staging
2016-03-05 15:00:38 -08:00
ja_JP
Doc: ja_JP: Fix a typo in HOWTO
2016-02-10 13:14:37 -07:00
kbuild
kbuild: document recursive dependency limitation / resolution
2015-10-08 15:36:16 +02:00
kdump
kernel: add panic_on_warn
2014-12-10 17:41:10 -08:00
ko_KR
Documentation/ko_KR: update maintainer information
2016-02-17 14:10:39 -07:00
laptops
Move freefall program from Documentation/ to tools/
2015-06-08 16:42:07 -06:00
leds
Documentation: leds: Add description of brightness setting API
2016-01-04 09:57:31 +01:00
locking
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-11-03 16:10:43 -08:00
m68k
memory-devices
metag
mic
Char/Misc patches for 4.6-rc1
2016-03-17 13:47:50 -07:00
mips
misc-devices
Merge char-misc-next into staging-next
2016-02-22 14:46:24 -08:00
mmc
mmc: core: Remove MMC_CLKGATE
2015-10-26 16:00:09 +01:00
mn10300
mtd
Documentation: mtd: improve nand_ecc.txt for readability and correctness
2015-11-17 17:05:14 -08:00
namespaces
netlabel
networking
switchdev: fix typo in comments/doc
2016-03-24 14:51:24 -04:00
nfc
NFC: Fix typo in nfc-hci.txt
2015-06-08 23:15:45 +02:00
nios2
Documentation: Add documentation for Nios2 architecture
2014-12-08 12:56:06 +08:00
nvdimm
libnvdimm: documentation clarifications
2015-11-12 09:55:23 -08:00
nvmem
Documentation: nvmem: add nvmem api level and how-to doc
2015-08-05 13:43:45 -07:00
parisc
PCI
The documentation tree update for 4.1. Numerous fixes, the overdue removal
2015-04-18 11:10:49 -04:00
pcmcia
pcmcia: Fix typo in locking documentation
2015-08-07 14:34:58 +02:00
phy
platform
power
Merge branches 'pm-pci' and 'pm-core'
2016-01-12 01:10:52 +01:00
powerpc
cxl: Support to flash a new image on the adapter from a guest
2016-03-09 23:39:56 +11:00
pps
Doc: pps: Fix file name in pps.txt
2015-07-14 12:35:42 -06:00
prctl
Documentation: Fix int/unsigned int comparison
2016-02-17 14:09:43 -07:00
pti
ptp
Another relatively boring cycle for the docs tree: typo fixes, translation
2016-03-17 12:09:35 -07:00
rapidio
rapidio: add mport char device driver
2016-03-22 15:36:02 -07:00
RCU
documentation: Update RCU requirements based on expedited changes
2015-12-05 12:34:32 -08:00
s390
s390/zcore: remove /sys/kernel/debug/zcore/mem
2015-11-27 09:24:12 +01:00
scheduler
sched/dl/Documentation: Split Section 3
2015-05-19 08:39:21 +02:00
scsi
st: Fix MTMKPART to work with newer drives
2016-02-23 21:27:02 -05:00
security
Merge branch 'keys-trust' into keys-next
2016-05-04 17:20:20 +01:00
serial
tty: Remove chars_in_buffer() line discipline method
2016-01-27 15:01:44 -08:00
sh
sound
Merge branch 'topic/hda-mst' into for-next
2016-02-10 09:25:15 +01:00
spi
spi: tools: move spidev_test metadata
2015-11-30 12:14:12 +00:00
sysctl
Merge branch 'akpm' (patches from Andrew)
2016-03-18 19:26:54 -07:00
target
target/user: Report capability of handling out-of-order completions to userspace
2016-03-10 21:49:09 -08:00
thermal
thermal: doc: Add details of devm_thermal_zone_of_sensor_{register,unregister}
2016-03-09 10:51:41 -08:00
timers
Another relatively boring cycle for the docs tree: typo fixes, translation
2016-03-17 12:09:35 -07:00
tpm
trace
x86, tracing, perf: Add trace point for MSR accesses
2015-12-06 12:56:10 +01:00
usb
usb: devio: Add ioctl to disallow detaching kernel USB drivers.
2016-03-05 12:05:01 -08:00
vDSO
Documentation/vDSO: don't build tests when cross compiling
2015-06-22 16:04:57 -06:00
video4linux
[media] saa7134: Add support for Snazio TvPVR PRO
2016-03-03 09:03:48 -03:00
virtual
One of the largest releases for KVM... Hardly any generic improvement,
2016-03-16 09:55:35 -07:00
vm
mm: thp: set THP defrag by default to madvise and add a stall-free defrag option
2016-03-17 15:09:34 -07:00
w1
w1: masters: omap_hdq: add support for 1-wire mode
2015-10-05 04:47:09 +01:00
watchdog
Merge git://www.linux-watchdog.org/linux-watchdog
2016-03-19 19:35:51 -07:00
wimax
x86
x86/Documentation: Start documenting x86 topology
2016-03-29 10:45:04 +02:00
xtensa
zh_CN
Documentation: Chinese translation of arm64/silicon-errata.txt
2016-02-17 14:08:07 -07:00
00-INDEX
Update of Documentation/dmaengine/00-INDEX
2014-12-29 15:28:24 -07:00
adding-syscalls.txt
Documentation: describe how to add a system call
2015-08-13 17:54:06 -06:00
applying-patches.txt
assoc_array.txt
atomic_ops.txt
locking/atomics, cmpxchg: Privatize the inclusion of asm/cmpxchg.h
2015-09-13 10:35:46 +02:00
bad_memory.txt
basic_profiling.txt
bcache.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
rmap: drop support of non-linear mappings
2015-02-10 14:30:31 -08:00
cgroup-v2.txt
Merge branch 'for-4.6-ns' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2016-03-21 10:05:13 -07:00
Changes
There is a nice new document from Neil on how pathname lookups work and
2015-11-05 15:59:24 -08:00
circular-buffers.txt
clk.txt
clk: change clk_ops' ->determine_rate() prototype
2015-07-27 18:12:01 -07:00
coccinelle.txt
CodeOfConflict
Code of Conflict
2015-02-27 11:44:24 -08:00
CodingStyle
Documentation/CodingStyle: add space before parenthesis in example macro
2016-01-25 12:36:28 -07:00
cpu-hotplug.txt
Documentation: cpu-hotplug: Fix sysfs mount instructions
2015-12-10 11:35:30 -07:00
cpu-load.txt
cputopology.txt
Documentation: Update cputopology.txt
2015-05-27 15:22:15 +02:00
crc32.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
Doc: Change wikipedia's URL from http to https
2015-06-22 10:14:05 -06:00
dell_rbu.txt
devices.txt
digsig.txt
DMA-API-HOWTO.txt
dma-mapping: always provide the dma_map_ops based implementation
2016-01-20 17:09:18 -08:00
DMA-API.txt
DMA-API: fix confusing sentence in Documentation/DMA-API.txt
2016-01-11 18:29:00 -07:00
DMA-attributes.txt
ARM: 8506/1: common: DMA-mapping: add DMA_ATTR_ALLOC_SINGLE_PAGES attribute
2016-02-11 15:33:38 +00:00
dma-buf-sharing.txt
dma-buf: Update docs for SYNC ioctl
2016-03-21 09:26:45 +01:00
DMA-ISA-LPC.txt
dontdiff
Documentation: dontdiff: remove media from dontdiff
2015-11-11 10:08:07 -07:00
dynamic-debug-howto.txt
edac.txt
EDAC: Remove references to bluesmoke.sourceforge.net
2015-11-26 14:46:06 +01:00
efi-stub.txt
doc: efi-stub.txt: Fix arm64 paths
2015-12-14 15:24:03 +00:00
eisa.txt
email-clients.txt
A few more documentation patches that wandered in and have no reason to
2015-11-13 09:19:05 -08:00
flexible-arrays.txt
futex-requeue-pi.txt
doc: Fix misnamed FUTEX_CMP_REQUEUE_PI op constants
2015-01-19 12:05:32 +01:00
gcov.txt
gdb-kernel-debugging.txt
scripts/gdb: add basic documentation
2015-02-17 14:34:54 -08:00
highuid.txt
HOWTO
Documentation: Howto: Fixed subtitles style
2016-03-09 15:30:03 -07:00
hsi.txt
hw_random.txt
hwrng: doc - Fix device node name reference /dev/hw_random => /dev/hwrng
2015-09-21 22:00:41 +08:00
hwspinlock.txt
hwspinlock/core: add device tree support
2015-05-02 09:54:30 +03:00
init.txt
initrd.txt
Intel-IOMMU.txt
iommu/vt-d: Fix link to Intel IOMMU Specification
2016-01-29 12:32:12 +01:00
intel_txt.txt
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
ipmi watchdog : add panic_wdt_timeout parameter
2015-11-16 06:28:43 -06:00
IRQ-affinity.txt
IRQ-domain.txt
irqdomain: Documentation updates
2015-10-13 19:01:25 +02:00
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kasan.txt
mm, kasan: SLAB support
2016-03-25 16:37:42 -07:00
kcov.txt
kernel: add kcov code coverage
2016-03-22 15:36:02 -07:00
kernel-doc-nano-HOWTO.txt
Documenation: Update location of docproc.c
2015-07-14 12:36:39 -06:00
kernel-docs.txt
Documentation: translations: update linux cross reference link
2016-01-11 18:26:58 -07:00
kernel-parameters.txt
Merge branch 'mm-pkeys-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-03-20 19:08:56 -07:00
kernel-per-CPU-kthreads.txt
irq_poll: make blk-iopoll available outside the block layer
2015-12-11 11:52:24 -08:00
kmemcheck.txt
Documentation: update the CONFIG_DEBUG_PAGEALLOC description
2015-03-20 07:41:55 -06:00
kmemleak.txt
Doc: Change wikipedia's URL from http to https
2015-06-22 10:14:05 -06:00
kobject.txt
kobject: grammar fix
2014-12-08 09:07:11 -05:00
kprobes.txt
kprobes: Update Documentation/kprobes.txt
2015-03-20 07:41:55 -06:00
kref.txt
kselftest.txt
Documentation: kselftest: Remove duplicate word
2016-03-09 15:33:38 -07:00
ldm.txt
local_ops.txt
percpu: update local_ops.txt to reflect this_cpu operations
2014-12-13 12:42:53 -08:00
lockup-watchdogs.txt
kernel/watchdog.c: add sysctl knob hardlockup_panic
2015-11-05 19:34:48 -08:00
logo.gif
logo.txt
lzo.txt
magic-number.txt
Documentation/magic-number: Remove SCC_MAGIC
2015-05-13 15:39:04 -04:00
mailbox.txt
Documentation: minor typo fix in mailbox.txt
2015-08-13 18:03:18 -06:00
Makefile
spi: Move spi code from Documentation to tools
2015-11-23 14:54:01 +00:00
ManagementStyle
md-cluster.txt
md-cluster: update the documentation
2016-01-06 11:39:06 +11:00
md.txt
doc:md: fix typo in md.txt.
2015-06-23 06:49:44 -06:00
memory-barriers.txt
documentation: Clarify compiler store-fusion example
2016-03-14 15:52:19 -07:00
memory-hotplug.txt
memory-hotplug: add automatic onlining policy for the newly added memory
2016-03-15 16:55:16 -07:00
men-chameleon-bus.txt
Documentation: Minor changes to men-chameleon-bus.txt
2015-07-24 15:15:17 +02:00
module-signing.txt
modsign: Fix documentation on module signing enforcement parameter.
2016-03-12 01:48:11 -07:00
mono.txt
nommu-mmap.txt
fs: introduce f_op->mmap_capabilities for nommu mmap support
2015-01-20 14:02:58 -07:00
ntb.txt
NTB: Rename Intel code names to platform names
2015-07-04 14:09:25 -04:00
numastat.txt
oops-tracing.txt
livepatch: kernel: add TAINT_LIVEPATCH
2014-12-22 15:40:48 +01:00
padata.txt
parport-lowlevel.txt
parport.txt
percpu-rw-semaphore.txt
phy.txt
phy: core: Add devm_of_phy_get_by_index to phy-core
2015-05-11 21:42:23 +05:30
pi-futex.txt
pinctrl.txt
pinctrl: move strict option to pinmux_ops
2015-05-06 14:45:19 +02:00
pnp.txt
preempt-locking.txt
x86/fpu: Rename math_state_restore() to fpu__restore()
2015-05-19 15:47:18 +02:00
printk-formats.txt
mm, printk: introduce new format string for flags
2016-03-15 16:55:16 -07:00
pwm.txt
ramoops.txt
pstore-ram: Allow optional mapping with pgprot_noncached
2014-12-11 13:38:31 -08:00
rbtree.txt
documentation: fix small typo in rbtree.txt
2015-09-13 14:38:50 -06:00
remoteproc.txt
remoteproc: introduce rproc_get_by_phandle API
2015-06-16 21:12:52 +03:00
rfkill.txt
rfkill: Add documentation about LED triggers
2016-02-24 09:13:12 +01:00
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
rtc.txt
rtc: implement a sysfs interface for clock offset
2016-03-14 17:08:16 +01:00
SAK.txt
SecurityBugs
serial-console.txt
sgi-ioc4.txt
SM501.txt
smsc_ece1099.txt
sparse.txt
stable_api_nonsense.txt
stable_kernel_rules.txt
stable_kernel_rules.txt: Remove extra space after Cc:
2015-11-20 16:54:57 -07:00
static-keys.txt
locking/static_keys: Fix up the static keys documentation
2015-09-15 07:12:06 +02:00
SubmitChecklist
SubmittingDrivers
SubmittingPatches
SubmittingPatches: fix spelling of "git send-email"
2016-01-25 12:30:18 -07:00
svga.txt
sysfs-rules.txt
sysrq.txt
mm, oom: do not panic for oom kills triggered from sysrq
2015-09-08 15:35:28 -07:00
this_cpu_ops.txt
ubsan.txt
UBSAN: run-time undefined behavior sanity checker
2016-01-20 17:09:18 -08:00
unaligned-memory-access.txt
unicode.txt
unshare.txt
vfio.txt
vfio: powerpc/spapr: Support Dynamic DMA windows
2015-06-11 15:16:55 +10:00
VGA-softcursor.txt
vgaarbiter.txt
video-output.txt
vme_api.txt
Documentation: mention vme_master_mmap() in VME API
2015-06-12 17:26:56 -07:00
volatile-considered-harmful.txt
workqueue.txt
workqueue: fix trivial typo in Documentation/workqueue.txt
2015-05-05 09:50:38 -04:00
xillybus.txt
xz.txt
zorro.txt