linux_dsm_epyc7002/include/linux
Daniel Borkmann 979d63d50c bpf: prevent out of bounds speculation on pointer arithmetic
Jann reported that the original commit back in b2157399cc
("bpf: prevent out-of-bounds speculation") was not sufficient
to stop CPU from speculating out of bounds memory access:
While b2157399cc only focussed on masking array map access
for unprivileged users for tail calls and data access such
that the user provided index gets sanitized from BPF program
and syscall side, there is still a more generic form affected
from BPF programs that applies to most maps that hold user
data in relation to dynamic map access when dealing with
unknown scalars or "slow" known scalars as access offset, for
example:

  - Load a map value pointer into R6
  - Load an index into R7
  - Do a slow computation (e.g. with a memory dependency) that
    loads a limit into R8 (e.g. load the limit from a map for
    high latency, then mask it to make the verifier happy)
  - Exit if R7 >= R8 (mispredicted branch)
  - Load R0 = R6[R7]
  - Load R0 = R6[R0]

For unknown scalars there are two options in the BPF verifier
where we could derive knowledge from in order to guarantee
safe access to the memory: i) While </>/<=/>= variants won't
allow to derive any lower or upper bounds from the unknown
scalar where it would be safe to add it to the map value
pointer, it is possible through ==/!= test however. ii) another
option is to transform the unknown scalar into a known scalar,
for example, through ALU ops combination such as R &= <imm>
followed by R |= <imm> or any similar combination where the
original information from the unknown scalar would be destroyed
entirely leaving R with a constant. The initial slow load still
precedes the latter ALU ops on that register, so the CPU
executes speculatively from that point. Once we have the known
scalar, any compare operation would work then. A third option
only involving registers with known scalars could be crafted
as described in [0] where a CPU port (e.g. Slow Int unit)
would be filled with many dependent computations such that
the subsequent condition depending on its outcome has to wait
for evaluation on its execution port and thereby executing
speculatively if the speculated code can be scheduled on a
different execution port, or any other form of mistraining
as described in [1], for example. Given this is not limited
to only unknown scalars, not only map but also stack access
is affected since both is accessible for unprivileged users
and could potentially be used for out of bounds access under
speculation.

In order to prevent any of these cases, the verifier is now
sanitizing pointer arithmetic on the offset such that any
out of bounds speculation would be masked in a way where the
pointer arithmetic result in the destination register will
stay unchanged, meaning offset masked into zero similar as
in array_index_nospec() case. With regards to implementation,
there are three options that were considered: i) new insn
for sanitation, ii) push/pop insn and sanitation as inlined
BPF, iii) reuse of ax register and sanitation as inlined BPF.

Option i) has the downside that we end up using from reserved
bits in the opcode space, but also that we would require
each JIT to emit masking as native arch opcodes meaning
mitigation would have slow adoption till everyone implements
it eventually which is counter-productive. Option ii) and iii)
have both in common that a temporary register is needed in
order to implement the sanitation as inlined BPF since we
are not allowed to modify the source register. While a push /
pop insn in ii) would be useful to have in any case, it
requires once again that every JIT needs to implement it
first. While possible, amount of changes needed would also
be unsuitable for a -stable patch. Therefore, the path which
has fewer changes, less BPF instructions for the mitigation
and does not require anything to be changed in the JITs is
option iii) which this work is pursuing. The ax register is
already mapped to a register in all JITs (modulo arm32 where
it's mapped to stack as various other BPF registers there)
and used in constant blinding for JITs-only so far. It can
be reused for verifier rewrites under certain constraints.
The interpreter's tmp "register" has therefore been remapped
into extending the register set with hidden ax register and
reusing that for a number of instructions that needed the
prior temporary variable internally (e.g. div, mod). This
allows for zero increase in stack space usage in the interpreter,
and enables (restricted) generic use in rewrites otherwise as
long as such a patchlet does not make use of these instructions.
The sanitation mask is dynamic and relative to the offset the
map value or stack pointer currently holds.

There are various cases that need to be taken under consideration
for the masking, e.g. such operation could look as follows:
ptr += val or val += ptr or ptr -= val. Thus, the value to be
sanitized could reside either in source or in destination
register, and the limit is different depending on whether
the ALU op is addition or subtraction and depending on the
current known and bounded offset. The limit is derived as
follows: limit := max_value_size - (smin_value + off). For
subtraction: limit := umax_value + off. This holds because
we do not allow any pointer arithmetic that would
temporarily go out of bounds or would have an unknown
value with mixed signed bounds where it is unclear at
verification time whether the actual runtime value would
be either negative or positive. For example, we have a
derived map pointer value with constant offset and bounded
one, so limit based on smin_value works because the verifier
requires that statically analyzed arithmetic on the pointer
must be in bounds, and thus it checks if resulting
smin_value + off and umax_value + off is still within map
value bounds at time of arithmetic in addition to time of
access. Similarly, for the case of stack access we derive
the limit as follows: MAX_BPF_STACK + off for subtraction
and -off for the case of addition where off := ptr_reg->off +
ptr_reg->var_off.value. Subtraction is a special case for
the masking which can be in form of ptr += -val, ptr -= -val,
or ptr -= val. In the first two cases where we know that
the value is negative, we need to temporarily negate the
value in order to do the sanitation on a positive value
where we later swap the ALU op, and restore original source
register if the value was in source.

The sanitation of pointer arithmetic alone is still not fully
sufficient as is, since a scenario like the following could
happen ...

  PTR += 0x1000 (e.g. K-based imm)
  PTR -= BIG_NUMBER_WITH_SLOW_COMPARISON
  PTR += 0x1000
  PTR -= BIG_NUMBER_WITH_SLOW_COMPARISON
  [...]

... which under speculation could end up as ...

  PTR += 0x1000
  PTR -= 0 [ truncated by mitigation ]
  PTR += 0x1000
  PTR -= 0 [ truncated by mitigation ]
  [...]

... and therefore still access out of bounds. To prevent such
case, the verifier is also analyzing safety for potential out
of bounds access under speculative execution. Meaning, it is
also simulating pointer access under truncation. We therefore
"branch off" and push the current verification state after the
ALU operation with known 0 to the verification stack for later
analysis. Given the current path analysis succeeded it is
likely that the one under speculation can be pruned. In any
case, it is also subject to existing complexity limits and
therefore anything beyond this point will be rejected. In
terms of pruning, it needs to be ensured that the verification
state from speculative execution simulation must never prune
a non-speculative execution path, therefore, we mark verifier
state accordingly at the time of push_stack(). If verifier
detects out of bounds access under speculative execution from
one of the possible paths that includes a truncation, it will
reject such program.

Given we mask every reg-based pointer arithmetic for
unprivileged programs, we've been looking into how it could
affect real-world programs in terms of size increase. As the
majority of programs are targeted for privileged-only use
case, we've unconditionally enabled masking (with its alu
restrictions on top of it) for privileged programs for the
sake of testing in order to check i) whether they get rejected
in its current form, and ii) by how much the number of
instructions and size will increase. We've tested this by
using Katran, Cilium and test_l4lb from the kernel selftests.
For Katran we've evaluated balancer_kern.o, Cilium bpf_lxc.o
and an older test object bpf_lxc_opt_-DUNKNOWN.o and l4lb
we've used test_l4lb.o as well as test_l4lb_noinline.o. We
found that none of the programs got rejected by the verifier
with this change, and that impact is rather minimal to none.
balancer_kern.o had 13,904 bytes (1,738 insns) xlated and
7,797 bytes JITed before and after the change. Most complex
program in bpf_lxc.o had 30,544 bytes (3,817 insns) xlated
and 18,538 bytes JITed before and after and none of the other
tail call programs in bpf_lxc.o had any changes either. For
the older bpf_lxc_opt_-DUNKNOWN.o object we found a small
increase from 20,616 bytes (2,576 insns) and 12,536 bytes JITed
before to 20,664 bytes (2,582 insns) and 12,558 bytes JITed
after the change. Other programs from that object file had
similar small increase. Both test_l4lb.o had no change and
remained at 6,544 bytes (817 insns) xlated and 3,401 bytes
JITed and for test_l4lb_noinline.o constant at 5,080 bytes
(634 insns) xlated and 3,313 bytes JITed. This can be explained
in that LLVM typically optimizes stack based pointer arithmetic
by using K-based operations and that use of dynamic map access
is not overly frequent. However, in future we may decide to
optimize the algorithm further under known guarantees from
branch and value speculation. Latter seems also unclear in
terms of prediction heuristics that today's CPUs apply as well
as whether there could be collisions in e.g. the predictor's
Value History/Pattern Table for triggering out of bounds access,
thus masking is performed unconditionally at this point but could
be subject to relaxation later on. We were generally also
brainstorming various other approaches for mitigation, but the
blocker was always lack of available registers at runtime and/or
overhead for runtime tracking of limits belonging to a specific
pointer. Thus, we found this to be minimally intrusive under
given constraints.

With that in place, a simple example with sanitized access on
unprivileged load at post-verification time looks as follows:

  # bpftool prog dump xlated id 282
  [...]
  28: (79) r1 = *(u64 *)(r7 +0)
  29: (79) r2 = *(u64 *)(r7 +8)
  30: (57) r1 &= 15
  31: (79) r3 = *(u64 *)(r0 +4608)
  32: (57) r3 &= 1
  33: (47) r3 |= 1
  34: (2d) if r2 > r3 goto pc+19
  35: (b4) (u32) r11 = (u32) 20479  |
  36: (1f) r11 -= r2                | Dynamic sanitation for pointer
  37: (4f) r11 |= r2                | arithmetic with registers
  38: (87) r11 = -r11               | containing bounded or known
  39: (c7) r11 s>>= 63              | scalars in order to prevent
  40: (5f) r11 &= r2                | out of bounds speculation.
  41: (0f) r4 += r11                |
  42: (71) r4 = *(u8 *)(r4 +0)
  43: (6f) r4 <<= r1
  [...]

For the case where the scalar sits in the destination register
as opposed to the source register, the following code is emitted
for the above example:

  [...]
  16: (b4) (u32) r11 = (u32) 20479
  17: (1f) r11 -= r2
  18: (4f) r11 |= r2
  19: (87) r11 = -r11
  20: (c7) r11 s>>= 63
  21: (5f) r2 &= r11
  22: (0f) r2 += r0
  23: (61) r0 = *(u32 *)(r2 +0)
  [...]

JIT blinding example with non-conflicting use of r10:

  [...]
   d5:	je     0x0000000000000106    _
   d7:	mov    0x0(%rax),%edi       |
   da:	mov    $0xf153246,%r10d     | Index load from map value and
   e0:	xor    $0xf153259,%r10      | (const blinded) mask with 0x1f.
   e7:	and    %r10,%rdi            |_
   ea:	mov    $0x2f,%r10d          |
   f0:	sub    %rdi,%r10            | Sanitized addition. Both use r10
   f3:	or     %rdi,%r10            | but do not interfere with each
   f6:	neg    %r10                 | other. (Neither do these instructions
   f9:	sar    $0x3f,%r10           | interfere with the use of ax as temp
   fd:	and    %r10,%rdi            | in interpreter.)
  100:	add    %rax,%rdi            |_
  103:	mov    0x0(%rdi),%eax
 [...]

Tested that it fixes Jann's reproducer, and also checked that test_verifier
and test_progs suite with interpreter, JIT and JIT with hardening enabled
on x86-64 and arm64 runs successfully.

  [0] Speculose: Analyzing the Security Implications of Speculative
      Execution in CPUs, Giorgi Maisuradze and Christian Rossow,
      https://arxiv.org/pdf/1801.04084.pdf

  [1] A Systematic Evaluation of Transient Execution Attacks and
      Defenses, Claudio Canella, Jo Van Bulck, Michael Schwarz,
      Moritz Lipp, Benjamin von Berg, Philipp Ortner, Frank Piessens,
      Dmitry Evtyushkin, Daniel Gruss,
      https://arxiv.org/pdf/1811.05441.pdf

Fixes: b2157399cc ("bpf: prevent out-of-bounds speculation")
Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2019-01-02 16:01:24 -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 include/linux/phy/phy.h: fix minor kerneldoc errors 2018-12-27 16:31:10 -08: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_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h Device properties framework updates for 4.21-rc1 2018-12-25 15:01:46 -08:00
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_platform.h
ahci-remap.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
apple-gmux.h
arch_topology.h
arm_sdei.h
arm-cci.h
arm-smccc.h
ascii85.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h
assoc_array_priv.h
assoc_array.h
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel_tc.h
atmel-mci.h
atmel-ssc.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_types.h blkcg: revert blkcg cleanups series 2018-11-01 19:59:53 -06:00
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
blkdev.h
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bottom_half.h
bpf_lirc.h
bpf_trace.h
bpf_types.h
bpf_verifier.h bpf: prevent out of bounds speculation on pointer arithmetic 2019-01-02 16:01:24 -08:00
bpf-cgroup.h
bpf.h bpf: pass struct btf pointer to the map_check_btf() callback 2018-12-12 15:33:33 -08: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_bug.h
build-salt.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_rdma.h
cgroup_subsys.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
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
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 'core/urgent' into x86/urgent, to pick up objtool fix 2018-11-03 23:42:16 +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
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
completion.h
component.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
container.h
context_tracking_state.h
context_tracking.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_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.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
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.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_cooling.h
devfreq-event.h
devfreq.h PM / devfreq: add devfreq_suspend/resume() functions 2018-12-11 11:40:13 +09:00
device_cgroup.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
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-bufio.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-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
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 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
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h bpf: enable access to ax register also from verifier rewrite 2019-01-02 16:01:24 -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_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h vfs: rework data cloning infrastructure 2018-11-02 09:33:08 -07:00
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_notsupp.h
fscrypt_supp.h
fscrypt.h
fsi-sbefifo.h
fsi.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h
fsnotify.h
ftrace_irq.h
ftrace.h Linux 4.20-rc5 2018-12-03 10:47:53 +01:00
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_keys.h
gpio-pxa.h
gpio.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_mlc.h
hil.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_cgroup.h
hugetlb_inline.h
hugetlb.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
in6.h
in.h
indirect_call_wrapper.h net: unbreak CONFIG_RETPOLINE=n builds 2018-12-17 09:19:49 -08:00
inet_diag.h
inet.h
inetdevice.h ipv4/igmp: fix v1/v2 switchback timeout based on rfc3376, 8.12 2018-10-29 20:26:06 -07:00
init_ohci1394_dma.h
init_task.h
init.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_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 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_namespace.h
ipc.h
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h
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
irq.h genirq/core: Introduce struct irq_affinity_desc 2018-12-19 11:32:08 +01:00
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_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iversion.h
jbd2.h
jhash.h
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
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
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.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_pwm.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
libata.h
libfdt_env.h
libfdt.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_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.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
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_hotplug.h mm/memory_hotplug: make add_memory() take the device_hotplug_lock 2018-10-31 08:54:17 -07:00
memory.h
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_mode.h
migrate.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
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types_task.h
mm_types.h mm: introduce common STRUCT_PAGE_MAX_SHIFT define 2018-12-14 15:05:45 -08:00
mm-arch-hooks.h
mm.h s390 updates for 4.20-rc2 2018-11-09 06:30:44 -06:00
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_iptunnel.h
mpls.h
mroute6.h
mroute_base.h
mroute.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_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
ndctl.h
net_dim.h net/dim: Update DIM start sample after each DIM iteration 2018-11-22 11:36:54 -08:00
net.h
netdev_features.h
netdevice.h net: rtnetlink: support for fdb get 2018-12-16 14:42:34 -08:00
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
netfilter.h
netlink.h linux/netlink.h: drop unnecessary extern prefix 2018-12-20 16:43:54 -08:00
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfs.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_transport.h
ntb.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_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
of.h of: Drop full path from full_name for PDT systems 2018-11-18 13:35:20 -08: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
openvswitch.h
oprofile.h
osq_lock.h
overflow.h
oxu210hp.h
padata.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page-flags-layout.h
page-flags.h mm: create non-atomic version of SetPageReserved for init use 2018-10-26 16:26:34 -07:00
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
parman.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-12-27 13:04:52 -08:00
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
pda_power.h
pe.h include: pe.h: remove message[] from mz header definition 2018-12-06 14:38:53 +00:00
percpu_counter.h
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
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_t.h mm: dax: add comment for PFN_SPECIAL 2018-10-26 16:26:35 -07:00
pfn.h
phonet.h
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
phy.h phy.h: fix obvious errors in doc and kerneldoc content 2018-12-27 16:29:31 -08:00
phylink.h
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM / 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
pm-trace.h
pm.h PM-runtime: Switch autosuspend over to using hrtimers 2018-12-19 10:31:50 +01: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
power_supply.h
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.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_types.h psi: pressure stall information for CPU, memory, and IO 2018-10-26 16:26:32 -07:00
psi.h psi: make disabling/enabling easier for vendor kernels 2018-11-30 14:56:14 -08:00
psp-sev.h
pstore_ram.h pstore: Map PSTORE_TYPE_* to strings 2018-12-03 16:52:35 -08:00
pstore.h pstore: Convert buf_lock to semaphore 2018-12-03 17:11:02 -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_backlight.h
pwm.h pwm: Drop legacy wrapper for changing polarity 2018-12-12 11:55:42 +01:00
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qcom-geni-se.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
rational.h
rbtree_augmented.h lib/rbtree.c: fix typo in comment of rb_insert_augmented() 2018-10-31 08:54:13 -07:00
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 rcu: Eliminate synchronize_rcu_mult() 2018-11-08 21:43:20 -08:00
rcupdate.h
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_ext.h
resource.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_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
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.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 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
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.h
selinux.h
sem.h
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
sfi_acpi.h
sfi.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_types.h
signal.h include/linux/signal.h: mark expected switch fall-throughs 2018-10-31 08:54:14 -07:00
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_def.h
slab.h mm, slab/slub: introduce kmalloc-reclaimable caches 2018-10-26 16:26:31 -07:00
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_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 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_helpers.h
string.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap_cgroup.h
swap_slots.h
swap.h Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys_soc.h
sys.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_ops.h
task_io_accounting.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_fsm.h
textsearch.h
tfrc.h
thermal.h
thread_info.h
threads.h
thunderbolt.h
ti_wilink_st.h
ti-emif-sram.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time32.h
time64.h
time.h
timecounter.h
timekeeper_internal.h
timekeeping32.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm_command.h
tpm_eventlog.h
tpm.h
trace_clock.h
trace_events.h bpf: support raw tracepoints in modules 2018-12-18 14:08:12 -08:00
trace_seq.h
trace.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_driver.h
tty_flip.h
tty_ldisc.h
tty.h USB: serial: console: fix reported terminal settings 2018-12-05 11:29:10 +01:00
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_driver.h
uio.h
umh.h
uprobes.h
usb_usual.h
usb.h USB: check usb_get_extra_descriptor for proper size 2018-12-05 21:20:14 +01:00
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.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_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
virtio_ring.h
virtio_vsock.h
virtio.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_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
w1.h
wait_bit.h
wait.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