linux-stable/include/linux
Daniel Borkmann f92a819b4c bpf: prevent out of bounds speculation on pointer arithmetic
[ commit 979d63d50c upstream ]

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>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-01-31 08:14:41 +01:00
..
amba
avf
bcma MIPS: BCM47XX: Setup struct device for the SoC 2019-01-22 21:40:33 +01:00
byteorder
can can: rx-offload: rename can_rx_offload_irq_queue_err_skb() to can_rx_offload_queue_tail() 2018-12-01 09:37:29 +01:00
ceph libceph: bump CEPH_MSG_MAX_DATA_LEN 2018-11-21 09:19:16 +01:00
clk ARM: at91: pm: add PMC fast startup registers defines 2018-07-17 15:08:07 +02:00
crush
decompress
dma DMAengine updates for v4.19-rc1 2018-08-18 15:55:59 -07:00
dsa
extcon
firmware/meson
fpga docs: fpga: document fpga manager flags 2018-09-30 08:49:55 -07:00
fsl ptp_qoriq: support automatic configuration for ptp timer 2018-08-05 17:11:49 -07:00
gpio gpio: Assign gpio_irq_chip::parents to non-stack pointer 2018-10-10 14:03:27 +02:00
hsi
iio
input
irqchip KVM/arm updates for 4.19 2018-08-22 14:07:56 +02:00
isdn
lockd nfsd: fix leaked file lock with nfs exported overlayfs 2018-08-09 16:11:21 -04:00
mailbox mailbox: mediatek: Add Mediatek CMDQ driver 2018-08-03 19:52:14 +05:30
mfd mfd: da9063: Fix DT probing with constraints 2018-09-10 16:58:36 +01:00
mlx4 net/mlx4_core: Use devlink region_snapshot parameter 2018-07-12 17:37:13 -07:00
mlx5 net/mlx5: WQ, fixes for fragmented WQ buffers API 2018-10-10 18:26:16 -07:00
mmc mmc: core: Drop the unused mmc_power_save|restore_host() 2018-07-16 11:21:45 +02:00
mtd mtd: nand: Fix nanddev_pos_next_page() kernel-doc header 2018-11-27 16:13:05 +01:00
mux
netfilter netfilter: nf_tables: fix suspicious RCU usage in nft_chain_stats_replace() 2019-01-13 09:50:57 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf arm64: perf: Reject stand-alone CHAIN events for PMUv3 2018-10-12 15:25:17 +01:00
phy
pinctrl
platform_data hwmon: (ina2xx) fix sysfs shunt resistor read access 2018-08-26 17:45:25 -07:00
power
qed qed/qede: Multi CoS support. 2018-08-09 14:05:30 -07:00
raid
regulator regulator: Fix 'do-nothing' value for regulators without suspend state 2018-09-03 16:10:40 +01:00
remoteproc
reset
rpmsg
rtc
sched x86/speculation: Rework SMT state change 2018-12-05 19:32:02 +01:00
soc ARM: 32-bit SoC platform updates 2018-08-23 13:44:43 -07:00
soundwire
spi spi: Fixes for v4.19 2018-09-28 18:04:06 -07:00
ssb ssb: Remove SSB_WARN_ON, SSB_BUG_ON and SSB_DEBUG 2018-08-09 18:47:47 +03:00
sunrpc sunrpc: use-after-free in svc_process_common() 2019-01-16 22:04:37 +01:00
ulpi
unaligned
usb usb: typec: tcpm: Do not disconnect link for self powered devices 2019-01-26 09:32:34 +01:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h ACPI: property: Make the ACPI graph API private 2018-07-23 12:44:52 +02:00
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h ata: libahci_platform: add reset control support 2018-08-22 08:08:27 -07:00
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.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/arm64: smccc-1.1: Handle function result as parameters 2018-08-30 14:18:03 +01:00
arm_sdei.h
ascii85.h include: Move ascii85 functions from i915 to linux/ascii85.h 2018-07-30 08:49:02 -04:00
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 locking/atomics: Rework ordering barriers 2018-07-25 11:53:59 +02:00
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h writeback: don't decrement wb->refcnt if !wb->bdi 2019-01-26 09:32:34 +01:00
backing-dev.h bdi: use refcount_t for reference counting instead atomic_t 2018-08-22 10:52:46 -07:00
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h block: unexport bio_clone_bioset 2018-07-24 14:43:26 -06:00
bit_spinlock.h
bitfield.h bitfield: avoid gcc-8 -Wint-in-bool-context warning 2018-08-17 16:20:27 -07:00
bitmap.h bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free() 2018-08-01 15:49:40 -07:00
bitops.h include/linux/bitops.h: introduce BITS_PER_TYPE 2018-08-22 10:52:48 -07:00
bitrev.h
bits.h
blk-cgroup.h blkcg: delay blkg destruction until after writeback has finished 2018-08-31 14:48:56 -06:00
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h for-4.19/block-20180812 2018-08-14 10:23:25 -07:00
blk_types.h block: Track DISCARD statistics and output them in stat and diskstat 2018-07-18 08:44:22 -06:00
blkdev.h blk-cgroup: increase number of supported policies 2018-09-11 10:59:53 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h docs/mm: bootmem: add kernel-doc description of 'struct bootmem_data' 2018-08-02 12:17:27 -06:00
bottom_half.h
bpf-cgroup.h bpf: allocate cgroup storage entries on attaching bpf programs 2018-08-03 00:47:32 +02:00
bpf.h bpf: decouple btf from seq bpf fs dump and enable more maps 2018-08-13 00:52:45 +02:00
bpf_lirc.h
bpf_trace.h
bpf_types.h bpf: Introduce BPF_PROG_TYPE_SK_REUSEPORT 2018-08-11 01:58:46 +02:00
bpf_verifier.h bpf: prevent out of bounds speculation on pointer arithmetic 2019-01-31 08:14:41 +01:00
bpfilter.h bpfilter: Fix mismatch in function argument types 2018-07-21 16:21:25 -07:00
brcmphy.h net: phy: Add support for Broadcom Omega internal Combo GPHY 2018-08-07 15:48:38 -07:00
bsearch.h
bsg-lib.h
bsg.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h kbuild: Add build salt to the kernel and modules 2018-07-18 01:18:05 +09:00
build_bug.h
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h block: Switch struct packet_command to use struct scsi_sense_hdr 2018-08-02 15:22:13 -06:00
cfag12864b.h
cgroup-defs.h cgroup: Fix dom_cgrp propagation when enabling threaded mode 2018-10-04 13:28:08 -07:00
cgroup.h bpf: Introduce bpf_skb_ancestor_cgroup_id helper 2018-08-13 01:02:39 +02:00
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h time: Introduce one suspend clocksource to compensate the suspend time 2018-07-19 17:08:52 -07:00
cm4000_cs.h
cma.h mm/cma: remove unsupported gfp_mask parameter from cma_alloc() 2018-08-17 16:20:32 -07:00
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h
compat.h signal: Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack 2018-11-13 11:08:25 -08:00
compat_time.h
compiler-clang.h include/linux/compiler*.h: make compiler-*.h mutually exclusive 2018-08-22 17:31:34 -07:00
compiler-gcc.h x86, modpost: Replace last remnants of RETPOLINE with CONFIG_RETPOLINE 2019-01-16 22:04:29 +01:00
compiler-intel.h include/linux/compiler*.h: make compiler-*.h mutually exclusive 2018-08-22 17:31:34 -07:00
compiler.h module: use relative references for __ksymtab entries 2018-08-22 10:52:47 -07:00
compiler_types.h Compiler Attributes: naked can be shared 2018-09-20 15:23:58 +02:00
completion.h
component.h
concap.h
configfs.h
connector.h
console.h console: Replace #if 0 with atomic var 'ignore_console_lock_warning' 2018-07-31 13:06:57 +02:00
console_struct.h vt: drop unused struct vt_struct 2018-07-21 09:21:10 +02:00
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h coresight: Introduce support for Coresight Address Translation Unit 2018-07-15 13:52:58 +02:00
count_zeros.h
cper.h
cpu.h Power management updates for 4.19-rc1 2018-08-14 13:12:24 -07:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpuhotplug.h ARM: 32-bit SoC platform updates 2018-08-23 13:44:43 -07:00
cpuidle.h
cpumask.h cpumask: make cpumask_next_wrap available without smp 2018-08-13 09:05:05 -07:00
cpuset.h
crash_core.h proc/kcore: add vmcoreinfo note to /proc/kcore 2018-08-22 10:52:46 -07:00
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 lib/crc: Use consistent naming for CRC-32 polynomials 2018-07-27 19:04:33 +08:00
crc64.h lib: add crc64 calculation routines 2018-08-22 10:52:48 -07:00
cred.h
crypto.h evm: Don't deadlock if a crypto algorithm is unavailable 2018-07-18 07:27:22 -04:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h filesystem-dax: Introduce dax_lock_mapping_entry() 2018-07-23 10:38:06 -07:00
dca.h
dcache.h overlayfs update for 4.19 2018-08-21 18:19:09 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h delayacct: fix crash in delayacct_blkio_end() after delayacct init failure 2018-07-26 19:38:03 -07:00
delayed_call.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
device.h Driver core patches for 4.19-rc1 2018-08-18 11:44:53 -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 kcopyd: return void from dm_kcopyd_copy() 2018-07-31 17:33:21 -04:00
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h kernel/dma: remove unsupported gfp_mask parameter from dma_alloc_from_contiguous() 2018-08-17 16:20:32 -07:00
dma-debug.h
dma-direct.h
dma-direction.h PCI: Unify PCI and normal DMA direction definitions 2018-07-31 18:04:55 -05:00
dma-fence-array.h
dma-fence.h
dma-iommu.h
dma-mapping.h dma-mapping: relax warning for per-device areas 2018-07-25 13:32:58 +02:00
dma-noncoherent.h
dma_remapping.h
dmaengine.h dmaengine: add a new helper dmaenginem_async_device_register 2018-07-30 10:50:22 +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
ds2782_battery.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: Deduplicate efi_open_volume() 2018-07-22 14:13:43 +02: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
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
eventfd.h include/linux/eventfd.h: include linux/errno.h 2018-07-26 19:38:03 -07:00
eventpoll.h
evm.h
export.h Kbuild updates for v4.19 (2nd) 2018-08-25 13:40:38 -07:00
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h f2fs: Allocate and stat mem used by free nid bitmap more accurately 2018-07-28 18:23:26 -07:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h fbdev: fix typo in comment 2018-07-24 19:11:26 +02:00
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-31 08:14:40 +01: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 fsnotify: Fix busy inodes during unmount 2018-11-13 11:08:50 -08: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-12-17 09:24:38 +01:00
fscache.h
fscrypt.h
fscrypt_notsupp.h
fscrypt_supp.h
fsi-sbefifo.h
fsi.h fsi: Add new central chardev support 2018-07-27 09:57:23 +10:00
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h Revert "fsnotify: support overlayfs" 2018-07-18 15:44:44 +02:00
fsnotify_backend.h fsnotify: generalize handling of extra event flags 2018-12-01 09:37:31 +01:00
ftrace.h function_graph: Make ftrace_push_return_trace() static 2018-12-05 19:32:10 +01:00
ftrace_irq.h
futex.h
fwnode.h ACPI: Convert ACPI reference args to generic fwnode reference args 2018-07-23 12:44:52 +02:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h block: use rcu_work instead of call_rcu to avoid sleep in softirq 2019-01-22 21:40:35 +01:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h docs/mm: make GFP flags descriptions usable as kernel-doc 2018-08-23 18:48:43 -07:00
glob.h
gnss.h
goldfish.h goldfish: Use dedicated macros instead of manual bit shifting 2018-08-02 10:24:51 +02:00
gpio-pxa.h
gpio.h
gpio_keys.h Input: gpio_keys - add missing include to gpio_keys.h 2018-07-18 17:27:10 +00:00
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h media: hdmi.h: rename ADOBE_RGB to OPRGB and ADOBE_YCC to OPYCC 2018-11-13 11:08:54 -08: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-12-05 19:32:13 +01:00
hid-sensor-ids.h
hid.h HID: core: fix grouping by application 2018-09-04 21:31:43 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h mm, hmm: use devm semantics for hmm_devmem_{add, remove} 2019-01-13 09:51:04 +01:00
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
huge_mm.h mremap: properly flush TLB before releasing the page 2018-10-18 11:30:52 +02:00
hugetlb.h mm: migration: fix migration of huge PMD shared pages 2018-10-05 16:32:04 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: Add helper to tell if a char is invalid in a name 2018-07-18 10:01:46 +09:00
hwspinlock.h
hyperv.h Drivers: hv: vmbus: Check for ring when getting debug info 2019-01-31 08:14:36 +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 i2c: refactor function to release a DMA safe buffer 2018-08-30 23:13:15 +02:00
i8042.h
i8253.h clockevents/drivers/i8253: Add support for PIT shutdown quirk 2018-11-21 09:19:20 +01:00
icmp.h
icmpv6.h
ide.h
idle_inject.h
idr.h Merge branch 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax 2018-08-26 11:48:42 -07:00
ieee80211.h
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h ipv4/igmp: init group mode as INCLUDE when join source group 2018-07-16 11:20:06 -07:00
ihex.h
ima.h Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-08-15 10:25:26 -07:00
imx-media.h
in.h
in6.h
inet.h
inet_diag.h
inetdevice.h route: add support for directed broadcast forwarding 2018-07-29 12:37:06 -07:00
init.h init: allow initcall tables to be emitted using relative references 2018-08-22 10:52:47 -07:00
init_ohci1394_dma.h
init_task.h pids: Move the pgrp and session pid pointers from task_struct to signal_struct 2018-07-21 10:43:12 -05:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h integrity: prevent deadlock during digsig verification. 2018-07-18 07:27:22 -04:00
intel-iommu.h Merge branches 'arm/shmobile', 'arm/renesas', 'arm/msm', 'arm/smmu', 'arm/omap', 'x86/amd', 'x86/vt-d' and 'core' into next 2018-08-08 12:02:27 +02:00
intel-pti.h
intel-svm.h
interrupt.h
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
iommu-helper.h
iommu.h iommu: Remove the ->map_sg indirection 2018-08-08 11:06:20 +02:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h ipc/util.c: further variable name cleanups 2018-08-22 10:52:52 -07:00
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h tracing: Partial revert of "tracing: Centralize preemptirq tracepoints and unify their usage" 2018-08-10 15:11:25 -04:00
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
jhash.h
jiffies.h jiffies: add utility function to calculate delta in ms 2018-08-16 19:36:55 +02:00
journal-head.h
joystick.h Input: stop telling users to snail-mail Vojtech 2018-07-26 17:04:37 -07:00
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h kernel/memremap, kasan: make ZONE_DEVICE with work with KASAN 2018-08-17 16:20:30 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-08-26 11:25:21 -07:00
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h kernel.h: documentation for roundup() vs round_up() 2018-08-22 10:52:46 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h kernfs: allow creating kernfs objects with arbitrary uid/gid 2018-07-20 23:44:35 -07:00
kexec.h
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h Driver core patches for 4.19-rc1 2018-08-18 11:44:53 -07:00
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h kvm: x86: make kvm_{load|put}_guest_fpu() static 2018-09-20 00:51:43 +02:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
leds_pwm.h
libata.h Merge branch 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2018-08-24 13:20:33 -07:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h mm/list_lru: introduce list_lru_shrink_walk_irq() 2018-08-17 16:20:32 -07:00
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
lockdep.h tracing: Partial revert of "tracing: Centralize preemptirq tracepoints and unify their usage" 2018-08-10 15:11:25 -04:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-08-15 10:25:26 -07:00
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-12-29 13:37:59 +01: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 docs/mm: memblock: add kernel-doc description for memblock types 2018-08-02 12:17:28 -06:00
memcontrol.h mm, oom: introduce memory.oom.group 2018-08-22 10:52:45 -07:00
memfd.h
memory.h
memory_hotplug.h mm/page_alloc: Introduce free_area_init_core_hotplug 2018-08-22 10:52:45 -07:00
mempolicy.h
mempool.h
memremap.h mm, devm_memremap_pages: fix shutdown handling 2019-01-13 09:51:04 +01:00
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h mm: add mm_pxd_folded checks to pgtable_bytes accounting functions 2018-12-29 13:37:57 +01:00
mm_inline.h
mm_types.h mm: get rid of vmacache_flush_all() entirely 2018-09-13 15:18:04 -10:00
mm_types_task.h mm: get rid of vmacache_flush_all() entirely 2018-09-13 15:18:04 -10:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm, oom: distinguish blockable mode for mmu notifiers 2018-08-22 10:52:44 -07:00
mmzone.h mm, sched/numa: Remove remaining traces of NUMA rate-limiting 2018-10-09 08:30:51 +02:00
mnt_namespace.h
mod_devicetable.h linux/mod_devicetable.h: fix kernel-doc missing notation for typec_device_id 2018-09-05 14:36:53 +02:00
module.h x86, modpost: Replace last remnants of RETPOLINE with CONFIG_RETPOLINE 2019-01-16 22:04:29 +01:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h net: ipmr: add support for passing full packet on wrong vif 2018-07-13 14:21:16 -07:00
msdos_fs.h
msg.h
msi.h platform-msi: Free descriptors in platform_msi_domain_free() 2019-01-09 17:38:42 +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
net.h net: remove bogus RCU annotations on socket.wq 2018-07-31 12:40:22 -07:00
net_dim.h net/dim: Update DIM start sample after each DIM iteration 2018-12-05 19:31:59 +01:00
netdev_features.h net: Add TLS RX offload feature 2018-07-16 00:12:09 -07:00
netdevice.h net: ipv4: update fnhe_pmtu when first hop's MTU changes 2018-10-10 22:44:46 -07:00
netfilter.h netfilter: avoid erronous array bounds warning 2018-09-28 14:47:40 +02:00
netfilter_bridge.h netfilter: bridge: Expose nf_tables bridge hook priorities through uapi 2018-08-03 21:15:09 +02:00
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h netfilter: utils: move nf_ip_checksum* from ipv4 to utils 2018-07-16 17:51:48 +02:00
netfilter_ipv6.h netfilter: utils: move nf_ip6_checksum* from ipv6 to utils 2018-07-16 17:51:48 +02:00
netlink.h netlink: do not store start function in netlink_cb 2018-07-24 10:04:49 -07:00
netpoll.h netpoll: make ndo_poll_controller() optional 2018-09-23 21:55:24 -07:00
nfs.h
nfs3.h
nfs4.h NFS client updates for Linux 4.19 2018-08-23 16:03:58 -07:00
nfs_fs.h NFS recover from destination server reboot for copies 2018-08-13 17:04:23 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFS handle COPY reply CB_OFFLOAD call race 2018-08-09 12:56:39 -04:00
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFS add support for asynchronous COPY 2018-08-09 12:56:39 -04:00
nfsacl.h
nl802154.h
nls.h
nmi.h watchdog/core: Add missing prototypes for weak functions 2018-11-21 09:19:20 +01:00
node.h mm/memory_hotplug.c: make register_mem_sect_under_node() a callback of walk_memory_range() 2018-08-17 16:20:29 -07:00
nodemask.h mm: fix comment for NODEMASK_ALLOC 2018-08-22 10:52:45 -07:00
nospec.h
notifier.h
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 nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O 2018-11-13 11:08:24 -08:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
of.h of: Add device_type access helper functions 2018-08-31 08:30:42 -04:00
of_address.h
of_clk.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_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 mailbox/omap: switch to SPDX license identifier 2018-08-03 18:57:15 +05:30
omapfb.h
once.h
oom.h mm: Change return type int to vm_fault_t for fault handlers 2018-08-23 18:48:44 -07:00
openvswitch.h
oprofile.h
osq_lock.h
overflow.h overflow.h: Add arithmetic shift helper 2018-08-08 09:47:26 -06:00
oxu210hp.h
padata.h
page-flags-layout.h
page-flags.h mm: soft-offline: close the race against page allocation 2018-08-23 18:48:43 -07:00
page-isolation.h
page_counter.h
page_ext.h mm/page_ext.c: constify lookup_page_ext() argument 2018-08-17 16:20:28 -07:00
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: Unify PCI and normal DMA direction definitions 2018-07-31 18:04:55 -05:00
pci-dma.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h pci-epf-test/pci_endpoint_test: Add MSI-X support 2018-07-19 11:46:45 +01:00
pci-epf.h PCI: endpoint: Add MSI-X interfaces 2018-07-19 11:34:23 +01:00
pci.h IB/hfi1,PCI: Allow bus reset while probing 2018-09-11 21:44:52 -05:00
pci_hotplug.h PCI: hotplug: Demidlayer registration with the core 2018-07-23 17:04:13 -05:00
pci_ids.h r8169: add support for NCube 8168 network card 2018-09-03 19:05:13 -07:00
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h /proc/meminfo: add percpu populated pages count 2018-08-22 10:52:45 -07:00
percpu_counter.h
perf_event.h Merge branch 'perf/urgent' into perf/core, to pick up fixes 2018-07-25 11:47:02 +02:00
perf_regs.h
personality.h
pfn.h
pfn_t.h include/linux/pfn_t.h: force '~' to be parsed as an unary operator 2018-12-01 09:37:34 +01:00
phonet.h
phy.h net: phy: add helper phy_polling_mode 2018-07-25 13:41:22 -07:00
phy_fixed.h
phy_led_triggers.h
phylink.h phylink: add helper for configuring 2500BaseX modes 2018-08-09 11:08:19 -07:00
pid.h pid: Implement PIDTYPE_TGID 2018-07-21 10:43:12 -05:00
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
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 tracing: Centralize preemptirq tracepoints and unify their usage 2018-07-31 11:32:27 -04:00
prefetch.h
prime_numbers.h
printk.h Merge branch 'for-4.19-nmi' into for-linus 2018-08-14 13:36:15 +02:00
proc_fs.h proc: spread "const" a bit 2018-08-22 10:52:46 -07:00
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
psp-sev.h
pstore.h pstore/ram: Correctly calculate usable PRZ bytes 2018-12-17 09:24:39 +01:00
pstore_ram.h
pti.h x86/mm/pti: Introduce pti_finalize() 2018-07-20 01:11:45 +02:00
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h ptr_ring: wrap back ->producer in __ptr_ring_swap_queue() 2019-01-09 17:38:33 +01:00
ptrace.h ptrace: Remove unused ptrace_may_access_sched() and MODE_IBRS 2018-12-05 19:32:03 +01:00
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h
qcom_scm.h firmware: qcom: scm: add a dummy qcom_scm_assign_mem() 2018-07-21 13:34:09 -05:00
qnx6_fs.h
quicklist.h
quota.h fs/quota: Replace XQM_MAXQUOTAS usage with MAXQUOTAS 2018-08-22 18:17:29 +02:00
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h random: Make crng state queryable 2018-08-02 17:33:06 -04:00
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
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
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h Linux 4.18-rc5 2018-07-17 09:27:43 +02:00
regmap.h regmap: Support non-incrementing registers 2018-08-09 11:15:06 +01: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
ring_buffer.h ring-buffer: Make ring_buffer_record_is_set_on() return bool 2018-08-01 21:09:50 -04:00
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 rtc: remove struct rtc_task 2018-08-02 17:16:05 +02:00
rtmutex.h locking/rtmutex: Allow specifying a subclass for nested locking 2018-07-25 11:22:19 +02:00
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 function_graph: Use new curr_ret_depth to manage depth instead of curr_ret_stack 2018-12-05 19:32:10 +01:00
sched_clock.h sched/clock: Move sched clock initialization and merge with generic clock 2018-07-20 00:02:43 +02:00
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 Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-08-15 10:25:26 -07:00
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h vt: selection: take screen contents from uniscr if available 2018-07-21 09:18:27 +02:00
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 Revert "serial: sh-sci: Remove SCIx_RZ_SCIFA_REGTYPE" 2018-10-02 14:38:02 -07:00
serio.h
set_memory.h x86/memory_failure: Introduce {set, clear}_mce_nospec() 2018-08-20 09:22:45 -07:00
sfi.h
sfi_acpi.h
sfp.h net: phy: sfp: Add HWMON support for module sensors 2018-07-18 10:02:02 +09: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 mm: struct shrinker: make flags of unsigned type 2018-08-22 10:52:43 -07:00
signal.h signal: Guard against negative signal numbers in copy_siginfo_from_user32 2018-11-13 11:08:45 -08:00
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h net: Fix usage of pskb_trim_rcsum 2019-01-31 08:14:31 +01:00
slab.h mm: introduce CONFIG_MEMCG_KMEM as combination of CONFIG_MEMCG && !CONFIG_SLOB 2018-08-17 16:20:30 -07: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
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h ila: make lockdep happy again 2018-08-16 12:14:42 -07:00
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: Add notrace variant of srcu_dereference 2018-07-26 10:50:16 -04:00
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stm.h
stmmac.h net: stmmac: Rework coalesce timer and fix multi-queue races 2018-09-18 19:48:08 -07:00
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 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2018-10-12 12:35:02 +02:00
svga.h
sw842.h
swab.h
swait.h
swap.h mm/swap: use nr_node_ids for avail_lists in swap_info_struct 2019-01-26 09:32:43 +01:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h mm: Change return type int to vm_fault_t for fault handlers 2018-08-23 18:48:44 -07:00
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h arm64 updates for 4.19 2018-08-14 16:39:13 -07:00
syscore_ops.h
sysctl.h
sysfs.h Driver core patches for 4.19-rc1 2018-08-18 11:44:53 -07: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-29 13:37:55 +01:00
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h TC: Set DMA masks for devices 2018-11-13 11:08:51 -08:00
tca6416_keypad.h
tcp.h tcp: defer SACK compression after DupThresh 2018-12-05 19:32:00 +01:00
tee_drv.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thinkpad_acpi.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 y2038: Provide aliases for compat helpers 2018-08-22 15:11:35 +02:00
time64.h
timecounter.h
timekeeper_internal.h
timekeeping.h timekeeping: Fix declaration of read_persistent_wall_and_boot_offset() 2018-09-03 13:26:44 +02: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: Implement tpm_default_chip() to find a TPM chip 2018-07-28 17:03:11 +03:00
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h tracepoint: Fix tracepoint array element size mismatch 2018-10-17 15:35:29 -04:00
tracepoint.h tracepoint: Use __idx instead of idx in DO_TRACE macro to make it unique 2018-12-08 12:59:07 +01:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h USB: serial: console: fix reported terminal settings 2018-12-13 09:16:15 +01:00
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
uio.h uaccess: Fix is_source param for check_copy_size() in copy_to_iter_mcsafe() 2018-09-12 14:58:47 -07:00
uio_driver.h
umh.h
uprobes.h Uprobe: Additional argument arch_uprobe to uprobe_write_opcode() 2018-08-13 20:08:33 -04:00
usb.h USB: check usb_get_extra_descriptor for proper size 2018-12-13 09:16:15 +01:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h mm: Change return type int to vm_fault_t for fault handlers 2018-08-23 18:48:44 -07:00
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
vbox_utils.h
verification.h Replace magic for trusting the secondary keyring with #define 2018-08-16 09:57:20 -07:00
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h ALSA: hda - Enable runtime PM only for discrete GPU 2018-09-13 17:58:30 +02:00
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: Make vp_set_vq_affinity() take a mask. 2018-08-11 12:02:18 -07:00
virtio_console.h
virtio_net.h net/packet: fix packet drop as of virtio gso 2018-10-04 22:23:15 -07:00
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h mm: get rid of vmacache_flush_all() entirely 2018-09-13 15:18:04 -10:00
vm_sockets.h
vmacache.h mm: get rid of vmacache_flush_all() entirely 2018-09-13 15:18:04 -10:00
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 scsi: sched/wait: Add wait_event_lock_irq_timeout for TASK_UNINTERRUPTIBLE usage 2018-11-13 11:08:42 -08:00
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
ww_mutex.h
xarray.h
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