twx-linux/include/linux
Wei Wang cf1ef3f071 net/tcp_fastopen: Disable active side TFO in certain scenarios
Middlebox firewall issues can potentially cause server's data being
blackholed after a successful 3WHS using TFO. Following are the related
reports from Apple:
https://www.nanog.org/sites/default/files/Paasch_Network_Support.pdf
Slide 31 identifies an issue where the client ACK to the server's data
sent during a TFO'd handshake is dropped.
C ---> syn-data ---> S
C <--- syn/ack ----- S
C (accept & write)
C <---- data ------- S
C ----- ACK -> X     S
		[retry and timeout]

https://www.ietf.org/proceedings/94/slides/slides-94-tcpm-13.pdf
Slide 5 shows a similar situation that the server's data gets dropped
after 3WHS.
C ---- syn-data ---> S
C <--- syn/ack ----- S
C ---- ack --------> S
S (accept & write)
C?  X <- data ------ S
		[retry and timeout]

This is the worst failure b/c the client can not detect such behavior to
mitigate the situation (such as disabling TFO). Failing to proceed, the
application (e.g., SSL library) may simply timeout and retry with TFO
again, and the process repeats indefinitely.

The proposed solution is to disable active TFO globally under the
following circumstances:
1. client side TFO socket detects out of order FIN
2. client side TFO socket receives out of order RST

We disable active side TFO globally for 1hr at first. Then if it
happens again, we disable it for 2h, then 4h, 8h, ...
And we reset the timeout to 1hr if a client side TFO sockets not opened
on loopback has successfully received data segs from server.
And we examine this condition during close().

The rational behind it is that when such firewall issue happens,
application running on the client should eventually close the socket as
it is not able to get the data it is expecting. Or application running
on the server should close the socket as it is not able to receive any
response from client.
In both cases, out of order FIN or RST will get received on the client
given that the firewall will not block them as no data are in those
frames.
And we want to disable active TFO globally as it helps if the middle box
is very close to the client and most of the connections are likely to
fail.

Also, add a debug sysctl:
  tcp_fastopen_blackhole_detect_timeout_sec:
    the initial timeout to use when firewall blackhole issue happens.
    This can be set and read.
    When setting it to 0, it means to disable the active disable logic.

Signed-off-by: Wei Wang <weiwan@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-04-24 14:27:17 -04:00
..
amba
bcma
byteorder
can can: initial support for network namespaces 2017-04-04 17:35:58 +02:00
ceph libceph: osd_request_timeout option 2017-03-07 14:30:38 +01:00
clk
crush
decompress
dma
extcon
firmware/meson
fpga
fsl
gpio serial: st-asc: Use new GPIOD API to obtain RTS pin 2017-03-14 10:36:41 +01:00
hsi
i2c
iio iio: sw-device: Fix config group initialization 2017-03-13 20:42:34 +00:00
input
irqchip KVM: arm/arm64: vgic: Fix GICC_PMR uaccess on GICv3 and clarify ABI 2017-04-04 14:33:59 +02:00
isdn
lockd
mailbox
mfd mfd: cros-ec: Fix host command buffer size 2017-04-05 13:30:07 +01:00
mlx4 net/mlx4_core: Avoid delays during VF driver device shutdown 2017-03-16 20:14:51 -07:00
mlx5 net/mlx5e: IPoIB, Xmit flow 2017-04-17 11:08:31 -04:00
mmc mmc: sdio: fix alignment issue in struct sdio_func 2017-04-18 19:18:07 +02:00
mtd scripts/spelling.txt: add "partiton" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable() 2017-04-07 01:08:08 +02:00
platform_data NFC: st21nfca: Get rid of platform data 2017-04-05 10:07:36 +02:00
power
qed qed: Add support for static dcbx. 2017-04-24 12:19:56 -04:00
raid
regulator scripts/spelling.txt: add "disble(d)" pattern and fix typo instances 2017-03-09 17:01:09 -08:00
remoteproc
reset
rpmsg soc: qcom: smd: Remove standalone driver 2017-03-28 17:58:07 -07:00
rtc
sched sched/clock, x86/perf: Fix "perf test tsc" 2017-03-23 07:31:49 +01:00
soc soc: qcom: smd: Remove standalone driver 2017-03-28 17:58:07 -07:00
spi scripts/spelling.txt: add "partiton" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
ssb
sunrpc sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
ulpi
unaligned
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h acpi/processor: Check for duplicate processor ids at hotplug time 2017-03-11 14:41:20 +01:00
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.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
apple-gmux.h
arm-cci.h
arm-smccc.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 Merge branch 'stable-4.11' of git://git.infradead.org/users/pcmoore/audit 2017-02-21 13:25:50 -08:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h average: change to declare precision, not factor 2017-03-02 08:32:46 +01:00
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
bfin_mac.h
binfmts.h sched/headers, vfs/execve: Move the do_execve*() prototypes from <linux/sched.h> to <linux/binfmts.h> 2017-03-03 01:45:23 +01:00
bio.h
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
blk_types.h
blk-cgroup.h
blk-mq-pci.h
blk-mq-virtio.h blk-mq: provide a default queue mapping for virtio device 2017-02-27 20:54:05 +02:00
blk-mq.h blk-mq: Introduce blk_mq_delay_run_hw_queue() 2017-04-07 12:27:06 -06:00
blkdev.h block: fix bio_will_gap() for first bvec with offset 2017-04-14 13:58:29 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf_trace.h
bpf_types.h bpf: remove struct bpf_map_type_list 2017-04-11 14:38:43 -04:00
bpf_verifier.h bpf: add helper inlining infra and optimize map_array lookup 2017-03-16 20:44:11 -07:00
bpf-cgroup.h
bpf.h bpf: remove struct bpf_map_type_list 2017-04-11 14:38:43 -04:00
brcmphy.h net: phy: bcm7xxx: add support for 28nm EPHY 2017-03-13 21:51:49 -07:00
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h bug: switch data corruption check to __must_check 2017-02-24 17:46:56 -08:00
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h crypto: ccp - Assign DMA commands to the channel's CCP 2017-03-16 17:43:08 +08:00
cdev.h
cdrom.h
cfag12864b.h
cgroup_rdma.h
cgroup_subsys.h
cgroup-defs.h sched/headers, cgroups: Remove the threadgroup_change_*() wrappery 2017-03-02 08:42:25 +01:00
cgroup.h cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups 2017-03-17 10:18:47 -04:00
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clock_cooling.h
clockchips.h clockevents: Fix syntax error in clkevt-of macro 2017-03-28 09:39:49 +02:00
clocksource.h
cm4000_cs.h
cma.h mm: cma_alloc: allow to specify GFP mask 2017-02-24 17:46:55 -08:00
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
compaction.h
compat.h sigaltstack: support SS_AUTODISARM for CONFIG_COMPAT 2017-02-27 18:43:45 -08:00
compiler-clang.h
compiler-gcc.h objtool, modules: Discard objtool annotation sections for modules 2017-03-01 20:32:25 +01:00
compiler-intel.h
compiler.h Merge branch 'akpm' (patches from Andrew) 2017-02-27 23:09:29 -08: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-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h sched/headers: Prepare to move _init() prototypes from <linux/sched.h> to <linux/sched/init.h> 2017-03-02 08:42:40 +01:00
cpufeature.h
cpufreq.h
cpuhotplug.h virtio, vhost: optimizations, fixes 2017-03-02 13:53:13 -08:00
cpuidle.h
cpumask.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 10:06:32 -08:00
cpuset.h sched/headers: Prepare to move the task_lock()/unlock() APIs to <linux/sched/task.h> 2017-03-02 08:42:38 +01:00
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 sched/headers: Prepare to remove <linux/cred.h> inclusion from <linux/sched.h> 2017-03-02 08:42:31 +01:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h mm: replace FAULT_FLAG_SIZE with parameter to huge_fault 2017-02-24 17:46:54 -08:00
dca.h
dcache.h rcu: Separate the RCU synchronization types and APIs into <linux/rcupdate_wait.h> 2017-03-02 08:42:24 +01:00
dccp.h dccp: fix use-after-free in dccp_feat_activate_values 2017-03-07 14:15:27 -08:00
dcookies.h
debug_locks.h
debugfs.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2017-02-23 20:33:51 -08:00
debugobjects.h
delay.h
delayacct.h sched/headers: Remove <linux/sched.h> and <linux/slab.h> from <linux/delayacct.h> 2017-03-03 01:45:28 +01:00
delayed_call.h
dell-led.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h
device.h drivers core: remove assert_held_device_hotplug() 2017-03-16 16:56:19 -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-buf.h
dma-contiguous.h mm: wire up GFP flag passing in dma_alloc_from_contiguous 2017-02-24 17:46:55 -08:00
dma-debug.h
dma-direction.h
dma-fence-array.h
dma-fence.h
dma-iommu.h
dma-mapping.h This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
dmaengine.h
dmapool.h
dmar.h sched/headers: Prepare to use <linux/rcuupdate.h> instead of <linux/rculist.h> in <linux/sched.h> 2017-03-02 08:42:38 +01:00
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
ds2782_battery.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 blk-mq-sched: fix crash in switch error path 2017-04-07 08:56:48 -06:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h tcp: mark skbs with SCM_TIMESTAMPING_OPT_STATS 2017-03-21 18:44:17 -07:00
etherdevice.h etherdevice: remove unused eth_addr_greater 2017-03-12 23:54:07 -07:00
ethtool.h ethtool: add CRC32 as an RSS hash function 2017-03-09 16:39:58 -08:00
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon.h
f2fs_fs.h f2fs: introduce free nid bitmap 2017-02-27 10:07:47 -08:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h sched/headers: Remove <linux/sched.h> and <linux/slab.h> from <linux/delayacct.h> 2017-03-03 01:45:28 +01:00
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h net: convert sk_filter.refcnt from atomic_t to refcount_t 2017-03-22 12:06:08 -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
frame.h objtool, modules: Discard objtool annotation sections for modules 2017-03-01 20:32:25 +01:00
freezer.h
frontswap.h
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h include/linux/fs.h: fix unsigned enum warning with gcc-4.2 2017-03-09 17:01:09 -08:00
fscache-cache.h
fscache.h
fscrypt_common.h fscrypt: eliminate ->prepare_context() operation 2017-03-15 14:15:47 -04:00
fscrypt_notsupp.h
fscrypt_supp.h
fsi.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/ebiederm/user-namespace 2017-02-23 20:33:51 -08:00
fsnotify.h
ftrace_irq.h
ftrace.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h Revert "scsi, block: fix duplicate bdi name registration crashes" 2017-03-08 10:55:17 -07:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: alloc_contig_range: allow to specify GFP mask 2017-02-24 17:46:55 -08: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 sched/headers, hrtimer: Remove the <linux/wait.h> include from <linux/hrtimer.h> 2017-03-03 01:45:40 +01:00
htcpld.h
htirq.h
huge_mm.h mm, x86: add support for PUD-sized transparent hugepages 2017-02-24 17:46:54 -08:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h mm: convert generic code to 5-level paging 2017-03-09 11:48:47 -08:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: Add missing HWMON_T_ALARM 2017-03-22 00:18:22 -07:00
hwspinlock.h
hyperv.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
hypervisor.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 sched/headers: Prepare for the removal of <linux/rtmutex.h> from <linux/sched.h> 2017-03-02 08:42:32 +01:00
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h cfg80211: Add support for FILS shared key authentication offload 2017-03-31 08:32:23 +02:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
in6.h
in.h
inet_diag.h
inet.h
inetdevice.h net: devinet: Refactor inet_netconf_notify_devconf to take event 2017-03-28 22:32:42 -07:00
init_ohci1394_dma.h
init_task.h sched/headers: Move the 'root_task_group' declaration to <linux/sched/autogroup.h> 2017-03-03 01:43:47 +01:00
init.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-svm.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iomap.h mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
iommu-common.h
iommu-helper.h
iommu.h iommu: Disambiguate MSI region types 2017-03-22 16:16:17 +01:00
iopoll.h include/linux/iopoll.h: include <linux/ktime.h> instead of <linux/hrtimer.h> 2017-02-24 17:46:56 -08:00
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: Add sysctl for minimum prefix len acceptable in RIOs. 2017-03-22 14:20:54 -07:00
irq_cpustat.h
irq_poll.h
irq_work.h
irq.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 10:52:23 -08:00
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h irqdomain: Add empty irq_domain_check_msi_remap 2017-03-06 14:40:04 +00: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
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h There was some breakage with the changes for jump labels in the 4.11 merge 2017-03-07 09:37:28 -08:00
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h kasan: report only the first error by default 2017-03-31 17:13:30 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h scripts/spelling.txt: add "followings" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
kcore.h
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h
kernel-page-flags.h
kernel.h linux/kernel.h: fix DIV_ROUND_CLOSEST to support negative divisors 2017-02-24 17:46:57 -08:00
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h KEYS: Differentiate uses of rcu_dereference_key() and user_key_payload() 2017-03-02 10:09:00 +11:00
keyboard.h
kfifo.h
kgdb.h
khugepaged.h sched/headers: Prepare for new header dependencies before moving code to <linux/sched/coredump.h> 2017-03-02 08:42:28 +01:00
klist.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h kprobes: move kprobe declarations to asm-generic/kprobes.h 2017-02-27 18:43:45 -08:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h sched/headers: Prepare for new header dependencies before moving code to <linux/sched/coredump.h> 2017-03-02 08:42:28 +01:00
kthread.h
ktime.h
kvm_host.h KVM: kvm_io_bus_unregister_dev() should never fail 2017-03-23 19:02:25 +01:00
kvm_irqfd.h
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-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
lguest_launcher.h
lguest.h
libata.h Merge branch 'for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2017-02-21 17:21:32 -08:00
libfdt_env.h
libfdt.h
libnvdimm.h nfit, libnvdimm: fix interleave set cookie calculation 2017-03-01 00:49:42 -08:00
libps2.h
license.h
lightnvm.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h bpf: convert htab map to hlist_nulls 2017-03-09 13:27:17 -08:00
list_sort.h
list.h
livepatch.h
llc.h
llist.h
lockdep.h
lockref.h
log2.h give up on gcc ilog2() constant optimizations 2017-03-02 12:17:22 -08:00
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
lz4.h lib/lz4: remove back-compat wrappers 2017-02-24 17:46:57 -08:00
lzo.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
mdev.h
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h memblock: embed memblock type name within struct memblock_type 2017-02-24 17:46:54 -08:00
memcontrol.h mm: rmap: fix huge file mmap accounting in the memcg stats 2017-03-31 17:13:30 -07:00
memory_hotplug.h
memory.h memory-hotplug: use dev_online for memhp_auto_online 2017-02-24 17:46:56 -08:00
mempolicy.h
mempool.h
memremap.h
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h mm/migration: make isolate_movable_page always defined 2017-02-24 17:46:55 -08:00
mii.h
miscdevice.h Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2017-02-23 09:54:19 -08:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h mm: vmscan: move dirty pages out of the way until they're flushed 2017-02-24 17:46:54 -08:00
mm_types_task.h sched/headers, mm: Move 'struct tlbflush_unmap_batch' from <linux/sched.h> to <linux/mm_types_task.h> 2017-03-03 01:45:25 +01:00
mm_types.h mm/headers, sched/headers: Move task related MM types from <linux/mm_types.> to <linux/mm_types_task.h> 2017-03-03 01:43:48 +01:00
mm-arch-hooks.h
mm.h mm: move mm_percpu_wq initialization earlier 2017-03-31 17:13:30 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm: drop unused pmdp_huge_get_and_clear_notify() 2017-04-13 18:24:21 -07:00
mmzone.h mm: vmscan: scan dirty pages even in laptop mode 2017-02-24 17:46:54 -08:00
mnt_namespace.h
mod_devicetable.h
module.h Modules updates for v4.11 2017-02-22 17:08:33 -08:00
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 pci-v4.11-changes 2017-02-23 11:53:22 -08:00
mutex.h Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 13:23:30 -08:00
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
net.h l2tp: device MTU setup, tunnel socket needs a lock 2017-04-17 13:01:48 -04:00
netdev_features.h net: Add ESP offload features 2017-04-14 10:05:36 +02:00
netdevice.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next 2017-04-21 15:11:28 -04:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h netlink: allow sending extended ACK with cookie on success 2017-04-13 13:58:21 -04:00
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h statx: Add a system call to make enhanced file info available 2017-03-02 20:51:15 -05:00
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfs.h
nfsacl.h
nl802154.h
nls.h
nmi.h sched/headers: Move softlockup detector watchdog methods to <linux/nmi.h> 2017-03-03 01:43:38 +01:00
node.h
nodemask.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h nvme-rdma: move nvme cm status helper to .h file 2017-02-22 13:34:00 -07:00
nvme.h nvme: Correct NVMF enum values to match NVMe-oF rev 1.0 2017-04-02 10:24:07 +03:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
of_address.h
of_device.h DeviceTree updates for 4.11: 2017-02-22 19:23:14 -08:00
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h of_mdio: Correct check against CONFIG_OF 2017-03-24 12:51:04 -07:00
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h ARM: OMAP2+: Remove legacy gpmc-nand.c 2017-02-28 09:08:33 -08:00
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page-flags-layout.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h mm: fix <linux/pagemap.h> stray kernel-doc notation 2017-02-22 16:41:30 -08:00
pagevec.h
parman.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-compat.h
pci-dma.h
pci-ecam.h
pci.h PCI: remove pci_enable_msix 2017-04-11 11:16:03 -04: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 sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
personality.h
pfn_t.h mm, x86: add support for PUD-sized transparent hugepages 2017-02-24 17:46:54 -08:00
pfn.h
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h mdio_bus: Issue GPIO RESET to PHYs. 2017-04-24 12:40:24 -04:00
pid_namespace.h procfs: use an enum for possible hidepid values 2017-02-24 17:46:56 -08:00
pid.h sched/headers: Prepare to use <linux/rcuupdate.h> instead of <linux/rculist.h> in <linux/sched.h> 2017-03-02 08:42:38 +01:00
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h Merge branches 'pm-cpuidle', 'pm-cpufreq' and 'pm-sleep' 2017-03-03 00:43:11 +01:00
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
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
pr.h
preempt.h sched/headers: Move the PREEMPT_COUNT defines from <linux/sched.h> to <linux/preempt.h> 2017-03-03 01:43:47 +01:00
prefetch.h
prime_numbers.h
printk.h
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h
psci.h
pstore_ram.h
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h ptr_ring: fix race conditions when resizing 2017-02-20 10:27:56 -05:00
ptrace.h sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
purgatory.h kexec, x86/purgatory: Unbreak it and clean it up 2017-03-10 20:55:09 +01:00
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
range.h
ras.h
ratelimit.h
rational.h
rbtree_augmented.h rbtree: use designated initializers 2017-02-24 17:46:57 -08:00
rbtree_latch.h
rbtree.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h bpf: convert htab map to hlist_nulls 2017-03-09 13:27:17 -08:00
rculist.h
rcupdate_wait.h rcu: Separate the RCU synchronization types and APIs into <linux/rcupdate_wait.h> 2017-03-02 08:42:24 +01:00
rcupdate.h rcu: Separate the RCU synchronization types and APIs into <linux/rcupdate_wait.h> 2017-03-02 08:42:24 +01:00
rcutiny.h rcu: Separate the RCU synchronization types and APIs into <linux/rcupdate_wait.h> 2017-03-02 08:42:24 +01:00
rcutree.h
rcuwait.h
reboot.h
reciprocal_div.h
refcount.h locking/refcounts: Add missing kernel.h header to have UINT_MAX defined 2017-02-24 09:02:10 +01:00
regmap.h
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h reset: add exported __reset_control_get, return NULL if optional 2017-04-04 17:36:10 +02:00
resource_ext.h
resource.h
restart_block.h
rfkill.h
rhashtable.h rhashtable: remove insecure_elasticity 2017-04-18 13:49:14 -04:00
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h mm: drop page_check_address{,_transhuge} 2017-02-24 17:46:55 -08:00
rmi.h
rndis.h
rodata_test.h mm: add arch-independent testcases for RODATA 2017-02-27 18:43:48 -08:00
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h Revert "rtnl: Add support for netdev event to link messages" 2017-04-09 14:45:21 -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
sbitmap.h
scatterlist.h
scc.h
sched_clock.h
sched.h cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups 2017-03-17 10:18:47 -04:00
scif.h
scpi_protocol.h
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2017-02-23 20:33:51 -08:00
sed-opal.h block/sed-opal: Introduce free_opal_dev to free the structure and clean up state 2017-02-23 11:55:41 -07:00
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6.h
selection.h
selinux.h
sem.h ipc/sem: add hysteresis 2017-02-27 18:43:46 -08:00
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock.h
seqno-fence.h
serdev.h serdev: add helpers for cts and rts handling 2017-04-12 22:12:17 +02:00
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 mm: remove shmem_mapping() shmem_zero_setup() duplicates 2017-02-24 17:46:56 -08:00
shrinker.h
signal_types.h signals: Move signal data types from <linux/signal.h> to <linux/signal_types.h> 2017-03-03 01:43:48 +01:00
signal.h signals: Move signal data types from <linux/signal.h> to <linux/signal_types.h> 2017-03-03 01:43:48 +01:00
signalfd.h sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h net: Add ESP offload features 2017-04-14 10:05:36 +02:00
slab_def.h
slab.h slab: remove synchronous synchronize_sched() from memcg cache deactivation path 2017-02-22 16:41:27 -08:00
slub_def.h slub: separate out sysfs_slab_release() from sysfs_slab_remove() 2017-02-22 16:41:27 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h Add a helper function to get socket cookie in eBPF 2017-03-23 17:01:02 -07:00
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
splice.h
spmi.h
sram.h
srcu.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h statx: Include a mask for stx_attributes in struct statx 2017-04-03 01:06:00 -04:00
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stm.h
stmmac.h net: stmmac: Use AVB mode by default 2017-03-22 12:15:15 -07:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h
string.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap_cgroup.h
swap_slots.h mm/swap: skip readahead only when swap slot cache is enabled 2017-02-22 16:41:30 -08:00
swap.h mm/swap: add cache for swap slots allocation 2017-02-22 16:41:30 -08:00
swapfile.h
swapops.h
swiotlb.h
sxgbe_platform.h
sync_file.h
synclink.h
sys_soc.h
sys.h
syscalls.h statx: Add a system call to make enhanced file info available 2017-03-02 20:51:15 -05: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 sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
tboot.h
tc.h
tca6416_keypad.h
tcp.h net/tcp_fastopen: Disable active side TFO in certain scenarios 2017-04-24 14:27:17 -04:00
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time64.h
time.h sched/headers, timekeeping: Move the timer tick function prototypes to <linux/timekeeping.h> 2017-03-03 01:45:25 +01:00
timecounter.h
timekeeper_internal.h
timekeeping.h sched/headers, timekeeping: Move the timer tick function prototypes to <linux/timekeeping.h> 2017-03-03 01:45:25 +01:00
timer.h sched/headers, timers: Remove the <linux/sysctl.h> include from <linux/timer.h> 2017-03-03 01:45:39 +01:00
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: add __print_flags_u64() 2017-02-22 16:41:26 -08:00
trace_seq.h
trace.h
tracefs.h
tracehook.h
tracepoint-defs.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 udp: use sk_protocol instead of pcflag to detect udplite sockets 2017-04-01 20:11:36 -07:00
uidgid.h
uinput.h
uio_driver.h
uio.h [iov_iter] new privimitive: iov_iter_revert() 2017-04-02 12:10:47 -04:00
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h ucount: Remove the atomicity from ucount->count 2017-03-06 15:26:37 -06:00
user-return-notifier.h
user.h
userfaultfd_k.h userfaultfd: non-cooperative: userfaultfd_remove revalidate vma in MADV_DONTNEED 2017-03-09 17:01:10 -08:00
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
verification.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: provide a method to get the IRQ affinity mask for a virtqueue 2017-02-27 20:54:05 +02:00
virtio_console.h
virtio_net.h
virtio_ring.h
virtio_vsock.h VSOCK: Add virtio vsock vsockmon hooks 2017-04-24 12:35:56 -04:00
virtio.h virtio: allow drivers to validate features 2017-04-07 16:38:59 +03:00
vlynq.h
vm_event_item.h mm/vmstats: add thp_split_pud event for clarity 2017-03-09 17:01:10 -08:00
vm_sockets.h
vmacache.h mm/vmacache, sched/headers: Introduce 'struct vmacache' and move it from <linux/sched.h> to <linux/mm_types> 2017-03-02 08:42:25 +01:00
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 sched/headers: fix up header file dependency on <linux/sched/signal.h> 2017-03-08 10:36:03 -08:00
wanrouter.h
watchdog.h watchdog: Introduce watchdog_stop_on_unregister helper 2017-02-24 14:00:23 -08:00
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h mm: vmscan: kick flushers when we encounter dirty pages on the LRU 2017-02-24 17:46:54 -08:00
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