Centos-kernel-stream-9/include/linux
Andrey Konovalov 0116523cff kasan, mm: change hooks signatures
Patch series "kasan: add software tag-based mode for arm64", v13.

This patchset adds a new software tag-based mode to KASAN [1].  (Initially
this mode was called KHWASAN, but it got renamed, see the naming rationale
at the end of this section).

The plan is to implement HWASan [2] for the kernel with the incentive,
that it's going to have comparable to KASAN performance, but in the same
time consume much less memory, trading that off for somewhat imprecise bug
detection and being supported only for arm64.

The underlying ideas of the approach used by software tag-based KASAN are:

1. By using the Top Byte Ignore (TBI) arm64 CPU feature, we can store
   pointer tags in the top byte of each kernel pointer.

2. Using shadow memory, we can store memory tags for each chunk of kernel
   memory.

3. On each memory allocation, we can generate a random tag, embed it into
   the returned pointer and set the memory tags that correspond to this
   chunk of memory to the same value.

4. By using compiler instrumentation, before each memory access we can add
   a check that the pointer tag matches the tag of the memory that is being
   accessed.

5. On a tag mismatch we report an error.

With this patchset the existing KASAN mode gets renamed to generic KASAN,
with the word "generic" meaning that the implementation can be supported
by any architecture as it is purely software.

The new mode this patchset adds is called software tag-based KASAN.  The
word "tag-based" refers to the fact that this mode uses tags embedded into
the top byte of kernel pointers and the TBI arm64 CPU feature that allows
to dereference such pointers.  The word "software" here means that shadow
memory manipulation and tag checking on pointer dereference is done in
software.  As it is the only tag-based implementation right now, "software
tag-based" KASAN is sometimes referred to as simply "tag-based" in this
patchset.

A potential expansion of this mode is a hardware tag-based mode, which
would use hardware memory tagging support (announced by Arm [3]) instead
of compiler instrumentation and manual shadow memory manipulation.

Same as generic KASAN, software tag-based KASAN is strictly a debugging
feature.

[1] https://www.kernel.org/doc/html/latest/dev-tools/kasan.html

[2] http://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html

[3] https://community.arm.com/processors/b/blog/posts/arm-a-profile-architecture-2018-developments-armv85a

====== Rationale

On mobile devices generic KASAN's memory usage is significant problem.
One of the main reasons to have tag-based KASAN is to be able to perform a
similar set of checks as the generic one does, but with lower memory
requirements.

Comment from Vishwath Mohan <vishwath@google.com>:

I don't have data on-hand, but anecdotally both ASAN and KASAN have proven
problematic to enable for environments that don't tolerate the increased
memory pressure well.  This includes

(a) Low-memory form factors - Wear, TV, Things, lower-tier phones like Go,
(c) Connected components like Pixel's visual core [1].

These are both places I'd love to have a low(er) memory footprint option at
my disposal.

Comment from Evgenii Stepanov <eugenis@google.com>:

Looking at a live Android device under load, slab (according to
/proc/meminfo) + kernel stack take 8-10% available RAM (~350MB).  KASAN's
overhead of 2x - 3x on top of it is not insignificant.

Not having this overhead enables near-production use - ex.  running
KASAN/KHWASAN kernel on a personal, daily-use device to catch bugs that do
not reproduce in test configuration.  These are the ones that often cost
the most engineering time to track down.

CPU overhead is bad, but generally tolerable.  RAM is critical, in our
experience.  Once it gets low enough, OOM-killer makes your life
miserable.

[1] https://www.blog.google/products/pixel/pixel-visual-core-image-processing-and-machine-learning-pixel-2/

====== Technical details

Software tag-based KASAN mode is implemented in a very similar way to the
generic one. This patchset essentially does the following:

1. TCR_TBI1 is set to enable Top Byte Ignore.

2. Shadow memory is used (with a different scale, 1:16, so each shadow
   byte corresponds to 16 bytes of kernel memory) to store memory tags.

3. All slab objects are aligned to shadow scale, which is 16 bytes.

4. All pointers returned from the slab allocator are tagged with a random
   tag and the corresponding shadow memory is poisoned with the same value.

5. Compiler instrumentation is used to insert tag checks. Either by
   calling callbacks or by inlining them (CONFIG_KASAN_OUTLINE and
   CONFIG_KASAN_INLINE flags are reused).

6. When a tag mismatch is detected in callback instrumentation mode
   KASAN simply prints a bug report. In case of inline instrumentation,
   clang inserts a brk instruction, and KASAN has it's own brk handler,
   which reports the bug.

7. The memory in between slab objects is marked with a reserved tag, and
   acts as a redzone.

8. When a slab object is freed it's marked with a reserved tag.

Bug detection is imprecise for two reasons:

1. We won't catch some small out-of-bounds accesses, that fall into the
   same shadow cell, as the last byte of a slab object.

2. We only have 1 byte to store tags, which means we have a 1/256
   probability of a tag match for an incorrect access (actually even
   slightly less due to reserved tag values).

Despite that there's a particular type of bugs that tag-based KASAN can
detect compared to generic KASAN: use-after-free after the object has been
allocated by someone else.

====== Testing

Some kernel developers voiced a concern that changing the top byte of
kernel pointers may lead to subtle bugs that are difficult to discover.
To address this concern deliberate testing has been performed.

It doesn't seem feasible to do some kind of static checking to find
potential issues with pointer tagging, so a dynamic approach was taken.
All pointer comparisons/subtractions have been instrumented in an LLVM
compiler pass and a kernel module that would print a bug report whenever
two pointers with different tags are being compared/subtracted (ignoring
comparisons with NULL pointers and with pointers obtained by casting an
error code to a pointer type) has been used.  Then the kernel has been
booted in QEMU and on an Odroid C2 board and syzkaller has been run.

This yielded the following results.

The two places that look interesting are:

is_vmalloc_addr in include/linux/mm.h
is_kernel_rodata in mm/util.c

Here we compare a pointer with some fixed untagged values to make sure
that the pointer lies in a particular part of the kernel address space.
Since tag-based KASAN doesn't add tags to pointers that belong to rodata
or vmalloc regions, this should work as is.  To make sure debug checks to
those two functions that check that the result doesn't change whether we
operate on pointers with or without untagging has been added.

A few other cases that don't look that interesting:

Comparing pointers to achieve unique sorting order of pointee objects
(e.g. sorting locks addresses before performing a double lock):

tty_ldisc_lock_pair_timeout in drivers/tty/tty_ldisc.c
pipe_double_lock in fs/pipe.c
unix_state_double_lock in net/unix/af_unix.c
lock_two_nondirectories in fs/inode.c
mutex_lock_double in kernel/events/core.c

ep_cmp_ffd in fs/eventpoll.c
fsnotify_compare_groups fs/notify/mark.c

Nothing needs to be done here, since the tags embedded into pointers
don't change, so the sorting order would still be unique.

Checks that a pointer belongs to some particular allocation:

is_sibling_entry in lib/radix-tree.c
object_is_on_stack in include/linux/sched/task_stack.h

Nothing needs to be done here either, since two pointers can only belong
to the same allocation if they have the same tag.

Overall, since the kernel boots and works, there are no critical bugs.
As for the rest, the traditional kernel testing way (use until fails) is
the only one that looks feasible.

Another point here is that tag-based KASAN is available under a separate
config option that needs to be deliberately enabled. Even though it might
be used in a "near-production" environment to find bugs that are not found
during fuzzing or running tests, it is still a debug tool.

====== Benchmarks

The following numbers were collected on Odroid C2 board. Both generic and
tag-based KASAN were used in inline instrumentation mode.

Boot time [1]:
* ~1.7 sec for clean kernel
* ~5.0 sec for generic KASAN
* ~5.0 sec for tag-based KASAN

Network performance [2]:
* 8.33 Gbits/sec for clean kernel
* 3.17 Gbits/sec for generic KASAN
* 2.85 Gbits/sec for tag-based KASAN

Slab memory usage after boot [3]:
* ~40 kb for clean kernel
* ~105 kb (~260% overhead) for generic KASAN
* ~47 kb (~20% overhead) for tag-based KASAN

KASAN memory overhead consists of three main parts:
1. Increased slab memory usage due to redzones.
2. Shadow memory (the whole reserved once during boot).
3. Quaratine (grows gradually until some preset limit; the more the limit,
   the more the chance to detect a use-after-free).

Comparing tag-based vs generic KASAN for each of these points:
1. 20% vs 260% overhead.
2. 1/16th vs 1/8th of physical memory.
3. Tag-based KASAN doesn't require quarantine.

[1] Time before the ext4 driver is initialized.
[2] Measured as `iperf -s & iperf -c 127.0.0.1 -t 30`.
[3] Measured as `cat /proc/meminfo | grep Slab`.

====== Some notes

A few notes:

1. The patchset can be found here:
   https://github.com/xairy/kasan-prototype/tree/khwasan

2. Building requires a recent Clang version (7.0.0 or later).

3. Stack instrumentation is not supported yet and will be added later.

This patch (of 25):

Tag-based KASAN changes the value of the top byte of pointers returned
from the kernel allocation functions (such as kmalloc).  This patch
updates KASAN hooks signatures and their usage in SLAB and SLUB code to
reflect that.

Link: http://lkml.kernel.org/r/aec2b5e3973781ff8a6bb6760f8543643202c451.1544099024.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Reviewed-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-12-28 12:11:43 -08:00
..
amba
avf virtchnl: Fix off by one error 2018-11-14 10:56:33 -08:00
bcma
byteorder
can can: rx-offload: rename can_rx_offload_irq_queue_err_skb() to can_rx_offload_queue_tail() 2018-11-09 17:33:32 +01:00
ceph libceph: assume argonaut on the server side 2018-11-08 17:51:11 +01:00
clk clk: Tag clk core files with SPDX 2018-12-11 09:57:47 -08:00
crush
decompress
dma
dsa
extcon
firmware firmware: imx: add pm svc headfile 2018-11-14 09:20:44 +08:00
fpga
fsl IOMMU Updates for Linux v4.20 2018-10-26 10:50:10 -07:00
gpio gpio: Add devm_gpiod_unhinge() 2018-12-11 01:04:23 +00:00
hsi
i3c i3c: Add core I3C infrastructure 2018-11-12 10:33:49 +01:00
iio
input
irqchip irqchip: Add driver for Cirrus Logic Madera codecs 2018-12-18 14:06:56 +00:00
isdn
lockd
mailbox
mfd mfd: axp20x: name voltage ramping define properly 2018-12-13 16:39:46 +00:00
mlx4 {net, IB}/mlx4: Initialize CQ buffers in the driver when possible 2018-11-22 11:38:36 -08:00
mlx5 net/mlx5e: XDP, Support Enhanced Multi-Packet TX WQE 2018-12-20 22:54:19 -08:00
mmc brcmfmac: add support for CYW43012 SDIO chipset 2018-12-13 16:57:17 +02:00
mtd Core changes: 2018-12-18 20:00:52 +01:00
mux
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2018-12-20 18:20:26 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf arm64: perf: Add support for Armv8.1 PMCEID register format 2018-11-21 13:16:33 +00:00
phy USB/PHY patches for 4.20-rc1 2018-10-26 08:14:13 -07:00
pinctrl
platform_data Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-12-27 13:04:52 -08:00
power PM / AVS: SmartReflex: Switch to SPDX Licence ID 2018-12-12 13:54:28 +01:00
qed qed: Expose the doorbell overflow recovery mechanism to the protocol drivers 2018-11-30 13:45:13 -08:00
raid
regulator Merge branch 'for-linus' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-4.21 2018-12-11 20:44:49 +00:00
remoteproc
reset
rpmsg
rtc
sched sched/cpufreq: Prepare schedutil for Energy Aware Scheduling 2018-12-11 15:16:58 +01:00
soc
soundwire
spi Merge remote-tracking branches 'spi/topic/mem' and 'spi/topic/mtd' into spi-next 2018-12-20 16:01:30 +00:00
ssb
sunrpc SUNRPC: Fix a memory leak in call_encode() 2018-12-02 09:43:57 -05:00
ulpi
unaligned
usb USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub 2018-11-07 13:23:18 +01:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h Device properties framework updates for 4.21-rc1 2018-12-25 15:01:46 -08:00
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
adb.h
adfs_fs.h
adxl.h EDAC, skx: Fix randconfig builds in a better way 2018-11-07 22:58:29 +01:00
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h
arm_sdei.h
ascii85.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_tc.h
atomic.h
attribute_container.h
audit.h audit: use current whenever possible 2018-11-26 18:41:21 -05:00
auto_dev-ioctl.h
auto_fs.h
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_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h blkcg: revert blkcg cleanups series 2018-11-01 19:59:53 -06:00
bit_spinlock.h
bitfield.h
bitmap.h linux/bitmap.h: relax comment on compile-time constant nbits 2018-10-31 08:54:12 -07:00
bitops.h
bitrev.h
bits.h
blk-cgroup.h blkcg: revert blkcg cleanups series 2018-11-01 19:59:53 -06:00
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blk_types.h blkcg: revert blkcg cleanups series 2018-11-01 19:59:53 -06:00
blkdev.h block: Introduce blk_revalidate_disk_zones() 2018-10-25 11:17:40 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bottom_half.h
bpf-cgroup.h
bpf.h bpf: pass struct btf pointer to the map_check_btf() callback 2018-12-12 15:33:33 -08:00
bpf_lirc.h
bpf_trace.h
bpf_types.h
bpf_verifier.h bpf: add self-check logic to liveness analysis 2018-12-15 01:28:32 +01:00
bpfilter.h
brcmphy.h net: phy: bcm7xxx: Add entry for BCM7255 2018-11-07 21:50:27 -08:00
bsearch.h
bsg-lib.h
bsg.h
btf.h bpf: enable cgroup local storage map pretty print with kind_flag 2018-12-18 01:11:59 +01:00
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h psi: cgroup support 2018-10-26 16:26:32 -07:00
cgroup.h for-linus-20181102 2018-11-02 11:25:48 -07:00
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h Merge branches 'clk-imx7ulp', 'clk-imx6-fixes', 'clk-imx-fixes', 'clk-imx8qxp' and 'clk-imx8mq' into clk-next 2018-12-14 13:34:47 -08:00
clk.h
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 2018-10-25 11:14:36 -07:00
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h
compat.h Merge branch 'core/urgent' into x86/urgent, to pick up objtool fix 2018-11-03 23:42:16 +01:00
compiler-clang.h
compiler-gcc.h compiler: remove __no_sanitize_address_or_inline again 2018-11-05 08:14:18 -08:00
compiler-intel.h
compiler.h Revert "x86/objtool: Use asm macros to work around GCC inlining bugs" 2018-12-19 12:00:23 +01:00
compiler_attributes.h Revert "compiler-gcc: disable -ftracer for __noclone functions" 2018-12-21 12:44:28 +01:00
compiler_types.h include/linux/compiler_types.h: don't pollute userspace with macro definitions 2018-12-14 16:57:16 +01:00
completion.h
component.h
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h lib: cordic: Move cordic macros and defines to header file 2018-11-29 17:30:48 +02:00
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h sched/topology: Make Energy Aware Scheduling depend on schedutil 2018-12-11 15:17:00 +01:00
cpuhotplug.h drivers/perf: Add Cavium ThunderX2 SoC UNCORE PMU driver 2018-12-06 13:03:17 +00:00
cpuidle.h cpuidle: Add 'above' and 'below' idle state metrics 2018-12-12 23:22:18 +01:00
cpumask.h
cpuset.h
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h
crypto.h crypto: skcipher - remove remnants of internal IV generators 2018-12-23 11:52:45 +08:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h dax: Fix unlock mismatch with updated API 2018-12-04 21:32:00 -08:00
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h delayacct: track delays from thrashing cache pages 2018-10-26 16:26:32 -07:00
delayed_call.h
devcoredump.h
devfreq-event.h
devfreq.h PM / devfreq: add devfreq_suspend/resume() functions 2018-12-11 11:40:13 +09:00
devfreq_cooling.h
device-mapper.h - Biggest change this cycle is to remove support for the legacy IO path 2018-10-26 12:57:38 -07:00
device.h Driver core patches for 4.20-rc1 2018-10-26 08:42:25 -07:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direct.h dma-direct: Make DIRECT_MAPPING_ERROR viable for SWIOTLB 2018-11-21 18:47:52 +01:00
dma-direction.h
dma-fence-array.h
dma-fence.h dma-buf: add dma_fence_get_stub 2018-12-03 17:40:18 +01:00
dma-iommu.h
dma-mapping.h dma-mapping: fix flags in dma_alloc_wc 2018-12-22 08:46:27 -08:00
dma-noncoherent.h
dma_remapping.h
dmaengine.h
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
ds2782_battery.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h EDAC: Drop per-memory controller buses 2018-11-13 21:55:24 +01:00
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: Reduce the amount of memblock reservations for persistent allocations 2018-11-30 09:37:57 +01: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
energy_model.h PM: Introduce an Energy Model management framework 2018-12-11 15:16:58 +01:00
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h net: ethernet: provide nvmem_get_mac_address() 2018-12-03 15:40:30 -08:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h fanotify: introduce new event mask FAN_OPEN_EXEC_PERM 2018-11-13 18:41:05 +01:00
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-12-20 11:53:36 -08: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
freezer.h
frontswap.h
fs.h fs/locks: merge posix_unblock_lock() and locks_delete_block() 2018-12-07 06:50:56 -05:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h fscache: Fix race in fscache_op_complete() due to split atomic_sub & read 2018-11-28 13:19:20 +00:00
fscache.h
fscrypt.h
fscrypt_notsupp.h
fscrypt_supp.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h fanotify: introduce new event mask FAN_OPEN_EXEC_PERM 2018-11-13 18:41:05 +01:00
fsnotify_backend.h fanotify: introduce new event mask FAN_OPEN_EXEC_PERM 2018-11-13 18:41:05 +01:00
ftrace.h Linux 4.20-rc5 2018-12-03 10:47:53 +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 Revert "mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask" 2018-12-08 10:26:20 -08:00
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h drm-misc-next for v4.21, part 1: 2018-11-19 10:40:33 +10:00
hid-debug.h
hid-roccat.h
hid-sensor-hub.h iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-11-16 11:42:12 +00:00
hid-sensor-ids.h
hid.h Revert "HID: input: Create a utility class for counting scroll events" 2018-11-22 08:57:38 +01:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h mm/hmm: use a structure for update callback parameters 2018-10-31 08:54:12 -07:00
host1x.h
hp_sdc.h
hpet.h
hrtimer.h hrtimers/tick/clockevents: Remove sloppy license references 2018-11-23 11:51:21 +01:00
htcpld.h
huge_mm.h mm/gup: cache dev_pagemap while pinning pages 2018-10-26 16:38:15 -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: vmbus: Offload the handling of channels to two workqueues 2018-12-03 08:01:01 +01:00
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h clockevents/drivers/i8253: Add support for PIT shutdown quirk 2018-11-04 11:04:46 +01:00
icmp.h
icmpv6.h
ide.h
idle_inject.h
idr.h
ieee80211.h mac80211: update HE operation fields to D3.0 2018-12-18 14:19:00 +01:00
ieee802154.h
if_arp.h
if_bridge.h bridge: Add br_fdb_clear_offload() 2018-12-07 12:59:08 -08: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_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h net/vlan: introduce skb_vlan_tag_get_cfi() helper 2018-11-21 15:41:30 -08:00
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
indirect_call_wrapper.h net: unbreak CONFIG_RETPOLINE=n builds 2018-12-17 09:19:49 -08:00
inet.h
inet_diag.h
inetdevice.h ipv4/igmp: fix v1/v2 switchback timeout based on rfc3376, 8.12 2018-10-29 20:26:06 -07:00
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-pti.h
intel-svm.h
interrupt.h genirq/affinity: Add is_managed to struct irq_affinity_desc 2018-12-19 11:32:08 +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
iomap.h fs/iomap.c: change return type to vm_fault_t 2018-10-26 16:25:18 -07:00
iommu-helper.h
iommu.h
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h genirq/core: Introduce struct irq_affinity_desc 2018-12-19 11:32:08 +01:00
irq_cpustat.h
irq_poll.h
irq_sim.h irq/irq_sim: Store multiple interrupt offsets in a bitmap 2018-12-13 09:35:31 +00:00
irq_work.h
irqbypass.h
irqchip.h genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irqdesc.h
irqdomain.h genirq/core: Introduce struct irq_affinity_desc 2018-12-19 11:32:08 +01:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iversion.h
jbd2.h jbd2: update locking documentation for transaction_t 2018-12-04 00:30:22 -05:00
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-checks.h
kasan.h kasan, mm: change hooks signatures 2018-12-28 12:11:43 -08:00
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-page-flags.h
kernel.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-12-26 17:03:51 -08:00
key-type.h KEYS: Provide key type operations for asymmetric key ops [ver #2] 2018-10-26 09:30:46 +01:00
key.h
keyboard.h
keyctl.h KEYS: Provide key type operations for asymmetric key ops [ver #2] 2018-10-26 09:30:46 +01:00
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-12-26 17:03:51 -08:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h kvm: Change offset in kvm_write_guest_offset_cached to unsigned 2018-12-21 11:28:22 +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-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h LEDs for 4.21-rc1 2018-12-25 14:52:50 -08:00
leds_pwm.h
libata.h
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
linkage.h linkage: add generic GLOBAL() macro 2018-11-30 13:29:04 +00:00
linkmode.h net: mii: Rename mii_stat1000_to_linkmode_lpa_t 2018-12-05 16:26:16 -08:00
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
lockdep.h locking/lockdep: Remove ::version from lock_class structure 2018-12-11 14:54:46 +01:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
lz4.h
lzo.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h mm: don't miss the last page because of round-off error 2018-10-26 16:25:19 -07:00
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
memcontrol.h mm/memcontrol.c: convert mem_cgroup_id::ref to refcount_t type 2018-10-26 16:26:35 -07:00
memfd.h
memory.h
memory_hotplug.h mm/memory_hotplug: make add_memory() take the device_hotplug_lock 2018-10-31 08:54:17 -07:00
mempolicy.h mm, thp: restore node-local hugepage allocations 2018-12-05 15:45:54 -08:00
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h net: mii: mii_lpa_mod_linkmode_lpa_t: Make use of linkmode_mod_bit helper 2018-12-05 16:26:16 -08:00
miscdevice.h
mm-arch-hooks.h
mm.h s390 updates for 4.20-rc2 2018-11-09 06:30:44 -06:00
mm_inline.h
mm_types.h mm: introduce common STRUCT_PAGE_MAX_SHIFT define 2018-12-14 15:05:45 -08:00
mm_types_task.h
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h Revert "mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks" 2018-10-26 16:25:19 -07:00
mmzone.h powerpc updates for 4.21 2018-12-27 10:43:24 -08:00
mnt_namespace.h
mod_devicetable.h Add initial support for I3C along with 2 I3C master controller drivers. 2018-12-25 12:26:34 -08:00
module.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-12-27 13:04:52 -08:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msg.h
msi.h genirq/core: Introduce struct irq_affinity_desc 2018-12-19 11:32:08 +01:00
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
ndctl.h
net.h
net_dim.h net/dim: Update DIM start sample after each DIM iteration 2018-11-22 11:36:54 -08:00
netdev_features.h
netdevice.h net: rtnetlink: support for fdb get 2018-12-16 14:42:34 -08:00
netfilter.h
netfilter_bridge.h net: convert bridge_nf to use skb extension infrastructure 2018-12-19 11:21:37 -08:00
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h linux/netlink.h: drop unnecessary extern prefix 2018-12-20 16:43:54 -08:00
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
nl802154.h
nls.h
nmi.h watchdog/core: Add missing prototypes for weak functions 2018-11-06 21:58:00 +01:00
node.h
nodemask.h
nospec.h
notifier.h include/linux/notifier.h: SRCU: fix ctags 2018-11-03 10:09:37 -07:00
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h lib: introduce initial implementation of object aggregation manager 2018-11-15 14:43:43 -08:00
of.h of: Drop full path from full_name for PDT systems 2018-11-18 13:35:20 -08:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h of: net: kill of_get_nvmem_mac_address() 2018-12-03 15:40:30 -08:00
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
overflow.h
oxu210hp.h
padata.h
page-flags-layout.h
page-flags.h mm: create non-atomic version of SetPageReserved for init use 2018-10-26 16:26:34 -07:00
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
pageblock-flags.h
pagemap.h
pagevec.h
parman.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-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set 2018-12-20 10:19:49 +01:00
pci_hotplug.h
pci_ids.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-12-27 13:04:52 -08:00
pda_power.h
pe.h include: pe.h: remove message[] from mz header definition 2018-12-06 14:38:53 +00:00
percpu-defs.h percpu: remove PER_CPU_DEF_ATTRIBUTES macro 2018-10-31 08:54:14 -07:00
percpu-refcount.h
percpu-rwsem.h percpu-rwsem: Replace synchronize_sched() with synchronize_rcu() 2018-12-01 12:38:48 -08:00
percpu.h
percpu_counter.h
perf_event.h perf/core: Declare the __percpu attribute on non-deref types 2018-12-11 15:01:48 +01:00
perf_regs.h
personality.h
pfn.h
pfn_t.h mm: dax: add comment for PFN_SPECIAL 2018-10-26 16:26:35 -07:00
phonet.h
phy.h net: phy: improve phy state checking 2018-12-18 15:11:07 -08:00
phy_fixed.h Fixed PHY: Add fixed_phy_change_carrier() 2018-12-17 11:24:32 -08:00
phy_led_triggers.h net: phy: leds: Don't make our own link speed names 2018-11-09 20:13:51 -08:00
phylink.h
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 PM-runtime: Switch autosuspend over to using hrtimers 2018-12-19 10:31:50 +01:00
pm2301_charger.h
pm_clock.h
pm_domain.h PM / Domains: Propagate performance state updates 2018-12-14 16:28:18 +05:30
pm_opp.h OPP: Don't return 0 on error from of_get_required_opp_performance_state() 2018-12-14 16:28:12 +05:30
pm_qos.h
pm_runtime.h PM-runtime: Switch autosuspend over to using hrtimers 2018-12-19 10:31:50 +01:00
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
preempt.h preempt: Move PREEMPT_NEED_RESCHED definition into arch code 2018-12-07 12:35:46 +00:00
prefetch.h
prime_numbers.h
printk.h printk: Make printk_emit() local function. 2018-11-29 10:59:40 +01:00
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h drivers: base: Introducing software nodes to the firmware node framework 2018-11-26 18:19:11 +01:00
psci.h
psi.h psi: make disabling/enabling easier for vendor kernels 2018-11-30 14:56:14 -08:00
psi_types.h psi: pressure stall information for CPU, memory, and IO 2018-10-26 16:26:32 -07:00
psp-sev.h
pstore.h pstore: Convert buf_lock to semaphore 2018-12-03 17:11:02 -08:00
pstore_ram.h pstore: Map PSTORE_TYPE_* to strings 2018-12-03 16:52:35 -08:00
pti.h
ptp_classify.h
ptp_clock_kernel.h ptp: deprecate gettime64() in favor of gettimex64() 2018-11-09 19:43:51 -08:00
ptr_ring.h
ptrace.h Linux 4.20-rc5 2018-12-03 10:47:53 +01:00
purgatory.h
pvclock_gtod.h
pwm.h pwm: Drop legacy wrapper for changing polarity 2018-12-12 11:55:42 +01:00
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.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.h
rbtree_augmented.h lib/rbtree.c: fix typo in comment of rb_insert_augmented() 2018-10-31 08:54:13 -07:00
rbtree_latch.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcupdate_wait.h rcu: Eliminate synchronize_rcu_mult() 2018-11-08 21:43:20 -08:00
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h regmap: irq: add an option to clear status registers on unmask 2018-12-19 18:38:13 +00:00
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h rhashtable: detect when object movement between tables might have invalidated a lookup 2018-12-03 15:31:55 -08:00
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
s3c_adc_battery.h
sa11x0-dma.h
sbitmap.h
scatterlist.h
scc.h
sched.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-12-26 14:56:10 -08:00
sched_clock.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.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
set_memory.h
sfi.h
sfi_acpi.h
sfp.h net: phy: sfp: correct location of SFP standards 2018-11-29 11:46:34 -08:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
sha256.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h include/linux/signal.h: mark expected switch fall-throughs 2018-10-31 08:54:14 -07:00
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h net: drop the unused helper skb_ext_get() 2018-12-21 10:24:54 -08:00
skmsg.h bpf: sk_msg, fix socket data_ready events 2018-12-20 23:47:09 +01:00
slab.h kasan, mm: change hooks signatures 2018-12-28 12:11:43 -08:00
slab_def.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h bpf: sk_msg, sock{map|hash} redirect through ULP 2018-12-20 23:47:09 +01: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
sram.h
srcu.h srcu: Use "ssp" instead of "sp" for srcu_struct pointer 2018-11-27 09:24:17 -08:00
srcutiny.h srcu: Use "ssp" instead of "sp" for srcu_struct pointer 2018-11-27 09:24:17 -08:00
srcutree.h srcu: Use "ssp" instead of "sp" for srcu_struct pointer 2018-11-27 09:24:17 -08:00
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.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.h Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h sysfs: constify sysfs create/remove files harder 2018-12-03 18:18:19 +02:00
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h scsi: t10-pi: Return correct ref tag when queue has no integrity profile 2018-12-07 22:39:46 -05:00
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: defer SACK compression after DupThresh 2018-11-21 15:49:52 -08:00
tee_drv.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
timecounter.h
timekeeper_internal.h
timekeeping.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-25 11:14:36 -07:00
timekeeping32.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h bpf: support raw tracepoints in modules 2018-12-18 14:08:12 -08:00
trace_seq.h
tracefs.h
tracehook.h x86/ptrace: Fix documentation for tracehook_report_syscall_entry() 2018-11-12 04:53:27 +01:00
tracepoint-defs.h
tracepoint.h Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu 2018-12-04 07:52:30 +01:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h USB: serial: console: fix reported terminal settings 2018-12-05 11:29:10 +01:00
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h types: Remove call_rcu_bh() and call_rcu_sched() 2018-12-01 12:38:48 -08:00
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h udp: Handle ICMP errors for tunnels with same destination port on both endpoints 2018-11-08 17:13:08 -08:00
uidgid.h
uio.h
uio_driver.h
umh.h
uprobes.h
usb.h USB: check usb_get_extra_descriptor for proper size 2018-12-05 21:20:14 +01:00
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
vbox_utils.h
verification.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_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h
wait_bit.h
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h blkcg: revert blkcg cleanups series 2018-11-01 19:59:53 -06:00
ww_mutex.h
xarray.h XArray: Add xa_cmpxchg_irq and xa_cmpxchg_bh 2018-12-06 08:26:17 -05:00
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h