linux-sg2042/include/linux
Kirill Smelkov 10dce8af34 fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock
Commit 9c225f2655 ("vfs: atomic f_pos accesses as per POSIX") added
locking for file.f_pos access and in particular made concurrent read and
write not possible - now both those functions take f_pos lock for the
whole run, and so if e.g. a read is blocked waiting for data, write will
deadlock waiting for that read to complete.

This caused regression for stream-like files where previously read and
write could run simultaneously, but after that patch could not do so
anymore. See e.g. commit 581d21a2d0 ("xenbus: fix deadlock on writes
to /proc/xen/xenbus") which fixes such regression for particular case of
/proc/xen/xenbus.

The patch that added f_pos lock in 2014 did so to guarantee POSIX thread
safety for read/write/lseek and added the locking to file descriptors of
all regular files. In 2014 that thread-safety problem was not new as it
was already discussed earlier in 2006.

However even though 2006'th version of Linus's patch was adding f_pos
locking "only for files that are marked seekable with FMODE_LSEEK (thus
avoiding the stream-like objects like pipes and sockets)", the 2014
version - the one that actually made it into the tree as 9c225f2655 -
is doing so irregardless of whether a file is seekable or not.

See

    https://lore.kernel.org/lkml/53022DB1.4070805@gmail.com/
    https://lwn.net/Articles/180387
    https://lwn.net/Articles/180396

for historic context.

The reason that it did so is, probably, that there are many files that
are marked non-seekable, but e.g. their read implementation actually
depends on knowing current position to correctly handle the read. Some
examples:

	kernel/power/user.c		snapshot_read
	fs/debugfs/file.c		u32_array_read
	fs/fuse/control.c		fuse_conn_waiting_read + ...
	drivers/hwmon/asus_atk0110.c	atk_debugfs_ggrp_read
	arch/s390/hypfs/inode.c		hypfs_read_iter
	...

Despite that, many nonseekable_open users implement read and write with
pure stream semantics - they don't depend on passed ppos at all. And for
those cases where read could wait for something inside, it creates a
situation similar to xenbus - the write could be never made to go until
read is done, and read is waiting for some, potentially external, event,
for potentially unbounded time -> deadlock.

Besides xenbus, there are 14 such places in the kernel that I've found
with semantic patch (see below):

	drivers/xen/evtchn.c:667:8-24: ERROR: evtchn_fops: .read() can deadlock .write()
	drivers/isdn/capi/capi.c:963:8-24: ERROR: capi_fops: .read() can deadlock .write()
	drivers/input/evdev.c:527:1-17: ERROR: evdev_fops: .read() can deadlock .write()
	drivers/char/pcmcia/cm4000_cs.c:1685:7-23: ERROR: cm4000_fops: .read() can deadlock .write()
	net/rfkill/core.c:1146:8-24: ERROR: rfkill_fops: .read() can deadlock .write()
	drivers/s390/char/fs3270.c:488:1-17: ERROR: fs3270_fops: .read() can deadlock .write()
	drivers/usb/misc/ldusb.c:310:1-17: ERROR: ld_usb_fops: .read() can deadlock .write()
	drivers/hid/uhid.c:635:1-17: ERROR: uhid_fops: .read() can deadlock .write()
	net/batman-adv/icmp_socket.c:80:1-17: ERROR: batadv_fops: .read() can deadlock .write()
	drivers/media/rc/lirc_dev.c:198:1-17: ERROR: lirc_fops: .read() can deadlock .write()
	drivers/leds/uleds.c:77:1-17: ERROR: uleds_fops: .read() can deadlock .write()
	drivers/input/misc/uinput.c:400:1-17: ERROR: uinput_fops: .read() can deadlock .write()
	drivers/infiniband/core/user_mad.c:985:7-23: ERROR: umad_fops: .read() can deadlock .write()
	drivers/gnss/core.c:45:1-17: ERROR: gnss_fops: .read() can deadlock .write()

In addition to the cases above another regression caused by f_pos
locking is that now FUSE filesystems that implement open with
FOPEN_NONSEEKABLE flag, can no longer implement bidirectional
stream-like files - for the same reason as above e.g. read can deadlock
write locking on file.f_pos in the kernel.

FUSE's FOPEN_NONSEEKABLE was added in 2008 in a7c1b990f7 ("fuse:
implement nonseekable open") to support OSSPD. OSSPD implements /dev/dsp
in userspace with FOPEN_NONSEEKABLE flag, with corresponding read and
write routines not depending on current position at all, and with both
read and write being potentially blocking operations:

See

    https://github.com/libfuse/osspd
    https://lwn.net/Articles/308445

    https://github.com/libfuse/osspd/blob/14a9cff0/osspd.c#L1406
    https://github.com/libfuse/osspd/blob/14a9cff0/osspd.c#L1438-L1477
    https://github.com/libfuse/osspd/blob/14a9cff0/osspd.c#L1479-L1510

Corresponding libfuse example/test also describes FOPEN_NONSEEKABLE as
"somewhat pipe-like files ..." with read handler not using offset.
However that test implements only read without write and cannot exercise
the deadlock scenario:

    https://github.com/libfuse/libfuse/blob/fuse-3.4.2-3-ga1bff7d/example/poll.c#L124-L131
    https://github.com/libfuse/libfuse/blob/fuse-3.4.2-3-ga1bff7d/example/poll.c#L146-L163
    https://github.com/libfuse/libfuse/blob/fuse-3.4.2-3-ga1bff7d/example/poll.c#L209-L216

I've actually hit the read vs write deadlock for real while implementing
my FUSE filesystem where there is /head/watch file, for which open
creates separate bidirectional socket-like stream in between filesystem
and its user with both read and write being later performed
simultaneously. And there it is semantically not easy to split the
stream into two separate read-only and write-only channels:

    https://lab.nexedi.com/kirr/wendelin.core/blob/f13aa600/wcfs/wcfs.go#L88-169

Let's fix this regression. The plan is:

1. We can't change nonseekable_open to include &~FMODE_ATOMIC_POS -
   doing so would break many in-kernel nonseekable_open users which
   actually use ppos in read/write handlers.

2. Add stream_open() to kernel to open stream-like non-seekable file
   descriptors. Read and write on such file descriptors would never use
   nor change ppos. And with that property on stream-like files read and
   write will be running without taking f_pos lock - i.e. read and write
   could be running simultaneously.

3. With semantic patch search and convert to stream_open all in-kernel
   nonseekable_open users for which read and write actually do not
   depend on ppos and where there is no other methods in file_operations
   which assume @offset access.

4. Add FOPEN_STREAM to fs/fuse/ and open in-kernel file-descriptors via
   steam_open if that bit is present in filesystem open reply.

   It was tempting to change fs/fuse/ open handler to use stream_open
   instead of nonseekable_open on just FOPEN_NONSEEKABLE flags, but
   grepping through Debian codesearch shows users of FOPEN_NONSEEKABLE,
   and in particular GVFS which actually uses offset in its read and
   write handlers

	https://codesearch.debian.net/search?q=-%3Enonseekable+%3D
	https://gitlab.gnome.org/GNOME/gvfs/blob/1.40.0-6-gcbc54396/client/gvfsfusedaemon.c#L1080
	https://gitlab.gnome.org/GNOME/gvfs/blob/1.40.0-6-gcbc54396/client/gvfsfusedaemon.c#L1247-1346
	https://gitlab.gnome.org/GNOME/gvfs/blob/1.40.0-6-gcbc54396/client/gvfsfusedaemon.c#L1399-1481

   so if we would do such a change it will break a real user.

5. Add stream_open and FOPEN_STREAM handling to stable kernels starting
   from v3.14+ (the kernel where 9c225f2655 first appeared).

   This will allow to patch OSSPD and other FUSE filesystems that
   provide stream-like files to return FOPEN_STREAM | FOPEN_NONSEEKABLE
   in their open handler and this way avoid the deadlock on all kernel
   versions. This should work because fs/fuse/ ignores unknown open
   flags returned from a filesystem and so passing FOPEN_STREAM to a
   kernel that is not aware of this flag cannot hurt. In turn the kernel
   that is not aware of FOPEN_STREAM will be < v3.14 where just
   FOPEN_NONSEEKABLE is sufficient to implement streams without read vs
   write deadlock.

This patch adds stream_open, converts /proc/xen/xenbus to it and adds
semantic patch to automatically locate in-kernel places that are either
required to be converted due to read vs write deadlock, or that are just
safe to be converted because read and write do not use ppos and there
are no other funky methods in file_operations.

Regarding semantic patch I've verified each generated change manually -
that it is correct to convert - and each other nonseekable_open instance
left - that it is either not correct to convert there, or that it is not
converted due to current stream_open.cocci limitations.

The script also does not convert files that should be valid to convert,
but that currently have .llseek = noop_llseek or generic_file_llseek for
unknown reason despite file being opened with nonseekable_open (e.g.
drivers/input/mousedev.c)

Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Yongzhi Pan <panyongzhi@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Tejun Heo <tj@kernel.org>
Cc: Kirill Tkhai <ktkhai@virtuozzo.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Cc: Nikolaus Rath <Nikolaus@rath.org>
Cc: Han-Wen Nienhuys <hanwen@google.com>
Signed-off-by: Kirill Smelkov <kirr@nexedi.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-04-06 07:01:55 -10: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 {net, IB}/mlx4: Initialize CQ buffers in the driver when possible 2018-11-22 11:38:36 -08:00
mlx5 net/mlx5e: Add a lock on tir list 2019-03-29 12:24:41 -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: convert the proto argument from u8 to u16 2019-03-01 14:28:43 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf arm64: perf: Add support for Armv8.1 PMCEID register format 2018-11-21 13:16:33 +00:00
phy 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 gpio: amd-fch: Fix bogus SPDX identifier 2019-03-22 16:48:47 +01: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 SUNRPC: Micro-optimise when the task is known not to be sleeping 2019-03-10 14:08:19 -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.h device-dax for 5.1 2019-03-16 13:05:32 -07:00
acpi_dma.h
acpi_iort.h
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 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-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h
arm_sdei.h ACPI / APEI: Add support for the SDEI GHES Notification type 2019-02-11 11:07:49 +01:00
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h async: Add support for queueing on specific NUMA node 2019-01-31 14:20:54 +01:00
async_tx.h
ata.h
ata_platform.h ata: pata_of_platform: Allow to use 16-bit wide data transfer 2019-02-08 06:42:53 -07:00
atalk.h appletalk: Fix potential NULL pointer dereference in unregister_snap_client 2019-03-15 11:25:48 -07:00
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-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: add bio_set_polled() helper 2019-02-24 08:20:17 -07: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-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 block: Unexport blk_mq_add_to_requeue_list() 2019-03-20 14:19:36 -06:00
blk-pm.h
blk_types.h block: add BIO_NO_PAGE_REF flag 2019-03-18 10:44:48 -06:00
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-cgroup.h bpf: fix warning about using plain integer as NULL 2019-03-08 21:17:07 +01:00
bpf.h bpf: Fix bpf_tcp_sock and bpf_sk_fullsock issue related to bpf_sk_release 2019-03-13 12:04:35 -07:00
bpf_lirc.h
bpf_trace.h
bpf_types.h bpf: BPF_PROG_TYPE_CGROUP_{SKB, SOCK, SOCK_ADDR} require cgroups enabled 2019-01-31 10:13:21 +01:00
bpf_verifier.h bpf: Fix bpf_tcp_sock and bpf_sk_fullsock issue related to bpf_sk_release 2019-03-13 12:04:35 -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: introduce bpf_spin_lock 2019-02-01 20:55:38 +01:00
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h build_bug.h: add wrapper for _Static_assert 2019-03-07 18:31:59 -08:00
bvec.h block: optimize bvec iteration in bvec_iter_advance 2019-02-28 13:49:22 -07: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-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
cgroup_rdma.h IB/core: Simplify rdma cgroup registration 2019-01-18 13:43:10 -07:00
cgroup_subsys.h
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.h
coda_psdev.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-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
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
completion.h
component.h drivers/component: kerneldoc polish 2019-02-19 13:20:35 +01:00
concap.h
configfs.h
connector.h
console.h
console_struct.h vt: refactor vc_ques to allow of other private sequences. 2019-01-18 13:52:41 +01:00
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h lib: cordic: Move cordic macros and defines to header file 2018-11-29 17:30:48 +02:00
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h coresight: perf: Add "sinks" group to PMU directory 2019-02-08 12:27:36 +01:00
count_zeros.h
cper.h
cpu.h cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM 2019-01-30 19:27:00 +01:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
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 dax: Fix unlock mismatch with updated API 2018-12-04 21:32:00 -08:00
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-event.h
devfreq.h PM / devfreq: add devfreq_suspend/resume() functions 2018-12-11 11:40:13 +09:00
devfreq_cooling.h
device-mapper.h 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
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h
dma-debug.h dma-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-buf: make fence sequence numbers 64 bit v2 2018-12-07 12:44:16 +01:00
dma-iommu.h iommu/dma-iommu: remove the mapping_error dma_map_ops method 2018-12-06 06:56:48 -08:00
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 iommu/vt-d: Force IOMMU on for platform opt in hint 2018-12-05 12:01:55 +03:00
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h drbd: introduce P_ZEROES (REQ_OP_WRITE_ZEROES on the "wire") 2018-12-20 09:51:31 -07:00
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
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/ethernet: Add parse_protocol header_ops support 2019-02-22 12:55:31 -08: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 kbuild: simplify dependency generation for CONFIG_TRIM_UNUSED_KSYMS 2018-12-01 23:13:14 +09:00
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 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-06 07:59:36 -08: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.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
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
fscache-cache.h fscache: Fix race in fscache_op_complete() due to split atomic_sub & read 2018-11-28 13:19:20 +00:00
fscache.h
fscrypt.h fscrypt: return -EXDEV for incompatible rename or link into encrypted dir 2019-01-23 23:56:43 -05:00
fsi-occ.h fsi: Add On-Chip Controller (OCC) driver 2018-12-02 16:25:28 -08:00
fsi-sbefifo.h
fsi.h
fsl-diu-fb.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
fsldma.h
fsnotify.h fanotify: check FS_ISDIR flag instead of d_is_dir() 2019-02-07 16:38:36 +01:00
fsnotify_backend.h fsnotify: Create function to remove event from notification list 2019-02-18 12:41:16 +01:00
ftrace.h Tracing changes for v4.21: 2018-12-31 11:46:59 -08:00
ftrace_irq.h
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
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-pxa.h
gpio.h
gpio_keys.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 iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-11-16 11:42:12 +00:00
hid-sensor-ids.h
hid.h 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.h
hil_mlc.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 hrtimers/tick/clockevents: Remove sloppy license references 2018-11-23 11:51:21 +01:00
htcpld.h
huge_mm.h mm, thp, proc: report THP eligibility for each vma 2018-12-28 12:11:50 -08:00
hugetlb.h include/linux/hugetlb.h: convert to use vm_fault_t 2019-03-29 10:01:37 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
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: Add br_fdb_clear_offload() 2018-12-07 12:59:08 -08:00
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h net/vlan: introduce skb_vlan_tag_get_cfi() helper 2018-11-21 15:41:30 -08:00
igmp.h 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.h
inet_diag.h
inetdevice.h
init.h
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
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.h
interval_tree_generic.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 block: Introduce get_current_ioprio() 2018-11-19 19:03:46 -07:00
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.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h ipmi: Make the smi watcher be disabled immediately when not needed 2019-02-09 19:48:42 -06:00
ipv6.h net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE 2019-03-03 21:05:10 -08:00
ipv6_route.h
irq.h genirq: Fix typo in comment of IRQD_MOVE_PCNTXT 2019-03-21 11:52:37 +01:00
irq_cpustat.h
irq_poll.h
irq_sim.h irq/irq_sim: Store multiple interrupt offsets in a bitmap 2018-12-13 09:35:31 +00:00
irq_work.h
irqbypass.h
irqchip.h genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irqdesc.h 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.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iversion.h
jbd2.h jbd2: update locking documentation for transaction_t 2018-12-04 00:30:22 -05:00
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
jump_label_ratelimit.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-page-flags.h
kernel.h linux/kernel.h: split *_MAX and *_MIN macros into <linux/limits.h> 2019-03-07 18:31:59 -08:00
kernel_stat.h
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.h
kobject_ns.h
kprobes.h x86/hw_breakpoints, kprobes: Remove kprobes ifdeffery 2019-01-30 11:52:21 +01:00
kref.h kref/kobject: Improve documentation 2018-12-06 13:57:03 +01:00
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: Expose the initial start value in grow_halt_poll_ns() as a module parameter 2019-02-20 22:48:50 +01:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h include: Add lantiq.h in include/linux/ 2018-11-22 09:03:17 +01:00
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: Add helper for getting default pattern from Device Tree 2019-01-16 22:08:07 +01:00
leds_pwm.h
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.h
libfdt_env.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 linkage: add generic GLOBAL() macro 2018-11-30 13:29:04 +00:00
linkmode.h net: mii: Rename mii_stat1000_to_linkmode_lpa_t 2018-12-05 16:26:16 -08:00
linux_logo.h
lis3lv02d.h
list.h include/linux/list.h: fix list_is_first() kernel-doc 2019-03-29 10:01:37 -07:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
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
mISDNdsp.h
mISDNhw.h
mISDNif.h
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: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t 2019-02-18 16:43:54 -08: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.h
memory_hotplug.h xen: fixes and features for 5.1-rc1 2019-03-11 17:08:14 -07:00
mempolicy.h mm, thp: restore node-local hugepage allocations 2018-12-05 15:45:54 -08:00
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.h mm: migrate: drop unused argument of migrate_page_move_mapping() 2018-12-28 12:11:51 -08:00
migrate_mode.h
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
mm-arch-hooks.h
mm.h mm: refactor readahead defines in mm.h 2019-03-12 10:04:01 -07:00
mm_inline.h fs: don't open code lru_to_page() 2019-01-04 13:13:48 -08:00
mm_types.h mm: fix vm_fault_t cast in VM_FAULT_GET_HINDEX() 2019-04-05 16:02:31 -10:00
mm_types_task.h
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.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.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.h
mv643xx_eth.h
mv643xx_i2c.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.h net: add documentation to socket.c 2019-03-15 15:29:47 -07:00
net_dim.h net/dim: Update DIM start sample after each DIM iteration 2018-11-22 11:36:54 -08: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-03-02 12:54:35 -08:00
netfilter.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09: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: ipv6: avoid indirect calls for IPV6=y case 2019-02-04 18:21:12 +01:00
netlink.h net: netlink: add helper to retrieve NETLINK_F_STRICT_CHK 2019-01-19 10:09:58 -08:00
netpoll.h
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
nfs_fs.h NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
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_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
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.h NTB: add new parameter to peer_db_addr() db_bit and db_data 2019-02-13 11:03:18 -05:00
ntb_transport.h
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 nvme_ioctl.h: remove duplicate GPL boilerplate 2019-02-20 07:22:05 -07:00
nvmem-consumer.h
nvmem-provider.h nvmem: add new config option 2018-12-06 15:45:46 +01:00
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.h of: Remove struct device_node.type pointer 2019-01-10 16:24:44 -06:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
of_gpio.h 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: net: kill of_get_nvmem_mac_address() 2018-12-03 15:40:30 -08:00
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h of: mark early_init_dt_alloc_reserved_memory_arch static 2019-02-28 11:40:49 -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-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
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
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.h Revert "parport: daisy: use new parport device model" 2019-03-25 14:49:00 -07:00
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/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
pci_hotplug.h
pci_ids.h PCI: Move Rohm Vendor ID to generic list 2019-02-01 17:24:52 -06:00
pda_power.h
pe.h include: pe.h: remove message[] from mz header definition 2018-12-06 14:38:53 +00:00
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h locking/percpu-rwsem: Remove preempt_disable variants 2019-02-28 07:55:37 +01:00
percpu.h
percpu_counter.h
perf_event.h perf/core improvements and fixes: 2019-02-28 08:29:50 +01:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h net: phy: remove gen10g_no_soft_reset 2019-03-03 21:47:57 -08:00
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
phylink.h net: phylink: update mac_config() documentation 2019-02-24 12:39:45 -08:00
pid.h include/linux/pid.h: remove next_pidmap() declaration 2019-03-07 18:31:59 -08:00
pid_namespace.h
pim.h
pipe_fs_i.h pipe: stop using ->can_merge 2019-02-01 02:01:45 -05: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-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
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
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-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
posix_acl.h
posix_acl_xattr.h
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-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
preempt.h preempt: Move PREEMPT_NEED_RESCHED definition into arch code 2018-12-07 12:35:46 +00:00
prefetch.h
prime_numbers.h
printk.h Printk 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.h psi: make disabling/enabling easier for vendor kernels 2018-11-30 14:56:14 -08:00
psi_types.h
psp-sev.h
pstore.h pstore: Convert buf_lock to semaphore 2018-12-03 17:11:02 -08:00
pstore_ram.h pstore: Map PSTORE_TYPE_* to strings 2018-12-03 16:52:35 -08:00
pti.h
ptp_classify.h
ptp_clock_kernel.h
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.h pwm: Rearrange structures to group members by purpose 2019-01-10 09:35:00 +01:00
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h
qcom_scm.h qcom-scm: Include <linux/err.h> header 2019-01-10 17:04:45 -06:00
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.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.h
rculist_bl.h
rculist_nulls.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
rcupdate_wait.h
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.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h rhashtable: Remove obsolete rhashtable_walk_init function 2019-02-22 13:49:00 +01:00
ring_buffer.h tracing: kdb: Fix ftdump to not sleep 2019-03-13 09:46:10 -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 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.h
rwlock_api_smp.h
rwlock_types.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.h audit/stable-5.1 PR 20190305 2019-03-07 12:20:11 -08:00
sched_clock.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h 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.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
seqno-fence.h
serdev.h serdev: make synchronous write helper interruptible 2018-11-27 19:44:21 +01:00
serial.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
serio.h
set_memory.h
sfi.h
sfi_acpi.h
sfp.h net: phy: sfp: correct location of SFP standards 2018-11-29 11:46:34 -08:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
sha256.h
shdma-base.h
shm.h
shmem_fs.h mm: rid swapoff of quadratic complexity 2019-03-05 21:07:18 -08:00
shrinker.h
signal.h signal: Make siginmask safe when passed a signal of 0 2019-01-12 11:48:20 -06:00
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-11 08:54:01 -07:00
skmsg.h bpf: sk_msg, fix socket data_ready events 2018-12-20 23:47:09 +01:00
slab.h mm: add support for kmem caches in DMA32 zone 2019-03-29 10:01:37 -07:00
slab_def.h mm: move obj_to_index to include/linux/slab_def.h 2018-12-28 12:11:44 -08: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.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 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
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h lib/string.c: implement a basic bcmp 2019-04-05 16:02:30 -10:00
string_helpers.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h include/linux/swap.h: use offsetof() instead of custom __swapoffset macro 2019-03-14 14:36:20 -07:00
swap_cgroup.h
swap_slots.h
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.h
sys_soc.h
syscalls.h pidfd patches for v5.1-rc1 2019-03-16 13:47:14 -07:00
syscore_ops.h
sysctl.h
sysfs.h sysfs: constify sysfs create/remove files harder 2018-12-03 18:18:19 +02:00
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h scsi: t10-pi: Return correct ref tag when queue has no integrity profile 2018-12-07 22:39:46 -05:00
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: defer SACK compression after DupThresh 2018-11-21 15:49:52 -08:00
tee_drv.h tee: add cancellation support to client interface 2019-02-28 13:49:29 +01:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h 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.h tpm: pass an array of tpm_extend_digest structures to tpm_pcr_extend() 2019-02-13 09:48:52 +02:00
tpm_command.h
tpm_eventlog.h tpm: rename and export tpm2_digest and tpm2_algorithms 2019-02-13 09:48:51 +02:00
trace.h
trace_clock.h
trace_events.h bpf: support raw tracepoints in modules 2018-12-18 14:08:12 -08:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu 2018-12-04 07:52:30 +01:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h Merge 4.20-rc6 into tty-next 2018-12-10 10:17:45 +01:00
tty_driver.h
tty_flip.h
tty_ldisc.h
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.h io_uring-20190323 2019-03-23 10:25:12 -07:00
uio_driver.h
umh.h umh: add exit routine for UMH process 2019-01-11 18:05:40 -08:00
uprobes.h
usb.h USB: check usb_get_extra_descriptor for proper size 2018-12-05 21:20:14 +01:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
vbox_utils.h 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-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio: Introduce virtio_max_dma_size() 2019-03-06 11:19:15 -05:00
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_vsock.h
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.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h sched/wait: Use freezable_schedule() when possible 2019-02-11 08:34:04 +01:00
wait_bit.h
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