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
Input: atmel_mxt_ts - use deep sleep mode when stopped
2015-08-04 17:03:52 -07:00
iio
iio: Add inverse unit conversion macros
2015-08-08 12:50:40 +01:00
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
mmc: block: skip trim for some kingston eMMCs
2015-08-27 14:50:52 +02:00
mtd
arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead
2015-08-10 23:07:05 -04:00
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
arm: perf: factor arm_pmu core out to drivers
2015-07-31 15:01:14 +01:00
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.h
ACPI, PCI, irq: Do not share PCI IRQ with ISA IRQ
2015-09-26 01:53:07 +02:00
acpi_dma.h
acpi_irq.h
acpi_pmtmr.h
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-emulation.h
apm_bios.h
apple_bl.h
arm-cci.h
asn1.h
asn1_ber_bytecode.h
ASN.1: Handle 'ANY OPTIONAL' in grammar
2015-08-05 13:38:07 +01:00
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
Revert "libata: Implement NCQ autosense"
2015-08-03 12:01:54 -04:00
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
atmel_serial.h
atmel_tc.h
atomic.h
locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations
2015-08-12 11:58:59 +02:00
attribute_container.h
audit.h
audit: implement audit by executable
2015-08-06 16:17:25 -04:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
average: remove out-of-line implementation
2015-08-20 14:10:23 -07:00
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
block: Replace SG_GAPS with new queue limits mask
2015-08-19 14:26:02 -07:00
bit_spinlock.h
bitmap.h
linux/bitmap: Force inlining of bitmap weight functions
2015-08-05 09:38:08 +02:00
bitops.h
linux/bitmap: Force inlining of bitmap weight functions
2015-08-05 09:38:08 +02:00
bitrev.h
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
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
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-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
Merge branch 'for-4.3-unified-base' into for-4.3
2015-08-25 14:19:29 -04:00
cgroup_subsys.h
Merge branch 'for-4.3/blkcg' of git://git.kernel.dk/linux-block
2015-09-10 18:56:14 -07:00
circ_buf.h
cleancache.h
clk-provider.h
clk: Constify clk_hw argument to provider APIs
2015-08-24 16:49:11 -07:00
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.h
coda_psdev.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.h
console_struct.h
consolemap.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight.h
coresight: Fix implicit inclusion of linux/sched.h
2015-08-05 13:30:16 -07:00
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.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
cpuidle/coupled: Remove cpuidle_device::safe_state_index
2015-08-28 15:14:54 +02:00
cpumask.h
cpuset.h
cputime.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
capabilities: ambient capabilities
2015-09-04 16:54:41 -07:00
crypto.h
crypto: aead - Remove CRYPTO_ALG_AEAD_NEW flag
2015-08-17 16:53:53 +08:00
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-mapper.h
block: kill merge_bvec_fn() completely
2015-08-13 12:31:57 -06:00
device.h
Power management and ACPI material for v4.3-rc1
2015-09-01 19:45:46 -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-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
dma_remapping.h
dmaengine.h
dmaengine: Stricter legacy checking in dma_request_slave_channel_compat()
2015-08-20 12:01:03 +05:30
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.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.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
net: fix endian check warning in etherdevice.h
2015-08-17 12:14:53 -07:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
extcon: Remove optional print_state() function pointer of struct extcon_dev
2015-08-10 11:48:55 +09:00
f2fs_fs.h
f2fs: add annotation for space utilization of regular/inline dentry
2015-08-21 22:45:13 -07:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbdev: fix cea_modes array size
2015-08-20 10:20:11 +03:00
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.h
dax: move DAX-related functions to a new header
2015-09-08 15:35:28 -07:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl-diu-fb.h
fsl_devices.h
drivers: usb: fsl: Workaround for USB erratum-A005275
2015-08-14 16:50:36 -07:00
fsl_hypervisor.h
fsl_ifc.h
fsl_ifc: Change IO accessor based on endianness
2015-08-07 22:59:34 -05:00
fsldma.h
fsnotify.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
ftrace.h
ftrace_irq.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-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.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.h
hil_mlc.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.h
hugetlbfs: add hugetlbfs_fallocate()
2015-09-08 15:35:28 -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
Drivers: hv: vmbus: Further improve CPU affiliation logic
2015-08-05 11:44:28 -07:00
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
i2c: core: Add support for best effort block read emulation
2015-08-24 14:05:19 +02:00
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
in.h
in6.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
net/inetdevice: bad_mask can be boolean
2015-10-09 07:49:05 -07:00
init.h
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
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
iommu/vt-d: Split up iommu->domains array
2015-08-12 16:23:33 +02:00
intel_pmic_gpio.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-mapping.h
arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead
2015-08-10 23:07:05 -04:00
io.h
add devm_memremap_pages
2015-08-27 19:40:58 -04:00
ioc3.h
ioc4.h
iocontext.h
iommu-common.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h
ioprio.h
iova.h
iommu: iova: Move iova cache management to the iova library
2015-07-28 15:47:58 +01:00
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipmi: Don't flush messages in sender() in run-to-completion mode
2015-09-03 15:02:28 -05:00
ipv6.h
ipv6: inet6_sk() should use sk_fullsock()
2015-10-05 02:45:25 -07:00
ipv6_route.h
irq.h
genirq: Remove irq argument from irq flow handlers
2015-09-16 15:47:51 +02:00
irq_cpustat.h
irq_work.h
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.h
isdn_divertif.h
isdn_ppp.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.h
locking/static_keys: Fix up the static keys documentation
2015-09-15 07:12:06 +02:00
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan.h
x86/kasan, mm: Introduce generic kasan_populate_zero_shadow()
2015-08-22 14:54:55 +02:00
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-page-flags.h
kernel.h
kernel_stat.h
kernelcapi.h
kernfs.h
kernfs: implement kernfs_path_len()
2015-08-18 15:49:15 -07:00
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
klist: implement klist_prev()
2015-07-28 08:50:42 +01:00
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.h
kobject_ns.h
kprobes.h
perf/x86/hw_breakpoints: Disallow kernel breakpoints unless kprobe-safe
2015-08-04 10:16:54 +02:00
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-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
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h
libfdt.h
libfdt_env.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.h
inode: add hlist_fake to avoid the inode hash lock in evict
2015-08-17 18:39:45 -04:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h
2015-08-12 11:59:08 +02:00
lockdep.h
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
Yama: remove needless CONFIG_SECURITY_YAMA_STACKED
2015-07-28 13:18:19 +10:00
lz4.h
lzo.h
m48t86.h
mailbox_client.h
mailbox_controller.h
mailbox: switch to hrtimer for tx_complete polling
2015-08-10 14:29:27 +05:30
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
mei: bus: add and call callback on notify event
2015-08-03 17:30:00 -07:00
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.h
memory_hotplug.h
mm: ZONE_DEVICE for "device memory"
2015-08-27 19:40:58 -04:00
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.h
migrate_mode.h
mii.h
miscdevice.h
char: make misc_deregister a void function
2015-08-05 10:35:49 -07:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h
memcg: fix dirty page migration
2015-10-01 21:42:35 -04:00
mm_inline.h
mm_types.h
mm: drop __nocast from vm_flags_t definition
2015-09-08 15:35:28 -07: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
mod_devicetable: add space before */
2015-08-07 15:03:42 +02:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
PCI/MSI: Drop domain field from msi_controller
2015-07-30 00:14:39 +02:00
msm_mdp.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.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.h
netfilter: turn NF_HOOK into an inline function
2015-10-16 18:45:36 +02: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
netlink.h
netlink, mmap: fix edge-case leakages in nf queue zero-copy
2015-09-09 21:43:22 -07:00
netpoll.h
nfs.h
nfs3.h
nfs4.h
pnfs: move common blocklayout XDR defintions to nfs4.h
2015-08-17 13:22:49 -05:00
nfs_fs.h
NFS: Remove nfs_release()
2015-08-17 13:32:56 -05:00
nfs_fs_i.h
nfs_fs_sb.h
NFS: Get suppattr_exclcreat when getting server capabilities
2015-08-27 19:45:27 -04:00
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
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.h
NTB: Fix documentation for ntb_peer_db_clear.
2015-09-07 15:17:09 -04:00
ntb_transport.h
NTB: Add flow control to the ntb_netdev
2015-09-07 15:17:08 -04:00
nubus.h
numa.h
nvme.h
NVMe: Add nvme subsystem reset IOCTL
2015-08-18 11:56:13 -06:00
nvmem-consumer.h
nvmem: Add nvmem_device based consumer apis.
2015-08-05 13:43:44 -07:00
nvmem-provider.h
nvmem: Add a simple NVMEM framework for nvmem providers
2015-08-05 13:43:12 -07:00
nvram.h
nwpserial.h
of.h
device property: check fwnode type in to_of_node()
2015-08-26 01:46:39 +02:00
of_address.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
gpio: defer probe if pinctrl cannot be found
2015-07-28 13:55:36 +02:00
of_graph.h
of_iommu.h
of_irq.h
of/platform: Assign MSI domain to platform device
2015-07-30 00:14:37 +02:00
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of/platform: add function to populate default bus
2015-08-25 11:29:55 -05:00
of_reserved_mem.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-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
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
pageblock-flags.h
pagemap.h
pagevec.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: Move ATS declarations to linux/pci.h so they're all together
2015-08-13 15:59:58 -05:00
pci-dma.h
pci.h
pci: mm: add pci_pool_zalloc() call
2015-09-08 15:35:28 -07:00
pci_hotplug.h
pci_ids.h
[media] tw68: Move PCI vendor and device IDs to pci_ids.h
2015-08-16 13:26:01 -03:00
pcieport_if.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu-rwsem: introduce percpu_rwsem_release() and percpu_rwsem_acquire()
2015-08-15 13:52:10 +02:00
percpu.h
percpu_counter.h
percpu_ida.h
perf_event.h
perf: add the necessary core perf APIs when accessing events counters in eBPF programs
2015-08-09 22:50:05 -07:00
perf_regs.h
personality.h
pfn.h
phonet.h
phy.h
net: phy: Add nested variants of mdiobus read/write
2015-10-23 05:57:43 -07:00
phy_fixed.h
phy: fixed_phy: Add gpio to determine link up/down.
2015-08-31 14:48:02 -07:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm-trace.h
pm.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 / QoS: Make it possible to expose device latency tolerance to userspace
2015-07-28 08:50:41 +01:00
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmem.h
x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB
2015-08-27 19:40:59 -04:00
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-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
preempt.h
sched/preempt: Fix cond_resched_lock() and cond_resched_softirq()
2015-08-03 12:21:24 +02:00
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
Add a matching set of device_ functions for determining mac/phy
2015-08-13 16:58:29 -07:00
proportions.h
proportions: Spelling s/consitent/consistent/
2015-08-07 14:37:04 +02:00
psci.h
arm64: psci: factor invocation code to drivers
2015-08-03 12:33:39 +01:00
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h
pvclock_gtod.h
pwm.h
pwm: Clean up kerneldoc
2015-08-17 15:40:20 +02:00
pwm_backlight.h
pxa2xx_ssp.h
spi: pxa2xx: Add support for Intel Sunrisepoint
2015-07-31 19:13:33 +01:00
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.h
rbtree_augmented.h
rbtree_latch.h
rculist.h
rculist_bl.h
rculist_nulls.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.h
resource_ext.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.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.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
lib: scatterlist: add sg splitting function
2015-08-24 14:28:01 -06:00
scc.h
sched.h
bpf: charge user for creation of BPF maps and programs
2015-10-12 19:13:36 -07:00
sched_clock.h
scif.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.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.h
fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void
2015-09-11 15:21:34 -07:00
seq_file_net.h
seqlock.h
seqno-fence.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
dmaengine: shdma: Make dummy shdma_chan_filter() always return false
2015-08-05 08:48:00 +05:30
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.h
slab: infrastructure for bulk object allocation and freeing
2015-09-04 16:54:41 -07:00
slab_def.h
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.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
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
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
stmmac: remove setup/free glue callbacks
2015-07-29 00:13:25 -07:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
stop_machine: Use 'cpu_stop_fn_t' where possible
2015-08-03 12:21:27 +02:00
string.h
string: provide strscpy()
2015-09-10 15:36:59 -04:00
string_helpers.h
lib/string_helpers: rename "esc" arg to "only"
2015-09-10 13:29:01 -07:00
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swap.h
mm: swap: zswap: maybe_preload & refactoring
2015-09-08 15:35:28 -07:00
swap_cgroup.h
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.h
sys_soc.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.h
task_io_accounting_ops.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.h
textsearch_fsm.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
Revert "ti-st: add device tree support"
2015-08-05 13:24:12 -07:00
tick.h
nohz: Affine unpinned timers to housekeepers
2015-09-02 10:33:22 +02:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time64.h
time: Introduce struct itimerspec64
2015-08-17 11:25:28 -07:00
timecounter.h
timekeeper_internal.h
timekeeping.h
Merge branch 'fortglx/4.3/time' of https://git.linaro.org/people/john.stultz/linux into timers/core
2015-08-20 21:13:22 +02:00
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_events.h
tracing, perf: Implement BPF programs attached to uprobes
2015-08-06 15:29:14 -03:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty.h
tty_driver.h
Avoid usb reset crashes by making tty_io cdevs truly dynamic
2015-08-03 15:24:43 -07:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
lib: introduce strncpy_from_unsafe()
2015-08-28 16:27:27 -07:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio.h
uio_driver.h
uprobes.h
uprobes/x86: Make arch_uretprobe_is_alive(RP_CHECK_CALL) more clever
2015-07-31 10:38:06 +02:00
usb.h
Revert "usb: interface authorization: Declare authorized attribute"
2015-08-18 09:59:12 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.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
PKCS#7: Appropriately restrict authenticated attributes and content type
2015-08-12 17:01:01 +01:00
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_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.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.h
vt_buffer.h
vt_kern.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
workqueue: fix some docbook warnings
2015-08-17 15:48:24 -04:00
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