linux-stable/include/linux
Maciej Fijalkowski ebf7d1f508 bpf, x64: rework pro/epilogue and tailcall handling in JIT
This commit serves two things:
1) it optimizes BPF prologue/epilogue generation
2) it makes possible to have tailcalls within BPF subprogram

Both points are related to each other since without 1), 2) could not be
achieved.

In [1], Alexei says:
"The prologue will look like:
nop5
xor eax,eax  // two new bytes if bpf_tail_call() is used in this
             // function
push rbp
mov rbp, rsp
sub rsp, rounded_stack_depth
push rax // zero init tail_call counter
variable number of push rbx,r13,r14,r15

Then bpf_tail_call will pop variable number rbx,..
and final 'pop rax'
Then 'add rsp, size_of_current_stack_frame'
jmp to next function and skip over 'nop5; xor eax,eax; push rpb; mov
rbp, rsp'

This way new function will set its own stack size and will init tail
call
counter with whatever value the parent had.

If next function doesn't use bpf_tail_call it won't have 'xor eax,eax'.
Instead it would need to have 'nop2' in there."

Implement that suggestion.

Since the layout of stack is changed, tail call counter handling can not
rely anymore on popping it to rbx just like it have been handled for
constant prologue case and later overwrite of rbx with actual value of
rbx pushed to stack. Therefore, let's use one of the register (%rcx) that
is considered to be volatile/caller-saved and pop the value of tail call
counter in there in the epilogue.

Drop the BUILD_BUG_ON in emit_prologue and in
emit_bpf_tail_call_indirect where instruction layout is not constant
anymore.

Introduce new poke target, 'tailcall_bypass' to poke descriptor that is
dedicated for skipping the register pops and stack unwind that are
generated right before the actual jump to target program.
For case when the target program is not present, BPF program will skip
the pop instructions and nop5 dedicated for jmpq $target. An example of
such state when only R6 of callee saved registers is used by program:

ffffffffc0513aa1:       e9 0e 00 00 00          jmpq   0xffffffffc0513ab4
ffffffffc0513aa6:       5b                      pop    %rbx
ffffffffc0513aa7:       58                      pop    %rax
ffffffffc0513aa8:       48 81 c4 00 00 00 00    add    $0x0,%rsp
ffffffffc0513aaf:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
ffffffffc0513ab4:       48 89 df                mov    %rbx,%rdi

When target program is inserted, the jump that was there to skip
pops/nop5 will become the nop5, so CPU will go over pops and do the
actual tailcall.

One might ask why there simply can not be pushes after the nop5?
In the following example snippet:

ffffffffc037030c:       48 89 fb                mov    %rdi,%rbx
(...)
ffffffffc0370332:       5b                      pop    %rbx
ffffffffc0370333:       58                      pop    %rax
ffffffffc0370334:       48 81 c4 00 00 00 00    add    $0x0,%rsp
ffffffffc037033b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
ffffffffc0370340:       48 81 ec 00 00 00 00    sub    $0x0,%rsp
ffffffffc0370347:       50                      push   %rax
ffffffffc0370348:       53                      push   %rbx
ffffffffc0370349:       48 89 df                mov    %rbx,%rdi
ffffffffc037034c:       e8 f7 21 00 00          callq  0xffffffffc0372548

There is the bpf2bpf call (at ffffffffc037034c) right after the tailcall
and jump target is not present. ctx is in %rbx register and BPF
subprogram that we will call into on ffffffffc037034c is relying on it,
e.g. it will pick ctx from there. Such code layout is therefore broken
as we would overwrite the content of %rbx with the value that was pushed
on the prologue. That is the reason for the 'bypass' approach.

Special care needs to be taken during the install/update/remove of
tailcall target. In case when target program is not present, the CPU
must not execute the pop instructions that precede the tailcall.

To address that, the following states can be defined:
A nop, unwind, nop
B nop, unwind, tail
C skip, unwind, nop
D skip, unwind, tail

A is forbidden (lead to incorrectness). The state transitions between
tailcall install/update/remove will work as follows:

First install tail call f: C->D->B(f)
 * poke the tailcall, after that get rid of the skip
Update tail call f to f': B(f)->B(f')
 * poke the tailcall (poke->tailcall_target) and do NOT touch the
   poke->tailcall_bypass
Remove tail call: B(f')->C(f')
 * poke->tailcall_bypass is poked back to jump, then we wait the RCU
   grace period so that other programs will finish its execution and
   after that we are safe to remove the poke->tailcall_target
Install new tail call (f''): C(f')->D(f'')->B(f'').
 * same as first step

This way CPU can never be exposed to "unwind, tail" state.

Last but not least, when tailcalls get mixed with bpf2bpf calls, it
would be possible to encounter the endless loop due to clearing the
tailcall counter if for example we would use the tailcall3-like from BPF
selftests program that would be subprogram-based, meaning the tailcall
would be present within the BPF subprogram.

This test, broken down to particular steps, would do:
entry -> set tailcall counter to 0, bump it by 1, tailcall to func0
func0 -> call subprog_tail
(we are NOT skipping the first 11 bytes of prologue and this subprogram
has a tailcall, therefore we clear the counter...)
subprog -> do the same thing as entry

and then loop forever.

To address this, the idea is to go through the call chain of bpf2bpf progs
and look for a tailcall presence throughout whole chain. If we saw a single
tail call then each node in this call chain needs to be marked as a subprog
that can reach the tailcall. We would later feed the JIT with this info
and:
- set eax to 0 only when tailcall is reachable and this is the entry prog
- if tailcall is reachable but there's no tailcall in insns of currently
  JITed prog then push rax anyway, so that it will be possible to
  propagate further down the call chain
- finally if tailcall is reachable, then we need to precede the 'call'
  insn with mov rax, [rbp - (stack_depth + 8)]

Tail call related cases from test_verifier kselftest are also working
fine. Sample BPF programs that utilize tail calls (sockex3, tracex5)
work properly as well.

[1]: https://lore.kernel.org/bpf/20200517043227.2gpq22ifoq37ogst@ast-mbp.dhcp.thefacebook.com/

Suggested-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2020-09-17 19:55:30 -07:00
..
amba
avf
bcma
byteorder
can
ceph ceph: move sb->wb_pagevec_pool to be a global mempool 2020-08-04 19:41:12 +02:00
clk
crush libceph: replace HTTP links with HTTPS ones 2020-08-03 11:05:26 +02:00
decompress lib: Add zstd support to decompress 2020-07-31 11:49:08 +02:00
device
dma include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
dsa net: dsa: loop: Wire-up MTU callbacks 2020-08-03 18:19:23 -07:00
extcon
firmware Char/Misc driver patches for 5.9-rc1 2020-08-05 11:43:47 -07:00
fpga
fsl Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
gpio gpio: don't use same lockdep class for all devm_gpiochip_add_data users 2020-08-04 01:22:02 +02:00
greybus
hsi
i3c
iio
input
irqchip include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
isdn
lockd
mailbox - mediatek : 2020-08-07 12:58:11 -07:00
mdio net: xgene: Move shared header file into include/linux 2020-08-27 06:55:50 -07:00
mfd - Core Frameworks 2020-08-15 08:09:38 -07:00
mlx4
mlx5 RDMA 5.9 merge window pull request 2020-08-06 16:43:36 -07:00
mmc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
mtd Core changes: 2020-08-07 08:54:16 +02:00
mux
net/intel
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs net: pcs: Move XPCS into new PCS subdirectory 2020-08-27 06:55:50 -07:00
perf
phy
pinctrl
platform_data More ACPI updates for 5.9-rc1 2020-08-15 08:18:22 -07:00
power power: supply: bq27xxx_battery: Add the BQ28z610 Battery monitor 2020-07-29 22:33:10 +02:00
qed qed: align adjacent indent 2020-08-24 18:01:33 -07:00
raid
regulator
remoteproc remoteproc: kill IPA notify code 2020-07-28 17:11:02 -07:00
reset
rpmsg
rtc
sched watch_queue: Limit the number of watches a user can hold 2020-08-17 09:39:18 -07:00
soc include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
soundwire
spi spi: correct kernel-doc inconsistency 2020-07-27 14:55:22 +01:00
ssb
sunrpc NFS client updates for Linux 5.9 2020-08-15 08:26:55 -07:00
ulpi
unaligned
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
wimax
8250_pci.h
a.out.h
acct.h
acpi.h The usual boring updates from the interrupt subsystem: 2020-08-04 18:11:58 -07:00
acpi_dma.h
acpi_iort.h ACPI/IORT: Add an input ID to acpi_dma_configure() 2020-07-28 15:51:31 +01:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.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: SoC driver updates for v5.9 2020-08-03 19:30:59 -07:00
arm_sdei.h
armada-37xx-rwtm-mailbox.h
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h include/linux/async_tx.h: drop duplicated word in a comment 2020-08-12 10:57:59 -07:00
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-isc-media.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic-arch-fallback.h
atomic-fallback.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.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
bit_spinlock.h
bitfield.h bitfield.h: don't compile-time validate _val in FIELD_FIT 2020-08-10 12:16:51 -07:00
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h
blk-crypto.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h block: Remove callback typedefs for blk_mq_ops 2020-07-28 10:22:19 -06:00
blk-pm.h
blk_types.h
blkdev.h for-5.9/block-merge-20200804 2020-08-05 11:12:34 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bottom_half.h
bpf-cgroup.h bpf: tcp: Allow bpf prog to write and parse TCP header option 2020-08-24 14:35:00 -07:00
bpf-netns.h
bpf.h bpf, x64: rework pro/epilogue and tailcall handling in JIT 2020-09-17 19:55:30 -07:00
bpf_lirc.h
bpf_local_storage.h bpf: Split bpf_local_storage to bpf_sk_storage 2020-08-25 15:00:04 -07:00
bpf_lsm.h bpf: Implement bpf_local_storage for inodes 2020-08-25 15:00:04 -07:00
bpf_trace.h
bpf_types.h bpf: Implement bpf_local_storage for inodes 2020-08-25 15:00:04 -07:00
bpf_verifier.h bpf, x64: rework pro/epilogue and tailcall handling in JIT 2020-09-17 19:55:30 -07:00
bpfilter.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h bpf: Move btf_resolve_size into __btf_resolve_size 2020-08-25 15:37:41 -07:00
btf_ids.h bpf: Add BTF_SET_START/END macros 2020-08-25 15:37:41 -07:00
btree-128.h
btree-type.h
btree.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
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
cgroup.h
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h Merge branches 'clk-microchip', 'clk-mmp', 'clk-unused' and 'clk-at91' into clk-next 2020-08-03 15:07:18 -07:00
clk.h
clkdev.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h mm: use unsigned types for fragmentation score 2020-08-12 10:57:56 -07:00
compat.h all arch: remove system call sys_sysctl 2020-08-14 19:56:56 -07:00
compiler-clang.h include/linux/compiler-clang.h: drop duplicated word in a comment 2020-08-12 10:57:59 -07:00
compiler-gcc.h Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
compiler-intel.h
compiler.h A single commit that separates out the instrumentation_begin()/end() bits from compiler.h. 2020-08-03 14:25:40 -07:00
compiler_attributes.h GCC plugins updates for v5.9-rc1 2020-08-04 13:26:06 -07:00
compiler_types.h sparse: group the defines by functionality 2020-08-12 10:57:59 -07:00
completion.h
component.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
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
counter_enum.h
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h cpufreq: intel_pstate: Implement passive mode with HWP enabled 2020-08-11 17:29:45 +02:00
cpuhotplug.h clocksource/drivers: Add CLINT timer driver 2020-08-20 10:57:29 -07:00
cpuidle.h cpuidle: change enter_s2idle() prototype 2020-07-29 18:38:30 +02:00
cpuidle_haltpoll.h
cpumask.h
cpuset.h
crash_core.h kdump: append kernel build-id string to VMCOREINFO 2020-08-12 10:58:01 -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
crc64.h
cred.h
crypto.h
cs5535.h
ctype.h
cuda.h
cyclades.h
dasd_mod.h
davinci_emac.h
dax.h
dca.h
dcache.h vfs: Use sequence counter with associated spinlock 2020-07-29 16:14:27 +02:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq-event.h
devfreq.h PM / devfreq: Add support delayed timer for polling mode 2020-07-30 17:22:57 +09:00
devfreq_cooling.h thermal: Update power allocator and devfreq cooling to SPDX licensing 2020-07-30 19:26:10 +02:00
device-mapper.h for-5.9/block-20200802 2020-08-03 11:57:03 -07:00
device.h Devicetree updates for v5.9: 2020-08-05 13:02:45 -07:00
device_cgroup.h
devpts_fs.h
digsig.h
dim.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-debug: remove debug_dma_assert_idle() function 2020-08-14 15:22:43 -07:00
dma-direct.h dma-pool: fix coherent pool allocations for IOMMU mappings 2020-08-14 16:27:00 +02:00
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-heap.h
dma-iommu.h
dma-mapping.h dma-pool: fix coherent pool allocations for IOMMU mappings 2020-08-14 16:27:00 +02:00
dma-noncoherent.h
dma-resv.h dma-buf: Use sequence counter with associated wound/wait mutex 2020-07-29 16:14:25 +02:00
dmaengine.h dmaengine updates for v5.9-rc1 2020-08-07 12:41:36 -07:00
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 locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: provide empty efi_enter_virtual_mode implementation 2020-08-07 11:33:28 -07:00
efi_embedded_fw.h Revert "test_firmware: Test platform fw loading on non-EFI systems" 2020-07-27 12:14:28 +02:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h take fdpic-related parts of elf_prstatus out 2020-07-27 14:29:22 -04:00
elfcore.h kill elf_fpxregs_t 2020-07-27 14:29:23 -04:00
elfnote.h
enclosure.h
energy_model.h
entry-common.h
entry-kvm.h
err.h
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
ethtool_netlink.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h include/linux/exportfs.h: drop duplicated word in a comment 2020-08-12 10:57:59 -07:00
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h fanotify: add support for FAN_REPORT_NAME 2020-07-27 23:24:00 +02:00
fault-inject.h
fb.h fbmem: pull fbcon_update_vcs() out of fb_set_var() 2020-08-04 07:37:23 +02:00
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
filter.h bpf: Plug hole in struct bpf_sk_lookup_kern 2020-09-10 17:47:50 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
frame.h
freezer.h
frontswap.h include/linux/frontswap.h: drop duplicated word in a comment 2020-08-12 10:57:57 -07:00
fs.h io_uring-5.9-2020-08-15 2020-08-16 10:55:12 -07:00
fs_context.h
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h vfs: Use sequence counter with associated spinlock 2020-07-29 16:14:27 +02:00
fs_types.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h fsnotify: remove check that source dentry is positive 2020-07-27 23:24:00 +02:00
fsnotify_backend.h fsnotify: create method handle_inode_event() in fsnotify_operations 2020-07-27 23:25:50 +02:00
fsverity.h
ftrace.h
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h lib/generic-radix-tree.c: remove unneeded __rcu 2020-08-12 10:57:59 -07:00
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hiddev.h
hidraw.h
highmem.h include/linux/highmem.h: fix duplicated words in a comment 2020-08-12 10:57:57 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
hrtimer_defs.h
htcpld.h
huge_mm.h mm: add thp_head 2020-08-14 19:56:56 -07:00
hugetlb.h mm/hugetlb: make hugetlb migration callback CMA aware 2020-08-12 10:58:02 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h hw_breakpoint: Remove unused __register_perf_hw_breakpoint() declaration 2020-08-06 17:54:04 +02:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-smbus.h
i2c.h Merge branch 'i2c/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2020-08-13 18:41:00 -07:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idle_inject.h
idr.h
ieee80211.h mac80211: Handle special status codes in SAE commit 2020-08-03 10:54:54 +02:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h
if_tun.h net-tun: Eliminate two tun/xdp related function calls from vhost-net 2020-08-19 14:02:49 -07:00
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_syscalls.h init: add an init_dup helper 2020-08-04 21:02:38 -04:00
init_task.h
initrd.h initrd: remove support for multiple floppies 2020-07-30 08:22:33 +02:00
inotify.h
input-polldev.h
input.h
instrumentation.h
instrumented.h
integrity.h
intel-iommu.h
intel-ish-client-if.h
intel-pti.h
intel-svm.h
intel_rapl.h powercap: Add Power Limit4 support 2020-07-27 14:17:36 +02:00
intel_th.h
interconnect-provider.h
interconnect.h
interrupt.h tasklet: Introduce new initialization API 2020-07-30 11:16:01 -07:00
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h iomap: constify ioreadX() iomem argument (as in generic implementation) 2020-08-14 19:56:57 -07:00
io-64-nonatomic-lo-hi.h iomap: constify ioreadX() iomem argument (as in generic implementation) 2020-08-14 19:56:57 -07:00
io-mapping.h
io-pgtable.h
io.h
ioasid.h
iocontext.h
iomap.h
iommu-helper.h
iommu.h Merge branches 'arm/renesas', 'arm/qcom', 'arm/mediatek', 'arm/omap', 'arm/exynos', 'arm/smmu', 'ppc/pamu', 'x86/vt-d', 'x86/amd' and 'core' into next 2020-07-29 14:42:00 +02:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h net: ipv6: remove unused arg exact_dif in compute_score 2020-08-31 13:08:10 -07:00
ipv6_route.h
irq.h genirq/affinity: Make affinity setting if activated opt-in 2020-07-27 16:20:40 +02:00
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h irqchip: Fix IRQCHIP_PLATFORM_DRIVER_* compilation by including module.h 2020-07-27 08:55:04 +01:00
irqdesc.h
irqdomain.h
irqflags.h lockdep: Refactor IRQ trace events fields into struct 2020-07-31 12:11:58 +02:00
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isicom.h
iversion.h
jbd2.h Improvements to ext4's block allocator performance for very large file 2020-08-21 11:03:38 -07:00
jhash.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
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: remove kasan_unpoison_stack_above_sp_to() 2020-08-07 11:33:28 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kcsan-checks.h
kcsan.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h panic: make print_oops_end_marker() static 2020-08-12 10:58:02 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h kexec_file: Allow archs to handle special regions while locating memory hole 2020-07-29 23:47:53 +10:00
key-type.h
key.h
keyboard.h
keyctl.h
keyslot-manager.h
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 Tracing updates for 5.9 2020-08-07 18:29:15 -07:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
kvm_host.h s390: implement diag318 2020-08-06 12:59:31 -07:00
kvm_irqfd.h kvm/eventfd: Use sequence counter with associated spinlock 2020-07-29 16:14:29 +02:00
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-class-multicolor.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds-ti-lmu-common.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
leds.h
libata.h
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h ACPI: NFIT: Add runtime firmware activate support 2020-07-28 19:29:22 -06:00
libps2.h
license.h
lightnvm.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h list: add "list_del_init_careful()" to go with "list_empty_careful()" 2020-08-02 20:39:44 -07:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
local_lock.h
local_lock_internal.h
lockdep.h locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
lockdep_types.h lockdep: Move list.h inclusion into lockdep.h 2020-07-28 10:45:46 +02:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h Minor fixes for v5.9. 2020-08-11 14:30:36 -07:00
lsm_hooks.h Minor fixes for v5.9. 2020-08-11 14:30:36 -07:00
lz4.h
lzo.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h power supply and reset changes for the v5.9 series 2020-08-07 21:27:37 -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 net: mdiobus: add clause 45 mdiobus write accessor 2020-08-31 12:52:33 -07:00
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h mm/memcontrol: fix a data race in scan count 2020-08-14 19:56:57 -07:00
memfd.h
memory.h
memory_hotplug.h
mempolicy.h include/linux/mempolicy.h: fix typo 2020-08-12 10:57:56 -07:00
mempool.h
memregion.h
memremap.h
memstick.h
mhi.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h mm/migrate: introduce a standard migration target allocation function 2020-08-12 10:58:02 -07:00
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
miscdevice.h
mm-arch-hooks.h
mm.h mm: annotate a data race in page_zonenum() 2020-08-14 19:56:57 -07:00
mm_inline.h mm: replace hpage_nr_pages with thp_nr_pages 2020-08-14 19:56:56 -07:00
mm_types.h mm: store compound_nr as well as compound_order 2020-08-14 19:56:56 -07:00
mm_types_task.h
mman.h mm: adjust vm_committed_as_batch according to vm overcommit policy 2020-08-07 11:33:26 -07:00
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm/migrate: fix migrate_pgmap_owner w/o CONFIG_MMU_NOTIFIER 2020-08-07 11:33:21 -07:00
mmzone.h mm/compaction: correct the comments of compact_defer_shift 2020-08-12 10:57:56 -07:00
mnt_namespace.h
mod_devicetable.h
module.h modules: inherit TAINT_PROPRIETARY_MODULE 2020-08-05 10:31:28 +02:00
module_signature.h
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h
mpage.h
mpi.h lib/mpi: Add mpi_sub_ui() 2020-07-31 18:08:59 +10:00
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h
mtio.h
mutex.h locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
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 io_uring: allow tcp ancillary data for __sys_recvmsg_sock() 2020-08-24 16:16:06 -07:00
netdev_features.h
netdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-09-01 13:22:59 -07:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency 2020-08-13 04:16:15 +02:00
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h NFS client updates for Linux 5.9 2020-08-15 08:26:55 -07:00
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
node.h
nodemask.h
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: drop a duplicated word in a comment 2020-07-29 07:45:20 +02:00
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvmet: add passthru code to process commands 2020-07-29 07:45:21 +02:00
nvmem-consumer.h nvmem: core: Add nvmem_cell_read_u8() 2020-07-29 17:12:08 +02:00
nvmem-provider.h nvmem: core: add support to auto devid 2020-07-29 17:12:08 +02:00
nvram.h
objagg.h
of.h ARM: SoC driver updates for v5.9 2020-08-03 19:30:59 -07:00
of_address.h of_address: Add bus type match for pci ranges parser 2020-07-28 22:49:52 +02:00
of_clk.h
of_device.h of/device: Add input id to of_dma_configure() 2020-07-28 15:51:32 +01:00
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h of/device: Add input id to of_dma_configure() 2020-07-28 15:51:32 +01:00
of_irq.h of/irq: Make of_msi_map_rid() PCI bus agnostic 2020-07-28 15:51:32 +01:00
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-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h mm, oom: make the calculation of oom badness more accurate 2020-08-12 10:57:56 -07:00
openvswitch.h
oprofile.h
osq_lock.h
overflow.h
packing.h
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
pageblock-flags.h mm/page_alloc.c: remove unnecessary end_bitidx for [set|get]_pfnblock_flags_mask() 2020-08-07 11:33:29 -07:00
pagemap.h mm: replace hpage_nr_pages with thp_nr_pages 2020-08-14 19:56:56 -07:00
pagevec.h
pagewalk.h
parman.h
parport.h
parport_pc.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.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-v5.9-changes 2020-08-07 18:48:15 -07:00
pci_hotplug.h
pci_ids.h VFIO updates for v5.9-rc1 2020-08-12 12:09:36 -07:00
pcs-lynx.h net: phy: add Lynx PCS module 2020-08-31 12:52:33 -07:00
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h percpu_counter: add percpu_counter_sync() 2020-08-07 11:33:26 -07:00
perf_event.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
pgtable.h arch/ia64: Restore arch-specific pgd_offset_k implementation 2020-08-17 21:50:54 +03:00
phonet.h
phy.h net: mdiobus: add reset-post-delay-us handling 2020-08-03 15:01:02 -07:00
phy_fixed.h
phy_led_triggers.h
phylink.h net: phylink: add helper function to decode USXGMII word 2020-08-31 12:52:33 -07:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h
pldmfw.h Add pldmfw library for PLDM firmware update 2020-07-28 17:07:06 -07:00
plist.h
pm-trace.h
pm.h PM: Make *_DEV_PM_OPS macros use __maybe_unused 2020-07-27 13:52:36 +02:00
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm 2020-08-04 12:44:53 +02:00
pm_qos.h
pm_runtime.h PM: runtime: Add kerneldoc comments to multiple helpers 2020-08-04 12:39:28 +02:00
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h include/linux/poison.h: remove obsolete comment 2020-08-12 10:57:59 -07:00
poll.h
posix-clock.h
posix-timers.h posix-cpu-timers: Provide mechanisms to defer timer handling to task_work 2020-08-06 16:50:59 +02:00
posix_acl.h
posix_acl_xattr.h
power_supply.h power: supply: wilco_ec: Add long life charging mode 2020-07-31 14:33:56 +02:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
prandom.h random32: move the pseudo-random 32-bit definitions to prandom.h 2020-08-03 23:24:26 -07:00
preempt.h
prefetch.h
prime_numbers.h
printk.h printk: Make linux/printk.h self-contained 2020-07-27 17:46:24 +09:00
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
pseudo_fs.h
psi.h
psi_types.h
psp-sev.h
psp-tee.h
pstore.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h ptp: Remove unused macro 2020-08-19 16:09:19 -07:00
ptp_clock_kernel.h
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h
qcom_scm.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h random32: move the pseudo-random 32-bit definitions to prandom.h 2020-08-03 23:24:26 -07:00
range.h
ras.h
ratelimit.h printk: Make linux/printk.h self-contained 2020-07-27 17:46:24 +09:00
ratelimit_types.h printk: Make linux/printk.h self-contained 2020-07-27 17:46:24 +09:00
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h These were the main changes in this cycle: 2020-08-03 14:39:35 -07:00
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcupdate_trace.h bpf: Fix build without BPF_SYSCALL, but with BPF_JIT. 2020-08-31 20:54:57 +02:00
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h
regset.h regset: kill user_regset_copyout{,_zero}() 2020-07-27 14:31:13 -04:00
relay.h
remoteproc.h remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
resctrl.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h rhashtable: Restore RCU marking on rhash_lock_head 2020-07-28 17:09:49 -07: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.h
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched.h A set of posix CPU timer changes which allows to defer the heavy work of 2020-08-14 14:17:51 -07:00
sched_clock.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h Generic implementation of common syscall, interrupt and exception 2020-08-04 21:00:11 -07:00
securebits.h
security.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
seqno-fence.h
serdev.h
serial.h
serial_8250.h serial: 8250: Add 8250 port clock update method 2020-07-29 17:14:38 +02:00
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
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h tmpfs: support 64-bit inums per-sb 2020-08-07 11:33:24 -07:00
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-08-07 21:14:30 -07:00
skmsg.h net: sk_msg: Simplify sk_psock initialization 2020-08-21 15:16:11 -07:00
slab.h mm: memcg/slab: use a single set of kmem_caches for all allocations 2020-08-07 11:33:25 -07:00
slab_def.h mm: memcg/slab: use a single set of kmem_caches for all allocations 2020-08-07 11:33:25 -07:00
slimbus.h
slub_def.h mm: memcg/slab: use a single set of kmem_caches for all allocations 2020-08-07 11:33:25 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smp_types.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sockptr.h net: Revert "net: optimize the sockptr_t for unified kernel/user address spaces" 2020-08-10 12:06:44 -07: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
srcutiny.h
srcutree.h
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
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h PM, libnvdimm: Add runtime firmware activation support 2020-07-28 19:28:32 -06:00
svga.h
sw842.h
swab.h
swait.h
swap.h mm/swap: implement workingset detection for anonymous LRU 2020-08-12 10:57:56 -07: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 all arch: remove system call sys_sysctl 2020-08-14 19:56:56 -07:00
syscore_ops.h
sysctl.h all arch: remove system call sys_sysctl 2020-08-14 19:56:56 -07:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h ACPI: Use valid link to the ACPI specification 2020-07-27 14:11:22 +02:00
tc.h
tca6416_keypad.h
tcp.h tcp: bpf: Optionally store mac header in TCP_SAVE_SYN 2020-08-24 14:35:00 -07: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 locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
time32.h
time64.h
time_namespace.h
timecounter.h
timekeeper_internal.h
timekeeping.h
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 tracing: Add trace_array_init_printk() to initialize instance trace_printk() buffers 2020-08-07 17:05:01 -04:00
trace_clock.h
trace_events.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h tracepoint: Use __used attribute definitions from compiler_attributes.h 2020-08-03 13:34:37 -04:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h locking/atomic: Move ATOMIC_INIT into linux/types.h 2020-07-29 16:14:18 +02:00
u64_stats_sync.h
uacce.h
uaccess.h uaccess: add force_uaccess_{begin,end} helpers 2020-08-12 10:57:59 -07:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h
uio_driver.h
umh.h
unicode.h
units.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h vdpa: Modify get_vq_state() to return error code 2020-08-05 19:00:23 -04:00
verification.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h vgaarb: mark vga_tryget static 2020-08-01 11:28:17 +02:00
vhost_iotlb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
virtio.h
virtio_byteorder.h
virtio_caif.h virtio_caif: correct tags for config space fields 2020-08-05 11:08:41 -04:00
virtio_config.h virtio_config: fix up warnings on parisc 2020-08-05 19:56:03 -04:00
virtio_console.h
virtio_net.h
virtio_ring.h virtio_ring: sparse warning fixup 2020-08-05 09:30:19 -04:00
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h mm/vmstat: add events for THP migration without split 2020-08-12 10:57:57 -07:00
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h mm: memcg: prepare for byte-sized vmstat items 2020-08-07 11:33:24 -07:00
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
watch_queue.h
watchdog.h watchdog: add support for adjusting last known HW keepalive time 2020-08-05 18:43:02 +02:00
win_minmax.h
wireless.h
wkup_m3_ipc.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
xarray.h
xattr.h Highlights: 2020-08-09 13:58:04 -07:00
xxhash.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
xz.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h