twx-linux/include/linux
Daniel Borkmann b2197755b2 bpf: add support for persistent maps/progs
This work adds support for "persistent" eBPF maps/programs. The term
"persistent" is to be understood that maps/programs have a facility
that lets them survive process termination. This is desired by various
eBPF subsystem users.

Just to name one example: tc classifier/action. Whenever tc parses
the ELF object, extracts and loads maps/progs into the kernel, these
file descriptors will be out of reach after the tc instance exits.
So a subsequent tc invocation won't be able to access/relocate on this
resource, and therefore maps cannot easily be shared, f.e. between the
ingress and egress networking data path.

The current workaround is that Unix domain sockets (UDS) need to be
instrumented in order to pass the created eBPF map/program file
descriptors to a third party management daemon through UDS' socket
passing facility. This makes it a bit complicated to deploy shared
eBPF maps or programs (programs f.e. for tail calls) among various
processes.

We've been brainstorming on how we could tackle this issue and various
approches have been tried out so far, which can be read up further in
the below reference.

The architecture we eventually ended up with is a minimal file system
that can hold map/prog objects. The file system is a per mount namespace
singleton, and the default mount point is /sys/fs/bpf/. Any subsequent
mounts within a given namespace will point to the same instance. The
file system allows for creating a user-defined directory structure.
The objects for maps/progs are created/fetched through bpf(2) with
two new commands (BPF_OBJ_PIN/BPF_OBJ_GET). I.e. a bpf file descriptor
along with a pathname is being passed to bpf(2) that in turn creates
(we call it eBPF object pinning) the file system nodes. Only the pathname
is being passed to bpf(2) for getting a new BPF file descriptor to an
existing node. The user can use that to access maps and progs later on,
through bpf(2). Removal of file system nodes is being managed through
normal VFS functions such as unlink(2), etc. The file system code is
kept to a very minimum and can be further extended later on.

The next step I'm working on is to add dump eBPF map/prog commands
to bpf(2), so that a specification from a given file descriptor can
be retrieved. This can be used by things like CRIU but also applications
can inspect the meta data after calling BPF_OBJ_GET.

Big thanks also to Alexei and Hannes who significantly contributed
in the design discussion that eventually let us end up with this
architecture here.

Reference: https://lkml.org/lkml/2015/10/15/925
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-11-02 22:48:39 -05:00
..
amba Revert "uart: pl011: Add support to ZTE ZX296702 uart" 2015-09-04 09:14:20 -07:00
bcma brcmfmac: Add support for the BCM4365 and BCM4366 PCIE devices. 2015-09-29 10:56:05 +03:00
byteorder
can net/can: can_dropped_invalid_skb can be boolean 2015-10-09 07:49:01 -07:00
ceph libceph: advertise support for keepalive2 2015-09-17 20:14:27 +03:00
clk ARM: SoC driver updates for v4.3 2015-09-01 13:00:04 -07:00
crush
decompress
dma
extcon
fsl/bestcomm
gpio Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-09-04 15:49:32 -07:00
hsi
i2c
iio
input
irqchip ARM: 2015-09-10 16:42:49 -07:00
isdn
lockd
mfd sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
mlx4 net/mlx4_core: Replace VF zero mac with random mac in mlx4_core 2015-10-14 19:14:44 -07:00
mlx5 net/mlx5_core: Wait for FW readiness on startup 2015-10-14 19:14:43 -07:00
mmc
mtd
netfilter net/nfnetlink: lockdep_nfnl_is_held can be boolean 2015-10-09 07:49:00 -07:00
netfilter_arp inet netfilter: Remove hook from ip6t_do_table, arp_do_table, ipt_do_table 2015-09-18 21:57:43 +02:00
netfilter_bridge netfilter: ebtables: Simplify the arguments to ebt_do_table 2015-09-18 21:57:35 +02:00
netfilter_ipv4 inet netfilter: Remove hook from ip6t_do_table, arp_do_table, ipt_do_table 2015-09-18 21:57:43 +02:00
netfilter_ipv6 inet netfilter: Remove hook from ip6t_do_table, arp_do_table, ipt_do_table 2015-09-18 21:57:43 +02:00
perf
phy
pinctrl
platform_data NFC 4.4 pull request 2015-10-30 20:19:43 +09:00
power
qed qed: Add statistics support 2015-10-27 19:34:54 -07:00
raid
regulator Merge remote-tracking branches 'regulator/topic/qcom-smd', 'regulator/topic/qcom-spmi', 'regulator/topic/rk808', 'regulator/topic/stub' and 'regulator/topic/tol' into regulator-next 2015-08-30 14:40:11 +01:00
reset
rtc
sched
soc ARM: SoC driver updates for v4.3 2015-09-01 13:00:04 -07:00
spi spi: fix kernel-doc warnings in spi.h 2015-09-16 20:44:47 +01:00
ssb
sunrpc SUNRPC: Ensure that we wait for connections to complete before retrying 2015-09-17 18:01:28 -04:00
ulpi
unaligned
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-20 06:08:27 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_irq.h
acpi_pmtmr.h
acpi.h ACPI, PCI, irq: Do not share PCI IRQ with ISA IRQ 2015-09-26 01:53:07 +02:00
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
arm-cci.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h
assoc_array_priv.h
assoc_array.h
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel_serial.h
atmel_tc.h
atmel-mci.h
atmel-ssc.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 writeback: bdi_writeback iteration must not skip dying ones 2015-10-12 10:31:12 -06:00
backing-dev.h block: don't release bdi while request_queue has live references 2015-10-15 09:53:28 -06:00
backlight.h
balloon_compaction.h
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_wdt.h
bfin_mac.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk_types.h Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs 2015-09-03 12:28:30 -07:00
blk-cgroup.h blkcg: fix incorrect read/write sync/async stat accounting 2015-10-27 15:04:56 +09:00
blk-iopoll.h
blk-mq.h blk-mq: factor out a helper to iterate all tags for a request_queue 2015-10-01 10:10:57 +02:00
blkdev.h blk-mq: fix sysfs registration/unregistration race 2015-09-29 11:32:45 -06:00
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf.h bpf: add support for persistent maps/progs 2015-11-02 22:48:39 -05:00
brcmphy.h net: phy: Broadcom Cygnus internal Etherent PHY driver 2015-10-08 04:45:52 -07:00
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_subsys.h Merge branch 'for-4.3/blkcg' of git://git.kernel.dk/linux-block 2015-09-10 18:56:14 -07:00
cgroup-defs.h Revert "sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem" 2015-09-16 11:51:12 -04:00
cgroup.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clock_cooling.h
clockchips.h clockevents: Remove unused set_mode() callback 2015-09-14 11:00:55 +02:00
clocksource.h
cm4000_cs.h
cma.h mm: cma: fix incorrect type conversion for size during dma allocation 2015-10-23 17:55:10 +09:00
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
compaction.h
compat.h
compiler-clang.h
compiler-gcc.h Revert "Merge branch 'ipv6-overflow-arith'" 2015-10-29 07:01:48 -07:00
compiler-intel.h
compiler.h compiler, atomics, kasan: Provide READ_ONCE_NOCHECK() 2015-10-20 11:04:19 +02:00
completion.h
component.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
container.h
context_tracking_state.h
context_tracking.h
cordic.h
coredump.h
coresight.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h
cpufeature.h
cpufreq-dt.h
cpufreq.h cpufreq: acpi-cpufreq: Use cpufreq_cpu_get_raw() in ->get() 2015-09-16 02:17:49 +02:00
cpuidle.h
cpumask.h
cpuset.h
cputime.h
crash_dump.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h capabilities: ambient capabilities 2015-09-04 16:54:41 -07:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h dax: add huge page fault support 2015-09-08 15:35:28 -07:00
dca.h
dcache.h
dccp.h net/dccp: dccp_list_has_service can be boolean 2015-10-09 07:49:02 -07:00
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h PM / devfreq: comments for get_dev_status usage updated 2015-09-11 14:23:29 +09:00
device_cgroup.h
device-mapper.h
device.h Power management and ACPI material for v4.3-rc1 2015-09-01 19:45:46 -07:00
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma_remapping.h
dma-attrs.h
dma-buf.h
dma-contiguous.h mm: cma: fix incorrect type conversion for size during dma allocation 2015-10-23 17:55:10 +09:00
dma-debug.h
dma-direction.h
dma-mapping.h
dmaengine.h
dmapool.h mm: add dma_pool_zalloc() call to DMA API 2015-09-08 15:35:28 -07:00
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.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
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.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
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
file.h
filter.h bpf: fix cb access in socket filter programs 2015-10-11 04:40:05 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
freezer.h
frontswap.h
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h dax: move DAX-related functions to a new header 2015-09-08 15:35:28 -07:00
fscache-cache.h
fscache.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-09-05 20:34:28 -07:00
fsnotify.h
ftrace_irq.h
ftrace.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h genalloc: add support of multiple gen_pools per device 2015-09-04 16:54:41 -07:00
genetlink.h net/netlink: lockdep_genl_is_held can be boolean 2015-10-09 07:48:59 -07:00
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: use numa_mem_id() in alloc_pages_node() 2015-09-08 15:35:28 -07:00
glob.h
goldfish.h
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.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
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h dax: don't use set_huge_zero_page() 2015-09-08 15:35:28 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h hugetlbfs: add hugetlbfs_fallocate() 2015-09-08 15:35:28 -07:00
hw_breakpoint.h
hw_random.h
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
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h wireless: add WNM action frame categories 2015-10-13 10:34:46 +02:00
ieee802154.h ieee802154: remove unnecessary includes 2015-09-24 20:42:37 +02:00
if_arp.h
if_bridge.h bridge: define some min/max/default ageing time constants 2015-09-23 14:35:58 -07:00
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h if_link: Add control trust VF 2015-10-23 05:44:28 -07:00
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 net/ipv4: Pass proto as u8 instead of u16 in ip_check_mc_rcu 2015-09-29 16:27:47 -07:00
ihex.h
ima.h
in6.h
in.h
inet_diag.h
inet_lro.h
inet.h
inetdevice.h net/inetdevice: bad_mask can be boolean 2015-10-09 07:49:05 -07:00
init_ohci1394_dma.h
init_task.h Revert "sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem" 2015-09-16 11:51:12 -04:00
init.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel_pmic_gpio.h
intel-iommu.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-common.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h ipmi: Don't flush messages in sender() in run-to-completion mode 2015-09-03 15:02:28 -05:00
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h ipv6: inet6_sk() should use sk_fullsock() 2015-10-05 02:45:25 -07:00
irq_cpustat.h
irq_work.h
irq.h genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irqchip.h
irqdesc.h genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irqdomain.h irqdomain: Add an accessor for the of_node field 2015-10-09 17:17:30 +02:00
irqflags.h
irqhandler.h genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
jbd2.h Pretty much all bug fixes and clean ups for 4.3, after a lot of 2015-09-03 12:52:19 -07:00
jhash.h
jiffies.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 14:04:50 -07:00
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h locking/static_keys: Fix up the static keys documentation 2015-09-15 07:12:06 +02:00
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kernfs.h
kexec.h kexec: split kexec_load syscall from kexec core code 2015-09-10 13:29:01 -07:00
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemcheck.h
kmemleak.h
kmod.h kmod: use system_unbound_wq instead of khelper 2015-09-10 13:29:01 -07:00
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h kernel/kthread.c:kthread_create_on_node(): clarify documentation 2015-09-04 16:54:41 -07:00
ktime.h
kvm_host.h KVM: make halt_poll_ns per-vCPU 2015-09-06 16:27:10 +02:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h arcnet: com20020-pci: add led trigger support 2015-10-26 09:10:56 +01:00
lglock.h
lguest_launcher.h
lguest.h
libata.h
libfdt_env.h
libfdt.h
libnvdimm.h libnvdimm, pmem: direct map legacy pmem by default 2015-08-28 23:40:05 -04:00
libps2.h
license.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h
livepatch.h
llc.h
llist.h
lockdep.h
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
lz4.h
lzo.h
m48t86.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h mem-hotplug: handle node hole when initializing numa_meminfo. 2015-09-08 15:35:28 -07:00
memcontrol.h writeback: fix incorrect calculation of available memory for memcg domains 2015-10-12 10:31:13 -06:00
memory_hotplug.h
memory.h
mempolicy.h
mempool.h
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
microchipphy.h add microchip LAN88xx phy driver 2015-09-09 17:19:14 -07:00
migrate_mode.h
migrate.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types.h mm: drop __nocast from vm_flags_t definition 2015-09-08 15:35:28 -07:00
mm-arch-hooks.h
mm.h memcg: fix dirty page migration 2015-10-01 21:42:35 -04:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm: introduce idle page tracking 2015-09-10 13:29:01 -07:00
mmzone.h libnvdimm for 4.3: 2015-09-08 14:35:59 -07:00
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
net.h net: move net_get_random_once to lib 2015-10-08 05:26:35 -07:00
netdev_features.h
netdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-24 06:54:12 -07:00
netfilter_bridge.h netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
netfilter_defs.h
netfilter_ingress.h netfilter: Store net in nf_hook_state 2015-09-17 17:18:32 -07:00
netfilter_ipv4.h ipv4: Pass struct net into ip_route_me_harder 2015-09-29 20:21:32 +02:00
netfilter_ipv6.h ipv6: Pass struct net through ip6_fragment 2015-09-30 01:45:03 -05:00
netfilter.h netfilter: turn NF_HOOK into an inline function 2015-10-16 18:45:36 +02:00
netlink.h netlink, mmap: fix edge-case leakages in nf queue zero-copy 2015-09-09 21:43:22 -07:00
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFSv4: Express delegation limit in units of pages 2015-09-07 12:36:13 -04:00
nfs.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h Merge branch 'nmi' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-09-08 12:28:10 -07:00
node.h
nodemask.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h NTB: Add flow control to the ntb_netdev 2015-09-07 15:17:08 -04:00
ntb.h NTB: Fix documentation for ntb_peer_db_clear. 2015-09-07 15:17:09 -04:00
nubus.h
numa.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
nwpserial.h
of_address.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_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h
oid_registry.h PKCS#7: Add OIDs for sha224, sha284 and sha512 hash algos and use them 2015-09-01 09:59:20 +10:00
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h once: make helper generic for calling functions once 2015-10-08 05:26:36 -07:00
oom.h mm, oom: add description of struct oom_control 2015-09-08 15:35:28 -07:00
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page_counter.h
page_ext.h mm: introduce idle page tracking 2015-09-10 13:29:01 -07:00
page_idle.h mm: introduce idle page tracking 2015-09-10 13:29:01 -07:00
page_owner.h
page-flags-layout.h
page-flags.h mm: introduce idle page tracking 2015-09-10 13:29:01 -07:00
page-isolation.h mm, page_isolation: make set/unset_migratetype_isolate() file-local 2015-09-08 15:35:28 -07:00
pageblock-flags.h
pagemap.h
pagevec.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h pci: mm: add pci_pool_zalloc() call 2015-09-08 15:35:28 -07:00
pcieport_if.h
pda_power.h
pe.h
percpu_counter.h
percpu_ida.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event.h
perf_regs.h
personality.h
pfn.h
phonet.h
phy_fixed.h phy: fixed_phy: Add gpio to determine link up/down. 2015-08-31 14:48:02 -07:00
phy.h net: phy: Add nested variants of mdiobus read/write 2015-10-23 05:57:43 -07:00
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM / Domains: Remove unusable governor dummies 2015-08-29 01:54:43 +02:00
pm_opp.h PM / OPP: add dev_pm_opp_get_suspend_opp() helper 2015-09-09 02:20:39 +02:00
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h
pmem.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h include/linux/poison.h: remove not-used poison pointer macros 2015-09-10 13:29:01 -07:00
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
preempt.h
prefetch.h
printk.h hexdump: do not print debug dumps for !CONFIG_DEBUG 2015-09-10 13:29:01 -07:00
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h
proportions.h
psci.h
pstore_ram.h
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h random32: add prandom_init_once helper for own rngs 2015-10-08 05:26:38 -07:00
range.h
ras.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate.h rcu: Change _wait_rcu_gp() to work around GCC bug 67055 2015-09-20 20:50:06 -07:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h regmap: Allow installing custom reg_update_bits function 2015-10-06 16:12:34 +01:00
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h reset: Add (devm_)reset_control_get stub functions 2015-09-01 09:56:58 +02:00
resource_ext.h
resource.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h mm: send one IPI per CPU to TLB flush all entries after unmapping pages 2015-09-04 16:54:41 -07:00
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h net/core: lockdep_rtnl_is_held can be boolean 2015-10-09 07:49:06 -07:00
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched_clock.h
sched.h bpf: charge user for creation of BPF maps and programs 2015-10-12 19:13:36 -07:00
scif.h
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h seccomp, ptrace: add support for dumping seccomp filters 2015-10-27 19:55:13 -07:00
securebits.h
security.h security: fix typo in security_task_prctl 2015-09-20 17:00:26 -07:00
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void 2015-09-11 15:21:34 -07:00
seqlock.h
seqno-fence.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
sfi_acpi.h
sfi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h tcp: skb_mstamp_after helper 2015-10-21 07:00:46 -07:00
slab_def.h
slab.h slab: infrastructure for bulk object allocation and freeing 2015-09-04 16:54:41 -07:00
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h smpboot: allow passing the cpumask on per-cpu thread registration 2015-09-04 16:54:41 -07:00
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 08:40:25 -07:00
splice.h
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
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h lib/string_helpers: rename "esc" arg to "only" 2015-09-10 13:29:01 -07:00
string.h string: provide strscpy() 2015-09-10 15:36:59 -04:00
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swap_cgroup.h
swap.h mm: swap: zswap: maybe_preload & refactoring 2015-09-08 15:35:28 -07:00
swapfile.h
swapops.h mm/hwpoison: fix race between soft_offline_page and unpoison_memory 2015-09-08 15:35:28 -07:00
swiotlb.h
sxgbe_platform.h
synclink.h
sys_soc.h
sys.h
syscalls.h sys_membarrier(): system-wide memory barrier (generic, x86) 2015-09-11 15:21:34 -07:00
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: fastopen: limit max_qlen 2015-10-22 06:22:13 -07:00
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h thermal: Add a function to get the minimum power 2015-09-14 07:39:46 -07:00
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h nohz: Affine unpinned timers to housekeepers 2015-09-02 10:33:22 +02:00
tifm.h
timb_dma.h
timb_gpio.h
time64.h
time.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_events.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio_driver.h
uio.h
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
userfaultfd_k.h userfaultfd: mcopy_atomic|mfill_zeropage: UFFDIO_COPY|UFFDIO_ZEROPAGE preparation 2015-09-04 16:54:41 -07:00
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
verify_pefile.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via_i2c.h
via-core.h
via-gpio.h
via.h
videodev2.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h
virtio.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
wait.h userfaultfd: revert "userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key" 2015-09-22 15:09:53 -07:00
wanrouter.h
watchdog.h kernel/watchdog: move NMI function header declarations from watchdog.h to nmi.h 2015-09-04 16:54:41 -07:00
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
ww_mutex.h
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h mm: zbud: constify the zbud_ops 2015-09-08 15:35:28 -07:00
zconf.h
zlib.h
zorro.h
zpool.h zpool: add zpool_has_pool() 2015-09-10 13:29:01 -07:00
zsmalloc.h zsmalloc: account the number of compacted pages 2015-09-08 15:35:28 -07:00
zutil.h