mirror-linux/include/linux
David Howells 2e12256b9a keys: Replace uid/gid/perm permissions checking with an ACL
Replace the uid/gid/perm permissions checking on a key with an ACL to allow
the SETATTR and SEARCH permissions to be split.  This will also allow a
greater range of subjects to represented.

============
WHY DO THIS?
============

The problem is that SETATTR and SEARCH cover a slew of actions, not all of
which should be grouped together.

For SETATTR, this includes actions that are about controlling access to a
key:

 (1) Changing a key's ownership.

 (2) Changing a key's security information.

 (3) Setting a keyring's restriction.

And actions that are about managing a key's lifetime:

 (4) Setting an expiry time.

 (5) Revoking a key.

and (proposed) managing a key as part of a cache:

 (6) Invalidating a key.

Managing a key's lifetime doesn't really have anything to do with
controlling access to that key.

Expiry time is awkward since it's more about the lifetime of the content
and so, in some ways goes better with WRITE permission.  It can, however,
be set unconditionally by a process with an appropriate authorisation token
for instantiating a key, and can also be set by the key type driver when a
key is instantiated, so lumping it with the access-controlling actions is
probably okay.

As for SEARCH permission, that currently covers:

 (1) Finding keys in a keyring tree during a search.

 (2) Permitting keyrings to be joined.

 (3) Invalidation.

But these don't really belong together either, since these actions really
need to be controlled separately.

Finally, there are number of special cases to do with granting the
administrator special rights to invalidate or clear keys that I would like
to handle with the ACL rather than key flags and special checks.


===============
WHAT IS CHANGED
===============

The SETATTR permission is split to create two new permissions:

 (1) SET_SECURITY - which allows the key's owner, group and ACL to be
     changed and a restriction to be placed on a keyring.

 (2) REVOKE - which allows a key to be revoked.

The SEARCH permission is split to create:

 (1) SEARCH - which allows a keyring to be search and a key to be found.

 (2) JOIN - which allows a keyring to be joined as a session keyring.

 (3) INVAL - which allows a key to be invalidated.

The WRITE permission is also split to create:

 (1) WRITE - which allows a key's content to be altered and links to be
     added, removed and replaced in a keyring.

 (2) CLEAR - which allows a keyring to be cleared completely.  This is
     split out to make it possible to give just this to an administrator.

 (3) REVOKE - see above.


Keys acquire ACLs which consist of a series of ACEs, and all that apply are
unioned together.  An ACE specifies a subject, such as:

 (*) Possessor - permitted to anyone who 'possesses' a key
 (*) Owner - permitted to the key owner
 (*) Group - permitted to the key group
 (*) Everyone - permitted to everyone

Note that 'Other' has been replaced with 'Everyone' on the assumption that
you wouldn't grant a permit to 'Other' that you wouldn't also grant to
everyone else.

Further subjects may be made available by later patches.

The ACE also specifies a permissions mask.  The set of permissions is now:

	VIEW		Can view the key metadata
	READ		Can read the key content
	WRITE		Can update/modify the key content
	SEARCH		Can find the key by searching/requesting
	LINK		Can make a link to the key
	SET_SECURITY	Can change owner, ACL, expiry
	INVAL		Can invalidate
	REVOKE		Can revoke
	JOIN		Can join this keyring
	CLEAR		Can clear this keyring


The KEYCTL_SETPERM function is then deprecated.

The KEYCTL_SET_TIMEOUT function then is permitted if SET_SECURITY is set,
or if the caller has a valid instantiation auth token.

The KEYCTL_INVALIDATE function then requires INVAL.

The KEYCTL_REVOKE function then requires REVOKE.

The KEYCTL_JOIN_SESSION_KEYRING function then requires JOIN to join an
existing keyring.

The JOIN permission is enabled by default for session keyrings and manually
created keyrings only.


======================
BACKWARD COMPATIBILITY
======================

To maintain backward compatibility, KEYCTL_SETPERM will translate the
permissions mask it is given into a new ACL for a key - unless
KEYCTL_SET_ACL has been called on that key, in which case an error will be
returned.

It will convert possessor, owner, group and other permissions into separate
ACEs, if each portion of the mask is non-zero.

SETATTR permission turns on all of INVAL, REVOKE and SET_SECURITY.  WRITE
permission turns on WRITE, REVOKE and, if a keyring, CLEAR.  JOIN is turned
on if a keyring is being altered.

The KEYCTL_DESCRIBE function translates the ACL back into a permissions
mask to return depending on possessor, owner, group and everyone ACEs.

It will make the following mappings:

 (1) INVAL, JOIN -> SEARCH

 (2) SET_SECURITY -> SETATTR

 (3) REVOKE -> WRITE if SETATTR isn't already set

 (4) CLEAR -> WRITE

Note that the value subsequently returned by KEYCTL_DESCRIBE may not match
the value set with KEYCTL_SETATTR.


=======
TESTING
=======

This passes the keyutils testsuite for all but a couple of tests:

 (1) tests/keyctl/dh_compute/badargs: The first wrong-key-type test now
     returns EOPNOTSUPP rather than ENOKEY as READ permission isn't removed
     if the type doesn't have ->read().  You still can't actually read the
     key.

 (2) tests/keyctl/permitting/valid: The view-other-permissions test doesn't
     work as Other has been replaced with Everyone in the ACL.

Signed-off-by: David Howells <dhowells@redhat.com>
2019-06-27 23:03:07 +01:00
..
amba
avf
bcma
byteorder
can
ceph libceph: make ceph_pr_addr take an struct ceph_entity_addr pointer 2019-05-07 19:43:05 +02:00
clk AT91 SoC for 5.2 2019-05-16 11:05:11 -07:00
crush
decompress
dma dmaengine: idma64: Move driver name to the header 2019-04-26 16:55:23 +05:30
dsa net: dsa: sja1105: Add support for traffic through standalone ports 2019-05-05 21:52:42 -07:00
extcon
firmware ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
fpga
fsl include/fsl: add common FlexTimer #defines in a separate header. 2019-04-25 21:33:41 +02:00
gpio This is the bulk of the GPIO changes for the v5.2 kernel cycle: 2019-05-11 10:54:43 -04:00
hsi
i3c
iio power supply and reset changes for the v5.2 series 2019-05-15 18:50:40 -07:00
input
irqchip Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-19 10:58:45 -07:00
isdn
lockd This pull consists mostly of nfsd container work: 2019-05-15 18:21:43 -07:00
mailbox
mfd - Core Frameworks 2019-05-14 10:39:08 -07:00
mlx4
mlx5 5.2 Merge Window second pull request 2019-05-14 20:56:31 -07:00
mmc mmc: sdio: Add helper macro for sdio_driver boilerplate 2019-04-23 18:09:07 +02:00
mtd
mux
netfilter ipset: drop ipset_nest_start() and ipset_nest_end() 2019-04-27 17:03:44 -04:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data A few more MIPS changes for 5.2: 2019-05-19 10:05:28 -07:00
power
qed
raid
regulator
remoteproc
reset
rpmsg
rtc ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
sched keys: Move the user and user-session keyrings to the user_namespace 2019-06-26 21:02:32 +01:00
soc Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-19 10:58:45 -07:00
soundwire soundwire: remove multiple blank lines 2019-05-02 17:17:52 +02:00
spi spi: expand mode support 2019-05-02 10:37:55 +09:00
ssb
sunrpc This pull consists mostly of nfsd container work: 2019-05-15 18:21:43 -07:00
ulpi
unaligned
usb USB: changes for v5.2 merge window 2019-05-03 18:05:27 +02:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h pci-v5.2-changes 2019-05-14 10:30:10 -07:00
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h mmc: alcor: work with multiple-entry sglists 2019-05-06 11:55:39 +02:00
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h
arm_sdei.h
armada-37xx-rwtm-mailbox.h mailbox: Add support for Armada 37xx rWTM mailbox 2019-05-09 00:41:00 -05:00
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic-fallback.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h include/linux/balloon_compaction.h: drop unused function stubs 2019-05-14 09:47:48 -07:00
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h exec: move struct linux_binprm::buf 2019-05-14 19:52:50 -07:00
bio.h block: switch all files cleared marked as GPLv2 to SPDX tags 2019-04-30 16:11:57 -06:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h include/linux/bitops.h: sanitize rotate primitives 2019-05-14 19:52:49 -07:00
bitrev.h
bits.h
blk-cgroup.h
blk-mq-pci.h
blk-mq-rdma.h block: add a SPDX tag to blk-mq-rdma.h 2019-04-30 16:12:02 -06:00
blk-mq-virtio.h
blk-mq.h blk-mq: always free hctx after request queue is freed 2019-05-04 07:24:08 -06:00
blk-pm.h
blk_types.h
blkdev.h blk-mq: always free hctx after request queue is freed 2019-05-04 07:24:08 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bottom_half.h
bpf-cgroup.h
bpf.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-02 22:14:21 -04:00
bpf_lirc.h
bpf_trace.h
bpf_types.h bpf: Introduce bpf sk local storage 2019-04-27 09:07:04 -07:00
bpf_verifier.h
bpfilter.h
brcmphy.h
bsearch.h
bsg-lib.h block: switch all files cleared marked as GPLv2 or later to SPDX tags 2019-04-30 16:11:59 -06:00
bsg.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h
bvec.h block: fix mismerge in bvec_advance 2019-05-07 08:39:02 -06:00
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h
cgroup.h cgroup: get rid of cgroup_freezer_frozen_exit() 2019-05-06 08:39:11 -07:00
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk.h clk: Add missing stubs for a few functions 2019-04-25 08:19:15 -07:00
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h
compat.h
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h tracing: Simplify "if" macro code 2019-05-09 15:25:13 -04:00
compiler_attributes.h
compiler_types.h compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING 2019-05-14 19:52:48 -07:00
completion.h
component.h
concap.h
configfs.h
connector.h
console.h panic: add an option to replay all the printk message in buffer 2019-05-18 15:52:26 -07:00
console_struct.h
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h coresight: etm4x: Add kernel configuration for CONTEXTID 2019-04-25 22:00:16 +02:00
coresight-stm.h
coresight.h coresight: Communicate perf event to sink buffer allocation functions 2019-04-25 22:00:17 +02:00
count_zeros.h
counter.h counter: Introduce the Generic Counter interface 2019-04-25 21:33:37 +02:00
counter_enum.h counter: Introduce the Generic Counter interface 2019-04-25 21:33:37 +02:00
cper.h
cpu.h Merge branch 'x86-mds-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-14 07:57:29 -07:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h cpufreq: Call transition notifier only once for each policy 2019-05-10 12:20:36 +02:00
cpuhotplug.h powerpc updates for 5.2 2019-05-10 05:29:27 -07:00
cpuidle.h
cpumask.h include/linux/cpumask.h: fix double string traverse in cpumask_parse 2019-05-14 19:52:50 -07:00
cpuset.h
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dca.h
dcache.h Clean up fscrypt's dcache revalidation support, and other 2019-05-07 21:28:04 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h dm mpath: fix missing call of path selector type->end_io 2019-04-25 15:38:52 -04:00
device.h We have a couple new features and changes in the core clk framework this time 2019-05-09 14:50:09 -07:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-iommu.h iommu/dma-iommu: Remove iommu_dma_map_msi_msg() 2019-05-03 15:30:23 +01:00
dma-mapping.h
dma-noncoherent.h dma-mapping: add a Kconfig symbol to indicate arch_dma_prep_coherent presence 2019-05-06 15:04:40 +02:00
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h keys: Pass the network namespace into request_key mechanism 2019-06-27 23:02:12 +01:00
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h RDMA/core: Introduce RDMA subsystem ibdev_* print functions 2019-05-01 12:29:28 -04:00
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
energy_model.h
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2019-04-28 08:42:41 -04:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h f2fs: allow unfixed f2fs_checkpoint.checksum_offset 2019-05-08 21:23:11 -07:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2019-05-07 22:03:58 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs.h Add as a feature case-insensitive directories (the casefold feature) 2019-05-07 21:12:44 -07:00
fs_context.h
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h This pull request contains the following changes for UBI/UBIFS 2019-05-12 18:16:31 -04:00
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h \n 2019-05-13 15:08:16 -07:00
fsnotify_backend.h \n 2019-05-13 15:08:16 -07:00
ftrace.h The major changes in this tracing update includes: 2019-05-15 16:05:47 -07:00
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h hugetlb: allow to free gigantic pages regardless of the configuration 2019-05-14 09:47:47 -07:00
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h Merge branches 'for-5.1/upstream-fixes', 'for-5.2/core', 'for-5.2/ish', 'for-5.2/logitech', 'for-5.2/macally', 'for-5.2/picolcd', 'for-5.2/sensor' and 'for-5.2/u2fzero' into for-linus 2019-05-06 15:45:18 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h mm/hmm: convert various hmm_pfn_* to device_entry which is a better name 2019-05-14 09:47:48 -07:00
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
huge_mm.h mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses 2019-05-14 09:47:44 -07:00
hugetlb.h hugetlb: use same fault hash key for shared and private mappings 2019-05-14 09:47:48 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h i2c: core: add device-managed version of i2c_new_dummy 2019-05-17 19:29:40 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idle_inject.h
idr.h
ieee80211.h ieee80211: update HE IEs to D4.0 spec 2019-04-26 13:02:11 +02:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h s390/kexec_file: Disable kexec_load when IPLed secure 2019-04-29 10:44:03 +02:00
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-ish-client-if.h
intel-pti.h
intel-svm.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
ioc3.h
ioc4.h
iocontext.h
iomap.h iomap: Add a page_prepare callback 2019-05-01 07:47:37 -07:00
iommu-helper.h
iommu.h Merge branch 'api-features' into arm/smmu 2019-04-26 17:11:46 +02:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h ipc: conserve sequence numbers in ipcmni_extend mode 2019-05-14 19:52:52 -07:00
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h genirq: Introduce irq_chip_{request,release}_resource_parent() apis 2019-05-01 10:41:38 +01:00
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h soc: ti: Add MSI domain bus support for Interrupt Aggregator 2019-05-01 10:49:17 +01:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iversion.h
jbd2.h Some bug fixes, and an update to the URL's for the final version of 2019-05-19 11:43:16 -07:00
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h locking/static_key: Add support for deferred static branches 2019-04-29 08:29:20 +02:00
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h lib/math: move int_pow() from pwm_bl.c for wider use 2019-05-14 19:52:49 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h selinux/stable-5.2 PR 20190507 2019-05-07 18:48:09 -07:00
kexec.h
key-type.h keys: Network namespace domain tag 2019-06-26 21:02:33 +01:00
key.h keys: Replace uid/gid/perm permissions checking with an ACL 2019-06-27 23:03:07 +01:00
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h kobject: Add support for default attribute groups to kobj_type 2019-04-25 22:06:10 +02:00
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h include/: refactor headers to allow kthread.h inclusion in psi_types.h 2019-05-14 19:52:48 -07:00
ktime.h
kvm_host.h Second PPC KVM update for 5.2 2019-05-15 23:39:38 +02:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h kernel/latencytop.c: rename clear_all_latency_tracing to clear_tsk_latency_tracing 2019-05-14 19:52:49 -07:00
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
leds_pwm.h
libata.h
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h lightnvm: track inflight target creations 2019-05-06 10:19:19 -06:00
limits.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h - Improve DM snapshot target's scalability by using finer grained 2019-05-16 15:55:48 -07:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h lib/list_sort: simplify and remove MAX_LIST_LENGTH_BITS 2019-05-14 19:52:49 -07:00
livepatch.h livepatch: Remove custom kobject state handling 2019-05-03 21:11:22 +02:00
llc.h
llist.h
lockdep.h Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-06 13:50:15 -07:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Merge branch 'work.mount-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-05-07 20:17:51 -07:00
lz4.h
lzo.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h net: phy: marvell: add new default led configure for m88e151x 2019-04-23 10:40:32 -07:00
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h IOMMU Updates for Linux v5.2 2019-05-13 09:23:18 -04:00
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h mm: memblock: make keeping memblock memory opt-in rather than opt-out 2019-05-14 09:47:50 -07:00
memcontrol.h mm: memcontrol: fix recursive statistics correctness & scalabilty 2019-05-14 19:52:53 -07:00
memfd.h
memory.h mm/memory_hotplug: make unregister_memory_section() never fail 2019-05-14 09:47:49 -07:00
memory_hotplug.h mm/memory_hotplug: make __remove_pages() and arch_remove_memory() never fail 2019-05-14 09:47:50 -07:00
mempolicy.h
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
mm-arch-hooks.h
mm.h mm: move buddy list manipulations into helpers 2019-05-14 19:52:48 -07:00
mm_inline.h mm: memcontrol: track LRU counts in the vmstats array 2019-05-14 09:47:46 -07:00
mm_types.h mm: move buddy list manipulations into helpers 2019-05-14 19:52:48 -07:00
mm_types_task.h
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm/mmu_notifier: mmu_notifier_range_update_to_read_only() helper 2019-05-14 09:47:49 -07:00
mmzone.h mm: maintain randomization of page free lists 2019-05-14 19:52:48 -07:00
mnt_namespace.h
mod_devicetable.h
module.h Modules updates for v5.2 2019-05-14 10:55:54 -07:00
moduleloader.h
moduleparam.h moduleparam: Save information about built-in modules in separate file 2019-05-07 21:50:24 +09:00
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msg.h
msi.h Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-19 10:58:45 -07:00
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
ndctl.h
net.h
net_dim.h
netdev_features.h
netdevice.h net/tls: move definition of tls ops into net/tls.h 2019-04-27 16:52:21 -04:00
netfilter.h netfilter: slightly optimize nf_inet_addr_mask 2019-05-06 01:18:58 +02:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h NFS: Replace custom error reporting mechanism with generic one 2019-04-25 14:18:14 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFS: Store the credential of the mount process in the nfs_server 2019-04-26 16:11:54 -04:00
nfs_iostat.h
nfs_page.h NFS: Remove redundant open context from nfs_page 2019-04-25 14:18:15 -04:00
nfs_xdr.h
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h nvme-rdma: fix typo in struct comment 2019-04-25 16:51:42 +02:00
nvme-tcp.h
nvme.h nvme: fix typos in nvme status code values 2019-05-14 17:19:47 +02:00
nvmem-consumer.h nvmem: core: add nvmem_cell_read_u16 2019-04-25 19:43:12 +02:00
nvmem-provider.h
nvram.h
objagg.h
of.h of: fix clang -Wunsequenced for be32_to_cpu() 2019-05-01 14:26:36 -05:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
overflow.h Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-16 10:29:00 -07:00
oxu210hp.h
packing.h lib: Add support for generic packing operations 2019-05-03 10:49:17 -04:00
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
pageblock-flags.h
pagemap.h mm: delete find_get_entries_tag 2019-05-14 09:47:51 -07:00
pagevec.h
parman.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h
pci-ecam.h PCI: al: Add Amazon Annapurna Labs PCIe host controller driver 2019-04-25 16:33:07 -05:00
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h pci-v5.2-changes 2019-05-14 10:30:10 -07:00
pci_hotplug.h PCI/ACPI: Implement _HPX Type 3 Setting Record 2019-04-23 16:38:09 -05:00
pci_ids.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h * ARM: support for SVE and Pointer Authentication in guests, PMU improvements 2019-05-17 10:33:30 -07:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h net: phy: improve resuming from hibernation 2019-05-04 00:50:58 -04:00
phy_fixed.h
phy_led_triggers.h
phylink.h
pid.h clone: add CLONE_PIDFD 2019-05-07 14:31:03 +02:00
pid_namespace.h
pim.h
pipe_fs_i.h There tracing fixes: 2019-04-26 11:09:55 -07:00
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h
plist.h lib/plist: rename DEBUG_PI_LIST to DEBUG_PLIST 2019-05-14 19:52:49 -07:00
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM / Domains: Add GENPD_FLAG_RPM_ALWAYS_ON flag 2019-05-13 10:51:31 +02:00
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h fs/select: avoid clang stack usage warning 2019-05-14 19:52:48 -07:00
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h power: supply: core: Add POWER_SUPPLY_HEALTH_OVERCURRENT constant 2019-05-03 22:15:51 +02:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h pps: pps-gpio PPS ECHO implementation 2019-05-14 19:52:51 -07:00
pps_kernel.h
pr.h
preempt.h
prefetch.h
prime_numbers.h
printk.h panic: avoid the extra noise dmesg 2019-05-14 19:52:51 -07:00
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
psi.h kernel/sched/psi.c: expose pressure metrics on root cgroup 2019-05-14 19:52:48 -07:00
psi_types.h psi: introduce psi monitor 2019-05-14 19:52:48 -07:00
psp-sev.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h treewide: remove SPDX "WITH Linux-syscall-note" from kernel-space headers 2019-05-14 19:52:48 -07:00
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h s390 updates for the 5.2 merge window #2 2019-05-17 10:08:59 -07:00
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h panic/reboot: allow specifying reboot_mode for panic only 2019-05-14 19:52:51 -07:00
reciprocal_div.h
refcount.h
regmap.h
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h rtc: drop set_mms and set_mmss64 2019-05-08 22:14:36 +02:00
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem.h
s3c_adc_battery.h
sbitmap.h
scatterlist.h lib/scatterlist: Remove leftover from sg_page_iter comment 2019-05-07 12:47:47 -03:00
scc.h
sched.h keys: Cache result of request_key*() temporarily in task_struct 2019-06-19 16:10:15 +01:00
sched_clock.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'work.mount-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-05-07 20:17:51 -07:00
sed-opal.h block: switch all files cleared marked as GPLv2 to SPDX tags 2019-04-30 16:11:57 -06:00
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h docs: serial: convert docs to ReST and rename to *.rst 2019-04-25 11:37:42 +02:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h x86/mm/cpa: Add set_direct_map_*() functions 2019-04-30 12:37:56 +02:00
sfi.h
sfi_acpi.h
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
sha256.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h bpf: support BPF_PROG_QUERY for BPF_FLOW_DISSECTOR attach_type 2019-04-25 23:49:06 +02:00
skmsg.h
slab.h
slab_def.h slab: remove /proc/slab_allocators 2019-05-16 15:51:55 -07:00
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h smpboot: Place the __percpu annotation correctly 2019-04-24 12:17:08 +02:00
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h lib/stackdepot: Remove obsolete functions 2019-04-29 12:37:57 +02:00
stackleak.h
stackprotector.h
stacktrace.h stacktrace: Provide common infrastructure 2019-04-29 12:37:57 +02:00
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2019-05-16 16:16:18 -07:00
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h Power management updates for 5.2-rc1 2019-05-06 19:40:31 -07:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timekeeping32.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h
trace_seq.h
tracefs.h
tracehook.h keys: Cache result of request_key*() temporarily in task_struct 2019-06-19 16:10:15 +01:00
tracepoint-defs.h bpf: add writable context for raw tracepoints 2019-04-26 19:04:19 -07:00
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h iov_iter: fix iov_iter_type 2019-05-01 08:38:47 -06:00
uio_driver.h
umh.h
unicode.h unicode: implement higher level API for string handling 2019-04-25 13:51:22 -04:00
uprobes.h uprobes: Initialize uprobes earlier 2019-04-30 12:37:51 +02:00
usb.h USB/PHY patches for 5.2-rc1 2019-05-08 10:03:52 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h keys: Move the user and user-session keyrings to the user_namespace 2019-06-26 21:02:32 +01:00
userfaultfd_k.h userfaultfd/sysctl: add vm.unprivileged_userfaultfd 2019-05-14 09:47:45 -07:00
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
vbox_utils.h
verification.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio/s390: DMA support for virtio-ccw 2019-05-12 13:11:36 -04:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h mm/vmalloc.c: keep track of free blocks for vmap allocation 2019-05-18 15:52:26 -07:00
vme.h
vmpressure.h
vmstat.h mm: move recent_rotated pages calculation to shrink_inactive_list() 2019-05-14 09:47:45 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h
wait_bit.h Add wait_var_event_interruptible() 2019-05-15 17:35:54 +01:00
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h