twx-linux/include/linux
Daniel Borkmann 6bb0fef489 netlink, mmap: fix edge-case leakages in nf queue zero-copy
When netlink mmap on receive side is the consumer of nf queue data,
it can happen that in some edge cases, we write skb shared info into
the user space mmap buffer:

Assume a possible rx ring frame size of only 4096, and the network skb,
which is being zero-copied into the netlink skb, contains page frags
with an overall skb->len larger than the linear part of the netlink
skb.

skb_zerocopy(), which is generic and thus not aware of the fact that
shared info cannot be accessed for such skbs then tries to write and
fill frags, thus leaking kernel data/pointers and in some corner cases
possibly writing out of bounds of the mmap area (when filling the
last slot in the ring buffer this way).

I.e. the ring buffer slot is then of status NL_MMAP_STATUS_VALID, has
an advertised length larger than 4096, where the linear part is visible
at the slot beginning, and the leaked sizeof(struct skb_shared_info)
has been written to the beginning of the next slot (also corrupting
the struct nl_mmap_hdr slot header incl. status etc), since skb->end
points to skb->data + ring->frame_size - NL_MMAP_HDRLEN.

The fix adds and lets __netlink_alloc_skb() take the actual needed
linear room for the network skb + meta data into account. It's completely
irrelevant for non-mmaped netlink sockets, but in case mmap sockets
are used, it can be decided whether the available skb_tailroom() is
really large enough for the buffer, or whether it needs to internally
fallback to a normal alloc_skb().

>From nf queue side, the information whether the destination port is
an mmap RX ring is not really available without extra port-to-socket
lookup, thus it can only be determined in lower layers i.e. when
__netlink_alloc_skb() is called that checks internally for this. I
chose to add the extra ldiff parameter as mmap will then still work:
We have data_len and hlen in nfqnl_build_packet_message(), data_len
is the full length (capped at queue->copy_range) for skb_zerocopy()
and hlen some possible part of data_len that needs to be copied; the
rem_len variable indicates the needed remaining linear mmap space.

The only other workaround in nf queue internally would be after
allocation time by f.e. cap'ing the data_len to the skb_tailroom()
iff we deal with an mmap skb, but that would 1) expose the fact that
we use a mmap skb to upper layers, and 2) trim the skb where we
otherwise could just have moved the full skb into the normal receive
queue.

After the patch, in my test case the ring slot doesn't fit and therefore
shows NL_MMAP_STATUS_COPY, where a full skb carries all the data and
thus needs to be picked up via recv().

Fixes: 3ab1f683bf8b ("nfnetlink: add support for memory mapped netlink")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-09-09 21:43:22 -07:00
..
amba uart: pl011: Add support to ZTE ZX296702 uart 2015-08-04 22:07:26 -07:00
bcma bcma: switch GPIO portions to use GPIOLIB_IRQCHIP 2015-08-18 09:08:47 +03:00
byteorder
can can: replace timestamp as unique skb attribute 2015-07-12 21:13:22 +02:00
ceph libceph: enable ceph in a non-default network namespace 2015-07-09 20:30:34 +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 gpio: Remove double "base" in comment 2015-07-16 00:12:24 +02:00
hsi
i2c
iio iio: Add inverse unit conversion macros 2015-08-08 12:50:40 +01:00
input
irqchip irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance 2015-08-04 14:14:06 +02:00
isdn
lockd
mfd ARM: SoC platform updates for v4.3 2015-09-01 12:18:40 -07:00
mlx4 net/mlx4_en: Add support for hardware accelerated 802.1ad vlan 2015-07-27 15:00:37 -07:00
mlx5 net/mlx5e: Support ethtool get/set_pauseparam 2015-08-17 15:51:36 -07:00
mmc
mtd mtd: nand: Fix NAND_USE_BOUNCE_BUFFER flag conflict 2015-07-07 13:03:25 -07:00
netfilter netfilter: nf_conntrack: make nf_ct_zone_dflt built-in 2015-09-02 16:32:56 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
phy
pinctrl
platform_data Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-09-03 08:08:17 -07:00
power
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: expose spi_master and spi_device statistics via sysfs 2015-07-07 13:33:23 +01:00
ssb
sunrpc
ulpi
unaligned
usb Revert "usb: interface authorization: Introduces the default interface authorization" 2015-08-18 09:58:45 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_irq.h
acpi_pmtmr.h
acpi.h Merge branches 'acpi-pci', 'acpi-soc', 'acpi-ec' and 'acpi-osl' 2015-09-01 03:41:19 +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
arcdevice.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 Revert "libata: Implement NCQ autosense" 2015-08-03 12:01:54 -04:00
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel_serial.h tty/serial: at91: add support to FIFOs 2015-07-23 18:00:42 -07:00
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 average: remove out-of-line implementation 2015-08-20 14:10:23 -07:00
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
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_types.h block: shrink struct bio down to 2 cache lines again 2015-07-29 08:55:25 -06:00
blk-cgroup.h blk-cgroup: Drop unlikely before IS_ERR(_OR_NULL) 2015-08-13 10:45:09 -06:00
blk-iopoll.h
blk-mq.h
blkdev.h block: Replace SG_GAPS with new queue limits mask 2015-08-19 14:26:02 -07:00
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf.h bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter 2015-08-09 22:50:06 -07:00
brcmphy.h
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 cgroup: implement the PIDs subsystem 2015-07-14 17:29:23 -04:00
cgroup-defs.h Merge branch 'for-4.3-unified-base' into for-4.3 2015-08-25 14:19:29 -04:00
cgroup.h Merge branch 'for-4.3-unified-base' into for-4.3 2015-08-25 14:19:29 -04: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 include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
clksrc-dbx500-prcmu.h
clock_cooling.h
clockchips.h clockevents: Remove clockevents_notify() prototype 2015-07-20 11:37:46 +02:00
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
com20020.h
compaction.h
compat.h include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm 2015-07-11 20:44:31 -07:00
completion.h
component.h
concap.h
configfs.h include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
connector.h
console_struct.h
console.h
consolemap.h
container.h
context_tracking_state.h context_tracking: Add ct_state() and CT_WARN_ON() 2015-07-07 10:59:04 +02:00
context_tracking.h context_tracking: Add ct_state() and CT_WARN_ON() 2015-07-07 10:59:04 +02:00
cordic.h
coredump.h
coresight.h coresight: Fix implicit inclusion of linux/sched.h 2015-08-05 13:30:16 -07:00
cper.h efi: Handle memory error structures produced based on old versions of standard 2015-07-15 13:30:38 +01:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
cpufeature.h cpufeature: correctly annotate the module init function 2015-07-22 09:58:02 +02:00
cpufreq-dt.h
cpufreq.h Merge branch 'pm-opp' 2015-09-01 15:52:41 +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
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
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
dca.h
dcache.h include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
device_cgroup.h
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
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
dma-debug.h
dma-direction.h
dma-mapping.h
dmaengine.h
dmapool.h
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 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
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() 2015-07-22 15:27:32 -07:00
fec.h
fence.h
file.h
filter.h bpf: also show process name/pid in bpf_jit_dump 2015-07-30 11:13:21 -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 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2015-09-01 16:13:25 -07:00
fscache-cache.h
fscache.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-diu-fb.h
fsldma.h
fsnotify_backend.h
fsnotify.h
ftrace_irq.h
ftrace.h ftrace: Fix breakage of set_ftrace_pid 2015-07-24 13:58:14 -04:00
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h block: partition: convert percpu ref 2015-07-17 08:41:53 -06:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
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 First set of IIO fixes for the 4.2 cycle. 2015-07-13 14:18:07 -07:00
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
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h mm: hugetlb: allow hugepages_supported to be architecture specific 2015-07-17 16:39:52 -07:00
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
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h mac80211: fix BIT position for TDLS WIDE extended cap 2015-08-14 17:49:53 +02:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h IGMP: Inhibit reports for local multicast groups 2015-08-28 13:28:47 -07:00
ihex.h
ima.h
in6.h
in.h
inet_diag.h
inet_lro.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_task.h sched/cputime: Guarantee stime + utime == rtime 2015-08-03 12:21:21 +02:00
init.h module: relocate module_init from init.h to module.h 2015-07-05 23:59:14 -04:00
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 include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h net: ipv6 sysctl option to ignore routes when nexthop link is down 2015-08-13 21:27:19 -07:00
irq_cpustat.h
irq_work.h
irq.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 14:33:35 -07:00
irqchip.h
irqdesc.h genirq: Provide irq_desc_has_action 2015-08-06 00:14:59 +02:00
irqdomain.h genirq: Add DOMAIN_BUS_NEXUS irqdomain property 2015-07-30 00:14:38 +02:00
irqflags.h
irqhandler.h
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
jbd_common.h
jbd.h
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
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_stat.h
kernel-page-flags.h
kernel.h include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
kernelcapi.h
kernfs.h
kexec.h kexec: define kexec_in_progress in !CONFIG_KEXEC case 2015-08-04 22:25:28 -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
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
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 sched: Fix a race between __kthread_bind() and sched_setaffinity() 2015-08-12 12:06:09 +02:00
ktime.h
kvm_host.h KVM: document memory barriers for kvm->vcpus/kvm->online_vcpus 2015-07-30 16:02:54 +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
lglock.h
lguest_launcher.h
lguest.h
libata.h libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit 2015-07-15 11:47:24 -04:00
libfdt_env.h
libfdt.h
libnvdimm.h
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-gpio.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
memcontrol.h
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 char: make misc_deregister a void function 2015-08-05 10:35:49 -07:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types.h mm: make page pfmemalloc check more robust 2015-08-21 14:30:10 -07:00
mm-arch-hooks.h
mm.h mm: make page pfmemalloc check more robust 2015-08-21 14:30:10 -07:00
mman.h
mmdebug.h
mmiotrace.h include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -07:00
mmu_context.h
mmu_notifier.h
mmzone.h
mnt_namespace.h
mod_devicetable.h mod_devicetable: add space before */ 2015-08-07 15:03:42 +02:00
module.h module: relocate module_init from init.h to module.h 2015-07-05 23:59:14 -04:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls_iptunnel.h mpls: ip tunnel support 2015-07-21 10:39:05 -07:00
mpls.h
mroute6.h
mroute.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_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
net.h net_dbg_ratelimited: turn into no-op when !DEBUG 2015-08-06 23:51:30 -07:00
netdev_features.h
netdevice.h net: kill long time unused bonding private flags 2015-08-27 16:28:35 -07:00
netfilter_bridge.h netfilter: bridge: reduce nf_bridge_info to 32 bytes again 2015-07-30 13:37:42 +02:00
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h netfilter: Define v6ops in !CONFIG_NETFILTER case. 2015-08-27 16:35:51 -07:00
netfilter.h netfilter: nf_conntrack: make nf_ct_zone_dflt built-in 2015-09-02 16:32:56 -07: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: Remove the "NFS_CAP_CHANGE_ATTR" capability 2015-07-22 17:15:54 -04:00
nfs_fs.h NFS: nfs_mark_for_revalidate should always set NFS_INO_REVAL_PAGECACHE 2015-07-22 17:15:54 -04:00
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfs.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h NTB: Split ntb_hw_intel and ntb_transport drivers 2015-07-04 14:05:49 -04:00
ntb.h NTB: Add NTB hardware abstraction layer 2015-07-04 14:04:44 -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_address.h
of_device.h of: constify drv arg of of_driver_match_device stub 2015-07-27 08:23:27 -05:00
of_dma.h
of_fdt.h
of_gpio.h
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
of.h device property: check fwnode type in to_of_node() 2015-08-26 01:46:39 +02:00
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page_counter.h
page_ext.h
page_owner.h mm/page_owner: set correct gfp_mask on page_owner 2015-07-17 16:39:54 -07:00
page-flags-layout.h
page-flags.h mm: check __PG_HWPOISON separately from PAGE_FLAGS_CHECK_AT_* 2015-08-07 04:39:42 +03:00
page-isolation.h
pageblock-flags.h
pagemap.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-07-04 19:36:06 -07:00
pagevec.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h Update Viresh Kumar's email address 2015-07-17 16:39:53 -07:00
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.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 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 14:33:35 -07:00
pcieport_if.h
pda_power.h
pe.h
percpu_counter.h
percpu_ida.h
percpu-defs.h percpu: update incorrect comment for this_cpu_*() operations 2015-07-14 17:43:56 -04:00
percpu-refcount.h
percpu-rwsem.h
percpu.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_fixed.h phy: fixed_phy: Add gpio to determine link up/down. 2015-08-31 14:48:02 -07:00
phy.h net: phy: Allow PHY devices to identify themselves as Ethernet switches, etc. 2015-08-31 14:48:01 -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_is_turbo() helper 2015-08-07 03:17:06 +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 / sleep: Allow devices without runtime PM to do direct-complete 2015-07-21 23:14:22 +02:00
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h
pmem.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
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 sched/preempt: Fix cond_resched_lock() and cond_resched_softirq() 2015-08-03 12:21:24 +02:00
prefetch.h
printk.h include, lib: add __printf attributes to several function prototypes 2015-07-17 16:39:53 -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
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 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
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: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() 2015-07-22 15:27:32 -07:00
rcutiny.h rcu: Add RCU-sched flavors of get-state and cond-sync 2015-07-22 15:26:58 -07:00
rcutree.h rcu: Add RCU-sched flavors of get-state and cond-sync 2015-07-22 15:26:58 -07:00
reboot.h
reciprocal_div.h
regmap.h
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
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
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
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 lib: scatterlist: add sg splitting function 2015-08-24 14:28:01 -06:00
scc.h
sched_clock.h
sched.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-08-31 20:26:22 -07:00
scif.h
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock.h
seqno-fence.h
serial_8250.h tty/early: make serial8250_early_{in,out} static again 2015-07-23 17:43:30 -07:00
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 flow_dissector: Use 'const' where possible. 2015-09-01 21:19:17 -07:00
slab_def.h
slab.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
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 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_helpers.h
string.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swap_cgroup.h
swap.h block: add a bi_error field to struct bio 2015-07-29 08:55:15 -06:00
swapfile.h
swapops.h
swiotlb.h
sxgbe_platform.h
synclink.h
sys_soc.h
sys.h
syscalls.h
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
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
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: Remove useless argument on tick_nohz_task_switch() 2015-07-29 15:45:01 +02:00
tifm.h
timb_dma.h
timb_gpio.h
time64.h time: Introduce struct itimerspec64 2015-08-17 11:25:28 -07:00
time.h
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_command.h
tpm.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_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
tty.h tty: core: Add tty_debug() for printk(KERN_DEBUG) messages 2015-07-23 18:37:31 -07:00
typecheck.h
types.h rcu: Create a synchronize_rcu_mult() 2015-07-22 15:27:29 -07:00
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_driver.h
uio.h
uprobes.h uprobes/x86: Make arch_uretprobe_is_alive(RP_CHECK_CALL) more clever 2015-07-31 10:38:06 +02:00
usb_usual.h
usb.h Revert "usb: interface authorization: Declare authorized attribute" 2015-08-18 09:59:12 -07:00
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
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
wanrouter.h
watchdog.h
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
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zutil.h