lineage_android_kernel_xiao.../include/linux
Dmitry Vyukov 5c9a8750a6 kernel: add kcov code coverage
kcov provides code coverage collection for coverage-guided fuzzing
(randomized testing).  Coverage-guided fuzzing is a testing technique
that uses coverage feedback to determine new interesting inputs to a
system.  A notable user-space example is AFL
(http://lcamtuf.coredump.cx/afl/).  However, this technique is not
widely used for kernel testing due to missing compiler and kernel
support.

kcov does not aim to collect as much coverage as possible.  It aims to
collect more or less stable coverage that is function of syscall inputs.
To achieve this goal it does not collect coverage in soft/hard
interrupts and instrumentation of some inherently non-deterministic or
non-interesting parts of kernel is disbled (e.g.  scheduler, locking).

Currently there is a single coverage collection mode (tracing), but the
API anticipates additional collection modes.  Initially I also
implemented a second mode which exposes coverage in a fixed-size hash
table of counters (what Quentin used in his original patch).  I've
dropped the second mode for simplicity.

This patch adds the necessary support on kernel side.  The complimentary
compiler support was added in gcc revision 231296.

We've used this support to build syzkaller system call fuzzer, which has
found 90 kernel bugs in just 2 months:

  https://github.com/google/syzkaller/wiki/Found-Bugs

We've also found 30+ bugs in our internal systems with syzkaller.
Another (yet unexplored) direction where kcov coverage would greatly
help is more traditional "blob mutation".  For example, mounting a
random blob as a filesystem, or receiving a random blob over wire.

Why not gcov.  Typical fuzzing loop looks as follows: (1) reset
coverage, (2) execute a bit of code, (3) collect coverage, repeat.  A
typical coverage can be just a dozen of basic blocks (e.g.  an invalid
input).  In such context gcov becomes prohibitively expensive as
reset/collect coverage steps depend on total number of basic
blocks/edges in program (in case of kernel it is about 2M).  Cost of
kcov depends only on number of executed basic blocks/edges.  On top of
that, kernel requires per-thread coverage because there are always
background threads and unrelated processes that also produce coverage.
With inlined gcov instrumentation per-thread coverage is not possible.

kcov exposes kernel PCs and control flow to user-space which is
insecure.  But debugfs should not be mapped as user accessible.

Based on a patch by Quentin Casasnovas.

[akpm@linux-foundation.org: make task_struct.kcov_mode have type `enum kcov_mode']
[akpm@linux-foundation.org: unbreak allmodconfig]
[akpm@linux-foundation.org: follow x86 Makefile layout standards]
Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Cc: syzkaller <syzkaller@googlegroups.com>
Cc: Vegard Nossum <vegard.nossum@oracle.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Tavis Ormandy <taviso@google.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
Cc: Kostya Serebryany <kcc@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Kees Cook <keescook@google.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Cc: David Drysdale <drysdale@google.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-03-22 15:36:02 -07:00
..
amba
bcma bcma: move parallel flash support to separated file 2016-03-07 14:41:08 +02:00
byteorder
can
ceph ceph: initial CEPH_FEATURE_FS_FILE_LAYOUT_V2 support 2016-03-04 21:00:37 +01:00
clk
crush
decompress
dma
extcon
fpga
fsl powerpc/rcpm: add RCPM driver 2016-03-04 23:50:27 -06:00
gpio
hsi
i2c
iio
input
irqchip MIPS: Make smp CMP, CPS and MT use the new generic IPI functions 2016-02-25 10:56:58 +01:00
isdn
lockd
mfd MMC core: 2016-03-21 14:35:52 -07:00
mlx4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2016-03-19 10:05:34 -07:00
mlx5 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2016-03-19 10:05:34 -07:00
mmc mmc: dw_mmc: remove DW_MCI_QUIRK_BROKEN_CARD_DETECTION quirk 2016-02-29 11:03:10 +01:00
mtd
netfilter netfilter: xtables: don't hook tables by default 2016-03-02 20:05:24 +01:00
netfilter_arp netfilter: xtables: prepare for on-demand hook register 2016-03-02 20:05:23 +01:00
netfilter_bridge
netfilter_ipv4 netfilter: xtables: prepare for on-demand hook register 2016-03-02 20:05:23 +01:00
netfilter_ipv6 netfilter: xtables: prepare for on-demand hook register 2016-03-02 20:05:23 +01:00
perf drivers/perf: arm_pmu: implement CPU_PM notifier 2016-02-26 14:37:06 +00:00
phy
pinctrl
platform_data ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
power power supply and reset changes for the v4.6 series 2016-03-17 12:50:55 -07:00
qed qed/qede: Add infrastructure support for hardware GRO 2016-03-07 15:01:39 -05:00
raid
regulator Merge remote-tracking branches 'regulator/topic/discharge', 'regulator/topic/fan53555', 'regulator/topic/gpio', 'regulator/topic/hi655x' and 'regulator/topic/lp872x' into regulator-next 2016-03-13 15:19:35 +07:00
reset
rtc
sched mm: move max_map_count bits into mm.h 2016-03-17 15:09:34 -07:00
soc ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
spi Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2016-03-17 21:51:52 -07:00
ssb
sunrpc
ulpi
unaligned include/linux/unaligned: force inlining of byteswap operations 2016-03-17 15:09:34 -07:00
usb USB: core: let USB device know device node 2016-03-05 12:05:01 -08:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
acpi_dma.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arm-cci.h
arm-smccc.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atmel_serial.h tty/serial: at91: fix bad offset for UART timeout register 2016-03-07 16:11:14 -08:00
atmel_tc.h
atomic.h powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
attribute_container.h
audit.h
auto_dev-ioctl.h autofs4: fix string.h include in auto_dev-ioctl.h 2016-03-15 16:55:16 -07:00
auto_fs.h autofs4: coding style fixes 2016-03-15 16:55:16 -07:00
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
bfin_mac.h
binfmts.h
bio.h block: don't optimize for non-cloned bio in bio_get_last_bvec() 2016-03-12 14:12:10 -07:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk-cgroup.h
blk-mq.h
blk_types.h
blkdev.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-03-19 18:52:29 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf.h bpf: convert stackmap to pre-allocation 2016-03-08 15:28:31 -05:00
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h bufferhead: force inlining of buffer head flag operations 2016-03-17 15:09:34 -07:00
bug.h mm: Some arch may want to use HPAGE_PMD related values as variables 2016-03-03 21:18:29 +11:00
c2port.h
cache.h
cacheinfo.h
capability.h cred/userns: define current_user_ns() as a function 2016-03-22 15:36:02 -07:00
cb710.h
cciss_ioctl.h
ccp.h crypto: ccp - CCP versioning support 2016-03-11 21:19:16 +08:00
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h cgroup: ignore css_sets associated with dead cgroups during migration 2016-03-16 13:31:46 -07:00
cgroup.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h clocksource: Introduce clocksource_freq2mult() 2016-02-27 08:55:30 +01:00
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h mm, compaction: introduce kcompactd 2016-03-17 15:09:34 -07:00
compat.h compat: add in_compat_syscall to ask whether we're in a compat syscall 2016-03-22 15:36:02 -07:00
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h Merge commit 'fixes.2015.02.23a' into core/rcu 2016-03-15 09:01:06 +01:00
completion.h
component.h
concap.h
configfs.h configfs: switch ->default groups to a linked list 2016-03-06 16:11:24 +01:00
connector.h
console.h
console_struct.h
consolemap.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h
coresight.h
count_zeros.h
cper.h
cpu.h rcu: Make CPU_DYING_IDLE an explicit call 2016-03-01 20:36:58 +01:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq-dt.h
cpufreq.h Merge branch 'pm-cpufreq-governor' into pm-cpufreq 2016-03-10 20:46:03 +01:00
cpuhotplug.h cpu/hotplug: Make wait for dead cpu completion based 2016-03-01 20:36:58 +01:00
cpuidle.h
cpumask.h cpumask: remove incorrect information from comment 2016-03-22 15:36:02 -07:00
cpuset.h
cputime.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h cred/userns: define current_user_ns() as a function 2016-03-22 15:36:02 -07:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h misc: at24: replace memory_accessor with nvmem_device_read 2016-03-01 16:55:48 -08:00
dax.h dax: move writeback calls into the filesystems 2016-02-27 10:28:52 -08:00
dca.h
dcache.h Merge tag 'for-f2fs-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs 2016-03-21 11:03:02 -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-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h dm snapshot: disallow the COW and origin devices from being identical 2016-03-10 17:12:09 -05:00
device.h Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-iommu.h
dma-mapping.h virtio/vhost: new features, performance improvements, cleanups 2016-03-20 13:28:18 -07:00
dma_remapping.h
dmaengine.h Merge branch 'topic/pl330' into for-linus 2016-03-14 11:18:12 +05:30
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-20 18:58:18 -07:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h net: ethtool: remove unused __ethtool_get_settings 2016-02-25 22:06:47 -05:00
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h staging/lustre: proper support of NFS anonymous dentries 2016-02-25 22:12:26 -08:00
ext2_fs.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h mm: fault-inject take over bootstrap kmem_cache check 2016-03-15 16:55:16 -07:00
fb.h fbdev: kill fb_rotate 2016-02-26 13:28:35 +02:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fence.h
file.h
filter.h
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: Add STACK_FRAME_NON_STANDARD() macro 2016-02-29 08:35:10 +01:00
freezer.h timer: convert timer_slack_ns from unsigned long to u64 2016-03-17 15:09:34 -07:00
frontswap.h
fs.h fs/coredump: prevent fsuid=0 dumps into user-controlled directories 2016-03-22 15:36:02 -07:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypto.h Merge tag 'for-f2fs-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs 2016-03-21 11:03:02 -07:00
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h untangle fsnotify_d_instantiate() a bit 2016-03-14 00:17:28 -04:00
fsnotify_backend.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-03-19 18:52:29 -07:00
ftrace.h sched/debug: Fix preempt_disable_ip recording for preempt_disable() 2016-02-29 09:53:10 +01:00
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: exclude ZONE_DEVICE from GFP_ZONE_TABLE 2016-03-17 15:09:34 -07:00
glob.h
goldfish.h
gpio-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h timer: convert timer_slack_ns from unsigned long to u64 2016-03-17 15:09:34 -07:00
htcpld.h
htirq.h
huge_mm.h powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
hugetlb.h
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h Drivers: hv: util: Pass the channel information during the init call 2016-03-01 16:57:20 -08: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
ieee802154.h
if_arp.h
if_bridge.h bridge: allow zero ageing time 2016-03-11 14:58:58 -05:00
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
ihex.h
ima.h
in.h
in6.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-svm.h
intel_pmic_gpio.h
interrupt.h x86/ACPI/PCI: Recognize that Interrupt Line 255 means "not connected" 2016-03-09 01:23:35 +01:00
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-common.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h libnvdimm for 4.6 2016-03-16 17:45:56 -07:00
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h net: ipv6: Make address flushing on ifdown optional 2016-02-25 21:45:15 -05:00
ipv6_route.h
irq.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 12:48:48 -07:00
irq_cpustat.h
irq_poll.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h Staging driver patches for 4.6-rc1 2016-03-17 22:13:41 -07:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h iscsi_ibft: Add prefix-len attr and display netmask 2016-03-14 10:30:57 -04:00
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan.h kasan: add functions to clear stack poison 2016-03-09 15:43:42 -08:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h kernel: add kcov code coverage 2016-03-22 15:36:02 -07:00
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h panic: change nmi_panic from macro to function 2016-03-22 15:36:02 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h KVM: Use simple waitqueue for vcpu->wq 2016-02-25 11:27:16 +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-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h leds: core: avoid error message when a USB LED device is unplugged 2016-03-14 09:22:20 +01:00
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h libata: Align ata_device's id on a cacheline 2016-02-25 16:37:06 -05:00
libfdt.h
libfdt_env.h
libnvdimm.h nfit: disable userspace initiated ars during scrub 2016-03-05 12:24:06 -08:00
libps2.h
license.h
lightnvm.h Merge branch 'for-4.6/drivers' of git://git.kernel.dk/linux-block 2016-03-18 17:13:31 -07:00
linkage.h
linux_logo.h
lis3lv02d.h
list.h list: kill list_force_poison() 2016-03-09 15:43:42 -08:00
list_bl.h include/linux/list_bl.h: use bool instead of int for boolean functions 2016-03-17 15:09:34 -07:00
list_lru.h
list_nulls.h
list_sort.h
livepatch.h livepatch/module: remove livepatch module notifier 2016-03-17 09:45:10 +01:00
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
mISDNdsp.h
mISDNhw.h
mISDNif.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h bus: mvebu-mbus: provide api for obtaining IO and DRAM window information 2016-03-14 12:19:46 -04:00
mc6821.h
mc146818rtc.h
mcb.h
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h
memcontrol.h mm: workingset: make shadow node shrinker memcg aware 2016-03-17 15:09:34 -07:00
memory.h Char/Misc patches for 4.6-rc1 2016-03-17 13:47:50 -07:00
memory_hotplug.h mm/compaction: speed up pageblock_pfn_to_page() when zone is contiguous 2016-03-15 16:55:16 -07:00
mempolicy.h
mempool.h
memremap.h
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h mm, page_owner: track and print last migrate reason 2016-03-15 16:55:16 -07:00
migrate_mode.h
mii.h
miscdevice.h
mm-arch-hooks.h
mm.h Merge branch 'mm-pkeys-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-20 19:08:56 -07:00
mm_inline.h
mm_types.h
mman.h
mmdebug.h mm, debug: move bad flags printing to bad_page() 2016-03-15 16:55:16 -07:00
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm: scale kswapd watermarks in proportion to memory 2016-03-17 15:09:34 -07:00
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h namei: teach lookup_slow() to skip revalidate 2016-03-14 00:15:46 -04:00
nd.h libnvdimm: async notification support 2016-03-05 12:24:06 -08:00
net.h net: Make sock_alloc exportable 2016-03-09 16:36:13 -05:00
netdev_features.h
netdevice.h net: add MACsec netdevice priv_flags and helper 2016-03-13 22:40:24 -04:00
netfilter.h netfilter: don't call hooks unless needed 2016-03-02 20:05:26 +01:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h rcu: Make CPU_DYING_IDLE an explicit call 2016-03-01 20:36:58 +01:00
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme.h
nvmem-consumer.h
nvmem-provider.h nvmem: Add backwards compatibility support for older EEPROM drivers. 2016-03-01 16:55:48 -08:00
nvram.h
of.h DeviceTree updates for 4.6: 2016-03-19 15:15:07 -07:00
of_address.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
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
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page-flags-layout.h mm: exclude ZONE_DEVICE from GFP_ZONE_TABLE 2016-03-17 15:09:34 -07:00
page-flags.h include/linux/page-flags.h: force inlining of selected page flag modifications 2016-03-17 15:09:34 -07:00
page-isolation.h
page_counter.h
page_ext.h mm, page_owner: track and print last migrate reason 2016-03-15 16:55:16 -07:00
page_idle.h
page_owner.h mm, page_owner: dump page owner info from dump_page() 2016-03-15 16:55:16 -07:00
page_ref.h mm/page_ref: add tracepoint to track down page reference manipulation 2016-03-17 15:09:34 -07:00
pageblock-flags.h
pagemap.h mm: introduce page reference manipulation functions 2016-03-17 15:09:34 -07:00
pagevec.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h PCI: Consolidate PCI DMA constants and interfaces in linux/pci-dma-compat.h 2016-03-07 11:39:16 -06:00
pci-dma.h
pci.h powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
pci_hotplug.h
pci_ids.h PCI: Add PCI_CLASS_SERIAL_USB_DEVICE definition 2016-03-15 08:52:28 -05:00
pcieport_if.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
percpu_ida.h
perf_event.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2016-03-19 10:05:34 -07:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h phy: remove documentation of removed members of phy_device structure 2016-03-13 22:11:43 -04:00
phy_fixed.h phy: fixed: Fix removal of phys. 2016-03-14 15:43:11 -04:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmem.h libnvdimm, pmem: clear poison on write 2016-03-09 15:15:32 -08:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h mm/page_poisoning.c: allow for zero poisoning 2016-03-15 16:55:16 -07:00
poll.h timer: convert timer_slack_ns from unsigned long to u64 2016-03-17 15:09:34 -07:00
posix-clock.h
posix-timers.h posix-cpu-timers: Migrate to use new tick dependency mask model 2016-03-02 16:44:27 +01:00
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h time: Remove duplicated code in ktime_get_raw_and_real() 2016-03-02 17:13:02 -08:00
pr.h
preempt.h
prefetch.h
printk.h
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h
proportions.h
psci.h
pstore.h
pstore_ram.h pstore: Add support for 64 Bit address space 2016-03-10 09:43:36 -08:00
pti.h
ptp_classify.h
ptp_clock_kernel.h ptp: Add PTP_SYS_OFFSET_PRECISE for driver crosstimestamping 2016-03-03 14:23:43 -08:00
ptrace.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h fix Christoph's email addresses 2016-03-17 15:09:34 -07:00
quota.h
quotaops.h
radix-tree.h radix-tree,shmem: introduce radix_tree_iter_next() 2016-03-17 15:09:34 -07:00
raid_class.h
ramfs.h
random.h drivers: char: random: add get_random_long() 2016-02-27 10:28:52 -08:00
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_sync.h
rculist.h rcu: Add list_next_or_null_rcu 2016-03-09 16:36:13 -05:00
rculist_bl.h
rculist_nulls.h
rcupdate.h Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 13:50:29 -07:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h Merge remote-tracking branch 'regmap/topic/update-bits' into regmap-next 2016-03-05 21:30:41 +09:00
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource.h
resource_ext.h
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
rio.h rapidio: add outbound window support 2016-03-22 15:36:02 -07:00
rio_drv.h rapidio: add outbound window support 2016-03-22 15:36:02 -07:00
rio_ids.h
rio_mport_cdev.h rapidio: add mport char device driver 2016-03-22 15:36:02 -07:00
rio_regs.h rapidio: add query_mport operation 2016-03-22 15:36:02 -07:00
rmap.h mm: make remove_migration_ptes() beyond mm/migration.c 2016-03-17 15:09:34 -07:00
rmi.h Input: synaptics-rmi4 - add SPI transport driver 2016-03-10 16:04:24 -08:00
rndis.h
root_dev.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h rtc: Add functions to set and read rtc offset 2016-03-14 17:08:15 +01:00
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched.h kernel: add kcov code coverage 2016-03-22 15:36:02 -07:00
sched_clock.h
scif.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-03-08 12:34:12 -05:00
slab.h slub: convert SLAB_DEBUG_FREE to SLAB_CONSISTENCY_CHECKS 2016-03-15 16:55:16 -07:00
slab_def.h mm/slab: alternative implementation for DEBUG_SLAB_LEAK 2016-03-15 16:55:16 -07:00
slub_def.h mm/slub: support left redzone 2016-03-15 16:55:16 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h kcm: Kernel Connection Multiplexor module 2016-03-09 16:36:14 -05:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
srcu.h
ssbi.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stm.h
stmmac.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-03-08 12:34:12 -05:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h lib: move strtobool() to kstrtobool() 2016-03-17 15:09:34 -07:00
string_helpers.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 wait.[ch]: Introduce the simple waitqueue (swait) implementation 2016-02-25 11:27:16 +01:00
swap.h
swap_cgroup.h
swapfile.h
swapops.h
swiotlb.h
sxgbe_platform.h
synclink.h
sys.h
sys_soc.h
syscalls.h vfs: vfs: Define new syscalls preadv2,pwritev2 2016-03-04 12:20:10 -05:00
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: Add RFC4898 tcpEStatsPerfDataSegsOut/In 2016-03-14 14:55:26 -04:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h param: convert some "on"/"off" users to strtobool 2016-03-17 15:09:34 -07:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time64.h
timecounter.h
timekeeper_internal.h time: Add history to cross timestamp interface supporting slower devices 2016-03-02 17:13:17 -08:00
timekeeping.h time: Add history to cross timestamp interface supporting slower devices 2016-03-02 17:13:17 -08:00
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_events.h tracepoints: move trace_print_flags definitions to tracepoint-defs.h 2016-03-15 16:55:16 -07:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h tracepoints: move trace_print_flags definitions to tracepoint-defs.h 2016-03-15 16:55:16 -07:00
tracepoint.h tracing: Fix check for cpu online when event is disabled 2016-03-09 11:58:41 -05:00
transport_class.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio.h
uio_driver.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.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-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio: Add improved queue allocation API 2016-03-02 17:01:57 +02:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h virtio: Add improved queue allocation API 2016-03-02 17:01:57 +02:00
vlynq.h
vm_event_item.h thp, vmstats: count deferred split events 2016-03-17 15:09:34 -07:00
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h watchdog: Add support for minimum time between heartbeats 2016-03-16 21:11:19 +01:00
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h writeback: flush inode cgroup wb switches instead of pinning super_block 2016-03-03 14:42:50 -07: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