David Herrmann
40e041a2c8
shm: add sealing API
...
If two processes share a common memory region, they usually want some
guarantees to allow safe access. This often includes:
- one side cannot overwrite data while the other reads it
- one side cannot shrink the buffer while the other accesses it
- one side cannot grow the buffer beyond previously set boundaries
If there is a trust-relationship between both parties, there is no need
for policy enforcement. However, if there's no trust relationship (eg.,
for general-purpose IPC) sharing memory-regions is highly fragile and
often not possible without local copies. Look at the following two
use-cases:
1) A graphics client wants to share its rendering-buffer with a
graphics-server. The memory-region is allocated by the client for
read/write access and a second FD is passed to the server. While
scanning out from the memory region, the server has no guarantee that
the client doesn't shrink the buffer at any time, requiring rather
cumbersome SIGBUS handling.
2) A process wants to perform an RPC on another process. To avoid huge
bandwidth consumption, zero-copy is preferred. After a message is
assembled in-memory and a FD is passed to the remote side, both sides
want to be sure that neither modifies this shared copy, anymore. The
source may have put sensible data into the message without a separate
copy and the target may want to parse the message inline, to avoid a
local copy.
While SIGBUS handling, POSIX mandatory locking and MAP_DENYWRITE provide
ways to achieve most of this, the first one is unproportionally ugly to
use in libraries and the latter two are broken/racy or even disabled due
to denial of service attacks.
This patch introduces the concept of SEALING. If you seal a file, a
specific set of operations is blocked on that file forever. Unlike locks,
seals can only be set, never removed. Hence, once you verified a specific
set of seals is set, you're guaranteed that no-one can perform the blocked
operations on this file, anymore.
An initial set of SEALS is introduced by this patch:
- SHRINK: If SEAL_SHRINK is set, the file in question cannot be reduced
in size. This affects ftruncate() and open(O_TRUNC).
- GROW: If SEAL_GROW is set, the file in question cannot be increased
in size. This affects ftruncate(), fallocate() and write().
- WRITE: If SEAL_WRITE is set, no write operations (besides resizing)
are possible. This affects fallocate(PUNCH_HOLE), mmap() and
write().
- SEAL: If SEAL_SEAL is set, no further seals can be added to a file.
This basically prevents the F_ADD_SEAL operation on a file and
can be set to prevent others from adding further seals that you
don't want.
The described use-cases can easily use these seals to provide safe use
without any trust-relationship:
1) The graphics server can verify that a passed file-descriptor has
SEAL_SHRINK set. This allows safe scanout, while the client is
allowed to increase buffer size for window-resizing on-the-fly.
Concurrent writes are explicitly allowed.
2) For general-purpose IPC, both processes can verify that SEAL_SHRINK,
SEAL_GROW and SEAL_WRITE are set. This guarantees that neither
process can modify the data while the other side parses it.
Furthermore, it guarantees that even with writable FDs passed to the
peer, it cannot increase the size to hit memory-limits of the source
process (in case the file-storage is accounted to the source).
The new API is an extension to fcntl(), adding two new commands:
F_GET_SEALS: Return a bitset describing the seals on the file. This
can be called on any FD if the underlying file supports
sealing.
F_ADD_SEALS: Change the seals of a given file. This requires WRITE
access to the file and F_SEAL_SEAL may not already be set.
Furthermore, the underlying file must support sealing and
there may not be any existing shared mapping of that file.
Otherwise, EBADF/EPERM is returned.
The given seals are _added_ to the existing set of seals
on the file. You cannot remove seals again.
The fcntl() handler is currently specific to shmem and disabled on all
files. A file needs to explicitly support sealing for this interface to
work. A separate syscall is added in a follow-up, which creates files that
support sealing. There is no intention to support this on other
file-systems. Semantics are unclear for non-volatile files and we lack any
use-case right now. Therefore, the implementation is specific to shmem.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Ryan Lortie <desrt@desrt.ca>
Cc: Lennart Poettering <lennart@poettering.net>
Cc: Daniel Mack <zonque@gmail.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-08-08 15:57:31 -07:00
..
amba
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2014-06-10 10:28:45 -07:00
bcma
bcma: use NS prefix for names of Northstar specific cores
2014-07-31 13:45:32 -04:00
byteorder
include/linux/byteorder/generic.h: minor comment fix
2014-08-06 18:01:23 -07:00
can
ceph
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
2014-06-12 23:06:23 -07:00
clk
clk: Support for clock parents and rates assigned from device tree
2014-07-25 15:16:27 -07:00
crush
decompress
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
dma
extcon
extcon: sm5502: Change internal hardware switch according to cable type
2014-07-23 10:22:35 +09:00
fsl /bestcomm
gpio
hsi
i2c
This pull-request contains some misplaced patches from Tony
2014-06-12 12:42:32 -07:00
iio
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-08-05 17:46:42 -07:00
input
irqchip
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-08-05 17:38:45 -07:00
isdn
isdn/capi: move capi_info2str to capidrv.c
2014-06-04 23:13:41 -07:00
lockd
mfd
sound updates for 3.17-rc1
2014-08-06 20:07:24 -07:00
mlx4
net/mlx4_core: Use low memory profile on kdump kernel
2014-07-22 19:53:14 -07:00
mlx5
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2014-08-06 09:38:14 -07:00
mmc
mtd
MTD updates for 3.16:
2014-06-11 08:35:34 -07:00
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
phy
phy: core: Let node ptr of PHY point to PHY and not of PHY provider
2014-07-22 12:46:11 +05:30
pinctrl
platform_data
sound updates for 3.17-rc1
2014-08-06 20:07:24 -07:00
power
raid
regulator
Merge remote-tracking branches 'regulator/topic/da9211', 'regulator/topic/getreg', 'regulator/topic/gpio' and 'regulator/topic/lp872x' into regulator-next
2014-08-05 18:29:21 +01:00
rtc
sched
mm: update comment for DEFAULT_MAX_MAP_COUNT
2014-06-04 16:54:05 -07:00
spi
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2014-08-06 09:38:14 -07:00
ssb
ssb: extract power info from SPROM revs 4 and 5
2014-07-18 13:45:24 -04:00
sunrpc
sched: Allow wait_on_bit_action() functions to support a timeout
2014-07-16 15:10:41 +02:00
unaligned
usb
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2014-08-06 09:38:14 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
ACPICA: Linux: Allow ACPICA inclusion for CONFIG_ACPI=n builds.
2014-07-23 01:10:45 +02:00
acpi_dma.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
x86/ras: Fix build warnings in <linux/aer.h>
2014-07-30 10:42:55 -07:00
agp_backend.h
agpgart.h
ahci_platform.h
ata: libahci_platform: move port_map parameters into the AHCI structure
2014-07-30 15:39:46 -04:00
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
iommu/amd: Moving PPR fault flags macros definitions
2014-07-09 16:02:41 +02:00
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple_bl.h
arcdevice.h
net: arcnet: Remove "#define bool int"
2014-07-07 21:34:43 -07:00
arm-cci.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-pwm-bl.h
atmel-ssc.h
ASoC: atmel_ssc_dai: enable fslen extension feature
2014-06-21 11:37:35 +01:00
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev.h
backlight.h
balloon_compaction.h
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
bfin_mac.h
binfmts.h
bio.h
block: add support for limiting gaps in SG lists
2014-06-24 16:22:24 -06:00
bit_spinlock.h
bitmap.h
lib: bitmap: add missing mask in bitmap_andnot
2014-08-06 18:01:27 -07:00
bitops.h
bitrev.h
blk-iopoll.h
blk-mq.h
blk-mq: bitmap tag: fix races on shared ::wake_index fields
2014-06-17 22:12:35 -07:00
blk_types.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2014-06-12 10:30:18 -07:00
blkdev.h
block: add support for limiting gaps in SG lists
2014-06-24 16:22:24 -06:00
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
include/linux/bootmem.h: cleanup the comment for BOOTMEM_ flags
2014-06-04 16:54:04 -07:00
bottom_half.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
fs/buffer.c: remove block_write_full_page_endio()
2014-06-04 16:54:02 -07:00
bug.h
c2port.h
cache.h
capability.h
CAPABILITIES: remove undefined caps from all processes
2014-07-24 21:53:47 +10:00
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup.h
cgroup: make CFTYPE_ONLY_ON_DFL and CFTYPE_NO_ internal to cgroup core
2014-07-15 11:05:10 -04:00
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h
clk: define and export clk_debugs_add_file
2014-07-02 16:15:55 -07:00
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h
clocksource.h
clocksource: Get rid of cycle_last
2014-07-23 15:01:52 -07:00
cm4000_cs.h
cma.h
mm, CMA: change cma_declare_contiguous() to obey coding convention
2014-08-06 18:01:16 -07:00
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
com20020.h
compaction.h
mm, compaction: embed migration mode in compact_control
2014-06-04 16:54:06 -07:00
compat.h
compiler-clang.h
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-06-12 19:18:49 -07:00
completion.h
component.h
component: add support for component match array
2014-07-03 11:32:43 +01:00
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
cper.h
trace, RAS: Add eMCA trace event interface
2014-06-25 13:26:47 -07:00
cpu.h
idle: remove cpu_idle() forward declarations
2014-06-06 16:08:18 -07:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpufreq: Introduce new relation for freq selection
2014-07-21 13:43:19 +02:00
cpuidle.h
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2014-06-09 18:10:34 -07:00
cpumask.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2014-06-12 14:27:40 -07:00
cpuset.h
mm: page_alloc: use jump labels to avoid checking number_of_cpusets
2014-06-04 16:54:08 -07:00
cputime.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
lib: crc32: Add some additional __pure annotations
2014-06-25 16:04:00 -07:00
crc32c.h
cred.h
crypto.h
crypto: Resolve shadow warnings
2014-08-01 22:35:55 +08:00
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
dell-led.h
devfreq.h
device-mapper.h
dm: remove symbol export for dm_set_device_limits
2014-06-04 09:46:34 -04:00
device.h
IOMMU Updates for Linux v3.17
2014-08-05 15:59:35 -07:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-buf.h
dma-buf: add poll support, v3
2014-07-08 13:36:52 -07:00
dma-contiguous.h
CMA: generalize CMA reserved area management functionality
2014-08-06 18:01:16 -07:00
dma-debug.h
dma-direction.h
dma-mapping.h
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next
2014-06-05 15:57:04 -07:00
dma_remapping.h
dmaengine.h
dma: Support for 3 bytes word size
2014-07-04 18:55:13 +01:00
dmapool.h
dmar.h
iommu/vt-d: Simplify include/linux/dmar.h
2014-07-23 16:04:47 +02:00
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_dmac.h
dynamic_debug.h
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
efi: Update stale locking comment for struct efivars
2014-07-18 21:24:00 +01:00
efs_vh.h
eisa.h
elevator.h
Revert "block: add __init to elv_register"
2014-06-22 16:34:11 -06:00
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
f2fs_fs.h
f2fs: large volume support
2014-06-04 13:34:30 +09:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fence.h
reservation: add suppport for read-only access using rcu
2014-07-08 13:41:08 -07:00
file.h
filter.h
net: filter: split 'struct sk_filter' into socket and bpf parts
2014-08-02 15:03:58 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
firmware loader: inform direct failure when udev loader is disabled
2014-07-08 15:28:16 -07:00
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
freezer.h
frontswap.h
fs.h
mm: allow drivers to prevent new writable mappings
2014-08-08 15:57:31 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsnotify.h
fsnotify_backend.h
fanotify: fix double free of pending permission events
2014-08-06 18:01:12 -07:00
ftrace.h
ftrace: Rename ftrace_ops field from trampolines to nr_trampolines
2014-07-23 15:03:00 -04:00
ftrace_event.h
tracing: Kill ftrace_event_call->files
2014-07-16 14:28:41 -04:00
ftrace_irq.h
futex.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
mm/page_alloc.c: add __meminit to alloc_pages_exact_nid()
2014-08-06 18:01:15 -07:00
glob.h
lib: add lib/glob.c
2014-08-06 18:01:24 -07:00
goldfish.h
gpio-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.h
gsmmux.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
HID: lenovo: Add support for Compact (BT|USB) keyboard
2014-07-29 11:24:47 +02:00
hiddev.h
hidraw.h
highmem.h
mm: BUG when __kmap_atomic_idx equals KM_TYPE_NR
2014-08-06 18:01:22 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
time: Consolidate the time accessor prototypes
2014-07-23 10:17:54 -07:00
htcpld.h
htirq.h
huge_mm.h
mm: make copy_pte_range static again
2014-08-06 18:01:19 -07:00
hugetlb.h
mm, hugetlb: remove hugetlb_zero and hugetlb_infinity
2014-08-06 18:01:19 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwrng: add per-device entropy derating
2014-07-15 04:49:40 -04:00
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux-gpio.h
i2c-mux-pinctrl.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-xiic.h
i2c.h
i2o.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h
idr: reorder the fields
2014-06-06 16:08:13 -07:00
ieee80211.h
mac80211: add TDLS QoS param IE on setup-confirm
2014-07-21 12:14:04 +02:00
if_arp.h
if_bridge.h
bridge: export knowledge about the presence of IGMP/MLD queriers
2014-07-08 16:12:53 -07:00
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_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
ima: add support for measuring and appraising firmware
2014-07-25 11:47:46 -07:00
in.h
in6.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
rcu: Simplify priority boosting by putting rt_mutex in rcu_node
2014-07-09 09:15:01 -07:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
iommu/vt-d: Make use of IOMMU sysfs support
2014-07-04 12:35:59 +02:00
intel_mid_dma.h
intel_pmic_gpio.h
interrupt.h
Merge commit ' 3cf2f34' into sched/core, to fix build error
2014-06-12 13:46:37 +02:00
interval_tree.h
interval_tree_generic.h
io-mapping.h
io.h
of: Provide a function to request and map memory
2014-07-23 12:02:30 +02:00
ioc3.h
ioc4.h
iocontext.h
iommu-helper.h
iommu.h
iommu: Fix IOMMU sysfs stubs
2014-07-08 09:40:06 +02:00
ioport.h
ioprio.h
iova.h
iommu/vt-d: Introduce helper function iova_size() to improve code readability
2014-07-23 16:04:47 +02:00
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6: Implement automatic flow label generation on transmit
2014-07-07 21:14:21 -07:00
ipv6_route.h
irq.h
genirq: generic chip: Export irq_map_generic_chip function
2014-07-17 13:30:00 +00:00
irq_cpustat.h
irq_work.h
irq_work: Implement remote queueing
2014-06-16 16:26:54 +02:00
irqchip.h
irqdesc.h
irqdomain.h
genirq: Export irq_domain_disassociate() to architecture interrupt drivers
2014-06-21 23:03:36 +02:00
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
net: filter: split 'struct sk_filter' into socket and bpf parts
2014-08-02 15:03:58 -07:00
isdnif.h
isicom.h
jbd.h
jbd2.h
jbd_common.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
include/linux/jump_label.h: expose the reference count
2014-06-04 16:54:08 -07:00
jump_label_ratelimit.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kcmp.h
kconfig.h
kcore.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
panic: add TAINT_SOFTLOCKUP
2014-08-08 15:57:24 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h
Merge branch 'for-3.16-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2014-07-10 11:38:23 -07:00
kexec.h
key-type.h
KEYS: Allow expiry time to be set when preparsing a key
2014-07-22 21:46:08 +01:00
key.h
Merge branch 'keys-fixes' into keys-next
2014-07-22 21:55:45 +01:00
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
klist: use same naming scheme as hlist for klist_add_after()
2014-08-06 18:01:24 -07:00
kmemcheck.h
kmemleak.h
mm: introduce kmemleak_update_trace()
2014-06-06 16:08:17 -07:00
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-06-12 19:18:49 -07:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
kthread_work: remove the unused wait_queue_head
2014-07-28 14:16:30 -04:00
ktime.h
time: Consolidate the time accessor prototypes
2014-07-23 10:17:54 -07:00
kvm_host.h
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-06-12 19:42:15 -07:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h
libata: introduce ata_host->n_tags to avoid oops on SAS controllers
2014-07-23 10:30:34 -04:00
libfdt.h
libfdt_env.h
libps2.h
license.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list: fix order of arguments for hlist_add_after(_rcu)
2014-08-06 18:01:24 -07:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
llc.h
llist.h
lockdep.h
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lz4.h
lzo.h
m48t86.h
mailbox.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
drivers/rtc/rtc-cmos.c: drivers/char/rtc.c features for DECstation support
2014-06-06 16:08:07 -07:00
mcb.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h
include/linux/memblock.h: add __init to memblock_set_bottom_up()
2014-08-06 18:01:15 -07:00
memcontrol.h
mm: memcontrol: use page lists for uncharge batching
2014-08-08 15:57:18 -07:00
memory.h
memory_hotplug.h
memory-hotplug: add zone_for_memory() for selecting zone for new memory
2014-08-06 18:01:21 -07:00
mempolicy.h
hugetlb: restrict hugepage_migration_support() to x86_64
2014-06-04 16:53:51 -07:00
mempool.h
memstick.h
mg_disk.h
mic_bus.h
misc: mic: add a bus driver for virtual MIC devices
2014-07-11 18:27:56 -07:00
micrel_phy.h
migrate.h
mm, migration: add destination page freeing callback
2014-06-04 16:54:06 -07:00
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h
arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area
2014-08-08 15:57:27 -07:00
mm_inline.h
mm_types.h
fork/exec: cleanup mm initialization
2014-08-08 15:57:23 -07:00
mman.h
mmdebug.h
include/linux/mmdebug.h: add VM_WARN_ONCE()
2014-08-06 18:01:18 -07:00
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmu_notifier: add call_srcu and sync function for listener to delay call and sync
2014-08-06 18:01:22 -07:00
mmzone.h
mm: page_alloc: reduce cost of the fair zone allocation policy
2014-08-06 18:01:20 -07:00
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
Add module param type 'ullong'
2014-07-17 22:07:37 +02:00
mount.h
mpage.h
mpi.h
mpls.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
PCI/MSI: Cache Multiple Message Capable in struct msi_desc
2014-07-03 16:55:07 -06:00
msm_mdp.h
mutex-debug.h
mutex.h
arch, locking: Ciao arch_mutex_cpu_relax()
2014-07-17 12:32:47 +02:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mxm-wmi.h
n_r3964.h
namei.h
nbd.h
net.h
netdev_features.h
openvswitch: Enable tunnel GSO for OVS bridge.
2014-07-24 01:15:04 -07:00
netdevice.h
net: kernel-doc compliant documentation for net_device
2014-07-31 21:34:20 -07:00
netfilter.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-06-03 23:32:12 -07:00
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs4: remove unused CHANGE_SECURITY_LABEL
2014-06-06 19:22:49 -04:00
nfs_fs.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2014-06-12 10:30:18 -07:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
acpi, apei, ghes: Make NMI error notification to be GHES architecture extension.
2014-07-22 15:05:06 -07:00
node.h
nodemask.h
mm, oom: ensure memoryless node zonelist always includes zones
2014-08-06 18:01:21 -07:00
notifier.h
nsc_gpio.h
nsproxy.h
ntb.h
nubus.h
numa.h
nvme.h
NVMe: Fix hot cpu notification dead lock
2014-06-13 10:43:34 -04:00
nvram.h
nwpserial.h
nx842.h
of.h
DeviceTree for 3.16:
2014-06-04 10:02:38 -07:00
of_address.h
of: Provide a function to request and map memory
2014-07-23 12:02:30 +02:00
of_device.h
of_dma.h
of_fdt.h
of: Add memory limiting function for flattened devicetrees
2014-07-29 21:26:45 -06:00
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
net: fix circular dependency in of_mdio code
2014-07-02 00:24:14 -07:00
of_mtd.h
of_net.h
of_pci.h
of/irq: provide more wrappers for !CONFIG_OF
2014-06-04 04:45:46 -05:00
of_pdt.h
of_platform.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial into next
2014-06-04 08:50:34 -07:00
of_reserved_mem.h
oid_registry.h
pefile: Parse the "Microsoft individual code signing" data blob
2014-07-09 14:58:37 +01:00
olpc-ec.h
omap-dma.h
MMC highlights for 3.16:
2014-06-10 14:35:22 -07:00
omap-dmaengine.h
MMC highlights for 3.16:
2014-06-10 14:35:22 -07:00
omap-iommu.h
iommu/omap: Remove virtual memory manager
2014-07-29 12:38:07 +02:00
omap-mailbox.h
omapfb.h
oom.h
mm, oom: rename zonelist locking functions
2014-08-06 18:01:21 -07:00
openvswitch.h
oprofile.h
osq_lock.h
locking/spinlocks/mcs: Introduce and use init macro and function for osq locks
2014-07-16 13:28:05 +02:00
oxu210hp.h
padata.h
page-debug-flags.h
page-flags-layout.h
page-flags.h
mm: page-flags: clean up the page flag test, set, clear macros
2014-08-06 18:01:17 -07:00
page-isolation.h
page_cgroup.h
memcg: remove lookup_cgroup_page() prototype
2014-08-08 15:57:18 -07:00
pageblock-flags.h
mm: page_alloc: reduce number of times page_to_pfn is called
2014-06-04 16:54:09 -07:00
pagemap.h
mm: describe mmap_sem rules for __lock_page_or_retry() and callers
2014-08-06 18:01:20 -07:00
pagevec.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
ACPI / PM: Revork the handling of ACPI device wakeup notifications
2014-07-23 01:00:45 +02:00
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h
Char / Misc driver patches for 3.17-rc1
2014-08-04 17:32:24 -07:00
pci_hotplug.h
pci_ids.h
PCI: Add include guard to include/linux/pci_ids.h
2014-07-10 16:49:15 -06:00
pcieport_if.h
pda_power.h
pe.h
Provide PE binary definitions
2014-07-09 14:58:37 +01:00
percpu-defs.h
Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2014-08-04 10:09:27 -07:00
percpu-refcount.h
percpu-refcount: implement percpu_ref_reinit() and percpu_ref_is_zero()
2014-06-28 08:10:14 -04:00
percpu-rwsem.h
percpu.h
percpu: move {raw|this}_cpu_*() definitions to include/linux/percpu-defs.h
2014-06-17 19:12:39 -04:00
percpu_counter.h
percpu_ida.h
perf_event.h
perf: Differentiate exec() and non-exec() comm events
2014-06-06 07:56:22 +02:00
perf_regs.h
personality.h
pfn.h
phonedev.h
phonet.h
phy.h
net: libphy: Add phy specific function to access mmd phy registers
2014-07-30 20:00:21 -07:00
phy_fixed.h
net: phy: fix sparse warning in fixed.c
2014-06-05 15:38:57 -07:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pktcdvd.h
platform_device.h
driver core: platform: add device binding path 'driver_override'
2014-07-08 15:31:26 -07:00
plist.h
lib/plist: add plist_requeue
2014-06-04 16:54:07 -07:00
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
PM: Create PM workqueue if runtime PM is not configured too
2014-07-23 01:00:36 +02:00
pm_wakeup.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
power_supply: Add inlmt,iterm, min/max temp props
2014-07-18 23:40:23 +02:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
preempt.h
preempt_mask.h
prefetch.h
printk.h
printk: rename DEFAULT_MESSAGE_LOGLEVEL
2014-08-06 18:01:24 -07:00
prio_heap.h
proc_fs.h
init/main.c: remove an ifdef
2014-06-04 16:54:21 -07:00
proc_ns.h
profile.h
projid.h
proportions.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp: Classify ptp over ip over vlan packets
2014-07-07 16:57:18 -07:00
ptp_clock_kernel.h
ptrace.h
ptrace,x86: force IRET path after a ptrace_stop()
2014-07-03 17:27:23 -07:00
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ras.h
RAS, debugfs: Add debugfs interface for RAS subsystem
2014-06-25 11:22:03 -07:00
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rculist.h
list: fix order of arguments for hlist_add_after(_rcu)
2014-08-06 18:01:24 -07:00
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcu: Handle obsolete references to TINY_PREEMPT_RCU
2014-07-09 09:14:17 -07:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h
regmap: Fix return code for stub regmap_get_device()
2014-07-25 19:01:53 +01:00
regset.h
relay.h
remoteproc.h
res_counter.h
reservation.h
reservation: add suppport for read-only access using rcu
2014-07-08 13:41:08 -07:00
reset-controller.h
reset.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
rhashtable.h
lib: Resizable, Scalable, Concurrent Hash Table
2014-08-02 19:49:38 -07:00
ring_buffer.h
ring-buffer: Check if buffer exists before polling
2014-06-10 09:46:00 -04:00
rio.h
rio_drv.h
rapidio: add new RapidIO DMA interface routines
2014-08-08 15:57:24 -07:00
rio_ids.h
rio_regs.h
rmap.h
mm/rmap.c: cleanup ttu_flags
2014-06-04 16:54:12 -07:00
rndis.h
hyperv: Add handler for RNDIS_STATUS_NETWORK_CHANGE event
2014-06-19 21:17:37 -07:00
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtmutex: Confine deadlock logic to futex
2014-06-21 22:05:30 +02:00
rtnetlink.h
bridge: fdb dumping takes a filter device
2014-07-10 12:37:33 -07:00
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
locking/rwsem: Rename 'activity' to 'count'
2014-07-16 14:56:55 +02:00
rwsem.h
locking/rwsem: Add CONFIG_RWSEM_SPIN_ON_OWNER
2014-07-16 14:57:13 +02:00
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig
2014-08-08 15:57:26 -07:00
scc.h
sched.h
shm: make exit_shm work proportional to task activity
2014-08-08 15:57:26 -07:00
sched_clock.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
seccomp: implement SECCOMP_FILTER_FLAG_TSYNC
2014-07-18 12:13:40 -07:00
securebits.h
security.h
Merge branch 'stable-3.16' of git://git.infradead.org/users/pcmoore/selinux into next
2014-07-30 01:31:46 +10:00
selection.h
selinux.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-08-05 17:46:42 -07:00
seqno-fence.h
seqno-fence: Hardware dma-buf implementation of fencing (v6)
2014-07-08 12:50:59 -07:00
serial.h
serial_8250.h
serial/uart/8250: Add tunable RX interrupt trigger I/F of FIFO buffers
2014-07-17 18:23:35 -07:00
serial_bcm63xx.h
serial_core.h
Serial: allow port drivers to have a default attribute group
2014-07-17 18:21:21 -07:00
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
ACPI / SFI: Fix wrong <acpi/acpi.h> inclusion in SFI/ACPI wrapper - table definitions.
2014-07-23 01:10:45 +02:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
clocksource: shmobile: Remove unused sh_timer_config members
2014-07-02 16:01:51 +02:00
shdma-base.h
shm.h
shm: remove unneeded extern for function
2014-08-08 15:57:26 -07:00
shmem_fs.h
shm: add sealing API
2014-08-08 15:57:31 -07:00
shrinker.h
signal.h
signals: introduce kernel_sigaction()
2014-06-06 16:08:12 -07:00
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h
net-timestamp: ACK timestamp for bytestreams
2014-08-05 16:35:54 -07:00
slab.h
memcg: cleanup kmem cache creation/destruction functions naming
2014-06-04 16:54:08 -07:00
slab_def.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
idle: remove cpu_idle() forward declarations
2014-06-06 16:08:18 -07:00
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
iovec: move memcpy_from/toiovecend to lib/iovec.c
2014-06-27 11:47:58 -07:00
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
fs/splice.c: remove unneeded exports
2014-06-12 00:21:11 -04:00
spmi.h
srcu.h
ssbi.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stmmac.h
net: stmmac: Support devicetree configs for mcast and ucast filter entries
2014-07-31 14:13:29 -07:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
PM / hibernate: introduce "nohibernate" boot parameter
2014-06-16 23:29:39 +02:00
svga.h
swab.h
swap.h
mm: memcontrol: rewrite uncharge API
2014-08-08 15:57:17 -07:00
swapfile.h
swap: change swap_list_head to plist, add swap_avail_head
2014-06-04 16:54:07 -07:00
swapops.h
x86: define _PAGE_NUMA by reusing software bits on the PMD and PTE levels
2014-06-04 16:53:55 -07:00
swiotlb.h
x86: enable DMA CMA with swiotlb
2014-06-04 16:53:57 -07:00
sxgbe_platform.h
synclink.h
sys.h
sys_soc.h
syscalls.h
Cleanups and bug fixes to /dev/random, add a new getrandom(2) system
2014-08-06 08:16:24 -07:00
syscore_ops.h
sysctl.h
sysctl: remove typedef ctl_table
2014-08-08 15:57:24 -07:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.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
tcp: add init_req method to tcp_request_sock_ops
2014-06-27 15:53:35 -07:00
tegra-ahb.h
tegra-cpuidle.h
tegra-powergate.h
tegra-soc.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
mm: get rid of __GFP_KMEMCG
2014-06-04 16:53:56 -07:00
threads.h
ti_wilink_st.h
tick.h
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-08-04 16:23:30 -07:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time: Consolidate the time accessor prototypes
2014-07-23 10:17:54 -07:00
time64.h
time: More core infrastructure for timespec64
2014-07-23 10:17:53 -07:00
timekeeper_internal.h
timekeeping: Fixup typo in update_vsyscall_old definition
2014-07-30 09:26:25 +02:00
timekeeping.h
timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC
2014-07-23 15:01:55 -07:00
timer.h
timerfd.h
timerfd: Implement timerfd_ioctl method to restore timerfd_ctx::ticks, v3
2014-07-18 11:49:57 +02:00
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
mm: disable zone_reclaim_mode by default
2014-06-04 16:53:59 -07:00
torture.h
toshiba.h
tpm.h
tpm: Provide a generic means to override the chip returned timeouts
2014-07-29 23:10:56 +02:00
tpm_command.h
trace_clock.h
trace_seq.h
tracing: Add trace_seq_buffer_ptr() helper function
2014-07-01 07:13:39 -04:00
tracehook.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty.h
drivers: tty: Merge alloc_tty_struct and initialize_tty_struct
2014-07-11 17:54:28 -07:00
tty_driver.h
tty: Document locking for tty driver methods
2014-07-10 16:05:19 -07:00
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
uinput.h
uio.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2014-06-28 09:43:58 -07:00
uio_driver.h
uprobes.h
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-06-12 19:18:49 -07:00
usb.h
usb_usual.h
usb-storage/SCSI: Add broken_fua blacklist flag
2014-06-30 22:47:18 -07:00
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
proc: constify seq_operations
2014-08-08 15:57:22 -07:00
uts.h
utsname.h
uuid.h
uwb.h
verify_pefile.h
pefile: Parse a PE binary to find a key and a signature contained therein
2014-07-09 14:58:37 +01:00
vermagic.h
vexpress.h
vfio.h
drivers/vfio: EEH support for VFIO PCI device
2014-08-05 15:28:48 +10:00
vfs.h
vga_switcheroo.h
vgaarb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h
virtio_scsi.h
vlynq.h
vm_event_item.h
mm,vmacache: add debug data
2014-06-04 16:53:57 -07:00
vm_sockets.h
vmacache.h
vmalloc.h
mm/vmalloc.c: clean up map_vm_area third argument
2014-08-06 18:01:19 -07:00
vme.h
vmpressure.h
vmstat.h
mm,vmacache: add debug data
2014-06-04 16:53:57 -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
wait.h
sched: Allow wait_on_bit_action() functions to support a timeout
2014-07-16 15:10:41 +02:00
wanrouter.h
watchdog.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
sched: Remove proliferation of wait_on_bit() action functions
2014-07-16 15:10:39 +02:00
ww_mutex.h
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h
mm/zbud: change zbud_alloc size type to size_t
2014-08-06 18:01:23 -07:00
zconf.h
zlib.h
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
zorro.h
zpool.h
mm/zpool: implement common zpool api to zbud/zsmalloc
2014-08-06 18:01:23 -07:00
zsmalloc.h
zutil.h