twx-linux/include/linux
Vishwanath Pai bea74641e3 netfilter: xt_hashlimit: add rate match mode
This patch adds a new feature to hashlimit that allows matching on the
current packet/byte rate without rate limiting. This can be enabled
with a new flag --hashlimit-rate-match. The match returns true if the
current rate of packets is above/below the user specified value.

The main difference between the existing algorithm and the new one is
that the existing algorithm rate-limits the flow whereas the new
algorithm does not. Instead it *classifies* the flow based on whether
it is above or below a certain rate. I will demonstrate this with an
example below. Let us assume this rule:

iptables -A INPUT -m hashlimit --hashlimit-above 10/s -j new_chain

If the packet rate is 15/s, the existing algorithm would ACCEPT 10
packets every second and send 5 packets to "new_chain".

But with the new algorithm, as long as the rate of 15/s is sustained,
all packets will continue to match and every packet is sent to new_chain.

This new functionality will let us classify different flows based on
their current rate, so that further decisions can be made on them based on
what the current rate is.

This is how the new algorithm works:
We divide time into intervals of 1 (sec/min/hour) as specified by
the user. We keep track of the number of packets/bytes processed in the
current interval. After each interval we reset the counter to 0.

When we receive a packet for match, we look at the packet rate
during the current interval and the previous interval to make a
decision:

if [ prev_rate < user and cur_rate < user ]
        return Below
else
        return Above

Where cur_rate is the number of packets/bytes seen in the current
interval, prev is the number of packets/bytes seen in the previous
interval and 'user' is the rate specified by the user.

We also provide flexibility to the user for choosing the time
interval using the option --hashilmit-interval. For example the user can
keep a low rate like x/hour but still keep the interval as small as 1
second.

To preserve backwards compatibility we have to add this feature in a new
revision, so I've created revision 3 for hashlimit. The two new options
we add are:

--hashlimit-rate-match
--hashlimit-rate-interval

I have updated the help text to add these new options. Also added a few
tests for the new options.

Suggested-by: Igor Lubashev <ilubashe@akamai.com>
Reviewed-by: Josh Hunt <johunt@akamai.com>
Signed-off-by: Vishwanath Pai <vpai@akamai.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2017-09-04 12:54:42 +02:00
..
amba main drm pull for v4.13 2017-07-09 18:48:37 -07:00
avf i40e/i40evf: support for VF VLAN tag stripping control 2017-08-27 15:47:43 -07:00
bcma
byteorder
can
ceph libceph: make RECOVERY_DELETES feature create a new interval 2017-08-01 16:46:45 +02:00
clk
crush libceph: fallback for when there isn't a pool-specific choose_arg 2017-08-01 16:46:44 +02:00
decompress
dma
extcon
firmware/meson
fpga
fsl
gpio This is the bulk of GPIO changes for the v4.13 series: 2017-07-07 12:40:27 -07:00
hsi
i2c Merge branch 'i2c/for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2017-07-12 10:04:56 -07:00
iio PATCH] iio: Fix some documentation warnings 2017-08-20 15:21:46 +01:00
input
irqchip
isdn
lockd sunrpc: mark all struct svc_procinfo instances as const 2017-07-13 15:58:02 -04:00
mailbox
mfd chrome-platform-for-linus-4.13 2017-07-11 09:55:47 -07:00
mlx4 net/mlx4: Add user mac FW update support 2017-08-29 14:58:32 -07:00
mlx5 net/mlx5e: Refactor data-path lro header function 2017-09-03 06:34:09 +03:00
mmc brcmfmac: Add support for CYW4373 SDIO/USB chipset 2017-08-08 14:51:12 +03:00
mtd mtd: nand: Declare tBERS, tR and tPROG as u64 to avoid integer overflow 2017-08-02 10:26:42 +02:00
mux
netfilter netfilter: xt_hashlimit: add rate match mode 2017-09-04 12:54:42 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf drivers/perf: arm_pmu: Request PMU SPIs with IRQF_PER_CPU 2017-07-27 13:43:22 +01:00
phy phy: add sgmii and 10gkr modes to the phy_mode enum 2017-08-30 15:17:45 -07:00
pinctrl pinctrl: generic: update references to Documentation/pinctrl.txt 2017-08-07 15:26:34 +02:00
platform_data Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-15 20:23:23 -07:00
power
qed qed: enhanced per queue max coalesce value. 2017-07-27 00:05:22 -07:00
raid
regulator
remoteproc
reset
rpmsg
rtc
sched sock: ulimit on MSG_ZEROCOPY pages 2017-08-03 21:37:30 -07:00
soc Actions Semi SoC drivers for 4.13 2017-06-29 17:34:57 +02:00
spi This is the big bulk of pin control changes for the v4.13 series: 2017-07-06 11:38:59 -07:00
ssb
sunrpc Chuck's RDMA update overhauls the "call receive" side of the 2017-07-13 13:56:24 -07:00
ulpi
unaligned
usb USB fixes for 4.13-rc2 2017-07-22 08:55:16 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h tty: pl011: fix initialization order of QDF2400 E44 2017-07-30 07:53:44 -07: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
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
apple-gmux.h
arch_topology.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 libata: check for trusted computing in IDENTIFY DEVICE data 2017-08-29 08:33:24 -07:00
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h net, atm: convert atm_dev.refcnt from atomic_t to refcount_t 2017-07-04 22:35:16 +01:00
atmel_pdc.h
atmel_tc.h
atmel-mci.h
atmel-ssc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h writeback: rework wb_[dec|inc]_stat family of functions 2017-07-12 16:26:05 -07:00
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 randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
bio.h bio-integrity: stop abusing bi_end_io 2017-07-03 17:00:59 -06:00
bit_spinlock.h
bitfield.h
bitmap.h bitmap: use memcmp optimisation in more situations 2017-07-10 16:32:34 -07:00
bitops.h
bitrev.h
blk_types.h block: add support for write hints in a bio 2017-06-27 12:05:27 -06:00
blk-cgroup.h
blk-mq-pci.h
blk-mq-virtio.h
blk-mq.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-07-03 13:08:04 -07:00
blkdev.h bsg-lib: fix kernel panic resulting from missing allocation of reply-buffer 2017-08-24 08:22:10 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h mm: zero hash tables in allocator 2017-07-06 16:24:33 -07:00
bottom_half.h
bpf_trace.h
bpf_types.h bpf: sock_map fixes for !CONFIG_BPF_SYSCALL and !STREAM_PARSER 2017-08-16 15:34:13 -07:00
bpf_verifier.h bpf/verifier: document liveness analysis 2017-08-23 22:38:08 -07:00
bpf-cgroup.h bpf: check NULL for sk_to_full_sk() return value 2017-07-17 13:37:56 -07:00
bpf.h bpf: convert sockmap field attach_bpf_fd2 to type 2017-08-28 11:13:21 -07:00
brcmphy.h
bsearch.h
bsg-lib.h bsg-lib: fix kernel panic resulting from missing allocation of reply-buffer 2017-08-24 08:22:10 -06:00
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h Changes for 4.13: 2017-07-10 10:51:53 -07:00
bug.h bug: split BUILD_BUG stuff out into <linux/build_bug.h> 2017-07-10 16:32:34 -07:00
build_bug.h bug: split BUILD_BUG stuff out into <linux/build_bug.h> 2017-07-10 16:32:34 -07:00
bvec.h bio: add bvec_iter rewind API 2017-07-03 16:56:28 -06:00
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
cdrom.h
cfag12864b.h
cgroup_rdma.h
cgroup_subsys.h
cgroup-defs.h cgroup: implement "nsdelegate" mount option 2017-06-28 14:45:21 -04:00
cgroup.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h Small patch to add a clk_bulk_prepare_enable() and 2017-07-14 12:37:41 -07:00
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-07-03 16:14:51 -07:00
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
compaction.h
compat.h Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-07-06 20:57:13 -07:00
compiler-clang.h compiler, clang: always inline when CONFIG_OPTIMIZE_INLINING is disabled 2017-07-06 16:24:29 -07:00
compiler-gcc.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
compiler-intel.h
compiler.h include/linux/compiler.h: don't perform compiletime_assert with -O0 2017-08-31 16:33:15 -07: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 efi: parse ARM processor error 2017-06-22 15:43:47 +01:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h
cpufeature.h
cpufreq.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2017-07-14 13:12:32 -07:00
cpuhotplug.h scsi: bnx2i: Simplify cpu hotplug code 2017-07-26 21:51:25 -04:00
cpuidle.h
cpumask.h
cpuset.h cpuset: fix a deadlock due to incomplete patching of cpusets_enabled() 2017-08-02 17:16:12 -07:00
crash_core.h kdump: protect vmcoreinfo data under the crash memory 2017-07-12 16:26:00 -07:00
crash_dump.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h dm, dax: Make sure dm_dax_flush() is called if device supports it 2017-07-26 15:55:44 -04:00
dca.h
dcache.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dell-led.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h dm: fix printk() rate limiting code 2017-08-28 09:58:27 -04:00
device.h pinctrl: generic: update references to Documentation/pinctrl.txt 2017-08-07 15:26:34 +02:00
devpts_fs.h pty: Repair TIOCGPTPEER 2017-08-24 13:23:03 -07:00
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
dma-debug.h
dma-direction.h
dma-fence-array.h
dma-fence.h dma-buf/fence: Avoid use of uninitialised timestamp 2017-07-14 16:09:55 -03:00
dma-iommu.h
dma-mapping.h dma-coherent: introduce interface for default DMA pool 2017-07-20 16:09:10 +02:00
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
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
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
errseq.h lib: add errseq_t type and infrastructure for handling it 2017-07-06 07:02:24 -04:00
etherdevice.h
ethtool.h net: ethtool: Add macro to clear a link mode setting 2017-08-18 16:30:17 -07:00
eventfd.h
eventpoll.h kcmp: fs/epoll: wrap kcmp code with CONFIG_CHECKPOINT_RESTORE 2017-07-12 16:26:01 -07:00
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h lib/extable.c: use bsearch() library function in search_extable() 2017-07-10 16:32:35 -07:00
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h xdp: make generic xdp redirect use tracepoint trace_xdp_redirect 2017-08-24 11:59:36 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h binfmt_flat: flat_{get,put}_addr_from_rp() should be able to fail 2017-07-03 18:44:02 -04:00
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
fs_uart_pd.h
fs.h Clarify (and fix) MAX_LFS_FILESIZE macros 2017-08-27 12:12:25 -07:00
fscache-cache.h
fscache.h
fscrypt_common.h The first major feature for ext4 this merge window is the largedir 2017-07-09 09:31:22 -07:00
fscrypt_notsupp.h
fscrypt_supp.h fscrypt: inline fscrypt_free_filename() 2017-06-23 19:59:08 -04:00
fsi.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h
fsnotify.h dentry name snapshots 2017-07-07 20:09:10 -04:00
ftrace_irq.h
ftrace.h trace: fix the errors caused by incompatible type of RCU variables 2017-07-20 09:27:29 -04:00
futex.h
fwnode.h device property: Introduce fwnode_call_bool_op() for ops that return bool 2017-07-12 13:32:46 +02:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful semantic 2017-07-12 16:26:03 -07:00
glob.h
goldfish.h
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.h
hardirq.h
hash.h
hashtable.h hashtable: remove repeated phrase from a comment 2017-06-30 13:49:53 -07:00
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h Merge branches 'for-4.13/multitouch', 'for-4.13/retrode', 'for-4.13/transport-open-close-consolidation', 'for-4.13/upstream' and 'for-4.13/wacom' into for-linus 2017-07-10 11:11:25 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h nanosleep: Use get_timespec64() and put_timespec64() 2017-06-30 04:14:14 -04:00
htcpld.h
htirq.h
huge_mm.h mm: always enable thp for dax mappings 2017-07-10 16:32:31 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-07-15 12:00:42 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h vmbus: remove unused vmbus_sendpacket_ctl 2017-08-16 16:27:45 -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 i2c: rephrase explanation of I2C_CLASS_DEPRECATED 2017-07-31 17:33:53 +02:00
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h idr: Add new APIs to support unsigned long 2017-08-30 14:36:44 -07:00
ieee80211.h ieee80211: update public action codes 2017-06-30 09:47:24 +03: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 net: ipv4: add second dif to multicast source filter 2017-08-07 11:39:22 -07:00
ihex.h
ima.h ima: define is_ima_appraise_enabled() 2017-06-21 14:37:12 -04:00
imx-media.h
in6.h
in.h
inet_diag.h inet_diag: allow protocols to provide additional data 2017-09-01 18:38:09 -07:00
inet.h
inetdevice.h net: convert in_device.refcnt from atomic_t to refcount_t 2017-07-01 07:39:08 -07:00
init_ohci1394_dma.h
init_task.h sched/cputime: Move the vtime task fields to their own struct 2017-07-05 09:54:15 +02:00
init.h
initrd.h ARM: fix rd_size declaration 2017-07-10 16:32:34 -07:00
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-svm.h
interrupt.h Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-07-09 10:24:46 -07:00
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 Changes for 4.13: 2017-07-10 10:51:53 -07:00
iommu-common.h
iommu-helper.h
iommu.h iommu: Fix wrong freeing of iommu_device->dev 2017-08-15 13:58:48 +02:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
ipc.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h net: ipv6: add second dif to udp socket lookups 2017-08-07 11:39:22 -07:00
irq_cpustat.h
irq_poll.h
irq_work.h
irq.h genirq/cpuhotplug: Revert "Set force affinity flag on hotplug migration" 2017-07-27 15:40:02 +02:00
irqbypass.h
irqchip.h
irqdesc.h genirq: Add mutex to irq desc to serialize request/free_irq() 2017-07-04 12:46:16 +02:00
irqdomain.h genirq/irqdomain: Remove auto-recursive hierarchy support 2017-06-22 18:29:34 +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
jhash.h jhash: fix -Wimplicit-fallthrough warnings 2017-07-17 09:22:34 -07:00
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
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 kernel.h: handle pointers to arrays better in container_of() 2017-07-12 16:25:59 -07:00
kernelcapi.h
kernfs.h
kexec.h kdump: protect vmcoreinfo data under the crash memory 2017-07-12 16:26:00 -07:00
key-type.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
key.h There has been a fair amount of activity in the docs tree this time 2017-07-03 21:13:25 -07:00
keyboard.h
kfifo.h
kgdb.h
khugepaged.h mm: make PR_SET_THP_DISABLE immediately active 2017-07-10 16:32:31 -07:00
klist.h
kmemcheck.h
kmemleak.h mm: kmemleak: treat vm_struct as alternative reference to vmalloc'ed objects 2017-07-06 16:24:34 -07:00
kmod.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
kprobes.h kprobes: Rename [arch_]function_offset_within_entry() to [arch_]kprobe_on_func_entry() 2017-07-08 11:05:34 +02:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h kthread: fix documentation build warning 2017-08-02 16:34:47 -07:00
ktime.h Revert "ktime: Simplify ktime_compare implementation" 2017-06-26 10:39:40 +02:00
kvm_host.h KVM: avoid using rcu_dereference_protected 2017-08-02 22:41:02 +02: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 Revert "libata: quirk read log on no-name M.2 SSD" 2017-08-29 08:36:58 -07:00
libfdt_env.h
libfdt.h
libnvdimm.h Merge branch 'for-4.13/dax' into libnvdimm-for-next 2017-07-03 16:54:58 -07:00
libps2.h
license.h
lightnvm.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h mm/list_lru.c: fix list_lru_count_node() to be race free 2017-07-10 16:32:33 -07:00
list_nulls.h
list_sort.h
list.h
livepatch.h
llc.h
llist.h llist: clang: introduce member_address_is_nonnull() 2017-07-19 15:33:50 -07:00
lockdep.h
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h mbcache: make mbcache naming more generic 2017-06-22 10:29:53 -04:00
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h mm: discard memblock data later 2017-08-18 15:32:01 -07:00
memcontrol.h mm: memcontrol: fix NULL pointer crash in test_clear_page_writeback() 2017-08-18 15:32:01 -07:00
memory_hotplug.h mm, memory_hotplug: move movable_node to the hotplug proper 2017-07-06 16:24:35 -07:00
memory.h
mempolicy.h mm, mempolicy: simplify rebinding mempolicies when updating cpusets 2017-07-06 16:24:34 -07:00
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h mm, migration: do not trigger OOM killer when migrating memory 2017-07-12 16:26:04 -07:00
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types_task.h
mm_types.h mm: fix MADV_[FREE|DONTNEED] TLB flush miss problem 2017-08-10 15:54:07 -07:00
mm-arch-hooks.h
mm.h dax: update to new mmu_notifier semantic 2017-08-31 16:12:59 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm/mmu_notifier: kill invalidate_page 2017-08-31 16:13:00 -07:00
mmzone.h mm: disallow early_pfn_to_nid on configurations which do not implement it 2017-07-10 16:32:33 -07:00
mnt_namespace.h
mod_devicetable.h
module.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
moduleloader.h
moduleparam.h moduleparam: fix doc: hwparam_irq configures an IRQ 2017-07-02 15:37:23 -07:00
mount.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute6.h
mroute.h
msdos_fs.h
msg.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
msi.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h libnvdimm, btt: BTT updates for UEFI 2.7 format 2017-06-29 13:50:38 -07:00
net.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-15 20:23:23 -07:00
netdev_features.h net: add new netdevice feature for offload of RX port for UDP tunnels 2017-07-24 13:52:59 -07:00
netdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2017-09-03 17:08:42 -07:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h netfilter: convert hook list to an array 2017-08-28 17:44:00 +02:00
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h netfilter: convert hook list to an array 2017-08-28 17:44:00 +02:00
netlink.h
netpoll.h net: convert netpoll_info.refcnt from atomic_t to refcount_t 2017-07-01 07:39:08 -07:00
nfs3.h
nfs4.h nfs4: add NFSv4 LOOKUPP handlers 2017-07-13 16:00:15 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFSv4.1: Handle EXCHGID4_FLAG_CONFIRMED_R during NFSv4.1 migration 2017-07-13 16:00:12 -04:00
nfs_fs.h NFS: Store the raw NFS access mask in the inode's access cache 2017-07-21 11:51:19 -04:00
nfs_iostat.h
nfs_page.h NFS: Don't run wake_up_bit() when nobody is waiting... 2017-07-13 17:12:07 -04:00
nfs_xdr.h NFSv4: Fix EXCHANGE_ID corrupt verifier issue 2017-08-01 16:28:55 -04:00
nfs.h
nfsacl.h
nl802154.h
nls.h
nmi.h kernel/watchdog: Prevent false positives with turbo modes 2017-08-18 12:35:02 +02:00
node.h mm, memory_hotplug: split up register_one_node() 2017-07-06 16:24:32 -07:00
nodemask.h mm, memory_hotplug: drop CONFIG_MOVABLE_NODE 2017-07-06 16:24:35 -07:00
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h NTB: Add ntb.h comments 2017-07-06 11:30:07 -04:00
nubus.h
numa.h
nvme-fc-driver.h nvmet_fc: add defer_req callback for deferment of cmd buffer return 2017-08-10 11:06:38 +02:00
nvme-fc.h nvme-fc: revise TRADDR parsing 2017-07-25 18:05:25 +02:00
nvme-rdma.h
nvme.h nvme: fix the definition of the doorbell buffer config support bit 2017-08-30 14:46:32 +02:00
nvmem-consumer.h
nvmem-provider.h nvmem: include linux/err.h from header 2017-07-10 14:27:39 +02:00
nvram.h
of_address.h
of_device.h
of_dma.h
of_fdt.h of: make of_fdt_is_compatible() static 2017-06-22 11:14:48 -05:00
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h Device properties framework updates for v4.13-rc1 2017-07-10 15:23:45 -07:00
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h mm, oom: fix potential data corruption when oom_reaper races with writer 2017-08-18 15:32:01 -07: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 include/linux/page_ref.h: ensure page_ref_unfreeze is ordered against prior accesses 2017-07-10 16:32:31 -07:00
page-flags-layout.h
page-flags.h mm, THP, swap: delay splitting THP during swap out 2017-07-06 16:24:31 -07:00
page-isolation.h
pageblock-flags.h
pagemap.h mm: allow page_cache_get_speculative in interrupt context 2017-08-02 17:16:13 -07:00
pagevec.h
parman.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
pch_dma.h
pci_hotplug.h
pci_ids.h PCI: tango: Add Sigma Designs Tango SMP8759 PCIe host bridge support 2017-07-07 13:41:28 -05:00
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h
pci-dma.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-15 18:52:28 -07:00
pcieport_if.h
pda_power.h
pe.h
percpu_counter.h
percpu_ida.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event.h perf/x86: Fix RDPMC vs. mm_struct tracking 2017-08-10 12:01:08 +02:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h phylink: add phylink infrastructure 2017-08-06 20:55:29 -07:00
phylink.h phylink: add module EEPROM support 2017-08-06 20:55:29 -07:00
pid_namespace.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
pid.h pids: make task_tgid_nr_ns() safe 2017-08-21 12:47:31 -07:00
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h platform: Accept const properties 2017-07-03 08:31:43 +02:00
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h PM / OPP: Add dev_pm_opp_{set|put}_clkname() 2017-06-24 01:41:55 +02:00
pm_qos.h
pm_runtime.h PM / core: Drop run_wake flag from struct dev_pm_info 2017-06-28 01:52:52 +02:00
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h PM / core: Drop run_wake flag from struct dev_pm_info 2017-06-28 01:52:52 +02:00
pmbus.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 time: introduce {get,put}_itimerspec64 2017-06-25 21:58:46 -04:00
power_supply.h
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
pr.h
preempt.h
prefetch.h
prime_numbers.h
printk.h
proc_fs.h
proc_ns.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
processor.h spin loop primitives for busy waiting 2017-06-28 22:49:11 +10:00
profile.h
projid.h
property.h device property: Add fwnode_graph_get_port_parent 2017-06-22 02:55:34 +02:00
psci.h
pstore_ram.h
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h ptp: introduce ptp auxiliary worker 2017-08-01 15:22:55 -07:00
ptr_ring.h ptr_ring: use kmalloc_array() 2017-08-16 16:28:47 -07:00
ptrace.h m68k updates for 4.13 2017-07-03 15:12:52 -07:00
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h quota: add get_inode_usage callback to transfer multi-inode charges 2017-06-22 11:46:48 -04:00
quotaops.h
radix-tree.h idr: Add new APIs to support unsigned long 2017-08-30 14:36:44 -07:00
raid_class.h
ramfs.h
random.h Add wait_for_random_bytes() and get_random_*_wait() functions so that 2017-07-15 12:44:02 -07:00
range.h
ras.h ras: mark stub functions as 'inline' 2017-06-29 10:48:57 +01:00
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_wait.h
rcupdate.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h locking/refcount: Remove the half-implemented refcount_sub() API 2017-07-02 11:24:36 +02:00
regmap.h Merge remote-tracking branches 'regmap/topic/1wire', 'regmap/topic/irq' and 'regmap/topic/lzo' into regmap-next 2017-07-03 16:20:28 +01:00
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
rfkill.h
rhashtable.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h rtc: Remove wrong deprecation comment 2017-07-12 23:11:23 +02:00
rtmutex.h
rtnetlink.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
s3c_adc_battery.h
sa11x0-dma.h
sbitmap.h
scatterlist.h
scc.h
sched_clock.h
sched.h pids: make task_tgid_nr_ns() safe 2017-08-21 12:47:31 -07:00
scif.h
scpi_protocol.h
screen_info.h
sctp.h sctp: remove the typedef sctp_auth_chunk_t 2017-08-03 09:45:47 -07:00
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'stable-4.13' of git://git.infradead.org/users/pcmoore/selinux into next 2017-06-23 11:55:57 +10:00
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h ipv6: sr: define core operations for seg6local lightweight tunnel 2017-08-07 14:16:22 -07:00
seg6.h
selection.h
selinux.h
sem.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock.h
seqno-fence.h
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
set_memory.h provide linux/set_memory.h 2017-07-06 16:24:30 -07:00
sfi_acpi.h
sfi.h
sfp.h sfp: add sfp-bus to bridge between network devices and sfp cages 2017-08-06 20:55:29 -07:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
shmem_fs.h
shrinker.h
signal_types.h
signal.h Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-07-06 20:57:13 -07:00
signalfd.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h ptr_ring: use kmalloc_array() 2017-08-16 16:28:47 -07:00
skbuff.h net: convert (struct ubuf_info)->refcnt to refcount_t 2017-09-01 20:22:03 -07:00
slab_def.h
slab.h mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful semantic 2017-07-12 16:26:03 -07:00
slub_def.h mm/slub.c: wrap kmem_cache->cpu_partial in config CONFIG_SLUB_CPU_PARTIAL 2017-07-06 16:24:30 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h sock: add MSG_ZEROCOPY 2017-08-03 21:37:29 -07:00
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
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h
string.h Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-07-15 12:00:42 -07:00
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 mm, THP, swap: delay splitting THP during swap out 2017-07-06 16:24:31 -07:00
swap_slots.h
swap.h mm: swap: provide lru_add_drain_all_cpuslocked() 2017-07-10 16:32:33 -07:00
swapfile.h
swapops.h mm: hwpoison: change PageHWPoison behavior on hugetlb pages 2017-07-10 16:32:30 -07:00
swiotlb.h
sxgbe_platform.h
sync_file.h dma-buf/sync_file: Allow multiple sync_files to wrap a single dma-fence 2017-07-31 10:55:24 -03:00
synclink.h
sys_soc.h
sys.h
syscalls.h bpf: add support for sys_enter_* and sys_exit_* tracepoints 2017-08-07 14:09:48 -07:00
syscore_ops.h
sysctl.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h t10-pi: Move opencoded contants to common header 2017-07-03 16:56:25 -06:00
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: Revert "tcp: remove header prediction" 2017-08-30 11:20:09 -07:00
tee_drv.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h copy_{to,from}_user(): consolidate object size checks 2017-06-29 22:21:21 -04:00
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time64.h
time.h Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-07-06 20:57:13 -07:00
timecounter.h
timekeeper_internal.h time: Clean up CLOCK_MONOTONIC_RAW time handling 2017-06-20 22:13:59 -07:00
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h bpf/verifier: track signed and unsigned min/max values 2017-08-08 17:51:34 -07:00
topology.h
torture.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_events.h trace: fix the errors caused by incompatible type of RCU variables 2017-07-20 09:27:29 -04:00
trace_seq.h
trace.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty_driver.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
tty_flip.h
tty_ldisc.h
tty.h Now that IPC and other changes have landed, enable manual markings for 2017-07-19 08:55:18 -07:00
typecheck.h
types.h
u64_stats_sync.h
uaccess.h Merge branch 'work.__copy_in_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-07-08 10:15:02 -07:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio_driver.h
uio.h fix brown paperbag bug in inlined copy_..._iter() 2017-07-10 07:40:49 -04:00
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
user-return-notifier.h
user.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h randstruct: Mark various structs for randomization 2017-06-30 12:00:51 -07:00
uuid.h uuid: remove uuid_be 2017-07-24 17:50:37 +02:00
uwb.h
verification.h
vermagic.h gcc-plugins: Add the randstruct plugin 2017-06-22 16:15:45 -07:00
vexpress.h
vfio.h include/linux/vfio.h: Guard powerpc-specific functions with CONFIG_VFIO_SPAPR_EEH 2017-07-26 13:30:23 -06:00
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_net.h net: Remove all references to SKB_GSO_UDP. 2017-07-17 09:52:58 -07:00
virtio_ring.h
virtio_vsock.h
virtio.h
vlynq.h
vm_event_item.h mm/oom_kill: count global and memory cgroup oom kills 2017-07-06 16:24:35 -07:00
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h mm: memcontrol: per-lruvec stats infrastructure 2017-07-06 16:24:35 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h vtime, sched/cputime: Remove vtime_account_user() 2017-07-05 09:54:14 +02:00
w1-gpio.h
w1.h
wait_bit.h
wait.h wait: add wait_event_killable_timeout() 2017-08-18 15:32:01 -07:00
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h workqueue: implicit ordered attribute should be overridable 2017-07-25 13:28:56 -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