linux/include/linux
Martin KaFai Lau 6ac99e8f23 bpf: Introduce bpf sk local storage
After allowing a bpf prog to
- directly read the skb->sk ptr
- get the fullsock bpf_sock by "bpf_sk_fullsock()"
- get the bpf_tcp_sock by "bpf_tcp_sock()"
- get the listener sock by "bpf_get_listener_sock()"
- avoid duplicating the fields of "(bpf_)sock" and "(bpf_)tcp_sock"
  into different bpf running context.

this patch is another effort to make bpf's network programming
more intuitive to do (together with memory and performance benefit).

When bpf prog needs to store data for a sk, the current practice is to
define a map with the usual 4-tuples (src/dst ip/port) as the key.
If multiple bpf progs require to store different sk data, multiple maps
have to be defined.  Hence, wasting memory to store the duplicated
keys (i.e. 4 tuples here) in each of the bpf map.
[ The smallest key could be the sk pointer itself which requires
  some enhancement in the verifier and it is a separate topic. ]

Also, the bpf prog needs to clean up the elem when sk is freed.
Otherwise, the bpf map will become full and un-usable quickly.
The sk-free tracking currently could be done during sk state
transition (e.g. BPF_SOCK_OPS_STATE_CB).

The size of the map needs to be predefined which then usually ended-up
with an over-provisioned map in production.  Even the map was re-sizable,
while the sk naturally come and go away already, this potential re-size
operation is arguably redundant if the data can be directly connected
to the sk itself instead of proxy-ing through a bpf map.

This patch introduces sk->sk_bpf_storage to provide local storage space
at sk for bpf prog to use.  The space will be allocated when the first bpf
prog has created data for this particular sk.

The design optimizes the bpf prog's lookup (and then optionally followed by
an inline update).  bpf_spin_lock should be used if the inline update needs
to be protected.

BPF_MAP_TYPE_SK_STORAGE:
-----------------------
To define a bpf "sk-local-storage", a BPF_MAP_TYPE_SK_STORAGE map (new in
this patch) needs to be created.  Multiple BPF_MAP_TYPE_SK_STORAGE maps can
be created to fit different bpf progs' needs.  The map enforces
BTF to allow printing the sk-local-storage during a system-wise
sk dump (e.g. "ss -ta") in the future.

The purpose of a BPF_MAP_TYPE_SK_STORAGE map is not for lookup/update/delete
a "sk-local-storage" data from a particular sk.
Think of the map as a meta-data (or "type") of a "sk-local-storage".  This
particular "type" of "sk-local-storage" data can then be stored in any sk.

The main purposes of this map are mostly:
1. Define the size of a "sk-local-storage" type.
2. Provide a similar syscall userspace API as the map (e.g. lookup/update,
   map-id, map-btf...etc.)
3. Keep track of all sk's storages of this "type" and clean them up
   when the map is freed.

sk->sk_bpf_storage:
------------------
The main lookup/update/delete is done on sk->sk_bpf_storage (which
is a "struct bpf_sk_storage").  When doing a lookup,
the "map" pointer is now used as the "key" to search on the
sk_storage->list.  The "map" pointer is actually serving
as the "type" of the "sk-local-storage" that is being
requested.

To allow very fast lookup, it should be as fast as looking up an
array at a stable-offset.  At the same time, it is not ideal to
set a hard limit on the number of sk-local-storage "type" that the
system can have.  Hence, this patch takes a cache approach.
The last search result from sk_storage->list is cached in
sk_storage->cache[] which is a stable sized array.  Each
"sk-local-storage" type has a stable offset to the cache[] array.
In the future, a map's flag could be introduced to do cache
opt-out/enforcement if it became necessary.

The cache size is 16 (i.e. 16 types of "sk-local-storage").
Programs can share map.  On the program side, having a few bpf_progs
running in the networking hotpath is already a lot.  The bpf_prog
should have already consolidated the existing sock-key-ed map usage
to minimize the map lookup penalty.  16 has enough runway to grow.

All sk-local-storage data will be removed from sk->sk_bpf_storage
during sk destruction.

bpf_sk_storage_get() and bpf_sk_storage_delete():
------------------------------------------------
Instead of using bpf_map_(lookup|update|delete)_elem(),
the bpf prog needs to use the new helper bpf_sk_storage_get() and
bpf_sk_storage_delete().  The verifier can then enforce the
ARG_PTR_TO_SOCKET argument.  The bpf_sk_storage_get() also allows to
"create" new elem if one does not exist in the sk.  It is done by
the new BPF_SK_STORAGE_GET_F_CREATE flag.  An optional value can also be
provided as the initial value during BPF_SK_STORAGE_GET_F_CREATE.
The BPF_MAP_TYPE_SK_STORAGE also supports bpf_spin_lock.  Together,
it has eliminated the potential use cases for an equivalent
bpf_map_update_elem() API (for bpf_prog) in this patch.

Misc notes:
----------
1. map_get_next_key is not supported.  From the userspace syscall
   perspective,  the map has the socket fd as the key while the map
   can be shared by pinned-file or map-id.

   Since btf is enforced, the existing "ss" could be enhanced to pretty
   print the local-storage.

   Supporting a kernel defined btf with 4 tuples as the return key could
   be explored later also.

2. The sk->sk_lock cannot be acquired.  Atomic operations is used instead.
   e.g. cmpxchg is done on the sk->sk_bpf_storage ptr.
   Please refer to the source code comments for the details in
   synchronization cases and considerations.

3. The mem is charged to the sk->sk_omem_alloc as the sk filter does.

Benchmark:
---------
Here is the benchmark data collected by turning on
the "kernel.bpf_stats_enabled" sysctl.
Two bpf progs are tested:

One bpf prog with the usual bpf hashmap (max_entries = 8192) with the
sk ptr as the key. (verifier is modified to support sk ptr as the key
That should have shortened the key lookup time.)

Another bpf prog is with the new BPF_MAP_TYPE_SK_STORAGE.

Both are storing a "u32 cnt", do a lookup on "egress_skb/cgroup" for
each egress skb and then bump the cnt.  netperf is used to drive
data with 4096 connected UDP sockets.

BPF_MAP_TYPE_HASH with a modifier verifier (152ns per bpf run)
27: cgroup_skb  name egress_sk_map  tag 74f56e832918070b run_time_ns 58280107540 run_cnt 381347633
    loaded_at 2019-04-15T13:46:39-0700  uid 0
    xlated 344B  jited 258B  memlock 4096B  map_ids 16
    btf_id 5

BPF_MAP_TYPE_SK_STORAGE in this patch (66ns per bpf run)
30: cgroup_skb  name egress_sk_stora  tag d4aa70984cc7bbf6 run_time_ns 25617093319 run_cnt 390989739
    loaded_at 2019-04-15T13:47:54-0700  uid 0
    xlated 168B  jited 156B  memlock 4096B  map_ids 17
    btf_id 6

Here is a high-level picture on how are the objects organized:

       sk
    ┌──────┐
    │      │
    │      │
    │      │
    │*sk_bpf_storage─────▶ bpf_sk_storage
    └──────┘                 ┌───────┐
                 ┌───────────┤ list  │
                 │           │       │
                 │           │       │
                 │           │       │
                 │           └───────┘
                 │
                 │     elem
                 │  ┌────────┐
                 ├─▶│ snode  │
                 │  ├────────┤
                 │  │  data  │          bpf_map
                 │  ├────────┤        ┌─────────┐
                 │  │map_node│◀─┬─────┤  list   │
                 │  └────────┘  │     │         │
                 │              │     │         │
                 │     elem     │     │         │
                 │  ┌────────┐  │     └─────────┘
                 └─▶│ snode  │  │
                    ├────────┤  │
   bpf_map          │  data  │  │
 ┌─────────┐        ├────────┤  │
 │  list   ├───────▶│map_node│  │
 │         │        └────────┘  │
 │         │                    │
 │         │           elem     │
 └─────────┘        ┌────────┐  │
                 ┌─▶│ snode  │  │
                 │  ├────────┤  │
                 │  │  data  │  │
                 │  ├────────┤  │
                 │  │map_node│◀─┘
                 │  └────────┘
                 │
                 │
                 │          ┌───────┐
     sk          └──────────│ list  │
  ┌──────┐                  │       │
  │      │                  │       │
  │      │                  │       │
  │      │                  └───────┘
  │*sk_bpf_storage───────▶bpf_sk_storage
  └──────┘

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2019-04-27 09:07:04 -07:00
..
amba ARM: 8836/1: drivers: amba: Update component matching to use the CoreSight UCI values. 2019-02-26 11:23:49 +00:00
avf
bcma wireless-drivers-next patches for 5.1 2019-02-06 09:36:36 -08:00
byteorder
can
ceph libceph: wait for latest osdmap in ceph_monc_blacklist_add() 2019-03-20 16:27:40 +01:00
clk clk: ti: add a usecount for autoidle 2019-02-15 16:47:55 +02:00
crush
decompress
dma dmaengine: dw: convert to SPDX identifiers 2019-01-07 17:57:13 +05:30
dsa
extcon
firmware i.MX drivers update for 5.1: 2019-02-15 17:17:57 +01:00
fpga
fsl ARM: SoC driver updates for 5.1 2019-03-06 09:41:12 -08:00
gpio Merge branch 'ib-pca953x-config' into devel 2019-02-14 08:45:22 +01:00
hsi
i3c
iio iio: st_accel: use ACPI orientation data 2019-02-02 09:28:51 +00:00
input Input: ili210x - drop platform data support 2019-02-06 22:17:42 -08:00
irqchip irqchip updates for 5.1, take #2 2019-03-21 12:30:54 +01:00
isdn
lockd
mailbox mailbox: ZynqMP IPI mailbox controller 2019-03-06 20:34:20 -06:00
mfd - New Drivers 2019-03-08 10:02:58 -08:00
mlx4
mlx5 mlx5-updates-2019-04-02 2019-04-08 14:31:25 -07:00
mmc mmc: core: Add discard support to sd 2019-02-28 09:16:12 +01:00
mtd NAND core changes: 2019-02-25 09:28:54 +01:00
mux
netfilter netfilter: make two functions static 2019-04-08 23:28:33 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy phy: dphy: Clarify lanes parameter documentation 2019-02-07 11:11:05 +05:30
pinctrl pinctrl: remove unused 'pinconf-config' debugfs interface 2019-01-28 14:39:52 +01:00
platform_data Here's more than a handful of clk driver fixes for changes that came in 2019-04-13 14:33:56 -07:00
power power: supply: isp1704: switch to gpiod API 2019-01-20 21:57:43 +01:00
qed qed: Add API for SmartAN query. 2019-02-08 22:39:01 -08:00
raid lib/raid6: add option to skip algo benchmarking 2018-12-20 08:53:23 -08:00
regulator regulator: core: Add set/get_current_limit helpers for regmap users 2019-03-03 23:45:27 +00:00
remoteproc
reset reset: socfpga: declare socfpga_reset_init in a header file 2019-01-28 11:16:04 +01:00
rpmsg
rtc
sched ptrace: take into account saved_sigmask in PTRACE{GET,SET}SIGMASK 2019-03-29 10:01:37 -07:00
soc qcom: soc: llcc-slice: Clear the global drv_data pointer on error 2019-02-12 15:27:14 -06:00
soundwire
spi spi: support inter-word delay requirement for devices 2019-01-30 23:02:10 +00:00
ssb
sunrpc Revert "SUNRPC: Micro-optimise when the task is known not to be sleeping" 2019-04-11 15:41:14 -04:00
ulpi
unaligned
usb wusb: Remove unnecessary static function ckhdid_printf 2019-03-01 20:53:41 +01:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h device-dax for 5.1 2019-03-16 13:05:32 -07:00
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.h
aio.h
alarmtimer.h
alcor_pci.h misc: cardreader: add new Alcor Micro Cardreader PCI driver 2018-12-17 08:26:24 +01:00
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 ACPI / APEI: Add support for the SDEI GHES Notification type 2019-02-11 11:07:49 +01:00
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 async: Add support for queueing on specific NUMA node 2019-01-31 14:20:54 +01:00
ata_platform.h ata: pata_of_platform: Allow to use 16-bit wide data transfer 2019-02-08 06:42:53 -07:00
ata.h
atalk.h appletalk: Fix potential NULL pointer dereference in unregister_snap_client 2019-03-15 11:25:48 -07:00
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-fallback.h locking/atomics: Check atomic headers with sha1sum 2019-02-13 08:07:31 +01:00
atomic.h
attribute_container.h
audit.h audit: hide auditsc_get_stamp and audit_serial prototypes 2019-02-07 21:44:27 -05:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h writeback: synchronize sync(2) against cgroup writeback membership switches 2019-01-22 14:39:38 -07:00
backing-dev.h writeback: fix inode cgroup switching comment 2019-03-05 21:07:21 -08:00
backlight.h
badblocks.h
balloon_compaction.h mm: convert PG_balloon to PG_offline 2019-03-05 21:07:14 -08:00
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-01-05 13:18:59 -08:00
bio.h block: don't use for-inside-for in bio_for_each_segment_all 2019-04-08 08:19:41 -06:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h include/linux/bitops.h: set_mask_bits() to return old value 2019-03-07 18:32:00 -08:00
bitrev.h include/linux/bitrev.h: fix constant bitrev 2019-04-05 16:02:30 -10:00
bits.h
blk_types.h block: add BIO_NO_PAGE_REF flag 2019-03-18 10:44:48 -06:00
blk-cgroup.h blkcg: clean up blkg_tryget_closest() 2018-12-21 08:47:05 -07:00
blk-mq-pci.h
blk-mq-rdma.h blk-mq-rdma: pass in queue map to blk_mq_rdma_map_queues 2018-12-13 09:59:08 +01:00
blk-mq-virtio.h
blk-mq.h blk-mq: introduce blk_mq_complete_request_sync() 2019-04-10 09:57:33 -06:00
blk-pm.h
blkdev.h block: add BLK_MQ_POLL_CLASSIC for hybrid poll and return EINVAL for unexpected value 2019-03-20 14:02:07 -06:00
blkpg.h
blktrace_api.h blktrace: Show requests without sector 2019-02-07 12:57:17 -07:00
blockgroup_lock.h
bma150.h
bottom_half.h
bpf_lirc.h
bpf_trace.h
bpf_types.h bpf: Introduce bpf sk local storage 2019-04-27 09:07:04 -07:00
bpf_verifier.h bpf: remove global variables 2019-04-23 01:50:43 +02:00
bpf-cgroup.h bpf: Add file_pos field to bpf_sysctl ctx 2019-04-12 13:54:58 -07:00
bpf.h bpf: Introduce bpf sk local storage 2019-04-27 09:07:04 -07:00
bpfilter.h net: bpfilter: disallow to remove bpfilter module while being used 2019-01-11 18:05:41 -08:00
brcmphy.h net: phy: bcm54xx: Encode link speed and activity into LEDs 2019-03-26 11:24:47 -07:00
bsearch.h
bsg-lib.h scsi: bsg-lib: handle bidi requests without block layer help 2019-02-05 21:27:40 -05:00
bsg.h
btf.h bpf: allow for key-less BTF in array map 2019-04-09 17:05:46 -07:00
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build_bug.h build_bug.h: add wrapper for _Static_assert 2019-03-07 18:31:59 -08:00
build-salt.h
bvec.h block: don't use for-inside-for in bio_for_each_segment_all 2019-04-08 08:19:41 -06:00
c2port.h
cache.h
cacheinfo.h
capability.h audit/stable-5.1 PR 20190305 2019-03-07 12:20:11 -08:00
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_rdma.h IB/core: Simplify rdma cgroup registration 2019-01-18 13:43:10 -07:00
cgroup_subsys.h
cgroup-defs.h Merge branch 'for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2019-03-07 10:11:41 -08:00
cgroup.h cgroup/pids: turn cgroup_subsys->free() into cgroup_subsys->release() to fix the accounting 2019-01-31 06:55:57 -08:00
circ_buf.h
cleancache.h
clk-provider.h clk: fractional-divider: check parent rate only if flag is set 2019-02-22 00:11:47 -08:00
clk.h clk: Add (devm_)clk_get_optional() functions 2019-02-06 10:33:10 -08:00
clkdev.h clkdev: add managed clkdev lookup registration 2019-02-06 10:35:02 -08:00
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 include/linux/compaction.h: fix potential build error 2019-03-05 21:07:20 -08:00
compat.h y2038: syscalls: rename y2038 compat syscalls 2019-02-07 00:13:27 +01:00
compiler_attributes.h Compiler Attributes: add support for __copy (gcc >= 9) 2019-02-15 19:52:17 +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 include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR 2019-01-09 11:36:41 +01:00
compiler-gcc.h include/linux/compiler*.h changes: 2019-01-21 07:23:42 +13:00
compiler-intel.h include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR 2019-01-09 11:36:41 +01:00
compiler.h include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR 2019-01-09 11:36:41 +01:00
completion.h
component.h drivers/component: kerneldoc polish 2019-02-19 13:20:35 +01:00
concap.h
configfs.h
connector.h
console_struct.h vt: refactor vc_ques to allow of other private sequences. 2019-01-18 13:52:41 +01:00
console.h
consolemap.h
const.h
container.h
context_tracking_state.h
context_tracking.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h coresight: perf: Add "sinks" group to PMU directory 2019-02-08 12:27:36 +01:00
count_zeros.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM 2019-01-30 19:27:00 +01:00
cpufeature.h
cpufreq.h cpufreq: Allow light-weight tear down and bring up of CPUs 2019-02-12 23:47:42 +01:00
cpuhotplug.h clocksource/drivers/tegra: Add Tegra210 timer support 2019-02-23 12:13:45 +01:00
cpuidle.h cpuidle: use BIT() for idle state flags and remove CPUIDLE_DRIVER_FLAGS_MASK 2019-01-17 22:16:13 +01:00
cpumask.h
cpuset.h
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h SELinux: Remove unused selinux_is_enabled 2019-01-08 13:18:44 -08:00
crypto.h crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h ARM: davinci: remove dead code related to MAC address reading 2019-01-10 13:58:00 +05:30
dax.h
dca.h
dcache.h fs/dcache: Track & report number of negative dentries 2019-01-30 11:02:11 -08:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h init/calibrate.c: provide proper prototype 2019-03-07 18:32:01 -08:00
delayacct.h
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 dm: add support to directly boot to a mapped device 2019-03-05 14:53:50 -05:00
device.h driver core: remove BUS_ATTR() 2019-03-18 07:07:30 +01:00
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.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-mapping: implement dma_map_single_attrs using dma_map_page_attrs 2019-01-04 09:02:17 +01:00
dma-direct.h dma-mapping: bypass indirect calls for dma-direct 2018-12-13 21:06:18 +01:00
dma-direction.h
dma-fence-array.h dma-buf: Fix kerneldoc comment for struct dma_fence_array 2019-01-17 10:12:32 +01:00
dma-fence.h
dma-iommu.h
dma-mapping.h virtio: fixes, cleanups 2019-03-10 12:47:57 -07:00
dma-noncoherent.h dma-mapping: bypass indirect calls for dma-direct 2018-12-13 21:06:18 +01:00
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 drbd: introduce P_ZEROES (REQ_OP_WRITE_ZEROES on the "wire") 2018-12-20 09:51:31 -07:00
ds2782_battery.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h dynamic_debug: refactor dynamic_pr_debug and friends 2019-03-07 18:32:00 -08:00
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 arm64 updates for 5.1: 2019-03-10 10:17:23 -07:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
energy_model.h PM: Introduce an Energy Model management framework 2018-12-11 15:16:58 +01:00
err.h
errno.h vfs: Add configuration parser helpers 2019-02-28 03:28:53 -05:00
error-injection.h
errqueue.h
errseq.h
etherdevice.h net: pass net_device argument to the eth_get_headlen 2019-04-23 18:36:34 +02:00
ethtool.h net: phy: improve definition of __ETHTOOL_LINK_MODE_MASK_NBITS 2019-02-24 17:33:59 -08:00
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h f2fs: correct spelling mistake 2019-03-12 18:59:17 -07:00
f75375s.h
falloc.h
fanotify.h fanotify: report FAN_ONDIR to listener with FAN_REPORT_FID 2019-02-07 16:47:32 +01:00
fault-inject.h
fb.h fbdev: fbmem: convert CONFIG_FB_LOGO_CENTER into a cmd line option 2019-01-16 17:42:35 +01:00
fbcon.h
fcdevice.h
fcntl.h 32-bit userspace ABI: introduce ARCH_32BIT_OFF_T config option 2019-02-19 10:10:05 +01:00
fd.h
fddidevice.h
fdtable.h binder: fix use-after-free due to ksys_close() during fdget() 2018-12-19 09:40:13 +01:00
fec.h
file.h fs: add fget_many() and fput_many() 2019-02-28 08:24:23 -07:00
filter.h bpf: Add file_pos field to bpf_sysctl ctx 2019-04-12 13:54:58 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h Fonts: New Terminus large console font 2018-12-19 10:42:08 +01:00
frame.h
freezer.h
frontswap.h mm: rid swapoff of quadratic complexity 2019-03-05 21:07:18 -08:00
fs_context.h vfs: Implement logging through fs_context 2019-02-28 03:29:37 -05:00
fs_enet_pd.h
fs_parser.h vfs: Add configuration parser helpers 2019-02-28 03:28:53 -05:00
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h fs: common implementation of file type 2019-01-21 17:48:13 +01:00
fs_uart_pd.h
fs.h fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock 2019-04-06 07:01:55 -10:00
fscache-cache.h
fscache.h
fscrypt.h fscrypt: return -EXDEV for incompatible rename or link into encrypted dir 2019-01-23 23:56:43 -05:00
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl_devices.h drivers: usb :fsl: Remove USB Errata checking code 2019-01-18 10:02:09 +01:00
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h fsnotify: Create function to remove event from notification list 2019-02-18 12:41:16 +01:00
fsnotify.h fanotify: check FS_ISDIR flag instead of d_is_dir() 2019-02-07 16:38:36 +01:00
ftrace_irq.h
ftrace.h Tracing changes for v4.21: 2018-12-31 11:46:59 -08:00
futex.h y2038: futex: Move compat implementation into futex.c 2018-12-07 22:19:07 +01:00
fwnode.h
gameport.h
gcd.h
genalloc.h lib/genalloc.c: fix allocation of aligned buffer from non-aligned chunk 2019-01-04 13:13:46 -08:00
generic-radix-tree.h generic radix trees 2019-03-12 10:04:02 -07:00
genetlink.h
genhd.h block: return just one value from part_in_flight 2018-12-10 08:30:38 -07:00
genl_magic_func.h genetlink: make policy common to family 2019-03-22 10:38:23 -04:00
genl_magic_struct.h drbd: Avoid Clang warning about pointless switch statment 2018-12-20 09:51:31 -07:00
getcpu.h
gfp.h mm: shuffle GFP_* flags 2019-03-05 21:07:16 -08:00
glob.h
gnss.h gnss: add mtk receiver type support 2019-02-15 16:54:38 +01:00
goldfish.h
gpio_keys.h
gpio-pxa.h
gpio.h
hardirq.h arm64: Fix HCR.TGE status for NMI contexts 2019-02-06 10:05:16 +00:00
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h video/hdmi: Add an enum for HDMI packet types 2019-01-25 19:35:20 +02:00
hid-debug.h HID: debug: fix the ring buffer implementation 2019-01-29 12:09:11 +01:00
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h HID: core: simplify active collection tracking 2019-01-16 14:29:48 +01:00
hiddev.h
hidraw.h
highmem.h mm: convert totalram_pages and totalhigh_pages variables to atomic 2018-12-28 12:11:47 -08:00
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hmm.h mm/hmm: convert to use vm_fault_t 2019-03-12 10:04:00 -07:00
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
huge_mm.h mm, thp, proc: report THP eligibility for each vma 2018-12-28 12:11:50 -08:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h include/linux/hugetlb.h: convert to use vm_fault_t 2019-03-29 10:01:37 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h hwmon: Introduce SENSOR_DEVICE_ATTR_{RO, RW, WO} and variants 2018-12-16 15:13:22 -08:00
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h Drivers: hv: vmbus: Expose counters for interrupts and full conditions 2019-02-14 20:56:10 -05:00
hypervisor.h
i2c-algo-bit.h i2c: algo-bit: convert to SPDX header 2019-02-05 14:05:03 +01:00
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h i2c: Allow recovery of the initial IRQ by an I2C client device. 2019-02-24 14:43:22 +01:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h ide: ensure atapi sense request aren't preempted 2019-01-31 08:25:09 -07:00
idle_inject.h
idr.h
ieee80211.h wireless-drivers-next patches for 5.1 2019-02-22 12:56:24 -08:00
ieee802154.h
if_arp.h net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP 2019-01-24 22:45:34 -08:00
if_bridge.h bridge: broute: make broute a real ebtables table 2019-04-12 01:47:50 +02: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
igmp.h ip: fix ip_mc_may_pull() return value 2019-03-09 19:52:47 -08:00
ihex.h ihex: Simplify next record offset calculation 2019-01-22 10:23:17 +01:00
ima.h ima: define ima_post_create_tmpfile() hook and add missing call 2019-02-04 17:36:01 -05:00
imx-media.h
in.h bridge: Snoop Multicast Router Advertisements 2019-01-22 17:18:09 -08:00
in6.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: Move IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN to helper 2019-03-29 10:48:03 -07:00
init_ohci1394_dma.h
init_task.h sched/core: Convert task_struct.stack_refcount to refcount_t 2019-02-04 08:53:56 +01:00
init.h
initrd.h ACPI / tables: table override from built-in initrd 2019-01-14 11:42:18 +01:00
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h iommu/vt-d: Support page request in scalable mode 2019-01-11 13:10:03 +01:00
intel-pti.h
intel-svm.h iommu/vt-d: Support page request in scalable mode 2019-01-11 13:10:03 +01:00
interconnect-provider.h interconnect: Allow endpoints translation via DT 2019-01-22 13:37:25 +01:00
interconnect.h interconnect: Allow endpoints translation via DT 2019-01-22 13:37:25 +01:00
interrupt.h irqchip updates for Linux 5.1 2019-02-23 10:53:31 +01:00
interval_tree_generic.h
interval_tree.h
io-64-nonatomic-hi-lo.h io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros 2019-01-22 13:39:59 +01:00
io-64-nonatomic-lo-hi.h io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros 2019-01-22 13:39:59 +01:00
io-mapping.h
io-pgtable.h iommu: Allow io-pgtable to be used outside of drivers/iommu/ 2019-02-11 11:26:48 +01:00
io.h
ioc3.h
ioc4.h
iocontext.h
iomap.h iomap: wire up the iopoll method 2019-02-24 08:20:17 -07:00
iommu-helper.h
iommu.h Merge branches 'iommu/fixes', 'arm/msm', 'arm/tegra', 'arm/mediatek', 'x86/vt-d', 'x86/amd', 'hyper-v' and 'core' into next 2019-03-01 11:24:51 +01:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() calls 2019-01-22 17:18:08 -08:00
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h ipmi: Make the smi watcher be disabled immediately when not needed 2019-02-09 19:48:42 -06:00
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE 2019-03-03 21:05:10 -08:00
irq_cpustat.h
irq_poll.h
irq_sim.h irq/irq_sim: Store multiple interrupt offsets in a bitmap 2018-12-13 09:35:31 +00:00
irq_work.h
irq.h genirq: Fix typo in comment of IRQD_MOVE_PCNTXT 2019-03-21 11:52:37 +01:00
irqbypass.h
irqchip.h genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irqdesc.h irqchip updates for Linux 5.1 2019-02-23 10:53:31 +01:00
irqdomain.h This is the bulk of GPIO changes for the v5.1 cycle: 2019-03-08 10:09:53 -08: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 time: Introduce jiffies64_to_msecs() 2019-04-08 22:56:14 +02:00
journal-head.h
joystick.h
jump_label_ratelimit.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
jump_label.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h kasan: fix kasan_check_read/write definitions 2019-03-05 21:07:13 -08:00
kasan.h kasan: add __must_check annotations to kasan hooks 2018-12-28 12:11:44 -08:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h Linux 5.1-rc2 2019-03-28 10:58:28 +01:00
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h printk: Remove no longer used LOG_PREFIX. 2019-03-04 13:42:05 +01:00
kernel_stat.h
kernel-page-flags.h
kernel.h linux/kernel.h: Use parentheses around argument in u64_to_user_ptr() 2019-04-03 11:43:49 +02:00
kernelcapi.h
kernfs.h Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-03-12 14:08:19 -07:00
kexec.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-12-26 17:03:51 -08:00
key-type.h keys: Fix dependency loop between construction record and auth key 2019-02-15 14:12:09 -08:00
key.h keys: Export lookup_user_key to external users 2018-12-13 17:54:12 -08:00
keyboard.h
keyctl.h
kfifo.h
kgdb.h kgdb/treewide: constify struct kgdb_arch arch_kgdb_ops 2018-12-30 08:33:06 +00:00
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h x86/hw_breakpoints, kprobes: Remove kprobes ifdeffery 2019-01-30 11:52:21 +01:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h mm: reuse only-pte-mapped KSM page in do_wp_page() 2019-03-05 21:07:15 -08:00
kthread.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-06 08:14:05 -08:00
ktime.h
kvm_host.h KVM: fix spectrev1 gadgets 2019-04-16 15:38:07 +02:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.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: Add helper for getting default pattern from Device Tree 2019-01-16 22:08:07 +01:00
libata.h scsi: ata: Use unsigned int for cmd's type in ioctls in scsi_host_template 2019-02-08 17:33:00 -05:00
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h device-dax for 5.1 2019-03-16 13:05:32 -07:00
libps2.h
license.h
lightnvm.h lightnvm: disable interleaved metadata 2018-12-11 12:22:35 -07:00
limits.h linux/kernel.h: split *_MAX and *_MIN macros into <linux/limits.h> 2019-03-07 18:31:59 -08:00
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h include/linux/list.h: fix list_is_first() kernel-doc 2019-03-29 10:01:37 -07:00
livepatch.h livepatch: Add atomic replace 2019-01-11 20:51:24 +01:00
llc.h
llist.h
lockdep.h locking/lockdep: Shrink struct lock_class_key 2019-02-28 07:55:53 +01:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-03-12 14:08:19 -07:00
lz4.h
lzo.h lib/lzo: separate lzo-rle from lzo 2019-03-07 18:32:03 -08:00
mailbox_client.h mailbox: Support blocking transfers in atomic context 2018-12-21 22:31:26 -06:00
mailbox_controller.h mailbox: Support blocking transfers in atomic context 2018-12-21 22:31:26 -06:00
maple.h
marvell_phy.h net: phy: marvell10g: add support for the 88x2110 PHY 2019-02-24 17:45:25 -08:00
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h vfio-mdev: Switch to use new generic UUID API 2019-02-05 11:51:56 -07:00
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h net: mdio: rename mdio_device reset to reset_gpio 2019-04-18 17:42:54 -07:00
mei_cl_bus.h mei: bus: export to_mei_cl_device for mei client devices drivers 2019-02-12 10:38:46 +01:00
mem_encrypt.h
memblock.h memblock: remove memblock_{set,clear}_region_flags 2019-03-12 10:04:02 -07:00
memcontrol.h mm: writeback: use exact memcg dirty counts 2019-04-05 16:02:31 -10:00
memfd.h
memory_hotplug.h xen: fixes and features for 5.1-rc1 2019-03-11 17:08:14 -07:00
memory.h
mempolicy.h
mempool.h
memremap.h mm/hmm: fix memremap.h, move dev_page_fault_t callback to hmm 2018-12-28 12:11:52 -08:00
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h mm: migrate: drop unused argument of migrate_page_move_mapping() 2018-12-28 12:11:51 -08:00
mii.h net: mii: Fix PAUSE cap advertisement from linkmode_adv_to_lcl_adv_t() helper 2019-03-27 22:49:06 -07:00
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h fs: don't open code lru_to_page() 2019-01-04 13:13:48 -08:00
mm_types_task.h
mm_types.h mm: fix vm_fault_t cast in VM_FAULT_GET_HINDEX() 2019-04-05 16:02:31 -10:00
mm-arch-hooks.h
mm.h Merge branch 'page-refs' (page ref overflow) 2019-04-14 15:09:40 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm/mmu_notifier: use structure for invalidate_range_start/end calls v2 2018-12-28 12:11:50 -08:00
mmzone.h mm: remove zone_lru_lock() function, access ->lru_lock directly 2019-03-05 21:07:21 -08:00
mnt_namespace.h
mod_devicetable.h platform-drivers-x86 for v5.1-1 2019-03-10 13:16:37 -07:00
module.h A fairly routine cycle for docs - lots of typo fixes, some new documents, 2019-03-09 09:56:17 -08:00
moduleloader.h
moduleparam.h
mount.h new helpers: vfs_create_mount(), fc_mount() 2019-01-30 17:44:24 -05:00
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute_base.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h genirq/msi: Clean up usage of __u8/__u16 types 2019-02-08 13:30:10 -06:00
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h audit: ignore fcaps on umount 2019-01-30 20:51:47 -05:00
nd.h
ndctl.h
net_dim.h
net.h net: rework SIOCGSTAMP ioctl handling 2019-04-19 14:07:40 -07:00
netdev_features.h net: Add header for usage of fls64() 2019-02-16 13:45:01 -08:00
netdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-17 11:26:25 -07: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 jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
netfilter_ipv4.h netfilter: ipv4: remove useless export_symbol 2019-01-28 11:32:58 +01:00
netfilter_ipv6.h netfilter: nf_tables: merge route type into core 2019-04-08 23:01:42 +02:00
netfilter.h netfilter: replace NF_NAT_NEEDED with IS_ENABLED(CONFIG_NF_NAT) 2019-04-08 23:02:52 +02:00
netlink.h net: netlink: add helper to retrieve NETLINK_F_STRICT_CHK 2019-01-19 10:09:58 -08:00
netpoll.h
nfs_fs_i.h
nfs_fs_sb.h NFSv4.2: Add client support for the generic 'layouterror' RPC call 2019-03-01 16:20:16 -05:00
nfs_fs.h NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
nfs_iostat.h
nfs_page.h NFS: Clean up list moves of struct nfs_page 2019-02-20 15:14:20 -05:00
nfs_xdr.h NFSv4.2: Add client support for the generic 'layouterror' RPC call 2019-03-01 16:20:16 -05:00
nfs.h
nfs3.h
nfs4.h NFSv4.2: Add client support for the generic 'layouterror' RPC call 2019-03-01 16:20:16 -05:00
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h numa: make "nr_online_nodes" unsigned int 2019-03-05 21:07:20 -08:00
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h NTB: add new parameter to peer_db_addr() db_bit and db_data 2019-02-13 11:03:18 -05:00
nubus.h
numa.h
nvme-fc-driver.h nvme-fc: convert to SPDX identifiers 2019-02-20 07:22:17 -07:00
nvme-fc.h nvme-fc: convert to SPDX identifiers 2019-02-20 07:22:17 -07:00
nvme-rdma.h nvme-rdma: convert to SPDX identifiers 2019-02-20 07:22:19 -07:00
nvme-tcp.h nvme-tcp.h: fix SPDX header 2019-02-20 07:22:10 -07:00
nvme.h nvmet: fix discover log page when offsets are used 2019-04-11 17:28:30 +02:00
nvmem-consumer.h
nvmem-provider.h
nvram.h powerpc: Enable HAVE_ARCH_NVRAM_OPS and disable GENERIC_NVRAM 2019-01-22 10:21:45 +01:00
objagg.h lib: objagg: add root count to stats 2019-02-08 15:02:49 -08:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h gpio: add core support for pull-up/pull-down configuration 2019-02-13 09:10:14 +01:00
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 of: mark early_init_dt_alloc_reserved_memory_arch static 2019-02-28 11:40:49 -06:00
of.h of: Remove struct device_node.type pointer 2019-01-10 16:24:44 -06: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 mm, oom: reorganize the oom report in dump_header 2018-12-28 12:11:48 -08:00
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 kasan, mm, arm64: tag non slab memory allocated via pagealloc 2018-12-28 12:11:44 -08:00
page-flags.h mm: better document PG_reserved 2019-03-05 21:07:19 -08:00
page-isolation.h mm/hotplug: fix offline undo_isolate_page_range() 2019-03-29 10:01:37 -07:00
pageblock-flags.h mm/pageblock: throw compile error if pageblock_bits cannot hold MIGRATE_TYPES 2018-12-28 12:11:51 -08:00
pagemap.h filemap: kill page_cache_read usage in filemap_fault 2019-03-15 11:21:25 -07:00
pagevec.h
parman.h
parport_pc.h
parport.h Revert "parport: daisy: use new parport device model" 2019-03-25 14:49:00 -07:00
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h PCI: Move Rohm Vendor ID to generic list 2019-02-01 17:24:52 -06:00
pci-acpi.h
pci-aspm.h
pci-ats.h PCI/ATS: Add inline to pci_prg_resp_pasid_required() 2019-02-28 11:09:29 +01:00
pci-dma-compat.h cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
pci-ecam.h
pci-ep-cfs.h
pci-epc.h PCI: endpoint: Remove features member in struct pci_epc 2019-02-15 10:03:35 +00:00
pci-epf.h
pci-p2pdma.h
pci.h IOMMU Updates for Linux v5.1 2019-03-10 12:29:52 -07:00
pda_power.h
pe.h
percpu_counter.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h locking/percpu-rwsem: Remove preempt_disable variants 2019-02-28 07:55:37 +01:00
percpu.h
perf_event.h perf/core improvements and fixes: 2019-02-28 08:29:50 +01:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
phonet.h
phy_fixed.h net: fixed-phy: Add fixed_phy_register_with_gpiod() API 2019-02-07 18:11:58 -08:00
phy_led_triggers.h
phy.h net: phy: improve link partner capability detection 2019-04-08 15:18:00 -07:00
phylink.h net: phylink: update mac_config() documentation 2019-02-24 12:39:45 -08:00
pid_namespace.h
pid.h include/linux/pid.h: remove next_pidmap() declaration 2019-03-07 18:31:59 -08:00
pim.h
pipe_fs_i.h Merge branch 'page-refs' (page ref overflow) 2019-04-14 15:09:40 -07:00
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h memory: pl353: Add driver for arm pl353 static memory controller 2018-12-13 16:07:04 +01:00
platform_device.h This is the bulk of GPIO changes for the v5.1 cycle: 2019-03-08 10:09:53 -08:00
plist.h
pm_clock.h
pm_domain.h PM / Domains: Mark "name" const in dev_pm_domain_attach_by_name() 2019-02-15 11:36:38 +01:00
pm_opp.h Power management updates for 5.1-rc1 2019-03-06 12:59:46 -08:00
pm_qos.h
pm_runtime.h driver core: Fix PM-runtime for links added during consumer probe 2019-02-20 11:18:07 +01:00
pm_wakeirq.h
pm_wakeup.h PM / wakeup: Drop wakeup_source_drop() 2019-03-12 09:43:00 +01:00
pm-trace.h
pm.h PM-runtime: Call pm_runtime_active|suspended_time() from sysfs 2019-03-07 11:23:17 +01:00
pm2301_charger.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h Drop flex_arrays 2019-03-12 10:04:03 -07:00
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h timex: use __kernel_timex internally 2019-02-07 00:13:27 +01:00
posix-timers.h posix-cpu-timers: Remove private interval storage 2019-01-15 16:36:13 +01:00
power_supply.h power: supply: core: Add a field to support battery max voltage 2019-02-20 00:33:08 +01:00
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
pr.h
preempt.h
prefetch.h
prime_numbers.h
printk.h Printk changes for 5.1 2019-03-09 09:22:42 -08:00
proc_fs.h signal: add pidfd_send_signal() syscall 2019-03-05 17:03:53 +01:00
proc_ns.h
processor.h
profile.h
projid.h
property.h device property: Fix the length used in PROPERTY_ENTRY_STRING() 2019-01-29 10:52:40 +01:00
psci.h
psi_types.h
psi.h
psp-sev.h
pstore_ram.h
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h ptr_ring: remove duplicated include from ptr_ring.h 2019-02-17 15:53:01 -08:00
ptrace.h ptrace: Remove maxargs from task_current_syscall() 2019-04-04 09:17:15 -04:00
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h pwm: Rearrange structures to group members by purpose 2019-01-10 09:35:00 +01:00
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h qcom-scm: Include <linux/err.h> header 2019-01-10 17:04:45 -06:00
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
rbtree_latch.h
rbtree.h
rcu_node_tree.h linux/rcu_node_tree: Convert to SPDX license identifier 2019-02-09 08:44:32 -08:00
rcu_segcblist.h linux/rcu_segcblist: Convert to SPDX license identifier 2019-02-09 08:44:41 -08:00
rcu_sync.h linux/rcu_sync: Convert to SPDX license identifier 2019-02-09 08:44:46 -08:00
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_wait.h
rcupdate.h Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'spdx.2019.02.09a', 'srcu.2019.01.26a' and 'torture.2019.01.26a' into HEAD 2019-02-09 08:47:52 -08:00
rcutiny.h linux/rcutiny: Convert to SPDX license identifier 2019-02-09 08:45:46 -08:00
rcutree.h linux/rcutree: Convert to SPDX license identifier 2019-02-09 08:45:52 -08:00
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h regmap: regmap-irq: Add main status register support 2019-01-23 15:52:15 +00:00
regset.h Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
relay.h include/linux/relay.h: fix percpu annotation in struct rchan 2019-03-07 18:32:03 -08:00
remoteproc.h remoteproc: fix recovery procedure 2019-02-20 21:34:17 -08:00
reservation.h
reset-controller.h
reset.h reset: Add reset_control_get_count() 2019-01-07 16:38:26 +01:00
resource_ext.h
resource.h
restart_block.h
rfkill.h
rhashtable-types.h rhashtable: use bit_spin_locks to protect hash bucket. 2019-04-07 19:12:12 -07:00
rhashtable.h rhashtable: use BIT(0) for locking. 2019-04-12 17:34:45 -07:00
ring_buffer.h tracing: kdb: Fix ftdump to not sleep 2019-03-13 09:46:10 -04:00
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 rtc: remove rtc_class_ops.read_callback 2019-02-25 21:20:45 +01:00
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
sbitmap.h sbitmap: trivial - update comment for sbitmap_deferred_clear_bit 2019-03-22 11:01:02 -06:00
scatterlist.h lib/scatterlist: Provide a DMA page iterator 2019-02-11 15:02:33 -07:00
scc.h
sched_clock.h
sched.h audit/stable-5.1 PR 20190305 2019-03-07 12:20:11 -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 seccomp: add a return code to trap to userspace 2018-12-11 16:28:41 -08:00
securebits.h
security.h Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-03-12 14:08:19 -07:00
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.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: 8250: Rate limit serial port rx interrupts during input overruns 2018-12-17 16:02:57 +01:00
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
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 mm: rid swapoff of quadratic complexity 2019-03-05 21:07:18 -08:00
shrinker.h
signal_types.h
signal.h signal: Make siginmask safe when passed a signal of 0 2019-01-12 11:48:20 -06:00
signalfd.h
siox.h
siphash.h inet: switch IP ID generator to siphash 2019-03-27 14:29:26 -07:00
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h bpf: support BPF_PROG_QUERY for BPF_FLOW_DISSECTOR attach_type 2019-04-25 23:49:06 +02:00
skmsg.h bpf: sk_msg, fix socket data_ready events 2018-12-20 23:47:09 +01:00
slab_def.h mm: move obj_to_index to include/linux/slab_def.h 2018-12-28 12:11:44 -08:00
slab.h mm: add support for kmem caches in DMA32 zone 2019-03-29 10:01:37 -07:00
slimbus.h
slub_def.h include/linux/slub_def.h: comment fixes 2019-03-05 21:07:14 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h net: add documentation to socket.c 2019-03-15 15:29:47 -07: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 Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'spdx.2019.02.09a', 'srcu.2019.01.26a' and 'torture.2019.01.26a' into HEAD 2019-02-09 08:47:52 -08:00
srcutiny.h linux/srcu: Convert to SPDX license identifier 2019-02-09 08:45:59 -08:00
srcutree.h Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'spdx.2019.02.09a', 'srcu.2019.01.26a' and 'torture.2019.01.26a' into HEAD 2019-02-09 08:47:52 -08:00
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h vfs: add vfs_get_fsid() helper 2019-02-07 16:38:35 +01:00
static_key.h
stddef.h
stm.h
stmmac.h net: stmmac: Fallback to Platform Data clock in Watchdog conversion 2019-01-30 22:24:49 -08:00
stmp_device.h
stmp3xxx_rtc_wdt.h
stop_machine.h
string_helpers.h
string.h lib/string.c: implement a basic bcmp 2019-04-05 16:02:30 -10:00
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 include/linux/swap.h: use offsetof() instead of custom __swapoffset macro 2019-03-14 14:36:20 -07:00
swapfile.h
swapops.h
swiotlb.h virtio: fixes, cleanups 2019-03-10 12:47:57 -07:00
switchtec.h ntb_hw_switchtec: Added support of >=4G memory windows 2019-02-11 07:36:13 -05:00
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys_soc.h
sys.h
syscalls.h pidfd patches for v5.1-rc1 2019-03-16 13:47:14 -07:00
syscore_ops.h
sysctl.h
sysfs.h
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
tee_drv.h tee: add cancellation support to client interface 2019-02-28 13:49:29 +01:00
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
time.h
time32.h timex: use __kernel_timex internally 2019-02-07 00:13:27 +01:00
time64.h y2038: remove struct definition redirects 2019-02-07 00:13:28 +01:00
timecounter.h
timekeeper_internal.h
timekeeping.h timekeeping: remove obsolete time accessors 2018-12-18 16:13:05 +01:00
timekeeping32.h timekeeping: remove obsolete time accessors 2018-12-18 16:13:05 +01:00
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h y2038: remove struct definition redirects 2019-02-07 00:13:28 +01:00
tnum.h
topology.h
torture.h Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'spdx.2019.02.09a', 'srcu.2019.01.26a' and 'torture.2019.01.26a' into HEAD 2019-02-09 08:47:52 -08:00
toshiba.h
tpm_command.h
tpm_eventlog.h tpm: rename and export tpm2_digest and tpm2_algorithms 2019-02-13 09:48:51 +02:00
tpm.h tpm: pass an array of tpm_extend_digest structures to tpm_pcr_extend() 2019-02-13 09:48:52 +02:00
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
tracepoint-defs.h bpf: add writable context for raw tracepoints 2019-04-26 19:04:19 -07:00
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h Merge 4.20-rc6 into tty-next 2018-12-10 10:17:45 +01:00
typecheck.h
types.h include/linux/types.h: use "unsigned int" instead of "unsigned" 2019-03-07 18:31:59 -08:00
u64_stats_sync.h
uaccess.h make 'user_access_begin()' do 'access_ok()' 2019-01-04 12:56:09 -08:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio_driver.h
uio.h io_uring-20190323 2019-03-23 10:25:12 -07:00
umh.h umh: add exit routine for UMH process 2019-01-11 18:05:40 -08:00
uprobes.h
usb_usual.h
usb.h
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 virt: vbox: Implement passing requestor info to the host for VirtualBox 6.0.x 2019-03-28 01:55:18 +09:00
verification.h kexec, KEYS: Make use of platform keyring for signature verify 2019-02-04 17:34:07 -05:00
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h drm: move i915_kick_out_vgacon to vgaarb 2019-03-07 10:34:37 +01:00
via_i2c.h
via-core.h
via-gpio.h
via.h
videodev2.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h virtio: hint if callbacks surprisingly might sleep 2019-03-06 11:19:57 -05:00
virtio_console.h
virtio_net.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-24 12:06:19 -08:00
virtio_ring.h virtio: Honour 'may_reduce_num' in vring_create_virtqueue 2019-04-08 17:05:52 -04:00
virtio_vsock.h
virtio.h virtio: Introduce virtio_max_dma_size() 2019-03-06 11:19:15 -05:00
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h include/linux/vmstat.h: remove unused page state adjustment macro 2018-12-28 12:11:51 -08:00
vmw_vmci_api.h
vmw_vmci_defs.h VMCI: Support upto 64-bit PPNs 2019-02-26 12:53:55 +01:00
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
w1.h
wait_bit.h
wait.h sched/wait: Use freezable_schedule() when possible 2019-02-11 08:34:04 +01:00
wanrouter.h
watchdog.h Watchdog: remove outdated comment 2018-12-22 12:15:29 +01:00
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h platform/x86: wmi: move struct wmi_device_id to mod_devicetable.h 2019-03-07 08:46:07 -08:00
workqueue.h Driver core patches for 5.1-rc1 2019-03-06 14:52:48 -08:00
writeback.h blkcg: associate writeback bios with a blkg 2018-12-07 22:26:37 -07:00
ww_mutex.h
xarray.h XArray: Use xa_cmpxchg to implement xa_reserve 2019-02-20 17:08:54 -05:00
xattr.h
xxhash.h xxHash: create arch dependent 32/64-bit xxhash() 2018-12-28 12:11:46 -08:00
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h