]> Git Repo - linux.git/commitdiff
Merge tag 'v5.5-rc4' into locking/kcsan, to resolve conflicts
authorIngo Molnar <[email protected]>
Mon, 30 Dec 2019 07:10:51 +0000 (08:10 +0100)
committerIngo Molnar <[email protected]>
Mon, 30 Dec 2019 07:10:51 +0000 (08:10 +0100)
Conflicts:
init/main.c
lib/Kconfig.debug

Signed-off-by: Ingo Molnar <[email protected]>
20 files changed:
1  2 
Documentation/dev-tools/index.rst
MAINTAINERS
Makefile
arch/x86/Kconfig
arch/x86/boot/Makefile
arch/x86/boot/compressed/Makefile
arch/x86/entry/vdso/Makefile
arch/x86/include/asm/bitops.h
arch/x86/kernel/Makefile
arch/x86/mm/Makefile
drivers/firmware/efi/libstub/Makefile
include/linux/sched.h
include/linux/seqlock.h
init/main.c
kernel/Makefile
lib/Kconfig.debug
lib/Makefile
mm/Makefile
scripts/Makefile.lib
tools/objtool/check.c

index 1b756a7014e0ff4b79a02a2299f5d1927f8078af,09dee10d259289d390b28502db729cba825a385d..f7809c7b1ba9e2999c8a4af28097bfc0aa1783c5
@@@ -21,10 -21,10 +21,11 @@@ whole; patches welcome
     kasan
     ubsan
     kmemleak
 +   kcsan
     gdb-kernel-debugging
     kgdb
     kselftest
+    kunit/index
  
  
  .. only::  subproject and html
diff --combined MAINTAINERS
index d0a544d84837d392830c12031eead366b3655caf,e09bd92a1e44460dec7a3337bef259494e04696f..79ba90f98ade2e522b636adf2fd160f3af267318
@@@ -1,12 -1,14 +1,14 @@@
-       List of maintainers and how to submit kernel changes
+ List of maintainers and how to submit kernel changes
+ ====================================================
  
  Please try to follow the guidelines below.  This will make things
  easier on the maintainers.  Not all of these guidelines matter for every
  trivial patch so apply some common sense.
  
- 1.    Always _test_ your changes, however small, on at least 4 or
+ Tips for patch submitters
+ -------------------------
+ 1.    Always *test* your changes, however small, on at least 4 or
        5 people, preferably many more.
  
  2.    Try to release a few ALPHA test versions to the net. Announce
@@@ -25,7 -27,7 +27,7 @@@
        testing and await feedback.
  
  5.    Make a patch available to the relevant maintainer in the list. Use
-       'diff -u' to make the patch easy to merge. Be prepared to get your
+       ``diff -u`` to make the patch easy to merge. Be prepared to get your
        changes sent back with seemingly silly requests about formatting
        and variable names.  These aren't as silly as they seem. One
        job the maintainers (and especially Linus) do is to keep things
@@@ -38,7 -40,7 +40,7 @@@
        See Documentation/process/coding-style.rst for guidance here.
  
        PLEASE CC: the maintainers and mailing lists that are generated
-       by scripts/get_maintainer.pl.  The results returned by the
+       by ``scripts/get_maintainer.pl.`` The results returned by the
        script will be best if you have git installed and are making
        your changes in a branch derived from Linus' latest git tree.
        See Documentation/process/submitting-patches.rst for details.
        not represent an immediate threat and are better handled publicly,
        and ideally, should come with a patch proposal. Please do not send
        automated reports to this list either. Such bugs will be handled
-       better and faster in the usual public places.
+       better and faster in the usual public places. See
+       Documentation/admin-guide/security-bugs.rst for details.
  
  8.    Happy hacking.
  
- Descriptions of section entries:
+ Descriptions of section entries
+ -------------------------------
  
-       P: Person (obsolete)
-       M: Mail patches to: FullName <address@domain>
-       R: Designated reviewer: FullName <address@domain>
+       M: *Mail* patches to: FullName <address@domain>
+       R: Designated *Reviewer*: FullName <address@domain>
           These reviewers should be CCed on patches.
-       L: Mailing list that is relevant to this area
-       W: Web-page with status/info
-       B: URI for where to file bugs. A web-page with detailed bug
+       L: *Mailing list* that is relevant to this area
+       W: *Web-page* with status/info
+       B: URI for where to file *bugs*. A web-page with detailed bug
           filing info, a direct bug tracker link, or a mailto: URI.
-       C: URI for chat protocol, server and channel where developers
+       C: URI for *chat* protocol, server and channel where developers
           usually hang out, for example irc://server/channel.
-       Q: Patchwork web based patch tracking system site
-       T: SCM tree type and location.
+       Q: *Patchwork* web based patch tracking system site
+       T: *SCM* tree type and location.
           Type is one of: git, hg, quilt, stgit, topgit
-       S: Status, one of the following:
+       S: *Status*, one of the following:
           Supported:   Someone is actually paid to look after this.
           Maintained:  Someone actually looks after it.
           Odd Fixes:   It has a maintainer but they don't have time to do
           Obsolete:    Old code. Something tagged obsolete generally means
                        it has been replaced by a better system and you
                        should be using that.
-       F: Files and directories with wildcard patterns.
+       P: Subsystem Profile document for more details submitting
+          patches to the given subsystem. This is either an in-tree file,
+          or a URI. See Documentation/maintainer/maintainer-entry-profile.rst
+          for details.
+       F: *Files* and directories wildcard patterns.
           A trailing slash includes all files and subdirectory files.
           F:   drivers/net/    all files in and below drivers/net
           F:   drivers/net/*   all files in drivers/net, but not below
           F:   */net/*         all files in "any top level directory"/net
           One pattern per line.  Multiple F: lines acceptable.
-       N: Files and directories with regex patterns.
+       N: Files and directories *Regex* patterns.
           N:   [^a-z]tegra     all files whose path contains the word tegra
           One pattern per line.  Multiple N: lines acceptable.
           scripts/get_maintainer.pl has different behavior for files that
           get_maintainer will not look at git log history when an F: pattern
           match occurs.  When an N: match occurs, git log history is used
           to also notify the people that have git commit signatures.
-       X: Files and directories that are NOT maintained, same rules as F:
-          Files exclusions are tested before file matches.
+       X: *Excluded* files and directories that are NOT maintained, same
+          rules as F:. Files exclusions are tested before file matches.
           Can be useful for excluding a specific subdirectory, for instance:
           F:   net/
           X:   net/ipv6/
           matches all files in and below net excluding net/ipv6/
-       K: Keyword perl extended regex pattern to match content in a
-          patch or file.  For instance:
+       K: *Content regex* (perl extended) pattern match in a patch or file.
+          For instance:
           K: of_get_profile
              matches patches or files that contain "of_get_profile"
           K: \b(printk|pr_(info|err))\b
              printk, pr_info or pr_err
           One regex pattern per line.  Multiple K: lines acceptable.
  
- Note: For the hard of thinking, this list is meant to remain in alphabetical
- order. If you could add yourselves to it in alphabetical order that would be
- so much easier [Ed]
+ Maintainers List
+ ----------------
  
- Maintainers List (try to look for most precise areas first)
-               -----------------------------------
+ .. note:: When reading this list, please look for the most precise areas
+           first. When adding to this list, please keep the entries in
+           alphabetical order.
  
  3C59X NETWORK DRIVER
  M:    Steffen Klassert <[email protected]>
@@@ -295,7 -301,7 +301,7 @@@ S: Maintaine
  F:    drivers/net/ethernet/alteon/acenic*
  
  ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER
- M:    Peter Feuerer <[email protected]>
+ M:    Peter Kaestle <[email protected]>
  L:    [email protected]
  W:    http://piie.net/?section=acerhdf
  S:    Maintained
@@@ -643,7 -649,7 +649,7 @@@ F: drivers/net/ethernet/alacritech/
  
  FORCEDETH GIGABIT ETHERNET DRIVER
  M:    Rain River <[email protected]>
- M:    Zhu Yanjun <yanjun.zhu@oracle.com>
+ M:    Zhu Yanjun <zyjzyj2000@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    drivers/net/ethernet/nvidia/*
@@@ -682,11 -688,11 +688,11 @@@ S:      Maintaine
  F:    Documentation/devicetree/bindings/opp/sun50i-nvmem-cpufreq.txt
  F:    drivers/cpufreq/sun50i-cpufreq-nvmem.c
  
- ALLWINNER SECURITY SYSTEM
+ ALLWINNER CRYPTO DRIVERS
  M:    Corentin Labbe <[email protected]>
  L:    [email protected]
  S:    Maintained
- F:    drivers/crypto/sunxi-ss/
+ F:    drivers/crypto/allwinner/
  
  ALLWINNER VPU DRIVER
  M:    Maxime Ripard <[email protected]>
@@@ -817,7 -823,7 +823,7 @@@ S: Orpha
  F:    drivers/usb/gadget/udc/amd5536udc.*
  
  AMD GEODE PROCESSOR/CHIPSET SUPPORT
P:    Andres Salomon <[email protected]>
M:    Andres Salomon <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  W:    http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334_2452_11363,00.html
  S:    Supported
@@@ -856,7 -862,6 +862,6 @@@ S: Maintaine
  F:    drivers/i2c/busses/i2c-amd-mp2*
  
  AMD POWERPLAY
- M:    Rex Zhu <[email protected]>
  M:    Evan Quan <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -901,6 -906,14 +906,14 @@@ S:       Supporte
  F:    drivers/iio/adc/ad7124.c
  F:    Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
  
+ ANALOG DEVICES INC AD7292 DRIVER
+ M:    Marcelo Schmitt <[email protected]>
+ L:    [email protected]
+ W:    http://ez.analog.com/community/linux-device-drivers
+ S:    Supported
+ F:    drivers/iio/adc/ad7292.c
+ F:    Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml
  ANALOG DEVICES INC AD7606 DRIVER
  M:    Stefan Popa <[email protected]>
  M:    Beniamin Bia <[email protected]>
@@@ -1002,6 -1015,7 +1015,7 @@@ F:      drivers/media/i2c/adv7842
  
  ANALOG DEVICES INC ASOC CODEC DRIVERS
  M:    Lars-Peter Clausen <[email protected]>
+ M:    Nuno Sá <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  W:    http://wiki.analog.com/
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -1040,6 -1054,7 +1054,7 @@@ F:      drivers/clk/analogbits/
  F:    include/linux/clk/analogbits*
  
  ANDES ARCHITECTURE
+ M:    Nick Hu <[email protected]>
  M:    Greentime Hu <[email protected]>
  M:    Vincent Chen <[email protected]>
  T:    git https://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux.git
@@@ -1182,14 -1197,21 +1197,21 @@@ S:   Maintaine
  F:    drivers/media/i2c/aptina-pll.*
  
  AQUANTIA ETHERNET DRIVER (atlantic)
- M:    Igor Russkikh <igor.russkikh@aquantia.com>
+ M:    Igor Russkikh <irusskikh@marvell.com>
  L:    [email protected]
  S:    Supported
- W:    http://www.aquantia.com
+ W:    https://www.marvell.com/
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  F:    drivers/net/ethernet/aquantia/atlantic/
  F:    Documentation/networking/device_drivers/aquantia/atlantic.txt
  
+ AQUANTIA ETHERNET DRIVER PTP SUBSYSTEM
+ M:    Egor Pomozov <[email protected]>
+ L:    [email protected]
+ S:    Supported
+ W:    http://www.aquantia.com
+ F:    drivers/net/ethernet/aquantia/atlantic/aq_ptp*
  ARC FRAMEBUFFER DRIVER
  M:    Jaya Kumar <[email protected]>
  S:    Maintained
@@@ -1251,6 -1273,7 +1273,7 @@@ F:      Documentation/devicetree/bindings/di
  ARM KOMEDA DRM-KMS DRIVER
  M:    James (Qian) Wang <[email protected]>
  M:    Liviu Dudau <[email protected]>
+ M:    Mihail Atanassov <[email protected]>
  L:    Mali DP Maintainers <[email protected]>
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
@@@ -1272,6 -1295,8 +1295,8 @@@ F:      Documentation/gpu/afbc.rs
  ARM MALI PANFROST DRM DRIVER
  M:    Rob Herring <[email protected]>
  M:    Tomeu Vizoso <[email protected]>
+ R:    Steven Price <[email protected]>
+ R:    Alyssa Rosenzweig <[email protected]>
  L:    [email protected]
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
@@@ -1391,6 -1416,7 +1416,7 @@@ F:      drivers/clk/actions
  F:    drivers/clocksource/timer-owl*
  F:    drivers/dma/owl-dma.c
  F:    drivers/i2c/busses/i2c-owl.c
+ F:    drivers/mmc/host/owl-mmc.c
  F:    drivers/pinctrl/actions/*
  F:    drivers/soc/actions/
  F:    include/dt-bindings/power/owl-*
@@@ -1399,6 -1425,7 +1425,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
  F:    Documentation/devicetree/bindings/dma/owl-dma.txt
  F:    Documentation/devicetree/bindings/i2c/i2c-owl.txt
+ F:    Documentation/devicetree/bindings/mmc/owl-mmc.yaml
  F:    Documentation/devicetree/bindings/pinctrl/actions,s900-pinctrl.txt
  F:    Documentation/devicetree/bindings/power/actions,owl-sps.txt
  F:    Documentation/devicetree/bindings/timer/actions,owl-timer.txt
@@@ -1470,6 -1497,14 +1497,14 @@@ F:    drivers/soc/amlogic
  F:    drivers/rtc/rtc-meson*
  N:    meson
  
+ ARM/Amlogic Meson SoC Crypto Drivers
+ M:    Corentin Labbe <[email protected]>
+ L:    [email protected]
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/crypto/amlogic/
+ F:    Documentation/devicetree/bindings/crypto/amlogic*
  ARM/Amlogic Meson SoC Sound Drivers
  M:    Jerome Brunet <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -1529,8 -1564,10 +1564,10 @@@ M:    Manivannan Sadhasivam <manivannan.sa
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm64/boot/dts/bitmain/
+ F:    drivers/clk/clk-bm1880.c
  F:    drivers/pinctrl/pinctrl-bm1880.c
  F:    Documentation/devicetree/bindings/arm/bitmain.yaml
+ F:    Documentation/devicetree/bindings/clock/bitmain,bm1880-clk.yaml
  F:    Documentation/devicetree/bindings/pinctrl/bitmain,bm1880-pinctrl.txt
  
  ARM/CALXEDA HIGHBANK ARCHITECTURE
@@@ -1547,8 -1584,8 +1584,8 @@@ S:      Maintaine
  F:    arch/arm/mach-cns3xxx/
  
  ARM/CAVIUM THUNDER NETWORK DRIVER
- M:    Sunil Goutham <sgoutham@cavium.com>
- M:    Robert Richter <rric@kernel.org>
+ M:    Sunil Goutham <sgoutham@marvell.com>
+ M:    Robert Richter <rric[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  F:    drivers/net/ethernet/cavium/thunder/
@@@ -1608,8 -1645,7 +1645,7 @@@ R:      Suzuki K Poulose <suzuki.poulose@arm
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    drivers/hwtracing/coresight/*
- F:    Documentation/trace/coresight.rst
- F:    Documentation/trace/coresight-cpu-debug.rst
+ F:    Documentation/trace/coresight/*
  F:    Documentation/devicetree/bindings/arm/coresight.txt
  F:    Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt
  F:    Documentation/ABI/testing/sysfs-bus-coresight-devices-*
@@@ -1897,7 -1933,7 +1933,7 @@@ F:      arch/arm/boot/dts/dove
  F:    arch/arm/boot/dts/orion5x*
  T:    git git://git.infradead.org/linux-mvebu.git
  
- ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K SOC support
+ ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K, CN9130 SOC support
  M:    Jason Cooper <[email protected]>
  M:    Andrew Lunn <[email protected]>
  M:    Gregory Clement <[email protected]>
@@@ -1909,6 -1945,7 +1945,7 @@@ F:      arch/arm/boot/dts/kirkwood
  F:    arch/arm/configs/mvebu_*_defconfig
  F:    arch/arm/mach-mvebu/
  F:    arch/arm64/boot/dts/marvell/armada*
+ F:    arch/arm64/boot/dts/marvell/cn913*
  F:    drivers/cpufreq/armada-37xx-cpufreq.c
  F:    drivers/cpufreq/armada-8k-cpufreq.c
  F:    drivers/cpufreq/mvebu-cpufreq.c
@@@ -2005,6 -2042,7 +2042,7 @@@ F:      drivers/dma/ste_dma40
  F:    drivers/hwspinlock/u8500_hsem.c
  F:    drivers/i2c/busses/i2c-nomadik.c
  F:    drivers/i2c/busses/i2c-stu300.c
+ F:    drivers/iio/adc/ab8500-gpadc.c
  F:    drivers/mfd/ab3100*
  F:    drivers/mfd/ab8500*
  F:    drivers/mfd/abx500*
@@@ -2102,6 -2140,7 +2140,7 @@@ S:      Maintaine
  
  ARM/QUALCOMM SUPPORT
  M:    Andy Gross <[email protected]>
+ M:    Bjorn Andersson <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/soc/qcom/
  S:    Maintained
  F:    arch/arm/boot/dts/rda8810pl-*
  F:    drivers/clocksource/timer-rda.c
+ F:    drivers/gpio/gpio-rda.c
  F:    drivers/irqchip/irq-rda-intc.c
  F:    drivers/tty/serial/rda-uart.c
  F:    Documentation/devicetree/bindings/arm/rda.yaml
+ F:    Documentation/devicetree/bindings/gpio/gpio-rda.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/rda,8810pl-intc.txt
  F:    Documentation/devicetree/bindings/serial/rda,8810pl-uart.txt
  F:    Documentation/devicetree/bindings/timer/rda,8810pl-timer.txt
  ARM/REALTEK ARCHITECTURE
  M:    Andreas Färber <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
+ L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm64/boot/dts/realtek/
  F:    Documentation/devicetree/bindings/arm/realtek.yaml
@@@ -2230,11 -2272,11 +2272,11 @@@ F:   drivers/*/*s3c64xx
  F:    drivers/*/*s5pv210*
  F:    drivers/memory/samsung/
  F:    drivers/soc/samsung/
+ F:    drivers/tty/serial/samsung*
  F:    include/linux/soc/samsung/
  F:    Documentation/arm/samsung/
  F:    Documentation/devicetree/bindings/arm/samsung/
- F:    Documentation/devicetree/bindings/sram/samsung-sram.txt
- F:    Documentation/devicetree/bindings/power/pd-samsung.txt
+ F:    Documentation/devicetree/bindings/power/pd-samsung.yaml
  N:    exynos
  
  ARM/SAMSUNG MOBILE MACHINE SUPPORT
@@@ -2488,10 -2530,10 +2530,10 @@@ F:   drivers/reset/reset-uniphier.
  F:    drivers/tty/serial/8250/8250_uniphier.c
  N:    uniphier
  
- ARM/Ux500 CLOCK FRAMEWORK SUPPORT
+ Ux500 CLOCK DRIVERS
  M:    Ulf Hansson <[email protected]>
+ L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
- T:    git git://git.linaro.org/people/ulfh/clk.git
  S:    Maintained
  F:    drivers/clk/ux500/
  
@@@ -2611,6 -2653,7 +2653,7 @@@ S:      Maintaine
  F:    arch/arm64/
  X:    arch/arm64/boot/dts/
  F:    Documentation/arm64/
+ F:    tools/testing/selftests/arm64/
  
  AS3645A LED FLASH CONTROLLER DRIVER
  M:    Sakari Ailus <[email protected]>
@@@ -2697,7 -2740,7 +2740,7 @@@ M:      Bartosz Golaszewski <bgolaszewski@ba
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
  S:    Maintained
- F:    Documentation/devicetree/bindings/eeprom/at24.txt
+ F:    Documentation/devicetree/bindings/eeprom/at24.yaml
  F:    drivers/misc/eeprom/at24.c
  
  ATA OVER ETHERNET (AOE) DRIVER
@@@ -2858,7 -2901,6 +2901,6 @@@ AXENTIA ARM DEVICE
  M:    Peter Rosin <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
- F:    Documentation/devicetree/bindings/arm/axentia.txt
  F:    arch/arm/boot/dts/at91-linea.dtsi
  F:    arch/arm/boot/dts/at91-natte.dtsi
  F:    arch/arm/boot/dts/at91-nattis-2-natte-2.dts
@@@ -3187,8 -3229,7 +3229,7 @@@ N:      kon
  F:    arch/arm/mach-bcm/
  
  BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE
- M:    Eric Anholt <[email protected]>
- M:    Stefan Wahren <[email protected]>
+ M:    Nicolas Saenz Julienne <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected] (moderated for non-subscribers)
@@@ -3532,7 -3573,7 +3573,7 @@@ BUS FREQUENCY DRIVER FOR SAMSUNG EXYNO
  M:    Chanwoo Choi <[email protected]>
  L:    [email protected]
  L:    [email protected]
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
  S:    Maintained
  F:    drivers/devfreq/exynos-bus.c
  F:    Documentation/devicetree/bindings/devfreq/exynos-bus.txt
@@@ -3595,6 -3636,13 +3636,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/media/cdns,*.txt
  F:    drivers/media/platform/cadence/cdns-csi2*
  
+ CADENCE NAND DRIVER
+ M:    Piotr Sroka <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/mtd/nand/raw/cadence-nand-controller.c
+ F:    Documentation/devicetree/bindings/mtd/cadence-nand-controller.txt
  CADET FM/AM RADIO RECEIVER DRIVER
  M:    Hans Verkuil <[email protected]>
  L:    [email protected]
@@@ -3626,16 -3674,6 +3674,6 @@@ L:     [email protected] (moderate
  S:    Maintained
  F:    net/sched/sch_cake.c
  
- CALGARY x86-64 IOMMU
- M:    Muli Ben-Yehuda <[email protected]>
- M:    Jon Mason <[email protected]>
- L:    [email protected]
- S:    Maintained
- F:    arch/x86/kernel/pci-calgary_64.c
- F:    arch/x86/kernel/tce_64.c
- F:    arch/x86/include/asm/calgary.h
- F:    arch/x86/include/asm/tce.h
  CAN NETWORK DRIVERS
  M:    Wolfgang Grandegger <[email protected]>
  M:    Marc Kleine-Budde <[email protected]>
@@@ -3678,7 -3716,7 +3716,7 @@@ M:      Oleksij Rempel <o.rempel@pengutronix
  R:    Pengutronix Kernel Team <[email protected]>
  L:    [email protected]
  S:    Maintained
- F:    Documentation/networking/j1939.txt
+ F:    Documentation/networking/j1939.rst
  F:    net/can/j1939/
  F:    include/uapi/linux/can/j1939.h
  
@@@ -3704,9 -3742,8 +3742,8 @@@ S:      Maintaine
  F:    drivers/net/wireless/ath/carl9170/
  
  CAVIUM I2C DRIVER
- M:    Jan Glauber <[email protected]>
- M:    David Daney <[email protected]>
- W:    http://www.cavium.com
+ M:    Robert Richter <[email protected]>
+ W:    http://www.marvell.com
  S:    Supported
  F:    drivers/i2c/busses/i2c-octeon*
  F:    drivers/i2c/busses/i2c-thunderx*
@@@ -3716,27 -3753,25 +3753,25 @@@ M:   Derek Chickles <[email protected]
  M:    Satanand Burla <[email protected]>
  M:    Felix Manlunas <[email protected]>
  L:    [email protected]
- W:    http://www.cavium.com
+ W:    http://www.marvell.com
  S:    Supported
  F:    drivers/net/ethernet/cavium/liquidio/
  
  CAVIUM MMC DRIVER
- M:    Jan Glauber <[email protected]>
- M:    David Daney <[email protected]>
- M:    Steven J. Hill <[email protected]>
- W:    http://www.cavium.com
+ M:    Robert Richter <[email protected]>
+ W:    http://www.marvell.com
  S:    Supported
  F:    drivers/mmc/host/cavium*
  
  CAVIUM OCTEON-TX CRYPTO DRIVER
- M:    George Cherian <george.cherian@cavium.com>
+ M:    George Cherian <gcherian@marvell.com>
  L:    [email protected]
- W:    http://www.cavium.com
+ W:    http://www.marvell.com
  S:    Supported
  F:    drivers/crypto/cavium/cpt/
  
  CAVIUM THUNDERX2 ARM64 SOC
- M:    Robert Richter <rrichter@cavium.com>
+ M:    Robert Richter <rrichter@marvell.com>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm64/boot/dts/cavium/thunder2-99xx*
@@@ -4269,14 -4304,13 +4304,13 @@@ F:   include/linux/cpufreq.
  F:    include/linux/sched/cpufreq.h
  F:    tools/testing/selftests/cpufreq/
  
- CPU FREQUENCY DRIVERS - ARM BIG LITTLE
+ CPU FREQUENCY DRIVERS - VEXPRESS SPC ARM BIG LITTLE
  M:    Viresh Kumar <[email protected]>
  M:    Sudeep Holla <[email protected]>
  L:    [email protected]
  W:    http://www.arm.com/products/processors/technologies/biglittleprocessing.php
  S:    Maintained
- F:    drivers/cpufreq/arm_big_little.h
- F:    drivers/cpufreq/arm_big_little.c
+ F:    drivers/cpufreq/vexpress-spc-cpufreq.c
  
  CPU POWER MONITORING SUBSYSTEM
  M:    Thomas Renninger <[email protected]>
@@@ -4455,14 -4489,6 +4489,6 @@@ W:     http://www.chelsio.co
  S:    Supported
  F:    drivers/scsi/cxgbi/cxgb3i
  
- CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
- M:    Potnuri Bharat Teja <[email protected]>
- L:    [email protected]
- W:    http://www.openfabrics.org
- S:    Supported
- F:    drivers/infiniband/hw/cxgb3/
- F:    include/uapi/rdma/cxgb3-abi.h
  CXGB4 CRYPTO DRIVER (chcr)
  M:    Atul Gupta <[email protected]>
  L:    [email protected]
@@@ -4637,6 -4663,14 +4663,14 @@@ M:    "Maciej W. Rozycki" <macro@linux-mip
  S:    Maintained
  F:    drivers/net/fddi/defxx.*
  
+ DEINTERLACE DRIVERS FOR ALLWINNER H3
+ M:    Jernej Skrabec <[email protected]>
+ L:    [email protected]
+ T:    git git://linuxtv.org/media_tree.git
+ S:    Maintained
+ F:    drivers/media/platform/sunxi/sun8i-di/
+ F:    Documentation/devicetree/bindings/media/allwinner,sun8i-h3-deinterlace.yaml
  DELL SMBIOS DRIVER
  M:    Pali Rohár <[email protected]>
  M:    Mario Limonciello <[email protected]>
@@@ -4761,9 -4795,9 +4795,9 @@@ F:      include/linux/devcoredump.
  DEVICE FREQUENCY (DEVFREQ)
  M:    MyungJoo Ham <[email protected]>
  M:    Kyungmin Park <[email protected]>
R:    Chanwoo Choi <[email protected]>
M:    Chanwoo Choi <[email protected]>
  L:    [email protected]
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
  S:    Maintained
  F:    drivers/devfreq/
  F:    include/linux/devfreq.h
@@@ -4773,10 -4807,11 +4807,11 @@@ F:   include/trace/events/devfreq.
  DEVICE FREQUENCY EVENT (DEVFREQ-EVENT)
  M:    Chanwoo Choi <[email protected]>
  L:    [email protected]
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
  S:    Supported
  F:    drivers/devfreq/event/
  F:    drivers/devfreq/devfreq-event.c
+ F:    include/dt-bindings/pmu/exynos_ppmu.h
  F:    include/linux/devfreq-event.h
  F:    Documentation/devicetree/bindings/devfreq/event/
  
@@@ -4878,7 -4913,6 +4913,6 @@@ F:      include/trace/events/fs_dax.
  DEVICE DIRECT ACCESS (DAX)
  M:    Dan Williams <[email protected]>
  M:    Vishal Verma <[email protected]>
- M:    Keith Busch <[email protected]>
  M:    Dave Jiang <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -4937,6 -4971,7 +4971,7 @@@ F:      include/linux/dma-buf
  F:    include/linux/reservation.h
  F:    include/linux/*fence.h
  F:    Documentation/driver-api/dma-buf.rst
+ K:    dma_(buf|fence|resv)
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  
  DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
@@@ -4965,6 -5000,14 +5000,14 @@@ F:    include/linux/dma-direct.
  F:    include/linux/dma-mapping.h
  F:    include/linux/dma-noncoherent.h
  
+ DMC FREQUENCY DRIVER FOR SAMSUNG EXYNOS5422
+ M:    Lukasz Luba <[email protected]>
+ L:    [email protected]
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/memory/samsung/exynos5422-dmc.c
+ F:    Documentation/devicetree/bindings/memory-controllers/exynos5422-dmc.txt
  DME1737 HARDWARE MONITOR DRIVER
  M:    Juerg Haefliger <[email protected]>
  L:    [email protected]
@@@ -5046,10 -5089,14 +5089,14 @@@ M:   Ioana Radulescu <ruxandra.radulescu@
  L:    [email protected]
  S:    Maintained
  F:    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth*
+ F:    drivers/net/ethernet/freescale/dpaa2/dpaa2-mac*
  F:    drivers/net/ethernet/freescale/dpaa2/dpni*
+ F:    drivers/net/ethernet/freescale/dpaa2/dpmac*
  F:    drivers/net/ethernet/freescale/dpaa2/dpkg.h
  F:    drivers/net/ethernet/freescale/dpaa2/Makefile
  F:    drivers/net/ethernet/freescale/dpaa2/Kconfig
+ F:    Documentation/networking/device_drivers/freescale/dpaa2/ethernet-driver.rst
+ F:    Documentation/networking/device_drivers/freescale/dpaa2/mac-phy-support.rst
  
  DPAA2 ETHERNET SWITCH DRIVER
  M:    Ioana Radulescu <[email protected]>
@@@ -5372,12 -5419,22 +5419,22 @@@ F:   include/linux/vga
  
  DRM DRIVERS FOR ALLWINNER A10
  M:    Maxime Ripard <[email protected]>
+ M:    Chen-Yu Tsai <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/gpu/drm/sun4i/
  F:    Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  
+ DRM DRIVER FOR ALLWINNER DE2 AND DE3 ENGINE
+ M:    Maxime Ripard <[email protected]>
+ M:    Chen-Yu Tsai <[email protected]>
+ R:    Jernej Skrabec <[email protected]>
+ L:    [email protected]
+ S:    Supported
+ F:    drivers/gpu/drm/sun4i/sun8i*
+ T:    git git://anongit.freedesktop.org/drm/drm-misc
  DRM DRIVERS FOR AMLOGIC SOCS
  M:    Neil Armstrong <[email protected]>
  L:    [email protected]
@@@ -5833,15 -5890,14 +5890,14 @@@ F:   drivers/edac/highbank
  
  EDAC-CAVIUM OCTEON
  M:    Ralf Baechle <[email protected]>
- M:    David Daney <david.daney@cavium.com>
+ M:    Robert Richter <rrichter@marvell.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/edac/octeon_edac*
  
  EDAC-CAVIUM THUNDERX
- M:    David Daney <[email protected]>
- M:    Jan Glauber <[email protected]>
+ M:    Robert Richter <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/edac/thunderx_edac*
@@@ -5971,6 -6027,7 +6027,7 @@@ M:      Yash Shah <[email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/edac/sifive_edac.c
+ F:    drivers/soc/sifive_l2_cache.c
  
  EDAC-SKYLAKE
  M:    Tony Luck <[email protected]>
@@@ -6002,14 -6059,14 +6059,14 @@@ F:   sound/usb/misc/ua101.
  EFI TEST DRIVER
  L:    [email protected]
  M:    Ivan Hu <[email protected]>
- M:    Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ M:    Ard Biesheuvel <ardb@kernel.org>
  S:    Maintained
  F:    drivers/firmware/efi/test/
  
  EFI VARIABLE FILESYSTEM
  M:    Matthew Garrett <[email protected]>
  M:    Jeremy Kerr <[email protected]>
- M:    Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ M:    Ard Biesheuvel <ardb@kernel.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
  L:    [email protected]
  S:    Maintained
@@@ -6143,10 -6200,12 +6200,12 @@@ S:   Maintaine
  F:    Documentation/ABI/testing/sysfs-class-net-phydev
  F:    Documentation/devicetree/bindings/net/ethernet-phy.yaml
  F:    Documentation/devicetree/bindings/net/mdio*
+ F:    Documentation/devicetree/bindings/net/qca,ar803x.yaml
  F:    Documentation/networking/phy.rst
  F:    drivers/net/phy/
  F:    drivers/of/of_mdio.c
  F:    drivers/of/of_net.c
+ F:    include/dt-bindings/net/qca-ar803x.h
  F:    include/linux/*mdio*.h
  F:    include/linux/of_net.h
  F:    include/linux/phy.h
@@@ -6159,6 -6218,7 +6218,7 @@@ F:      include/uapi/linux/mii.
  
  EXFAT FILE SYSTEM
  M:    Valdis Kletnieks <[email protected]>
+ L:    [email protected]
  S:    Maintained
  F:    drivers/staging/exfat/
  
@@@ -6188,7 -6248,7 +6248,7 @@@ S:      Supporte
  F:    security/integrity/evm/
  
  EXTENSIBLE FIRMWARE INTERFACE (EFI)
- M:    Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ M:    Ard Biesheuvel <ardb@kernel.org>
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
  S:    Maintained
@@@ -6713,6 -6773,7 +6773,7 @@@ FSNOTIFY: FILESYSTEM NOTIFICATION INFRA
  M:    Jan Kara <[email protected]>
  R:    Amir Goldstein <[email protected]>
  L:    [email protected]
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git fsnotify
  S:    Maintained
  F:    fs/notify/
  F:    include/linux/fsnotify*.h
@@@ -6882,7 -6943,7 +6943,7 @@@ L:      [email protected]
  S:    Supported
  F:    drivers/base/power/domain*.c
  F:    include/linux/pm_domain.h
- F:    Documentation/devicetree/bindings/power/power_domain.txt
+ F:    Documentation/devicetree/bindings/power/power?domain*
  
  GENERIC RESISTIVE TOUCHSCREEN ADC DRIVER
  M:    Eugen Hristev <[email protected]>
@@@ -6973,6 -7034,7 +7034,7 @@@ L:      [email protected]
  S:    Maintained
  F:    Documentation/firmware-guide/acpi/gpio-properties.rst
  F:    drivers/gpio/gpiolib-acpi.c
+ F:    drivers/gpio/gpiolib-acpi.h
  
  GPIO IR Transmitter
  M:    Sean Young <[email protected]>
@@@ -7233,7 -7295,7 +7295,7 @@@ M:      Ohad Ben-Cohen <[email protected]
  M:    Bjorn Andersson <[email protected]>
  L:    [email protected]
  S:    Maintained
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git hwspinlock-next
  F:    Documentation/devicetree/bindings/hwlock/
  F:    Documentation/hwspinlock.txt
  F:    drivers/hwspinlock/
@@@ -7364,6 -7426,25 +7426,25 @@@ F:    include/uapi/linux/if_hippi.
  F:    net/802/hippi.c
  F:    drivers/net/hippi/
  
+ HISILICON SECURITY ENGINE V2 DRIVER (SEC2)
+ M:    Zaibo Xu <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/crypto/hisilicon/sec2/sec_crypto.c
+ F:    drivers/crypto/hisilicon/sec2/sec_main.c
+ F:    drivers/crypto/hisilicon/sec2/sec_crypto.h
+ F:    drivers/crypto/hisilicon/sec2/sec.h
+ F:    Documentation/ABI/testing/debugfs-hisi-sec
+ HISILICON HIGH PERFORMANCE RSA ENGINE DRIVER (HPRE)
+ M:    Zaibo Xu <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/crypto/hisilicon/hpre/hpre_crypto.c
+ F:    drivers/crypto/hisilicon/hpre/hpre_main.c
+ F:    drivers/crypto/hisilicon/hpre/hpre.h
+ F:    Documentation/ABI/testing/debugfs-hisi-hpre
  HISILICON NETWORK SUBSYSTEM 3 DRIVER (HNS3)
  M:    Yisen Zhuang <[email protected]>
  M:    Salil Mehta <[email protected]>
@@@ -7372,6 -7453,11 +7453,11 @@@ W:    http://www.hisilicon.co
  S:    Maintained
  F:    drivers/net/ethernet/hisilicon/hns3/
  
+ HISILICON TRUE RANDOM NUMBER GENERATOR V2 SUPPORT
+ M:    Zaibo Xu <[email protected]>
+ S:    Maintained
+ F:    drivers/char/hw_random/hisi-trng-v2.c
  HISILICON LPC BUS DRIVER
  M:    [email protected]
  W:    http://www.hisilicon.com
@@@ -7417,7 -7503,6 +7503,6 @@@ S:      Maintaine
  F:    drivers/crypto/hisilicon/qm.c
  F:    drivers/crypto/hisilicon/qm.h
  F:    drivers/crypto/hisilicon/sgl.c
- F:    drivers/crypto/hisilicon/sgl.h
  F:    drivers/crypto/hisilicon/zip/
  F:    Documentation/ABI/testing/debugfs-hisi-zip
  
@@@ -7443,8 -7528,8 +7528,8 @@@ F:      drivers/platform/x86/tc1100-wmi.
  
  HP100:        Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
  M:    Jaroslav Kysela <[email protected]>
- S:    Maintained
- F:    drivers/net/ethernet/hp/hp100.*
+ S:    Obsolete
+ F:    drivers/staging/hp/hp100.*
  
  HPET: High Precision Event Timers driver
  M:    Clemens Ladisch <[email protected]>
  S:    Maintained
  F:    arch/x86/kernel/cpu/hygon.c
  
+ HYNIX HI556 SENSOR DRIVER
+ M:    Shawn Tu <[email protected]>
+ L:    [email protected]
+ T:    git git://linuxtv.org/media_tree.git
+ S:    Maintained
+ F:    drivers/media/i2c/hi556.c
  Hyper-V CORE AND DRIVERS
  M:    "K. Y. Srinivasan" <[email protected]>
  M:    Haiyang Zhang <[email protected]>
@@@ -7577,6 -7669,7 +7669,7 @@@ F:      include/uapi/linux/hyperv.
  F:    include/asm-generic/mshyperv.h
  F:    tools/hv/
  F:    Documentation/ABI/stable/sysfs-bus-vmbus
+ F:    Documentation/ABI/testing/debugfs-hyperv
  
  HYPERBUS SUPPORT
  M:    Vignesh Raghavendra <[email protected]>
@@@ -7729,7 -7822,7 +7822,7 @@@ F:      drivers/i2c/i2c-stub.
  
  I3C SUBSYSTEM
  M:    Boris Brezillon <[email protected]>
- L:    [email protected]
+ L:    [email protected] (moderated for non-subscribers)
  C:    irc://chat.freenode.net/linux-i3c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git
  S:    Maintained
@@@ -7745,6 -7838,12 +7838,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.txt
  F:    drivers/i3c/master/dw*
  
+ I3C DRIVER FOR CADENCE I3C MASTER IP
+ M:      Przemysław Gaj <[email protected]>
+ S:      Maintained
+ F:      Documentation/devicetree/bindings/i3c/cdns,i3c-master.txt
+ F:      drivers/i3c/master/i3c-master-cdns.c
  IA64 (Itanium) PLATFORM
  M:    Tony Luck <[email protected]>
  M:    Fenghua Yu <[email protected]>
@@@ -8243,7 -8342,7 +8342,7 @@@ F:      Documentation/fb/intelfb.rs
  F:    drivers/video/fbdev/intelfb/
  
  INTEL GPIO DRIVERS
- M:    Andy Shevchenko <and[email protected]>
+ M:    Andy Shevchenko <and[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
@@@ -8329,6 -8428,7 +8428,7 @@@ S:      Maintaine
  F:    drivers/staging/media/ipu3/
  F:    Documentation/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst
  F:    Documentation/media/v4l-drivers/ipu3.rst
+ F:    Documentation/media/v4l-drivers/ipu3_rcb.svg
  
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
  M:    Krzysztof Halasa <[email protected]>
@@@ -8396,7 -8496,7 +8496,7 @@@ F:      arch/x86/include/asm/intel_pmc_ipc.
  F:    arch/x86/include/asm/intel_punit_ipc.h
  
  INTEL PMIC GPIO DRIVERS
- M:    Andy Shevchenko <and[email protected]>
+ M:    Andy Shevchenko <and[email protected]>
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
  F:    drivers/gpio/gpio-*cove.c
@@@ -8564,12 -8664,13 +8664,13 @@@ F:   include/linux/iova.
  
  IO_URING
  M:    Jens Axboe <[email protected]>
- L:    [email protected]
- L:    [email protected]
+ L:    [email protected]
  T:    git git://git.kernel.dk/linux-block
  T:    git git://git.kernel.dk/liburing
  S:    Maintained
  F:    fs/io_uring.c
+ F:    fs/io-wq.c
+ F:    fs/io-wq.h
  F:    include/uapi/linux/io_uring.h
  
  IPMI SUBSYSTEM
@@@ -8667,6 -8768,7 +8768,7 @@@ ISCS
  M:    Lee Duncan <[email protected]>
  M:    Chris Leech <[email protected]>
  L:    [email protected]
+ L:    [email protected]
  W:    www.open-iscsi.com
  S:    Maintained
  F:    drivers/scsi/*iscsi*
@@@ -8842,7 -8944,7 +8944,7 @@@ F:      mm/kasan
  F:    scripts/Makefile.kasan
  
  KCONFIG
- M:    Masahiro Yamada <[email protected]>
+ M:    Masahiro Yamada <[email protected]>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
  L:    [email protected]
  S:    Maintained
@@@ -8850,17 -8952,6 +8952,17 @@@ F:    Documentation/kbuild/kconfig
  F:    scripts/kconfig/
  F:    scripts/Kconfig.include
  
 +KCSAN
 +M:    Marco Elver <[email protected]>
 +R:    Dmitry Vyukov <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/dev-tools/kcsan.rst
 +F:    include/linux/kcsan*.h
 +F:    kernel/kcsan/
 +F:    lib/Kconfig.kcsan
 +F:    scripts/Makefile.kcsan
 +
  KDUMP
  M:    Dave Young <[email protected]>
  M:    Baoquan He <[email protected]>
@@@ -8885,7 -8976,7 +8987,7 @@@ S:      Maintaine
  F:    fs/autofs/
  
  KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
- M:    Masahiro Yamada <[email protected]>
+ M:    Masahiro Yamada <[email protected]>
  M:    Michal Marek <[email protected]>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
  L:    [email protected]
@@@ -8931,6 -9022,17 +9033,17 @@@ S:    Maintaine
  F:    tools/testing/selftests/
  F:    Documentation/dev-tools/kselftest*
  
+ KERNEL UNIT TESTING FRAMEWORK (KUnit)
+ M:    Brendan Higgins <[email protected]>
+ L:    [email protected]
+ L:    [email protected]
+ W:    https://google.github.io/kunit-docs/third_party/kernel/docs/
+ S:    Maintained
+ F:    Documentation/dev-tools/kunit/
+ F:    include/kunit/
+ F:    lib/kunit/
+ F:    tools/testing/kunit/
  KERNEL USERMODE HELPER
  M:    Luis Chamberlain <[email protected]>
  L:    [email protected]
@@@ -8940,7 -9042,6 +9053,6 @@@ F:      include/linux/umh.
  
  KERNEL VIRTUAL MACHINE (KVM)
  M:    Paolo Bonzini <[email protected]>
- M:    Radim Krčmář <[email protected]>
  L:    [email protected]
  W:    http://www.linux-kvm.org
  T:    git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
@@@ -8975,9 -9076,9 +9087,9 @@@ F:      virt/kvm/arm
  F:    include/kvm/arm_*
  
  KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
- M:    James Hogan <[email protected]>
  L:    [email protected]
- S:    Supported
+ L:    [email protected]
+ S:    Orphan
  F:    arch/mips/include/uapi/asm/kvm*
  F:    arch/mips/include/asm/kvm*
  F:    arch/mips/kvm/
@@@ -9012,7 -9113,6 +9124,6 @@@ F:      tools/testing/selftests/kvm/*/s390x
  
  KERNEL VIRTUAL MACHINE FOR X86 (KVM/x86)
  M:    Paolo Bonzini <[email protected]>
- M:    Radim Krčmář <[email protected]>
  R:    Sean Christopherson <[email protected]>
  R:    Vitaly Kuznetsov <[email protected]>
  R:    Wanpeng Li <[email protected]>
@@@ -9314,6 -9414,7 +9425,7 @@@ M:      Dan Williams <[email protected]
  M:    Vishal Verma <[email protected]>
  M:    Dave Jiang <[email protected]>
  L:    [email protected]
+ P:    Documentation/nvdimm/maintainer-entry-profile.rst
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  S:    Supported
  F:    drivers/nvdimm/blk.c
@@@ -9324,6 -9425,7 +9436,7 @@@ M:      Vishal Verma <[email protected]
  M:    Dan Williams <[email protected]>
  M:    Dave Jiang <[email protected]>
  L:    [email protected]
+ P:    Documentation/nvdimm/maintainer-entry-profile.rst
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  S:    Supported
  F:    drivers/nvdimm/btt*
@@@ -9333,6 -9435,7 +9446,7 @@@ M:      Dan Williams <[email protected]
  M:    Vishal Verma <[email protected]>
  M:    Dave Jiang <[email protected]>
  L:    [email protected]
+ P:    Documentation/nvdimm/maintainer-entry-profile.rst
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  S:    Supported
  F:    drivers/nvdimm/pmem*
@@@ -9349,9 -9452,9 +9463,9 @@@ LIBNVDIMM: NON-VOLATILE MEMORY DEVICE S
  M:    Dan Williams <[email protected]>
  M:    Vishal Verma <[email protected]>
  M:    Dave Jiang <[email protected]>
- M:    Keith Busch <[email protected]>
  M:    Ira Weiny <[email protected]>
  L:    [email protected]
+ P:    Documentation/nvdimm/maintainer-entry-profile.rst
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git
  S:    Supported
@@@ -9508,6 -9611,13 +9622,13 @@@ F:    Documentation/misc-devices/lis3lv02d
  F:    drivers/misc/lis3lv02d/
  F:    drivers/platform/x86/hp_accel.c
  
+ LIST KUNIT TEST
+ M:    David Gow <[email protected]>
+ L:    [email protected]
+ L:    [email protected]
+ S:    Maintained
+ F:    lib/list-test.c
  LIVE PATCHING
  M:    Josh Poimboeuf <[email protected]>
  M:    Jiri Kosina <[email protected]>
@@@ -9612,6 -9722,13 +9733,13 @@@ S:    Maintaine
  F:    Documentation/admin-guide/ldm.rst
  F:    block/partitions/ldm.*
  
+ LOGITECH HID GAMING KEYBOARDS
+ M:    Hans de Goede <[email protected]>
+ L:    [email protected]
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
+ S:    Maintained
+ F:    drivers/hid/hid-lg-g15.c
  LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
  M:    Sathya Prakash <[email protected]>
  M:    Chaitra P B <[email protected]>
@@@ -9633,9 -9750,17 +9761,17 @@@ LTC1660 DAC DRIVE
  M:    Marcus Folkesson <[email protected]>
  L:    [email protected]
  S:    Maintained
- F:    Documentation/devicetree/bindings/iio/dac/ltc1660.txt
+ F:    Documentation/devicetree/bindings/iio/dac/lltc,ltc1660.yaml
  F:    drivers/iio/dac/ltc1660.c
  
+ LTC2983 IIO TEMPERATURE DRIVER
+ M:    Nuno Sá <[email protected]>
+ W:    http://ez.analog.com/community/linux-device-drivers
+ L:    [email protected]
+ S:    Supported
+ F:    drivers/iio/temperature/ltc2983.c
+ F:    Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
  LTC4261 HARDWARE MONITOR DRIVER
  M:    Guenter Roeck <[email protected]>
  L:    [email protected]
@@@ -9643,6 -9768,17 +9779,17 @@@ S:    Maintaine
  F:    Documentation/hwmon/ltc4261.rst
  F:    drivers/hwmon/ltc4261.c
  
+ LTC2947 HARDWARE MONITOR DRIVER
+ M:    Nuno Sá <[email protected]>
+ W:    http://ez.analog.com/community/linux-device-drivers
+ L:    [email protected]
+ S:    Supported
+ F:    drivers/hwmon/ltc2947-core.c
+ F:    drivers/hwmon/ltc2947-spi.c
+ F:    drivers/hwmon/ltc2947-i2c.c
+ F:    drivers/hwmon/ltc2947.h
+ F:    Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
  LTC4306 I2C MULTIPLEXER DRIVER
  M:    Michael Hennerich <[email protected]>
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -9751,6 -9887,7 +9898,7 @@@ S:      Maintaine
  F:    drivers/net/dsa/mv88e6xxx/
  F:    include/linux/platform_data/mv88e6xxx.h
  F:    Documentation/devicetree/bindings/net/dsa/marvell.txt
+ F:    Documentation/networking/devlink-params-mv88e6xxx.txt
  
  MARVELL ARMADA DRM SUPPORT
  M:    Russell King <[email protected]>
@@@ -9875,7 -10012,7 +10023,7 @@@ F:    Documentation/hwmon/max16065.rs
  F:    drivers/hwmon/max16065.c
  
  MAX2175 SDR TUNER DRIVER
- M:    Ramesh Shanmugasundaram <ra[email protected].com>
+ M:    Ramesh Shanmugasundaram <rashanmu@gmail.com>
  L:    [email protected]
  T:    git git://linuxtv.org/media_tree.git
  S:    Maintained
@@@ -9917,8 -10054,8 +10065,8 @@@ MAXIM MAX77650 PMIC MFD DRIVE
  M:    Bartosz Golaszewski <[email protected]>
  L:    [email protected]
  S:    Maintained
- F:    Documentation/devicetree/bindings/*/*max77650.txt
- F:    Documentation/devicetree/bindings/*/max77650*.txt
+ F:    Documentation/devicetree/bindings/*/*max77650.yaml
+ F:    Documentation/devicetree/bindings/*/max77650*.yaml
  F:    include/linux/mfd/max77650.h
  F:    drivers/mfd/max77650.c
  F:    drivers/regulator/max77650-regulator.c
@@@ -9972,6 -10109,16 +10120,16 @@@ W:  https://linuxtv.or
  S:    Maintained
  F:    drivers/media/radio/radio-maxiradio*
  
+ MCAN MMIO DEVICE DRIVER
+ M:    Dan Murphy <[email protected]>
+ M:    Sriram Dash <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/net/can/m_can.txt
+ F:    drivers/net/can/m_can/m_can.c
+ F:    drivers/net/can/m_can/m_can.h
+ F:    drivers/net/can/m_can/m_can_platform.c
  MCP4018 AND MCP4531 MICROCHIP DIGITAL POTENTIOMETER DRIVERS
  M:    Peter Rosin <[email protected]>
  L:    [email protected]
@@@ -10137,7 -10284,7 +10295,7 @@@ F:   drivers/media/platform/renesas-ceu.
  F:    include/media/drv-intf/renesas-ceu.h
  
  MEDIA DRIVERS FOR RENESAS - DRIF
- M:    Ramesh Shanmugasundaram <ra[email protected].com>
+ M:    Ramesh Shanmugasundaram <rashanmu@gmail.com>
  L:    [email protected]
  L:    [email protected]
  T:    git git://linuxtv.org/media_tree.git
@@@ -10217,7 -10364,6 +10375,6 @@@ F:   drivers/staging/media/tegra-vde
  
  MEDIA INPUT INFRASTRUCTURE (V4L/DVB)
  M:    Mauro Carvalho Chehab <[email protected]>
- P:    LinuxTV.org Project
  L:    [email protected]
  W:    https://linuxtv.org
  Q:    http://patchwork.kernel.org/project/linux-media/list/
@@@ -10281,6 -10427,13 +10438,13 @@@ S: Maintaine
  F:    drivers/net/dsa/mt7530.*
  F:    net/dsa/tag_mtk.c
  
+ MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS
+ M:    Sean Wang <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt
+ F:    drivers/power/reset/mt6323-poweroff.c
  MEDIATEK JPEG DRIVER
  M:    Rick Chang <[email protected]>
  M:    Bin Liu <[email protected]>
@@@ -10446,6 -10599,7 +10610,7 @@@ M:   Darren Hart <[email protected]
  M:    Vadim Pasternak <[email protected]>
  L:    [email protected]
  S:    Supported
+ F:    Documentation/ABI/testing/sysfs-platform-mellanox-bootctl
  F:    drivers/platform/mellanox/
  F:    include/linux/platform_data/mlxreg.h
  
@@@ -10547,15 -10701,13 +10712,13 @@@ F:        include/linux/vmalloc.
  F:    mm/
  
  MEMORY TECHNOLOGY DEVICES (MTD)
- M:    David Woodhouse <[email protected]>
- M:    Brian Norris <[email protected]>
- M:    Marek Vasut <[email protected]>
  M:    Miquel Raynal <[email protected]>
  M:    Richard Weinberger <[email protected]>
  M:    Vignesh Raghavendra <[email protected]>
  L:    [email protected]
  W:    http://www.linux-mtd.infradead.org/
  Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
+ C:    irc://irc.oftc.net/mtd
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next
  S:    Maintained
@@@ -10600,7 -10752,7 +10763,7 @@@ W:   http://linux-meson.com
  S:    Supported
  F:    drivers/media/platform/meson/ao-cec.c
  F:    drivers/media/platform/meson/ao-cec-g12a.c
- F:    Documentation/devicetree/bindings/media/meson-ao-cec.txt
+ F:    Documentation/devicetree/bindings/media/amlogic,meson-gx-ao-cec.yaml
  T:    git git://linuxtv.org/media_tree.git
  
  MESON NAND CONTROLLER DRIVER FOR AMLOGIC SOCS
@@@ -10741,7 -10893,7 +10904,7 @@@ M:   Kent Gustavsson <[email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/iio/adc/mcp3911.c
- F:    Documentation/devicetree/bindings/iio/adc/mcp3911.txt
+ F:    Documentation/devicetree/bindings/iio/adc/microchip,mcp3911.yaml
  
  MICROCHIP NAND DRIVER
  M:    Tudor Ambarus <[email protected]>
@@@ -10832,6 -10984,7 +10995,7 @@@ M:   Microchip Linux Driver Support <UNGL
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/mscc/
+ F:    include/soc/mscc/ocelot*
  
  MICROSOFT SURFACE PRO 3 BUTTON DRIVER
  M:    Chen Yu <[email protected]>
@@@ -10886,18 -11039,18 +11050,18 @@@ F:        arch/mips/include/asm/mach-loongson3
  F:    drivers/*/*loongson1*
  F:    drivers/*/*/*loongson1*
  
- MIPS/LOONGSON2 ARCHITECTURE
+ MIPS/LOONGSON2EF ARCHITECTURE
  M:    Jiaxun Yang <[email protected]>
  L:    [email protected]
  S:    Maintained
- F:    arch/mips/loongson64/fuloong-2e/
- F:    arch/mips/loongson64/lemote-2f/
- F:    arch/mips/include/asm/mach-loongson64/
+ F:    arch/mips/loongson2ef/
+ F:    arch/mips/include/asm/mach-loongson2ef/
  F:    drivers/*/*loongson2*
  F:    drivers/*/*/*loongson2*
  
- MIPS/LOONGSON3 ARCHITECTURE
+ MIPS/LOONGSON64 ARCHITECTURE
  M:    Huacai Chen <[email protected]>
+ M:    Jiaxun Yang <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    arch/mips/loongson64/
@@@ -10924,9 -11077,18 +11088,18 @@@ F: drivers/media/radio/radio-miropcm20
  MMP SUPPORT
  R:    Lubomir Rintel <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lkundrak/linux-mmp.git
  S:    Odd Fixes
  F:    arch/arm/boot/dts/mmp*
  F:    arch/arm/mach-mmp/
+ F:    linux/soc/mmp/
+ MMP USB PHY DRIVERS
+ R:    Lubomir Rintel <[email protected]>
+ L:    [email protected] (moderated for non-subscribers)
+ S:    Maintained
+ F:    drivers/phy/marvell/phy-mmp3-usb.c
+ F:    drivers/phy/marvell/phy-pxa-usb.c
  
  MMU GATHER AND TLB INVALIDATION
  M:    Will Deacon <[email protected]>
@@@ -11648,6 -11810,7 +11821,7 @@@ F:   drivers/nvme/target/fcloop.
  NVM EXPRESS TARGET DRIVER
  M:    Christoph Hellwig <[email protected]>
  M:    Sagi Grimberg <[email protected]>
+ M:    Chaitanya Kulkarni <[email protected]>
  L:    [email protected]
  T:    git://git.infradead.org/nvme.git
  W:    http://git.infradead.org/nvme.git
@@@ -11772,6 -11935,8 +11946,8 @@@ F:   arch/arm/boot/dts/*am3
  F:    arch/arm/boot/dts/*am4*
  F:    arch/arm/boot/dts/*am5*
  F:    arch/arm/boot/dts/*dra7*
+ F:    arch/arm/boot/dts/logicpd-som-lv*
+ F:    arch/arm/boot/dts/logicpd-torpedo*
  
  OMAP DISPLAY SUBSYSTEM and FRAMEBUFFER SUPPORT (DSS2)
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git
  S:    Supported
  F:    fs/overlayfs/
- F:    Documentation/filesystems/overlayfs.txt
+ F:    Documentation/filesystems/overlayfs.rst
  
  P54 WIRELESS DRIVER
  M:    Christian Lamparter <[email protected]>
@@@ -12464,7 -12629,6 +12640,6 @@@ F:   Documentation/devicetree/bindings/pc
  F:    drivers/pci/controller/dwc/*imx6*
  
  PCI DRIVER FOR INTEL VOLUME MANAGEMENT DEVICE (VMD)
- M:    Keith Busch <[email protected]>
  M:    Jonathan Derrick <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -12507,7 -12671,8 +12682,8 @@@ F:   Documentation/devicetree/bindings/pc
  F:    drivers/pci/controller/pci-tegra.c
  
  PCI DRIVER FOR RENESAS R-CAR
- M:    Simon Horman <[email protected]>
+ M:    Marek Vasut <[email protected]>
+ M:    Yoshihiro Shimoda <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -12642,7 -12807,7 +12818,7 @@@ F:   Documentation/devicetree/bindings/pc
  F:    drivers/pci/controller/dwc/*artpec*
  
  PCIE DRIVER FOR CAVIUM THUNDERX
- M:    David Daney <david.daney@cavium.com>
+ M:    Robert Richter <rrichter@marvell.com>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
@@@ -12789,6 -12954,13 +12965,13 @@@ F: arch/*/events/
  F:    arch/*/events/*/*
  F:    tools/perf/
  
+ PERFORMANCE EVENTS SUBSYSTEM ARM64 PMU EVENTS
+ R:    John Garry <[email protected]>
+ R:    Will Deacon <[email protected]>
+ L:    [email protected] (moderated for non-subscribers)
+ S:    Supported
+ F:    tools/perf/pmu-events/arch/arm64/
  PERSONALITY HANDLING
  M:    Christoph Hellwig <[email protected]>
  L:    [email protected]
@@@ -12846,6 -13018,7 +13029,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git
  F:    samples/pidfd/
  F:    tools/testing/selftests/pidfd/
+ F:    tools/testing/selftests/clone3/
  K:    (?i)pidfd
  K:    (?i)clone3
  K:    \b(clone_args|kernel_clone_args)\b
@@@ -12881,7 -13054,7 +13065,7 @@@ F:   Documentation/devicetree/bindings/pi
  
  PIN CONTROLLER - INTEL
  M:    Mika Westerberg <[email protected]>
- M:    Andy Shevchenko <and[email protected]>
+ M:    Andy Shevchenko <and[email protected]>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel.git
  S:    Maintained
  F:    drivers/pinctrl/intel/
  S:    Supported
  F:    drivers/scsi/pm8001/
  
+ PM-GRAPH UTILITY
+ M:    "Todd E Brandt" <[email protected]>
+ L:    [email protected]
+ W:    https://01.org/pm-graph
+ B:    https://bugzilla.kernel.org/buglist.cgi?component=pm-graph&product=Tools
+ T:    git git://github.com/intel/pm-graph
+ S:    Supported
+ F:    tools/power/pm-graph
  PNP SUPPORT
  M:    "Rafael J. Wysocki" <[email protected]>
  S:    Maintained
@@@ -13143,12 -13325,14 +13336,14 @@@ F:        Documentation/filesystems/proc.tx
  PROC SYSCTL
  M:    Luis Chamberlain <[email protected]>
  M:    Kees Cook <[email protected]>
+ M:    Iurii Zaikin <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    fs/proc/proc_sysctl.c
  F:    include/linux/sysctl.h
  F:    kernel/sysctl.c
+ F:    kernel/sysctl-test.c
  F:    tools/testing/selftests/sysctl/
  
  PS3 NETWORK SUPPORT
@@@ -13527,12 -13711,22 +13722,22 @@@ L:        [email protected]
  S:    Maintained
  F:    drivers/iommu/qcom_iommu.c
  
+ QUALCOMM RMNET DRIVER
+ M:    Subash Abhinov Kasiviswanathan <[email protected]>
+ M:    Sean Tranchetti <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/net/ethernet/qualcomm/rmnet/
+ F:    Documentation/networking/device_drivers/qualcomm/rmnet.txt
+ F:    include/linux/if_rmnet.h
  QUALCOMM TSENS THERMAL DRIVER
  M:    Amit Kucheria <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/thermal/qcom/
+ F:    Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
  
  QUALCOMM VENUS VIDEO ACCELERATOR DRIVER
  M:    Stanimir Varbanov <[email protected]>
@@@ -13595,7 -13789,7 +13800,7 @@@ F:   drivers/media/radio/radio-tea5777.
  RADOS BLOCK DEVICE (RBD)
  M:    Ilya Dryomov <[email protected]>
  M:    Sage Weil <[email protected]>
M:    Alex Elder <[email protected]>
R:    Dongsheng Yang <[email protected]>
  L:    [email protected]
  W:    http://ceph.com/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
@@@ -13625,7 -13819,6 +13830,6 @@@ S:   Maintaine
  F:    arch/mips/ralink
  
  RALINK RT2X00 WIRELESS LAN DRIVER
- P:    rt2x00 project
  M:    Stanislaw Gruszka <[email protected]>
  M:    Helmut Schaa <[email protected]>
  L:    [email protected]
@@@ -13832,7 -14025,7 +14036,7 @@@ R:   Sergei Shtylyov <sergei.shtylyov@cog
  L:    [email protected]
  L:    [email protected]
  F:    Documentation/devicetree/bindings/net/renesas,*.txt
- F:    Documentation/devicetree/bindings/net/sh_eth.txt
+ F:    Documentation/devicetree/bindings/net/renesas,*.yaml
  F:    drivers/net/ethernet/renesas/
  F:    include/linux/sh_eth.h
  
@@@ -13873,6 -14066,7 +14077,7 @@@ F:   include/dt-bindings/reset
  F:    include/linux/reset.h
  F:    include/linux/reset/
  F:    include/linux/reset-controller.h
+ K:      \b(?:devm_|of_)?reset_control(?:ler_[a-z]+|_[a-z_]+)?\b
  
  RESTARTABLE SEQUENCES SUPPORT
  M:    Mathieu Desnoyers <[email protected]>
@@@ -13961,7 -14155,6 +14166,6 @@@ S:   Supporte
  F:    drivers/net/ethernet/rocker/
  
  ROCKETPORT DRIVER
- P:    Comtrol Corp.
  W:    http://www.comtrol.com
  S:    Maintained
  F:    Documentation/driver-api/serial/rocket.rst
  S:    Odd Fixes
  F:    drivers/tty/serial/rp2.*
  
+ ROHM BH1750 AMBIENT LIGHT SENSOR DRIVER
+ M:    Tomasz Duszynski <[email protected]>
+ S:    Maintained
+ F:    drivers/iio/light/bh1750.c
+ F:    Documentation/devicetree/bindings/iio/light/bh1750.yaml
  ROHM MULTIFUNCTION BD9571MWV-M PMIC DEVICE DRIVERS
  M:    Marek Vasut <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/crypto/exynos-rng.c
- F:    Documentation/devicetree/bindings/rng/samsung,exynos4-rng.txt
+ F:    Documentation/devicetree/bindings/rng/samsung,exynos4-rng.yaml
  
  SAMSUNG EXYNOS TRUE RANDOM NUMBER GENERATOR (TRNG) DRIVER
  M:    Łukasz Stelmach <[email protected]>
@@@ -14309,8 -14508,8 +14519,8 @@@ M:   Kamil Konieczny <k.konieczny@partner
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
- F:    Documentation/devicetree/bindings/crypto/samsung-slimsss.txt
- F:    Documentation/devicetree/bindings/crypto/samsung-sss.txt
+ F:    Documentation/devicetree/bindings/crypto/samsung-slimsss.yaml
+ F:    Documentation/devicetree/bindings/crypto/samsung-sss.yaml
  F:    drivers/crypto/s5p-sss.c
  
  SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS
@@@ -14798,6 -14997,12 +15008,12 @@@ F: drivers/media/usb/siano
  F:    drivers/media/usb/siano/
  F:    drivers/media/mmc/siano/
  
+ SIFIVE PDMA DRIVER
+ M:    Green Wan <[email protected]>
+ S:    Maintained
+ F:    drivers/dma/sf-pdma/
+ F:    Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
  SIFIVE DRIVERS
  M:    Palmer Dabbelt <[email protected]>
  M:    Paul Walmsley <[email protected]>
@@@ -14824,6 -15029,11 +15040,11 @@@ S: Maintaine
  F:    drivers/input/touchscreen/silead.c
  F:    drivers/platform/x86/touchscreen_dmi.c
  
+ SILICON LABS WIRELESS DRIVERS (for WFxxx series)
+ M:    Jérôme Pouiller <[email protected]>
+ S:    Supported
+ F:    drivers/staging/wfx/
  SILICON MOTION SM712 FRAME BUFFER DRIVER
  M:    Sudip Mukherjee <[email protected]>
  M:    Teddy Wang <[email protected]>
@@@ -14852,15 -15062,13 +15073,13 @@@ F:        drivers/video/fbdev/simplefb.
  F:    include/linux/platform_data/simplefb.h
  
  SIMTEC EB110ATX (Chalice CATS)
- P:    Ben Dooks
- P:    Vincent Sanders <[email protected]>
+ M:    Vincent Sanders <[email protected]>
  M:    Simtec Linux Team <[email protected]>
  W:    http://www.simtec.co.uk/products/EB110ATX/
  S:    Supported
  
  SIMTEC EB2410ITX (BAST)
- P:    Ben Dooks
- P:    Vincent Sanders <[email protected]>
+ M:    Vincent Sanders <[email protected]>
  M:    Simtec Linux Team <[email protected]>
  W:    http://www.simtec.co.uk/products/EB2410ITX/
  S:    Supported
@@@ -15023,7 -15231,7 +15242,7 @@@ F:   include/media/soc_camera.
  F:    drivers/staging/media/soc_camera/
  
  SOCIONEXT SYNQUACER I2C DRIVER
- M:    Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ M:    Ard Biesheuvel <ardb@kernel.org>
  L:    [email protected]
  S:    Maintained
  F:    drivers/i2c/busses/i2c-synquacer.c
@@@ -15158,6 -15366,14 +15377,14 @@@ S: Maintaine
  F:    drivers/media/i2c/imx274.c
  F:    Documentation/devicetree/bindings/media/i2c/imx274.txt
  
+ SONY IMX290 SENSOR DRIVER
+ M:    Manivannan Sadhasivam <[email protected]>
+ L:    [email protected]
+ T:    git git://linuxtv.org/media_tree.git
+ S:    Maintained
+ F:    drivers/media/i2c/imx290.c
+ F:    Documentation/devicetree/bindings/media/i2c/imx290.txt
  SONY IMX319 SENSOR DRIVER
  M:    Bingbu Cao <[email protected]>
  L:    [email protected]
@@@ -15305,7 -15521,6 +15532,6 @@@ F:   arch/arm/boot/dts/spear
  F:    arch/arm/mach-spear/
  
  SPI NOR SUBSYSTEM
- M:    Marek Vasut <[email protected]>
  M:    Tudor Ambarus <[email protected]>
  L:    [email protected]
  W:    http://www.linux-mtd.infradead.org/
  S:    Supported
  F:    drivers/staging/wilc1000/
  
+ STAGING - SEPS525 LCD CONTROLLER DRIVERS
+ M:    Michael Hennerich <[email protected]>
+ M:    Beniamin Bia <[email protected]>
+ L:    [email protected]
+ S:    Supported
+ F:    drivers/staging/fbtft/fb_seps525.c
+ F:    Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml
  STAGING SUBSYSTEM
  M:    Greg Kroah-Hartman <[email protected]>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
@@@ -15560,7 -15783,7 +15794,7 @@@ SUN4I LOW RES ADC ATTACHED TABLET KEYS 
  M:    Hans de Goede <[email protected]>
  L:    [email protected]
  S:    Maintained
- F:    Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
+ F:    Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml
  F:    drivers/input/keyboard/sun4i-lradc-keys.c
  
  SUNDANCE NETWORK DRIVER
@@@ -15772,6 -15995,13 +16006,13 @@@ F: drivers/hwtracing/stm
  F:    include/linux/stm.h
  F:    include/uapi/linux/stm.h
  
+ SYSTEM76 ACPI DRIVER
+ M:    Jeremy Soller <[email protected]>
+ M:    System76 Product Development <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/platform/x86/system76_acpi.c
  SYSV FILESYSTEM
  M:    Christoph Hellwig <[email protected]>
  S:    Maintained
@@@ -16096,12 -16326,10 +16337,10 @@@ F:        drivers/media/radio/radio-raremono.
  
  THERMAL
  M:    Zhang Rui <[email protected]>
- M:    Eduardo Valentin <[email protected]>
- R:    Daniel Lezcano <[email protected]>
+ M:    Daniel Lezcano <[email protected]>
  R:    Amit Kucheria <[email protected]>
  L:    [email protected]
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git
  Q:    https://patchwork.kernel.org/project/linux-pm/list/
  S:    Supported
  F:    drivers/thermal/
@@@ -16120,6 -16348,15 +16359,15 @@@ F: Documentation/driver-api/thermal/cpu
  F:    drivers/thermal/cpu_cooling.c
  F:    include/linux/cpu_cooling.h
  
+ THERMAL DRIVER FOR AMLOGIC SOCS
+ M:    Guillaume La Roque <[email protected]>
+ L:    [email protected]
+ L:    [email protected]
+ W:    http://linux-meson.com/
+ S:    Supported
+ F:    drivers/thermal/amlogic_thermal.c
+ F:    Documentation/devicetree/bindings/thermal/amlogic,thermal.yaml
  THINKPAD ACPI EXTRAS DRIVER
  M:    Henrique de Moraes Holschuh <[email protected]>
  L:    [email protected]
@@@ -16150,7 -16387,7 +16398,7 @@@ S:   Maintaine
  F:    drivers/net/thunderbolt.c
  
  THUNDERX GPIO DRIVER
- M:    David Daney <david.daney@cavium.com>
+ M:    Robert Richter <rrichter@marvell.com>
  S:    Maintained
  F:    drivers/gpio/gpio-thunderx.c
  
@@@ -16224,6 -16461,12 +16472,12 @@@ S: Maintaine
  F:    drivers/media/platform/davinci/
  F:    include/media/davinci/
  
+ TI ENHANCED QUADRATURE ENCODER PULSE (eQEP) DRIVER
+ R:    David Lechner <[email protected]>
+ L:    [email protected]
+ F:    Documentation/devicetree/bindings/counter/ti-eqep.yaml
+ F:    drivers/counter/ti-eqep.c
  TI ETHERNET SWITCH DRIVER (CPSW)
  R:    Grygorii Strashko <[email protected]>
  L:    [email protected]
  S:    Odd Fixes
  F:    sound/soc/codecs/tas571x*
  
+ TI TCAN4X5X DEVICE DRIVER
+ M:    Dan Murphy <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/net/can/tcan4x5x.txt
+ F:    drivers/net/can/m_can/tcan4x5x.c
  TI TRF7970A NFC DRIVER
  M:    Mark Greer <[email protected]>
  L:    [email protected]
@@@ -16321,6 -16571,7 +16582,7 @@@ W:   http://linuxtv.org
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  S:    Maintained
  F:    drivers/media/platform/ti-vpe/
+ F:    Documentation/devicetree/bindings/media/ti,vpe.yaml
  
  TI WILINK WIRELESS DRIVERS
  L:    [email protected]
@@@ -16391,6 -16642,13 +16653,13 @@@ S: Maintaine
  F:    Documentation/hwmon/tmp401.rst
  F:    drivers/hwmon/tmp401.c
  
+ TMP513 HARDWARE MONITOR DRIVER
+ M:    Eric Tremblay <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/hwmon/tmp513.rst
+ F:    drivers/hwmon/tmp513.c
  TMPFS (SHMEM FILESYSTEM)
  M:    Hugh Dickins <[email protected]>
  L:    [email protected]
@@@ -16602,10 -16860,9 +16871,9 @@@ F:  drivers/media/pci/tw686x
  
  UBI FILE SYSTEM (UBIFS)
  M:    Richard Weinberger <[email protected]>
- M:    Artem Bityutskiy <[email protected]>
- M:    Adrian Hunter <[email protected]>
  L:    [email protected]
- T:    git git://git.infradead.org/ubifs-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git next
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git fixes
  W:    http://www.linux-mtd.infradead.org/doc/ubifs.html
  S:    Supported
  F:    Documentation/filesystems/ubifs.txt
@@@ -16720,11 -16977,11 +16988,11 @@@ S:        Maintaine
  F:    drivers/scsi/ufs/ufs-mediatek*
  
  UNSORTED BLOCK IMAGES (UBI)
- M:    Artem Bityutskiy <[email protected]>
  M:    Richard Weinberger <[email protected]>
  W:    http://www.linux-mtd.infradead.org/
  L:    [email protected]
- T:    git git://git.infradead.org/ubifs-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git next
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git fixes
  S:    Supported
  F:    drivers/mtd/ubi/
  F:    include/linux/mtd/ubi.h
@@@ -17211,6 -17468,7 +17479,7 @@@ F:   include/media/videobuf2-
  
  VIMC VIRTUAL MEDIA CONTROLLER DRIVER
  M:    Helen Koike <[email protected]>
+ R:    Shuah Khan <[email protected]>
  L:    [email protected]
  T:    git git://linuxtv.org/media_tree.git
  W:    https://linuxtv.org
@@@ -17226,6 -17484,7 +17495,7 @@@ F:   virt/lib
  
  VIRTIO AND VHOST VSOCK DRIVER
  M:    Stefan Hajnoczi <[email protected]>
+ M:    Stefano Garzarella <[email protected]>
  L:    [email protected]
  L:    [email protected]
  L:    [email protected]
@@@ -17357,6 -17616,14 +17627,14 @@@ S: Maintaine
  F:    drivers/input/serio/userio.c
  F:    include/uapi/linux/userio.h
  
+ VITESSE FELIX ETHERNET SWITCH DRIVER
+ M:    Vladimir Oltean <[email protected]>
+ M:    Claudiu Manoil <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/net/dsa/ocelot/*
+ F:    net/dsa/tag_ocelot.c
  VIVID VIRTUAL VIDEO DRIVER
  M:    Hans Verkuil <[email protected]>
  L:    [email protected]
@@@ -17457,6 -17724,18 +17735,18 @@@ S: Maintaine
  F:    drivers/net/vrf.c
  F:    Documentation/networking/vrf.txt
  
+ VSPRINTF
+ M:    Petr Mladek <[email protected]>
+ M:    Steven Rostedt <[email protected]>
+ M:    Sergey Senozhatsky <[email protected]>
+ R:    Andy Shevchenko <[email protected]>
+ R:    Rasmus Villemoes <[email protected]>
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git
+ S:    Maintained
+ F:    lib/vsprintf.c
+ F:    lib/test_printf.c
+ F:    Documentation/core-api/printk-formats.rst
  VT1211 HARDWARE MONITOR DRIVER
  M:    Juerg Haefliger <[email protected]>
  L:    [email protected]
@@@ -17471,10 -17750,8 +17761,8 @@@ S:  Maintaine
  F:    drivers/hwmon/vt8231.c
  
  VUB300 USB to SDIO/SD/MMC bridge chip
- M:    Tony Olech <[email protected]>
  L:    [email protected]
- L:    [email protected]
- S:    Supported
+ S:    Orphan
  F:    drivers/mmc/host/vub300.c
  
  W1 DALLAS'S 1-WIRE BUS
@@@ -17888,6 -18165,14 +18176,14 @@@ M: Radhey Shyam Pandey <radhey.shyam.pa
  S:    Maintained
  F:    drivers/net/ethernet/xilinx/xilinx_axienet*
  
+ XILINX CAN DRIVER
+ M:    Appana Durga Kedareswara rao <[email protected]>
+ R:    Naga Sureshkumar Relli <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/net/can/xilinx_can.txt
+ F:    drivers/net/can/xilinx_can.c
  XILINX UARTLITE SERIAL DRIVER
  M:    Peter Korsgaard <[email protected]>
  L:    [email protected]
@@@ -17922,10 -18207,9 +18218,9 @@@ S:  Supporte
  F:    drivers/char/xillybus/
  
  XLP9XX I2C DRIVER
- M:    George Cherian <[email protected]>
- M:    Jan Glauber <[email protected]>
+ M:    George Cherian <[email protected]>
  L:    [email protected]
- W:    http://www.cavium.com
+ W:    http://www.marvell.com
  S:    Supported
  F:    Documentation/devicetree/bindings/i2c/i2c-xlp9xx.txt
  F:    drivers/i2c/busses/i2c-xlp9xx.c
diff --combined Makefile
index 566b83a51864d868c6700fe53168d8a03f579828,b99d95df8075df4787da84e8061dacd0e6fb3567..75f74d71dfa8f4751c48f1efe41e0a11f48563e8
+++ b/Makefile
@@@ -1,8 -1,8 +1,8 @@@
  # SPDX-License-Identifier: GPL-2.0
  VERSION = 5
- PATCHLEVEL = 4
+ PATCHLEVEL = 5
  SUBLEVEL = 0
- EXTRAVERSION = -rc8
+ EXTRAVERSION = -rc4
  NAME = Kleptomaniac Octopus
  
  # *DOCUMENTATION*
@@@ -414,6 -414,7 +414,7 @@@ STRIP              = $(CROSS_COMPILE)stri
  OBJCOPY               = $(CROSS_COMPILE)objcopy
  OBJDUMP               = $(CROSS_COMPILE)objdump
  OBJSIZE               = $(CROSS_COMPILE)size
+ READELF               = $(CROSS_COMPILE)readelf
  PAHOLE                = pahole
  LEX           = flex
  YACC          = bison
@@@ -472,13 -473,13 +473,13 @@@ GCC_PLUGINS_CFLAGS :
  CLANG_FLAGS :=
  
  export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD CC
- export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE PAHOLE LEX YACC AWK INSTALLKERNEL
+ export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE READELF PAHOLE LEX YACC AWK INSTALLKERNEL
  export PERL PYTHON PYTHON2 PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
  export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
  
  export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
  export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
 -export CFLAGS_KASAN CFLAGS_KASAN_NOSANITIZE CFLAGS_UBSAN
 +export CFLAGS_KASAN CFLAGS_KASAN_NOSANITIZE CFLAGS_UBSAN CFLAGS_KCSAN
  export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
  export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
  export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
@@@ -618,7 -619,6 +619,6 @@@ ifeq ($(KBUILD_EXTMOD),
  init-y                := init/
  drivers-y     := drivers/ sound/
  drivers-$(CONFIG_SAMPLES) += samples/
- drivers-$(CONFIG_KERNEL_HEADER_TEST) += include/
  net-y         := net/
  libs-y                := lib/
  core-y                := usr/
@@@ -900,7 -900,6 +900,7 @@@ endi
  include scripts/Makefile.kasan
  include scripts/Makefile.extrawarn
  include scripts/Makefile.ubsan
 +include scripts/Makefile.kcsan
  
  # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
  KBUILD_CPPFLAGS += $(KCPPFLAGS)
@@@ -1012,6 -1011,7 +1012,7 @@@ endi
  PHONY += prepare0
  
  export MODORDER := $(extmod-prefix)modules.order
+ export MODULES_NSDEPS := $(extmod-prefix)modules.nsdeps
  
  ifeq ($(KBUILD_EXTMOD),)
  core-y                += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
@@@ -1197,19 -1197,15 +1198,15 @@@ headers: $(version_h) scripts_unifdef u
        $(Q)$(MAKE) $(hdr-inst)=include/uapi
        $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
  
+ # Deprecated. It is no-op now.
  PHONY += headers_check
- headers_check: headers
-       $(Q)$(MAKE) $(hdr-inst)=include/uapi HDRCHECK=1
-       $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi HDRCHECK=1
+ headers_check:
+       @:
  
  ifdef CONFIG_HEADERS_INSTALL
  prepare: headers
  endif
  
- ifdef CONFIG_HEADERS_CHECK
- all: headers_check
- endif
  PHONY += scripts_unifdef
  scripts_unifdef: scripts_basic
        $(Q)$(MAKE) $(build)=scripts scripts/unifdef
@@@ -1361,7 -1357,7 +1358,7 @@@ endif # CONFIG_MODULE
  
  # Directories & files removed with 'make clean'
  CLEAN_DIRS  += include/ksym
- CLEAN_FILES += modules.builtin.modinfo
+ CLEAN_FILES += modules.builtin.modinfo modules.nsdeps
  
  # Directories & files removed with 'make mrproper'
  MRPROPER_DIRS  += include/config include/generated          \
@@@ -1477,7 -1473,6 +1474,6 @@@ help
        @echo  '  versioncheck    - Sanity check on version.h usage'
        @echo  '  includecheck    - Check for duplicate included header files'
        @echo  '  export_report   - List the usages of all exported symbols'
-       @echo  '  headers_check   - Sanity check on exported headers'
        @echo  '  headerdep       - Detect inclusion cycles in headers'
        @echo  '  coccicheck      - Check with Coccinelle'
        @echo  ''
        @echo  ''
        @$(if $(boards), \
                $(foreach b, $(boards), \
-               printf "  %-24s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
+               printf "  %-27s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
                echo '')
        @$(if $(board-dirs), \
                $(foreach b, $(board-dirs), \
        @echo  '  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build'
        @echo  '  make V=2   [targets] 2 => give reason for rebuild of target'
        @echo  '  make O=dir [targets] Locate all output files in "dir", including .config'
-       @echo  '  make C=1   [targets] Check re-compiled c source with $$CHECK (sparse by default)'
+       @echo  '  make C=1   [targets] Check re-compiled c source with $$CHECK'
+       @echo  '                       (sparse by default)'
        @echo  '  make C=2   [targets] Force check of all c source with $$CHECK'
        @echo  '  make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
        @echo  '  make W=n   [targets] Enable extra build checks, n=1,2,3 where'
@@@ -1623,7 -1619,7 +1620,7 @@@ _emodinst_post: _emodinst
        $(call cmd,depmod)
  
  clean-dirs := $(KBUILD_EXTMOD)
- clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers
+ clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers $(KBUILD_EXTMOD)/modules.nsdeps
  
  PHONY += /
  /:
@@@ -1642,6 -1638,50 +1639,50 @@@ help
  PHONY += prepare
  endif # KBUILD_EXTMOD
  
+ # Single targets
+ # ---------------------------------------------------------------------------
+ # To build individual files in subdirectories, you can do like this:
+ #
+ #   make foo/bar/baz.s
+ #
+ # The supported suffixes for single-target are listed in 'single-targets'
+ #
+ # To build only under specific subdirectories, you can do like this:
+ #
+ #   make foo/bar/baz/
+ ifdef single-build
+ # .ko is special because modpost is needed
+ single-ko := $(sort $(filter %.ko, $(MAKECMDGOALS)))
+ single-no-ko := $(sort $(patsubst %.ko,%.mod, $(MAKECMDGOALS)))
+ $(single-ko): single_modpost
+       @:
+ $(single-no-ko): descend
+       @:
+ ifeq ($(KBUILD_EXTMOD),)
+ # For the single build of in-tree modules, use a temporary file to avoid
+ # the situation of modules_install installing an invalid modules.order.
+ MODORDER := .modules.tmp
+ endif
+ PHONY += single_modpost
+ single_modpost: $(single-no-ko)
+       $(Q){ $(foreach m, $(single-ko), echo $(extmod-prefix)$m;) } > $(MODORDER)
+       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
+ KBUILD_MODULES := 1
+ export KBUILD_SINGLE_TARGETS := $(addprefix $(extmod-prefix), $(single-no-ko))
+ # trim unrelated directories
+ build-dirs := $(foreach d, $(build-dirs), \
+                       $(if $(filter $(d)/%, $(KBUILD_SINGLE_TARGETS)), $(d)))
+ endif
  # Handle descending into subdirectories listed in $(build-dirs)
  # Preset locale variables to speed up the build process. Limit locale
  # tweaks to this spot to avoid wrong language settings when running
  PHONY += descend $(build-dirs)
  descend: $(build-dirs)
  $(build-dirs): prepare
-       $(Q)$(MAKE) $(build)=$@ single-build=$(single-build) need-builtin=1 need-modorder=1
+       $(Q)$(MAKE) $(build)=$@ \
+       single-build=$(if $(filter-out $@/, $(single-no-ko)),1) \
+       need-builtin=1 need-modorder=1
  
  clean-dirs := $(addprefix _clean_, $(clean-dirs))
  PHONY += $(clean-dirs) clean
@@@ -1665,7 -1707,7 +1708,7 @@@ clean: $(clean-dirs
                -o -name '*.ko.*' \
                -o -name '*.dtb' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
                -o -name '*.dwo' -o -name '*.lst' \
-               -o -name '*.su' -o -name '*.mod' -o -name '*.ns_deps' \
+               -o -name '*.su' -o -name '*.mod' \
                -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
                -o -name '*.lex.c' -o -name '*.tab.[ch]' \
                -o -name '*.asn1.[ch]' \
@@@ -1687,10 -1729,9 +1730,9 @@@ tags TAGS cscope gtags: FORC
  # ---------------------------------------------------------------------------
  
  PHONY += nsdeps
+ nsdeps: export KBUILD_NSDEPS=1
  nsdeps: modules
-       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost nsdeps
-       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/$@
+       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/nsdeps
  
  # Scripts to check various things for consistency
  # ---------------------------------------------------------------------------
@@@ -1754,50 -1795,6 +1796,6 @@@ tools/%: FORC
        $(Q)mkdir -p $(objtree)/tools
        $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ $*
  
- # Single targets
- # ---------------------------------------------------------------------------
- # To build individual files in subdirectories, you can do like this:
- #
- #   make foo/bar/baz.s
- #
- # The supported suffixes for single-target are listed in 'single-targets'
- #
- # To build only under specific subdirectories, you can do like this:
- #
- #   make foo/bar/baz/
- ifdef single-build
- single-all := $(filter $(single-targets), $(MAKECMDGOALS))
- # .ko is special because modpost is needed
- single-ko := $(sort $(filter %.ko, $(single-all)))
- single-no-ko := $(sort $(patsubst %.ko,%.mod, $(single-all)))
- $(single-ko): single_modpost
-       @:
- $(single-no-ko): descend
-       @:
- ifeq ($(KBUILD_EXTMOD),)
- # For the single build of in-tree modules, use a temporary file to avoid
- # the situation of modules_install installing an invalid modules.order.
- MODORDER := .modules.tmp
- endif
- PHONY += single_modpost
- single_modpost: $(single-no-ko)
-       $(Q){ $(foreach m, $(single-ko), echo $(extmod-prefix)$m;) } > $(MODORDER)
-       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
- KBUILD_MODULES := 1
- export KBUILD_SINGLE_TARGETS := $(addprefix $(extmod-prefix), $(single-no-ko))
- single-build = $(if $(filter-out $@/, $(single-no-ko)),1)
- endif
  # FIXME Should go into a make.lib or something
  # ===========================================================================
  
diff --combined arch/x86/Kconfig
index 9cfa4a5c6f4293eb5cff45e7971ffd9ab98b4f1b,5e894995366064ca3a3d3b58143a61057f99095e..998ab70a403dc0d2e4e6ebf8c39d9082ad310786
@@@ -24,7 -24,7 +24,7 @@@ config X86_6
        depends on 64BIT
        # Options that are inherently 64-bit kernel only:
        select ARCH_HAS_GIGANTIC_PAGE
-       select ARCH_SUPPORTS_INT128
+       select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
        select ARCH_USE_CMPXCHG_LOCKREF
        select HAVE_ARCH_SOFT_DIRTY
        select MODULES_USE_ELF_RELA
@@@ -73,7 -73,6 +73,6 @@@ config X8
        select ARCH_HAS_PMEM_API                if X86_64
        select ARCH_HAS_PTE_DEVMAP              if X86_64
        select ARCH_HAS_PTE_SPECIAL
-       select ARCH_HAS_REFCOUNT
        select ARCH_HAS_UACCESS_FLUSHCACHE      if X86_64
        select ARCH_HAS_UACCESS_MCSAFE          if X86_64 && X86_MCE
        select ARCH_HAS_SET_MEMORY
        select HAVE_ARCH_JUMP_LABEL
        select HAVE_ARCH_JUMP_LABEL_RELATIVE
        select HAVE_ARCH_KASAN                  if X86_64
+       select HAVE_ARCH_KASAN_VMALLOC          if X86_64
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_MMAP_RND_BITS          if MMU
        select HAVE_ARCH_MMAP_RND_COMPAT_BITS   if MMU && COMPAT
        select HAVE_DMA_CONTIGUOUS
        select HAVE_DYNAMIC_FTRACE
        select HAVE_DYNAMIC_FTRACE_WITH_REGS
+       select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
        select HAVE_EBPF_JIT
        select HAVE_EFFICIENT_UNALIGNED_ACCESS
        select HAVE_EISA
        select VIRT_TO_BUS
        select X86_FEATURE_NAMES                if PROC_FS
        select PROC_PID_ARCH_STATUS             if PROC_FS
 +      select HAVE_ARCH_KCSAN                  if X86_64
  
  config INSTRUCTION_DECODER
        def_bool y
@@@ -709,7 -709,6 +710,6 @@@ config X86_SUPPORTS_MEMORY_FAILUR
  config STA2X11
        bool "STA2X11 Companion Chip Support"
        depends on X86_32_NON_STANDARD && PCI
-       select ARCH_HAS_PHYS_TO_DMA
        select SWIOTLB
        select MFD_STA2X11
        select GPIOLIB
@@@ -933,36 -932,6 +933,6 @@@ config GART_IOMM
  
          If unsure, say Y.
  
- config CALGARY_IOMMU
-       bool "IBM Calgary IOMMU support"
-       select IOMMU_HELPER
-       select SWIOTLB
-       depends on X86_64 && PCI
-       ---help---
-         Support for hardware IOMMUs in IBM's xSeries x366 and x460
-         systems. Needed to run systems with more than 3GB of memory
-         properly with 32-bit PCI devices that do not support DAC
-         (Double Address Cycle). Calgary also supports bus level
-         isolation, where all DMAs pass through the IOMMU.  This
-         prevents them from going anywhere except their intended
-         destination. This catches hard-to-find kernel bugs and
-         mis-behaving drivers and devices that do not use the DMA-API
-         properly to set up their DMA buffers.  The IOMMU can be
-         turned off at boot time with the iommu=off parameter.
-         Normally the kernel will make the right choice by itself.
-         If unsure, say Y.
- config CALGARY_IOMMU_ENABLED_BY_DEFAULT
-       def_bool y
-       prompt "Should Calgary be enabled by default?"
-       depends on CALGARY_IOMMU
-       ---help---
-         Should Calgary be enabled by default? if you choose 'y', Calgary
-         will be used (if it exists). If you choose 'n', Calgary will not be
-         used even if it exists. If you choose 'n' and would like to use
-         Calgary anyway, pass 'iommu=calgary' on the kernel command line.
-         If unsure, say Y.
  config MAXSMP
        bool "Enable Maximum number of SMP Processors and NUMA Nodes"
        depends on X86_64 && SMP && DEBUG_KERNEL
@@@ -1001,8 -970,8 +971,8 @@@ config NR_CPUS_RANGE_EN
  config NR_CPUS_RANGE_END
        int
        depends on X86_64
-       default 8192 if  SMP && ( MAXSMP ||  CPUMASK_OFFSTACK)
-       default  512 if  SMP && (!MAXSMP && !CPUMASK_OFFSTACK)
+       default 8192 if  SMP && CPUMASK_OFFSTACK
+       default  512 if  SMP && !CPUMASK_OFFSTACK
        default    1 if !SMP
  
  config NR_CPUS_DEFAULT
@@@ -1255,6 -1224,24 +1225,24 @@@ config X86_VSYSCALL_EMULATIO
         Disabling this option saves about 7K of kernel size and
         possibly 4K of additional runtime pagetable memory.
  
+ config X86_IOPL_IOPERM
+       bool "IOPERM and IOPL Emulation"
+       default y
+       ---help---
+         This enables the ioperm() and iopl() syscalls which are necessary
+         for legacy applications.
+         Legacy IOPL support is an overbroad mechanism which allows user
+         space aside of accessing all 65536 I/O ports also to disable
+         interrupts. To gain this access the caller needs CAP_SYS_RAWIO
+         capabilities and permission from potentially active security
+         modules.
+         The emulation restricts the functionality of the syscall to
+         only allowing the full range I/O port access, but prevents the
+         ability to disable interrupts from user space which would be
+         granted if the hardware IOPL mechanism would be used.
  config TOSHIBA
        tristate "Toshiba Laptop support"
        depends on X86_32
@@@ -1493,6 -1480,7 +1481,7 @@@ config X86_PA
  
  config X86_5LEVEL
        bool "Enable 5-level page tables support"
+       default y
        select DYNAMIC_MEMORY_LAYOUT
        select SPARSEMEM_VMEMMAP
        depends on X86_64
@@@ -1752,7 -1740,7 +1741,7 @@@ config X86_RESERVE_LO
  config MATH_EMULATION
        bool
        depends on MODIFY_LDT_SYSCALL
-       prompt "Math emulation" if X86_32
+       prompt "Math emulation" if X86_32 && (M486SX || MELAN)
        ---help---
          Linux can emulate a math coprocessor (used for floating point
          operations) if you don't have one. 486DX and Pentium processors have
@@@ -1881,16 -1869,16 +1870,16 @@@ config X86_SMA
  
          If unsure, say Y.
  
- config X86_INTEL_UMIP
+ config X86_UMIP
        def_bool y
-       depends on CPU_SUP_INTEL
-       prompt "Intel User Mode Instruction Prevention" if EXPERT
-       ---help---
-         The User Mode Instruction Prevention (UMIP) is a security
-         feature in newer Intel processors. If enabled, a general
-         protection fault is issued if the SGDT, SLDT, SIDT, SMSW
-         or STR instructions are executed in user mode. These instructions
-         unnecessarily expose information about the hardware state.
+       depends on CPU_SUP_INTEL || CPU_SUP_AMD
+       prompt "User Mode Instruction Prevention" if EXPERT
+       ---help---
+         User Mode Instruction Prevention (UMIP) is a security feature in
+         some x86 processors. If enabled, a general protection fault is
+         issued if the SGDT, SLDT, SIDT, SMSW or STR instructions are
+         executed in user mode. These instructions unnecessarily expose
+         information about the hardware state.
  
          The vast majority of applications do not use these instructions.
          For the very few that do, software emulation is provided in
diff --combined arch/x86/boot/Makefile
index 9c79427941646d3498787206ebb98fe5fc4bae60,95410d6ee2ff89ff26611b6bd0d580d418a572c1..990090452d70c25d5c3cb7e6f53e1dfc092143f4
@@@ -9,9 -9,7 +9,9 @@@
  # Changed by many, many contributors over the years.
  #
  
 +# Sanitizer runtimes are unavailable and cannot be linked for early boot code.
  KASAN_SANITIZE                        := n
 +KCSAN_SANITIZE                        := n
  OBJECT_FILES_NON_STANDARD     := y
  
  # Kernel does not boot with kcov instrumentation here.
@@@ -69,6 -67,7 +69,7 @@@ clean-files += cpustr.
  
  KBUILD_CFLAGS := $(REALMODE_CFLAGS) -D_SETUP
  KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+ KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
  GCOV_PROFILE := n
  UBSAN_SANITIZE := n
  
@@@ -89,7 -88,7 +90,7 @@@ $(obj)/vmlinux.bin: $(obj)/compressed/v
  
  SETUP_OBJS = $(addprefix $(obj)/,$(setup-y))
  
- sed-zoffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(startup_32\|startup_64\|efi32_stub_entry\|efi64_stub_entry\|efi_pe_entry\|input_data\|_end\|_ehead\|_text\|z_.*\)$$/\#define ZO_\2 0x\1/p'
+ sed-zoffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(startup_32\|startup_64\|efi32_stub_entry\|efi64_stub_entry\|efi_pe_entry\|input_data\|kernel_info\|_end\|_ehead\|_text\|z_.*\)$$/\#define ZO_\2 0x\1/p'
  
  quiet_cmd_zoffset = ZOFFSET $@
        cmd_zoffset = $(NM) $< | sed -n $(sed-zoffset) > $@
index a1c248b8439f35deef76eb2c74898c0f6d55a2a2,1dac210f7d446b906b3c75969331a46a84db2249..4591c4703e5901884c1c0c999a27fc9d8f36fbe1
@@@ -17,9 -17,7 +17,9 @@@
  #     (see scripts/Makefile.lib size_append)
  #     compressed vmlinux.bin.all + u32 size of vmlinux.bin.all
  
 +# Sanitizer runtimes are unavailable and cannot be linked for early boot code.
  KASAN_SANITIZE                        := n
 +KCSAN_SANITIZE                        := n
  OBJECT_FILES_NON_STANDARD     := y
  
  # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in.
@@@ -40,6 -38,7 +40,7 @@@ KBUILD_CFLAGS += $(call cc-option,-fno-
  KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
  KBUILD_CFLAGS += $(call cc-disable-warning, gnu)
  KBUILD_CFLAGS += -Wno-pointer-sign
+ KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
  
  KBUILD_AFLAGS  := $(KBUILD_CFLAGS) -D__ASSEMBLY__
  GCOV_PROFILE := n
@@@ -74,8 -73,8 +75,8 @@@ $(obj)/../voffset.h: vmlinux FORC
  
  $(obj)/misc.o: $(obj)/../voffset.h
  
- vmlinux-objs-y := $(obj)/vmlinux.lds $(obj)/head_$(BITS).o $(obj)/misc.o \
-       $(obj)/string.o $(obj)/cmdline.o $(obj)/error.o \
+ vmlinux-objs-y := $(obj)/vmlinux.lds $(obj)/kernel_info.o $(obj)/head_$(BITS).o \
+       $(obj)/misc.o $(obj)/string.o $(obj)/cmdline.o $(obj)/error.o \
        $(obj)/piggy.o $(obj)/cpuflags.o
  
  vmlinux-objs-$(CONFIG_EARLY_PRINTK) += $(obj)/early_serial_console.o
@@@ -104,7 -103,7 +105,7 @@@ vmlinux-objs-$(CONFIG_EFI_MIXED) += $(o
  quiet_cmd_check_data_rel = DATAREL $@
  define cmd_check_data_rel
        for obj in $(filter %.o,$^); do \
-               ${CROSS_COMPILE}readelf -S $$obj | grep -qF .rel.local && { \
+               $(READELF) -S $$obj | grep -qF .rel.local && { \
                        echo "error: $$obj has data relocations!" >&2; \
                        exit 1; \
                } || true; \
index a23debaad5b91aa0fc0574a5fa63dfea270ccd2e,2b75e80f6b4142bd47df38e0adeabaf8f38f9e99..0f46273b45565621e0cd0a9bf81f92093c7a0faa
@@@ -10,11 -10,8 +10,11 @@@ ARCH_REL_TYPE_ABS += R_386_GLOB_DAT|R_3
  include $(srctree)/lib/vdso/Makefile
  
  KBUILD_CFLAGS += $(DISABLE_LTO)
 +
 +# Sanitizer runtimes are unavailable and cannot be linked here.
  KASAN_SANITIZE                        := n
  UBSAN_SANITIZE                        := n
 +KCSAN_SANITIZE                        := n
  OBJECT_FILES_NON_STANDARD     := y
  
  # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in.
@@@ -90,11 -87,9 +90,9 @@@ $(vobjs): KBUILD_CFLAGS := $(filter-ou
  #
  # vDSO code runs in userspace and -pg doesn't help with profiling anyway.
  #
- CFLAGS_REMOVE_vdso-note.o = -pg
  CFLAGS_REMOVE_vclock_gettime.o = -pg
  CFLAGS_REMOVE_vdso32/vclock_gettime.o = -pg
  CFLAGS_REMOVE_vgetcpu.o = -pg
- CFLAGS_REMOVE_vvar.o = -pg
  
  #
  # X32 processes use x32 vDSO to access 64bit kernel data.
index 542b63ddc8aa48487a735f78997353cc5b312e5a,062cdecb2f2432dbed1645c0d0f069dfc55dbb67..d225a5f8c9a5147578b0a8d4d1fa7f7335daea4b
@@@ -201,12 -201,8 +201,12 @@@ arch_test_and_change_bit(long nr, volat
        return GEN_BINARY_RMWcc(LOCK_PREFIX __ASM_SIZE(btc), *addr, c, "Ir", nr);
  }
  
 -static __always_inline bool constant_test_bit(long nr, const volatile unsigned long *addr)
 +static __no_kcsan_or_inline bool constant_test_bit(long nr, const volatile unsigned long *addr)
  {
 +      /*
 +       * Because this is a plain access, we need to disable KCSAN here to
 +       * avoid double instrumentation via instrumented bitops.
 +       */
        return ((1UL << (nr & (BITS_PER_LONG-1))) &
                (addr[nr >> _BITOPS_LONG_SHIFT])) != 0;
  }
@@@ -392,7 -388,9 +392,9 @@@ static __always_inline int fls64(__u64 
  
  #include <asm-generic/bitops/const_hweight.h>
  
- #include <asm-generic/bitops-instrumented.h>
+ #include <asm-generic/bitops/instrumented-atomic.h>
+ #include <asm-generic/bitops/instrumented-non-atomic.h>
+ #include <asm-generic/bitops/instrumented-lock.h>
  
  #include <asm-generic/bitops/le.h>
  
diff --combined arch/x86/kernel/Makefile
index a9a1cab437bcaa329645a4fda5a4d518806e6fe7,6175e370ee4ab56d5d2d1437d5cb1712fdd8ba49..ccb13271895d9446251bf2a24fb8edf26b388b53
@@@ -28,10 -28,6 +28,10 @@@ KASAN_SANITIZE_dumpstack_$(BITS).o                  :
  KASAN_SANITIZE_stacktrace.o                           := n
  KASAN_SANITIZE_paravirt.o                             := n
  
 +# With some compiler versions the generated code results in boot hangs, caused
 +# by several compilation units. To be safe, disable all instrumentation.
 +KCSAN_SANITIZE := n
 +
  OBJECT_FILES_NON_STANDARD_relocate_kernel_$(BITS).o   := y
  OBJECT_FILES_NON_STANDARD_test_nx.o                   := y
  OBJECT_FILES_NON_STANDARD_paravirt_patch.o            := y
@@@ -104,7 -100,9 +104,9 @@@ obj-$(CONFIG_KEXEC_FILE)   += kexec-bzima
  obj-$(CONFIG_CRASH_DUMP)      += crash_dump_$(BITS).o
  obj-y                         += kprobes/
  obj-$(CONFIG_MODULES)         += module.o
- obj-$(CONFIG_DOUBLEFAULT)     += doublefault.o
+ ifeq ($(CONFIG_X86_32),y)
+ obj-$(CONFIG_DOUBLEFAULT)     += doublefault_32.o
+ endif
  obj-$(CONFIG_KGDB)            += kgdb.o
  obj-$(CONFIG_VM86)            += vm86_32.o
  obj-$(CONFIG_EARLY_PRINTK)    += early_printk.o
@@@ -138,7 -136,7 +140,7 @@@ obj-$(CONFIG_EFI)                  += sysfb_efi.
  obj-$(CONFIG_PERF_EVENTS)             += perf_regs.o
  obj-$(CONFIG_TRACING)                 += tracepoint.o
  obj-$(CONFIG_SCHED_MC_PRIO)           += itmt.o
- obj-$(CONFIG_X86_INTEL_UMIP)          += umip.o
+ obj-$(CONFIG_X86_UMIP)                        += umip.o
  
  obj-$(CONFIG_UNWINDER_ORC)            += unwind_orc.o
  obj-$(CONFIG_UNWINDER_FRAME_POINTER)  += unwind_frame.o
@@@ -150,7 -148,6 +152,6 @@@ ifeq ($(CONFIG_X86_64),y
        obj-$(CONFIG_AUDIT)             += audit_64.o
  
        obj-$(CONFIG_GART_IOMMU)        += amd_gart_64.o aperture_64.o
-       obj-$(CONFIG_CALGARY_IOMMU)     += pci-calgary_64.o tce_64.o
  
        obj-$(CONFIG_MMCONF_FAM10H)     += mmconf-fam10h_64.o
        obj-y                           += vsmp_64.o
diff --combined arch/x86/mm/Makefile
index 3559f4297ee1be1725e0440255a241471d4b8f18,3b89c201ac267d8e1dba0af2acd4b39705c3f563..74279ce2dc3a4c38261c3ccf5f98f7eadc1eb660
@@@ -7,17 -7,13 +7,17 @@@ KCOV_INSTRUMENT_mem_encrypt_identity.o        
  KASAN_SANITIZE_mem_encrypt.o          := n
  KASAN_SANITIZE_mem_encrypt_identity.o := n
  
 +# Disable KCSAN entirely, because otherwise we get warnings that some functions
 +# reference __initdata sections.
 +KCSAN_SANITIZE := n
 +
  ifdef CONFIG_FUNCTION_TRACER
  CFLAGS_REMOVE_mem_encrypt.o           = -pg
  CFLAGS_REMOVE_mem_encrypt_identity.o  = -pg
  endif
  
  obj-y :=  init.o init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \
-           pat.o pgtable.o physaddr.o setup_nx.o tlb.o cpu_entry_area.o
+           pat.o pgtable.o physaddr.o setup_nx.o tlb.o cpu_entry_area.o maccess.o
  
  # Make sure __phys_addr has no stackprotector
  nostackp := $(call cc-option, -fno-stack-protector)
@@@ -27,7 -23,7 +27,7 @@@ CFLAGS_mem_encrypt_identity.o := $(nost
  
  CFLAGS_fault.o := -I $(srctree)/$(src)/../include/asm/trace
  
- obj-$(CONFIG_X86_PAT)         += pat_rbtree.o
+ obj-$(CONFIG_X86_PAT)         += pat_interval.o
  
  obj-$(CONFIG_X86_32)          += pgtable_32.o iomap_32.o
  
index 5d0a645c0de87780941d2dcb485fd7d6c1d0afb2,c35f893897e146e0cd43f4afe45046f83ce636ce..d54b8ff9c79ad2b294fc6f322a3c39c914d4c1d2
@@@ -31,16 -31,15 +31,17 @@@ KBUILD_CFLAGS                      := $(cflags-y) -DDISABL
                                   -D__DISABLE_EXPORTS
  
  GCOV_PROFILE                  := n
 +# Sanitizer runtimes are unavailable and cannot be linked here.
  KASAN_SANITIZE                        := n
 +KCSAN_SANITIZE                        := n
  UBSAN_SANITIZE                        := n
  OBJECT_FILES_NON_STANDARD     := y
  
  # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in.
  KCOV_INSTRUMENT                       := n
  
- lib-y                         := efi-stub-helper.o gop.o secureboot.o tpm.o
+ lib-y                         := efi-stub-helper.o gop.o secureboot.o tpm.o \
+                                  random.o
  
  # include the stub's generic dependencies from lib/ when building for ARM/arm64
  arm-deps-y := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c fdt_empty_tree.c fdt_sw.c
@@@ -49,7 -48,7 +50,7 @@@ arm-deps-$(CONFIG_ARM64) += sort.
  $(obj)/lib-%.o: $(srctree)/lib/%.c FORCE
        $(call if_changed_rule,cc_o_c)
  
- lib-$(CONFIG_EFI_ARMSTUB)     += arm-stub.o fdt.o string.o random.o \
+ lib-$(CONFIG_EFI_ARMSTUB)     += arm-stub.o fdt.o string.o \
                                   $(patsubst %.c,lib-%.o,$(arm-deps-y))
  
  lib-$(CONFIG_ARM)             += arm32-stub.o
diff --combined include/linux/sched.h
index ae4f341c1db433c72fd8bf28b9d200589ed67c22,467d2604641692c8a9f2c950f7b2083e374757bb..b511e178a89fcba393b930d5af66242b5462605e
@@@ -31,7 -31,6 +31,7 @@@
  #include <linux/task_io_accounting.h>
  #include <linux/posix-timers.h>
  #include <linux/rseq.h>
 +#include <linux/kcsan.h>
  
  /* task_struct member predeclarations (sorted alphabetically): */
  struct audit_context;
@@@ -251,16 -250,21 +251,21 @@@ struct prev_cputime 
  enum vtime_state {
        /* Task is sleeping or running in a CPU with VTIME inactive: */
        VTIME_INACTIVE = 0,
-       /* Task runs in userspace in a CPU with VTIME active: */
-       VTIME_USER,
+       /* Task is idle */
+       VTIME_IDLE,
        /* Task runs in kernelspace in a CPU with VTIME active: */
        VTIME_SYS,
+       /* Task runs in userspace in a CPU with VTIME active: */
+       VTIME_USER,
+       /* Task runs as guests in a CPU with VTIME active: */
+       VTIME_GUEST,
  };
  
  struct vtime {
        seqcount_t              seqcount;
        unsigned long long      starttime;
        enum vtime_state        state;
+       unsigned int            cpu;
        u64                     utime;
        u64                     stime;
        u64                     gtime;
@@@ -858,7 -862,7 +863,7 @@@ struct task_struct 
        u64                             start_time;
  
        /* Boot based time in nsecs: */
-       u64                             real_start_time;
+       u64                             start_boottime;
  
        /* MM fault and swap info: this can arguably be seen as either mm-specific or thread-specific: */
        unsigned long                   min_flt;
  #endif
        struct list_head                pi_state_list;
        struct futex_pi_state           *pi_state_cache;
+       struct mutex                    futex_exit_mutex;
+       unsigned int                    futex_state;
  #endif
  #ifdef CONFIG_PERF_EVENTS
        struct perf_event_context       *perf_event_ctxp[perf_nr_task_contexts];
  #ifdef CONFIG_KASAN
        unsigned int                    kasan_depth;
  #endif
 +#ifdef CONFIG_KCSAN
 +      struct kcsan_ctx                kcsan_ctx;
 +#endif
  
  #ifdef CONFIG_FUNCTION_GRAPH_TRACER
        /* Index of current stored address in ret_stack: */
  #endif /* CONFIG_TRACING */
  
  #ifdef CONFIG_KCOV
+       /* See kernel/kcov.c for more details. */
        /* Coverage collection mode enabled for this task (0 if disabled): */
        unsigned int                    kcov_mode;
  
  
        /* KCOV descriptor wired with this task or NULL: */
        struct kcov                     *kcov;
+       /* KCOV common handle for remote coverage collection: */
+       u64                             kcov_handle;
+       /* KCOV sequence number: */
+       int                             kcov_sequence;
  #endif
  
  #ifdef CONFIG_MEMCG
@@@ -1446,7 -1457,6 +1461,6 @@@ extern struct pid *cad_pid
   */
  #define PF_IDLE                       0x00000002      /* I am an IDLE thread */
  #define PF_EXITING            0x00000004      /* Getting shut down */
- #define PF_EXITPIDONE         0x00000008      /* PI exit done on shut down */
  #define PF_VCPU                       0x00000010      /* I'm a virtual CPU */
  #define PF_WQ_WORKER          0x00000020      /* I'm a workqueue worker */
  #define PF_FORKNOEXEC         0x00000040      /* Forked but didn't exec */
  #define PF_NO_SETAFFINITY     0x04000000      /* Userland is not allowed to meddle with cpus_mask */
  #define PF_MCE_EARLY          0x08000000      /* Early kill for mce process policy */
  #define PF_MEMALLOC_NOCMA     0x10000000      /* All allocation request will have _GFP_MOVABLE cleared */
+ #define PF_IO_WORKER          0x20000000      /* Task is an IO worker */
  #define PF_FREEZER_SKIP               0x40000000      /* Freezer should not count it as freezable */
  #define PF_SUSPEND_TASK               0x80000000      /* This thread called freeze_processes() and should not be frozen */
  
diff --combined include/linux/seqlock.h
index f80d50cac1992a8961bcefb86065ec0c1a7e2730,0491d963d47ebea1acbe9f43e1c1227846600188..239701cae3764f9e5484f15e70387133532190a7
  #include <linux/preempt.h>
  #include <linux/lockdep.h>
  #include <linux/compiler.h>
 +#include <linux/kcsan.h>
  #include <asm/processor.h>
  
 +/*
 + * The seqlock interface does not prescribe a precise sequence of read
 + * begin/retry/end. For readers, typically there is a call to
 + * read_seqcount_begin() and read_seqcount_retry(), however, there are more
 + * esoteric cases which do not follow this pattern.
 + *
 + * As a consequence, we take the following best-effort approach for raw usage
 + * via seqcount_t under KCSAN: upon beginning a seq-reader critical section,
 + * pessimistically mark the next KCSAN_SEQLOCK_REGION_MAX memory accesses as
 + * atomics; if there is a matching read_seqcount_retry() call, no following
 + * memory operations are considered atomic. Usage of seqlocks via seqlock_t
 + * interface is not affected.
 + */
 +#define KCSAN_SEQLOCK_REGION_MAX 1000
 +
  /*
   * Version using sequence counter only.
   * This can be used when code has its own mutex protecting the
@@@ -95,7 -79,7 +95,7 @@@ static inline void seqcount_lockdep_rea
  
        local_irq_save(flags);
        seqcount_acquire_read(&l->dep_map, 0, 0, _RET_IP_);
-       seqcount_release(&l->dep_map, 1, _RET_IP_);
+       seqcount_release(&l->dep_map, _RET_IP_);
        local_irq_restore(flags);
  }
  
@@@ -131,7 -115,6 +131,7 @@@ repeat
                cpu_relax();
                goto repeat;
        }
 +      kcsan_atomic_next(KCSAN_SEQLOCK_REGION_MAX);
        return ret;
  }
  
@@@ -148,7 -131,6 +148,7 @@@ static inline unsigned raw_read_seqcoun
  {
        unsigned ret = READ_ONCE(s->sequence);
        smp_rmb();
 +      kcsan_atomic_next(KCSAN_SEQLOCK_REGION_MAX);
        return ret;
  }
  
@@@ -201,7 -183,6 +201,7 @@@ static inline unsigned raw_seqcount_beg
  {
        unsigned ret = READ_ONCE(s->sequence);
        smp_rmb();
 +      kcsan_atomic_next(KCSAN_SEQLOCK_REGION_MAX);
        return ret & ~1;
  }
  
   */
  static inline int __read_seqcount_retry(const seqcount_t *s, unsigned start)
  {
 -      return unlikely(s->sequence != start);
 +      kcsan_atomic_next(0);
 +      return unlikely(READ_ONCE(s->sequence) != start);
  }
  
  /**
@@@ -245,7 -225,6 +245,7 @@@ static inline int read_seqcount_retry(c
  
  static inline void raw_write_seqcount_begin(seqcount_t *s)
  {
 +      kcsan_nestable_atomic_begin();
        s->sequence++;
        smp_wmb();
  }
@@@ -254,7 -233,6 +254,7 @@@ static inline void raw_write_seqcount_e
  {
        smp_wmb();
        s->sequence++;
 +      kcsan_nestable_atomic_end();
  }
  
  /**
   * usual consistency guarantee. It is one wmb cheaper, because we can
   * collapse the two back-to-back wmb()s.
   *
 + * Note that writes surrounding the barrier should be declared atomic (e.g.
 + * via WRITE_ONCE): a) to ensure the writes become visible to other threads
 + * atomically, avoiding compiler optimizations; b) to document which writes are
 + * meant to propagate to the reader critical section. This is necessary because
 + * neither writes before and after the barrier are enclosed in a seq-writer
 + * critical section that would ensure readers are aware of ongoing writes.
 + *
   *      seqcount_t seq;
   *      bool X = true, Y = false;
   *
   *
   *      void write(void)
   *      {
 - *              Y = true;
 + *              WRITE_ONCE(Y, true);
   *
   *              raw_write_seqcount_barrier(seq);
   *
 - *              X = false;
 + *              WRITE_ONCE(X, false);
   *      }
   */
  static inline void raw_write_seqcount_barrier(seqcount_t *s)
  {
 +      kcsan_nestable_atomic_begin();
        s->sequence++;
        smp_wmb();
        s->sequence++;
 +      kcsan_nestable_atomic_end();
  }
  
  static inline int raw_read_seqcount_latch(seqcount_t *s)
@@@ -415,7 -384,7 +415,7 @@@ static inline void write_seqcount_begin
  
  static inline void write_seqcount_end(seqcount_t *s)
  {
-       seqcount_release(&s->dep_map, 1, _RET_IP_);
+       seqcount_release(&s->dep_map, _RET_IP_);
        raw_write_seqcount_end(s);
  }
  
  static inline void write_seqcount_invalidate(seqcount_t *s)
  {
        smp_wmb();
 +      kcsan_nestable_atomic_begin();
        s->sequence+=2;
 +      kcsan_nestable_atomic_end();
  }
  
  typedef struct {
   */
  static inline unsigned read_seqbegin(const seqlock_t *sl)
  {
 -      return read_seqcount_begin(&sl->seqcount);
 +      unsigned ret = read_seqcount_begin(&sl->seqcount);
 +
 +      kcsan_atomic_next(0);  /* non-raw usage, assume closing read_seqretry() */
 +      kcsan_flat_atomic_begin();
 +      return ret;
  }
  
  static inline unsigned read_seqretry(const seqlock_t *sl, unsigned start)
  {
 +      /*
 +       * Assume not nested: read_seqretry() may be called multiple times when
 +       * completing read critical section.
 +       */
 +      kcsan_flat_atomic_end();
 +
        return read_seqcount_retry(&sl->seqcount, start);
  }
  
diff --combined init/main.c
index 4d814de017ee0002f2e5b1efa7567dc9304c5aec,1ecfd43ed4643461af60bb47f5d4f61aad9b12af..919f65faeb7e96471af69e8990c9ef84177f8cb9
@@@ -93,7 -93,7 +93,8 @@@
  #include <linux/rodata_test.h>
  #include <linux/jump_label.h>
  #include <linux/mem_encrypt.h>
+ #include <linux/file.h>
 +#include <linux/kcsan.h>
  
  #include <asm/io.h>
  #include <asm/bugs.h>
@@@ -780,7 -780,6 +781,7 @@@ asmlinkage __visible void __init start_
        acpi_subsystem_init();
        arch_post_acpi_subsys_init();
        sfi_init_late();
 +      kcsan_init();
  
        /* Do the rest non-__init'ed, we're now alive */
        arch_call_rest_init();
@@@ -1157,6 -1156,30 +1158,30 @@@ static int __ref kernel_init(void *unus
              "See Linux Documentation/admin-guide/init.rst for guidance.");
  }
  
+ void console_on_rootfs(void)
+ {
+       struct file *file;
+       unsigned int i;
+       /* Open /dev/console in kernelspace, this should never fail */
+       file = filp_open("/dev/console", O_RDWR, 0);
+       if (IS_ERR(file))
+               goto err_out;
+       /* create stdin/stdout/stderr, this should never fail */
+       for (i = 0; i < 3; i++) {
+               if (f_dupfd(i, file, 0) != i)
+                       goto err_out;
+       }
+       return;
+ err_out:
+       /* no panic -- this might not be fatal */
+       pr_err("Warning: unable to open an initial console.\n");
+       return;
+ }
  static noinline void __init kernel_init_freeable(void)
  {
        /*
  
        do_basic_setup();
  
-       /* Open the /dev/console on the rootfs, this should never fail */
-       if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
-               pr_err("Warning: unable to open an initial console.\n");
+       console_on_rootfs();
  
-       (void) ksys_dup(0);
-       (void) ksys_dup(0);
        /*
         * check if there is an early userspace init.  If yes, let it do all
         * the work
diff --combined kernel/Makefile
index cc53f7c2544639f06e7e5f9342db8c9b5755cbbd,f2cc0d118a0bcc4b0b10cce6a4a1ca4f4740d736..e5ffd8c0025416a289f8f9771d485b4d43efd1b2
@@@ -23,9 -23,6 +23,9 @@@ endi
  # Prevents flicker of uninteresting __do_softirq()/__local_bh_disable_ip()
  # in coverage traces.
  KCOV_INSTRUMENT_softirq.o := n
 +# Avoid KCSAN instrumentation in softirq ("No shared variables, all the data
 +# are CPU local" => assume no data races), to reduce overhead in interrupts.
 +KCSAN_SANITIZE_softirq.o = n
  # These are called from save_stack_trace() on slub debug path,
  # and produce insane amounts of uninteresting coverage.
  KCOV_INSTRUMENT_module.o := n
@@@ -33,7 -30,6 +33,7 @@@ KCOV_INSTRUMENT_extable.o := 
  # Don't self-instrument.
  KCOV_INSTRUMENT_kcov.o := n
  KASAN_SANITIZE_kcov.o := n
 +KCSAN_SANITIZE_kcov.o := n
  CFLAGS_kcov.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector)
  
  # cond_syscall is currently not LTO compatible
@@@ -106,7 -102,6 +106,7 @@@ obj-$(CONFIG_TRACEPOINTS) += trace
  obj-$(CONFIG_IRQ_WORK) += irq_work.o
  obj-$(CONFIG_CPU_PM) += cpu_pm.o
  obj-$(CONFIG_BPF) += bpf/
 +obj-$(CONFIG_KCSAN) += kcsan/
  
  obj-$(CONFIG_PERF_EVENTS) += events/
  
@@@ -120,9 -115,10 +120,11 @@@ obj-$(CONFIG_TORTURE_TEST) += torture.
  obj-$(CONFIG_HAS_IOMEM) += iomem.o
  obj-$(CONFIG_RSEQ) += rseq.o
  
+ obj-$(CONFIG_SYSCTL_KUNIT_TEST) += sysctl-test.o
  obj-$(CONFIG_GCC_PLUGIN_STACKLEAK) += stackleak.o
  KASAN_SANITIZE_stackleak.o := n
 +KCSAN_SANITIZE_stackleak.o := n
  KCOV_INSTRUMENT_stackleak.o := n
  
  $(obj)/configs.o: $(obj)/config_data.gz
@@@ -134,7 -130,7 +136,7 @@@ $(obj)/config_data.gz: $(KCONFIG_CONFIG
  $(obj)/kheaders.o: $(obj)/kheaders_data.tar.xz
  
  quiet_cmd_genikh = CHK     $(obj)/kheaders_data.tar.xz
-       cmd_genikh = $(BASH) $(srctree)/kernel/gen_kheaders.sh $@
+       cmd_genikh = $(CONFIG_SHELL) $(srctree)/kernel/gen_kheaders.sh $@
  $(obj)/kheaders_data.tar.xz: FORCE
        $(call cmd,genikh)
  
diff --combined lib/Kconfig.debug
index 35accd1d93ded2cb52bf1ced6ac4329b6c8ec45a,5ffe144c97945d7cd2bc1480b1ecbdd5a5b301da..8be73bc122750ed7e41e1fc2e018e8c14439e73c
@@@ -128,8 -128,8 +128,8 @@@ config DYNAMIC_DEBU
          lineno : line number of the debug statement
          module : module that contains the debug statement
          function : function that contains the debug statement
-           flags : '=p' means the line is turned 'on' for printing
-           format : the format used for the debug statement
+         flags : '=p' means the line is turned 'on' for printing
+         format : the format used for the debug statement
  
          From a live system:
  
          See Documentation/admin-guide/dynamic-debug-howto.rst for additional
          information.
  
+ config SYMBOLIC_ERRNAME
+       bool "Support symbolic error names in printf"
+       default y if PRINTK
+       help
+         If you say Y here, the kernel's printf implementation will
+         be able to print symbolic error names such as ENOSPC instead
+         of the number 28. It makes the kernel image slightly larger
+         (about 3KB), but can make the kernel logs easier to read.
+ config DEBUG_BUGVERBOSE
+       bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT
+       depends on BUG && (GENERIC_BUG || HAVE_DEBUG_BUGVERBOSE)
+       default y
+       help
+         Say Y here to make BUG() panics output the file name and line number
+         of the BUG call as well as the EIP and oops trace.  This aids
+         debugging but costs about 70-100K of memory.
  endmenu # "printk and dmesg options"
  
  menu "Compile-time checks and compiler options"
@@@ -172,7 -190,7 +190,7 @@@ config DEBUG_INF
        bool "Compile the kernel with debug info"
        depends on DEBUG_KERNEL && !COMPILE_TEST
        help
-           If you say Y here the resulting kernel image will include
+         If you say Y here the resulting kernel image will include
          debugging info resulting in a larger kernel image.
          This adds debug symbols to the kernel and modules (gcc -g), and
          is needed if you intend to use kernel crashdump or binary object
@@@ -269,25 -287,13 +287,13 @@@ config STRIP_ASM_SYM
          get_wchan() and suchlike.
  
  config READABLE_ASM
-         bool "Generate readable assembler code"
-         depends on DEBUG_KERNEL
-         help
-           Disable some compiler optimizations that tend to generate human unreadable
-           assembler output. This may make the kernel slightly slower, but it helps
-           to keep kernel developers who have to stare a lot at assembler listings
-           sane.
- config DEBUG_FS
-       bool "Debug Filesystem"
+       bool "Generate readable assembler code"
+       depends on DEBUG_KERNEL
        help
-         debugfs is a virtual file system that kernel developers use to put
-         debugging files into.  Enable this option to be able to read and
-         write to these files.
-         For detailed documentation on the debugfs API, see
-         Documentation/filesystems/.
-         If unsure, say N.
+         Disable some compiler optimizations that tend to generate human unreadable
+         assembler output. This may make the kernel slightly slower, but it helps
+         to keep kernel developers who have to stare a lot at assembler listings
+         sane.
  
  config HEADERS_INSTALL
        bool "Install uapi headers to usr/include"
          user-space program samples. It is also needed by some features such
          as uapi header sanity checks.
  
- config HEADERS_CHECK
-       bool "Run sanity checks on uapi headers when building 'all'"
-       depends on HEADERS_INSTALL
-       help
-         This option will run basic sanity checks on uapi headers when
-         building the 'all' target, for example, ensure that they do not
-         attempt to include files which were not exported, etc.
-         If you're making modifications to header files which are
-         relevant for userspace, say 'Y'.
  config OPTIMIZE_INLINING
        def_bool y
        help
@@@ -401,6 -396,8 +396,8 @@@ config DEBUG_FORCE_WEAK_PER_CP
  
  endmenu # "Compiler options"
  
+ menu "Generic Kernel Debugging Instruments"
  config MAGIC_SYSRQ
        bool "Magic SysRq key"
        depends on !UML
@@@ -434,6 -431,24 +431,24 @@@ config MAGIC_SYSRQ_SERIA
          This option allows you to decide whether you want to enable the
          magic SysRq key.
  
+ config DEBUG_FS
+       bool "Debug Filesystem"
+       help
+         debugfs is a virtual file system that kernel developers use to put
+         debugging files into.  Enable this option to be able to read and
+         write to these files.
+         For detailed documentation on the debugfs API, see
+         Documentation/filesystems/.
+         If unsure, say N.
+ source "lib/Kconfig.kgdb"
+ source "lib/Kconfig.ubsan"
+ endmenu
  config DEBUG_KERNEL
        bool "Kernel debugging"
        help
@@@ -508,11 -523,11 +523,11 @@@ config DEBUG_OBJECTS_PERCPU_COUNTE
  
  config DEBUG_OBJECTS_ENABLE_DEFAULT
        int "debug_objects bootup default value (0-1)"
-         range 0 1
-         default "1"
-         depends on DEBUG_OBJECTS
-         help
-           Debug objects boot parameter default value
+       range 0 1
+       default "1"
+       depends on DEBUG_OBJECTS
+       help
+         Debug objects boot parameter default value
  
  config DEBUG_SLAB
        bool "Debug slab memory allocations"
@@@ -626,12 -641,24 +641,24 @@@ config DEBUG_STACK_USAG
  
          This option will slow down process creation somewhat.
  
+ config SCHED_STACK_END_CHECK
+       bool "Detect stack corruption on calls to schedule()"
+       depends on DEBUG_KERNEL
+       default n
+       help
+         This option checks for a stack overrun on calls to schedule().
+         If the stack end location is found to be over written always panic as
+         the content of the corrupted region can no longer be trusted.
+         This is to ensure no erroneous behaviour occurs which could result in
+         data corruption or a sporadic crash at a later stage once the region
+         is examined. The runtime overhead introduced is minimal.
  config DEBUG_VM
        bool "Debug VM"
        depends on DEBUG_KERNEL
        help
          Enable this to turn on extended checks in the virtual-memory system
-           that may impact performance.
+         that may impact performance.
  
          If unsure, say N.
  
@@@ -758,53 -785,6 +785,6 @@@ source "lib/Kconfig.kasan
  
  endmenu # "Memory Debugging"
  
- config ARCH_HAS_KCOV
-       bool
-       help
-         An architecture should select this when it can successfully
-         build and run with CONFIG_KCOV. This typically requires
-         disabling instrumentation for some early boot code.
- config CC_HAS_SANCOV_TRACE_PC
-       def_bool $(cc-option,-fsanitize-coverage=trace-pc)
- config KCOV
-       bool "Code coverage for fuzzing"
-       depends on ARCH_HAS_KCOV
-       depends on CC_HAS_SANCOV_TRACE_PC || GCC_PLUGINS
-       select DEBUG_FS
-       select GCC_PLUGIN_SANCOV if !CC_HAS_SANCOV_TRACE_PC
-       help
-         KCOV exposes kernel code coverage information in a form suitable
-         for coverage-guided fuzzing (randomized testing).
-         If RANDOMIZE_BASE is enabled, PC values will not be stable across
-         different machines and across reboots. If you need stable PC values,
-         disable RANDOMIZE_BASE.
-         For more details, see Documentation/dev-tools/kcov.rst.
- config KCOV_ENABLE_COMPARISONS
-       bool "Enable comparison operands collection by KCOV"
-       depends on KCOV
-       depends on $(cc-option,-fsanitize-coverage=trace-cmp)
-       help
-         KCOV also exposes operands of every comparison in the instrumented
-         code along with operand sizes and PCs of the comparison instructions.
-         These operands can be used by fuzzing engines to improve the quality
-         of fuzzing coverage.
- config KCOV_INSTRUMENT_ALL
-       bool "Instrument all code by default"
-       depends on KCOV
-       default y
-       help
-         If you are doing generic system call fuzzing (like e.g. syzkaller),
-         then you will want to instrument the whole kernel and you should
-         say y here. If you are doing more targeted fuzzing (like e.g.
-         filesystem fuzzing with AFL) then you will want to enable coverage
-         for more specific subsets of files, and should say n here.
  config DEBUG_SHIRQ
        bool "Debug shared IRQ handlers"
        depends on DEBUG_KERNEL
          Drivers ought to be able to handle interrupts coming in at those
          points; some don't and need to be caught.
  
- menu "Debug Lockups and Hangs"
+ menu "Debug Oops, Lockups and Hangs"
+ config PANIC_ON_OOPS
+       bool "Panic on Oops"
+       help
+         Say Y here to enable the kernel to panic when it oopses. This
+         has the same effect as setting oops=panic on the kernel command
+         line.
+         This feature is useful to ensure that the kernel does not do
+         anything erroneous after an oops which could result in data
+         corruption or other issues.
+         Say N if unsure.
+ config PANIC_ON_OOPS_VALUE
+       int
+       range 0 1
+       default 0 if !PANIC_ON_OOPS
+       default 1 if PANIC_ON_OOPS
+ config PANIC_TIMEOUT
+       int "panic timeout"
+       default 0
+       help
+         Set the timeout value (in seconds) until a reboot occurs when the
+         the kernel panics. If n = 0, then we wait forever. A timeout
+         value n > 0 will wait n seconds before rebooting, while a timeout
+         value n < 0 will reboot immediately.
  
  config LOCKUP_DETECTOR
        bool
@@@ -972,33 -980,7 +980,7 @@@ config WQ_WATCHDO
  
  endmenu # "Debug lockups and hangs"
  
- config PANIC_ON_OOPS
-       bool "Panic on Oops"
-       help
-         Say Y here to enable the kernel to panic when it oopses. This
-         has the same effect as setting oops=panic on the kernel command
-         line.
-         This feature is useful to ensure that the kernel does not do
-         anything erroneous after an oops which could result in data
-         corruption or other issues.
-         Say N if unsure.
- config PANIC_ON_OOPS_VALUE
-       int
-       range 0 1
-       default 0 if !PANIC_ON_OOPS
-       default 1 if PANIC_ON_OOPS
- config PANIC_TIMEOUT
-       int "panic timeout"
-       default 0
-       help
-         Set the timeout value (in seconds) until a reboot occurs when the
-         the kernel panics. If n = 0, then we wait forever. A timeout
-         value n > 0 will wait n seconds before rebooting, while a timeout
-         value n < 0 will reboot immediately.
+ menu "Scheduler Debugging"
  
  config SCHED_DEBUG
        bool "Collect scheduler debugging info"
@@@ -1026,17 -1008,7 +1008,7 @@@ config SCHEDSTAT
          application, you can say N to avoid the very slight overhead
          this adds.
  
- config SCHED_STACK_END_CHECK
-       bool "Detect stack corruption on calls to schedule()"
-       depends on DEBUG_KERNEL
-       default n
-       help
-         This option checks for a stack overrun on calls to schedule().
-         If the stack end location is found to be over written always panic as
-         the content of the corrupted region can no longer be trusted.
-         This is to ensure no erroneous behaviour occurs which could result in
-         data corruption or a sporadic crash at a later stage once the region
-         is examined. The runtime overhead introduced is minimal.
+ endmenu
  
  config DEBUG_TIMEKEEPING
        bool "Enable extra timekeeping sanity checking"
@@@ -1340,14 -1312,7 +1312,7 @@@ config DEBUG_KOBJECT_RELEAS
  config HAVE_DEBUG_BUGVERBOSE
        bool
  
- config DEBUG_BUGVERBOSE
-       bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT
-       depends on BUG && (GENERIC_BUG || HAVE_DEBUG_BUGVERBOSE)
-       default y
-       help
-         Say Y here to make BUG() panics output the file name and line number
-         of the BUG call as well as the EIP and oops trace.  This aids
-         debugging but costs about 70-100K of memory.
+ menu "Debug kernel data structures"
  
  config DEBUG_LIST
        bool "Debug linked list manipulation"
@@@ -1388,6 -1353,18 +1353,18 @@@ config DEBUG_NOTIFIER
          This is a relatively cheap check but if you care about maximum
          performance, say N.
  
+ config BUG_ON_DATA_CORRUPTION
+       bool "Trigger a BUG when data corruption is detected"
+       select DEBUG_LIST
+       help
+         Select this option if the kernel should BUG when it encounters
+         data corruption in kernel memory structures when they get checked
+         for validity.
+         If unsure, say N.
+ endmenu
  config DEBUG_CREDENTIALS
        bool "Debug credential management"
        depends on DEBUG_KERNEL
@@@ -1421,7 -1398,7 +1398,7 @@@ config DEBUG_WQ_FORCE_RR_CP
          be impacted.
  
  config DEBUG_BLOCK_EXT_DEVT
-         bool "Force extended block device numbers and spread them"
+       bool "Force extended block device numbers and spread them"
        depends on DEBUG_KERNEL
        depends on BLOCK
        default n
@@@ -1460,6 -1437,103 +1437,105 @@@ config CPU_HOTPLUG_STATE_CONTRO
  
          Say N if your are unsure.
  
+ config LATENCYTOP
+       bool "Latency measuring infrastructure"
+       depends on DEBUG_KERNEL
+       depends on STACKTRACE_SUPPORT
+       depends on PROC_FS
+       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
+       select KALLSYMS
+       select KALLSYMS_ALL
+       select STACKTRACE
+       select SCHEDSTATS
+       select SCHED_DEBUG
+       help
+         Enable this option if you want to use the LatencyTOP tool
+         to find out which userspace is blocking on what kernel operations.
+ source "kernel/trace/Kconfig"
+ config PROVIDE_OHCI1394_DMA_INIT
+       bool "Remote debugging over FireWire early on boot"
+       depends on PCI && X86
+       help
+         If you want to debug problems which hang or crash the kernel early
+         on boot and the crashing machine has a FireWire port, you can use
+         this feature to remotely access the memory of the crashed machine
+         over FireWire. This employs remote DMA as part of the OHCI1394
+         specification which is now the standard for FireWire controllers.
+         With remote DMA, you can monitor the printk buffer remotely using
+         firescope and access all memory below 4GB using fireproxy from gdb.
+         Even controlling a kernel debugger is possible using remote DMA.
+         Usage:
+         If ohci1394_dma=early is used as boot parameter, it will initialize
+         all OHCI1394 controllers which are found in the PCI config space.
+         As all changes to the FireWire bus such as enabling and disabling
+         devices cause a bus reset and thereby disable remote DMA for all
+         devices, be sure to have the cable plugged and FireWire enabled on
+         the debugging host before booting the debug target for debugging.
+         This code (~1k) is freed after boot. By then, the firewire stack
+         in charge of the OHCI-1394 controllers should be used instead.
+         See Documentation/debugging-via-ohci1394.txt for more information.
+ source "samples/Kconfig"
++source "lib/Kconfig.kcsan"
++
+ config ARCH_HAS_DEVMEM_IS_ALLOWED
+       bool
+ config STRICT_DEVMEM
+       bool "Filter access to /dev/mem"
+       depends on MMU && DEVMEM
+       depends on ARCH_HAS_DEVMEM_IS_ALLOWED
+       default y if PPC || X86 || ARM64
+       help
+         If this option is disabled, you allow userspace (root) access to all
+         of memory, including kernel and userspace memory. Accidental
+         access to this is obviously disastrous, but specific access can
+         be used by people debugging the kernel. Note that with PAT support
+         enabled, even in this case there are restrictions on /dev/mem
+         use due to the cache aliasing requirements.
+         If this option is switched on, and IO_STRICT_DEVMEM=n, the /dev/mem
+         file only allows userspace access to PCI space and the BIOS code and
+         data regions.  This is sufficient for dosemu and X and all common
+         users of /dev/mem.
+         If in doubt, say Y.
+ config IO_STRICT_DEVMEM
+       bool "Filter I/O access to /dev/mem"
+       depends on STRICT_DEVMEM
+       help
+         If this option is disabled, you allow userspace (root) access to all
+         io-memory regardless of whether a driver is actively using that
+         range.  Accidental access to this is obviously disastrous, but
+         specific access can be used by people debugging kernel drivers.
+         If this option is switched on, the /dev/mem file only allows
+         userspace access to *idle* io-memory ranges (see /proc/iomem) This
+         may break traditional users of /dev/mem (dosemu, legacy X, etc...)
+         if the driver using a given range cannot be disabled.
+         If in doubt, say Y.
+ menu "$(SRCARCH) Debugging"
+ source "arch/$(SRCARCH)/Kconfig.debug"
+ endmenu
+ menu "Kernel Testing and Coverage"
+ source "lib/kunit/Kconfig"
  config NOTIFIER_ERROR_INJECTION
        tristate "Notifier error injection"
        depends on DEBUG_KERNEL
@@@ -1618,51 -1692,53 +1694,53 @@@ config FAULT_INJECTION_STACKTRACE_FILTE
        help
          Provide stacktrace filter for fault-injection capabilities
  
- config LATENCYTOP
-       bool "Latency measuring infrastructure"
-       depends on DEBUG_KERNEL
-       depends on STACKTRACE_SUPPORT
-       depends on PROC_FS
-       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
-       select KALLSYMS
-       select KALLSYMS_ALL
-       select STACKTRACE
-       select SCHEDSTATS
-       select SCHED_DEBUG
+ config ARCH_HAS_KCOV
+       bool
        help
-         Enable this option if you want to use the LatencyTOP tool
-         to find out which userspace is blocking on what kernel operations.
- source "kernel/trace/Kconfig"
+         An architecture should select this when it can successfully
+         build and run with CONFIG_KCOV. This typically requires
+         disabling instrumentation for some early boot code.
  
- config PROVIDE_OHCI1394_DMA_INIT
-       bool "Remote debugging over FireWire early on boot"
-       depends on PCI && X86
-       help
-         If you want to debug problems which hang or crash the kernel early
-         on boot and the crashing machine has a FireWire port, you can use
-         this feature to remotely access the memory of the crashed machine
-         over FireWire. This employs remote DMA as part of the OHCI1394
-         specification which is now the standard for FireWire controllers.
+ config CC_HAS_SANCOV_TRACE_PC
+       def_bool $(cc-option,-fsanitize-coverage=trace-pc)
  
-         With remote DMA, you can monitor the printk buffer remotely using
-         firescope and access all memory below 4GB using fireproxy from gdb.
-         Even controlling a kernel debugger is possible using remote DMA.
  
-         Usage:
+ config KCOV
+       bool "Code coverage for fuzzing"
+       depends on ARCH_HAS_KCOV
+       depends on CC_HAS_SANCOV_TRACE_PC || GCC_PLUGINS
+       select DEBUG_FS
+       select GCC_PLUGIN_SANCOV if !CC_HAS_SANCOV_TRACE_PC
+       help
+         KCOV exposes kernel code coverage information in a form suitable
+         for coverage-guided fuzzing (randomized testing).
  
-         If ohci1394_dma=early is used as boot parameter, it will initialize
-         all OHCI1394 controllers which are found in the PCI config space.
+         If RANDOMIZE_BASE is enabled, PC values will not be stable across
+         different machines and across reboots. If you need stable PC values,
+         disable RANDOMIZE_BASE.
  
-         As all changes to the FireWire bus such as enabling and disabling
-         devices cause a bus reset and thereby disable remote DMA for all
-         devices, be sure to have the cable plugged and FireWire enabled on
-         the debugging host before booting the debug target for debugging.
+         For more details, see Documentation/dev-tools/kcov.rst.
  
-         This code (~1k) is freed after boot. By then, the firewire stack
-         in charge of the OHCI-1394 controllers should be used instead.
+ config KCOV_ENABLE_COMPARISONS
+       bool "Enable comparison operands collection by KCOV"
+       depends on KCOV
+       depends on $(cc-option,-fsanitize-coverage=trace-cmp)
+       help
+         KCOV also exposes operands of every comparison in the instrumented
+         code along with operand sizes and PCs of the comparison instructions.
+         These operands can be used by fuzzing engines to improve the quality
+         of fuzzing coverage.
  
-         See Documentation/debugging-via-ohci1394.txt for more information.
+ config KCOV_INSTRUMENT_ALL
+       bool "Instrument all code by default"
+       depends on KCOV
+       default y
+       help
+         If you are doing generic system call fuzzing (like e.g. syzkaller),
+         then you will want to instrument the whole kernel and you should
+         say y here. If you are doing more targeted fuzzing (like e.g.
+         filesystem fuzzing with AFL) then you will want to enable coverage
+         for more specific subsets of files, and should say n here.
  
  menuconfig RUNTIME_TESTING_MENU
        bool "Runtime Testing"
@@@ -1948,6 -2024,35 +2026,35 @@@ config TEST_SYSCT
  
          If unsure, say N.
  
+ config SYSCTL_KUNIT_TEST
+       bool "KUnit test for sysctl"
+       depends on KUNIT
+       help
+         This builds the proc sysctl unit test, which runs on boot.
+         Tests the API contract and implementation correctness of sysctl.
+         For more information on KUnit and unit tests in general please refer
+         to the KUnit documentation in Documentation/dev-tools/kunit/.
+         If unsure, say N.
+ config LIST_KUNIT_TEST
+       bool "KUnit Test for Kernel Linked-list structures"
+       depends on KUNIT
+       help
+         This builds the linked list KUnit test suite.
+         It tests that the API and basic functionality of the list_head type
+         and associated macros.
+         KUnit tests run during boot and output the results to the debug log
+         in TAP format (http://testanything.org/). Only useful for kernel devs
+         running the KUnit test harness, and not intended for inclusion into a
+         production build.
+         For more information on KUnit and unit tests in general please refer
+         to the KUnit documentation in Documentation/dev-tools/kunit/.
+         If unsure, say N.
  config TEST_UDELAY
        tristate "udelay test driver"
        help
@@@ -2070,63 -2175,15 +2177,15 @@@ config MEMTES
                memtest=17, mean do 17 test patterns.
          If you are unsure how to answer this question, answer N.
  
- config BUG_ON_DATA_CORRUPTION
-       bool "Trigger a BUG when data corruption is detected"
-       select DEBUG_LIST
-       help
-         Select this option if the kernel should BUG when it encounters
-         data corruption in kernel memory structures when they get checked
-         for validity.
-         If unsure, say N.
- source "samples/Kconfig"
  
- source "lib/Kconfig.kgdb"
- source "lib/Kconfig.ubsan"
  
- source "lib/Kconfig.kcsan"
- config ARCH_HAS_DEVMEM_IS_ALLOWED
-       bool
- config STRICT_DEVMEM
-       bool "Filter access to /dev/mem"
-       depends on MMU && DEVMEM
-       depends on ARCH_HAS_DEVMEM_IS_ALLOWED
-       default y if PPC || X86 || ARM64
-       ---help---
-         If this option is disabled, you allow userspace (root) access to all
-         of memory, including kernel and userspace memory. Accidental
-         access to this is obviously disastrous, but specific access can
-         be used by people debugging the kernel. Note that with PAT support
-         enabled, even in this case there are restrictions on /dev/mem
-         use due to the cache aliasing requirements.
-         If this option is switched on, and IO_STRICT_DEVMEM=n, the /dev/mem
-         file only allows userspace access to PCI space and the BIOS code and
-         data regions.  This is sufficient for dosemu and X and all common
-         users of /dev/mem.
-         If in doubt, say Y.
- config IO_STRICT_DEVMEM
-       bool "Filter I/O access to /dev/mem"
-       depends on STRICT_DEVMEM
-       ---help---
-         If this option is disabled, you allow userspace (root) access to all
-         io-memory regardless of whether a driver is actively using that
-         range.  Accidental access to this is obviously disastrous, but
-         specific access can be used by people debugging kernel drivers.
-         If this option is switched on, the /dev/mem file only allows
-         userspace access to *idle* io-memory ranges (see /proc/iomem) This
-         may break traditional users of /dev/mem (dosemu, legacy X, etc...)
-         if the driver using a given range cannot be disabled.
-         If in doubt, say Y.
+ config HYPERV_TESTING
+       bool "Microsoft Hyper-V driver testing"
+       default n
+       depends on HYPERV && DEBUG_FS
+       help
+         Select this option to enable Hyper-V vmbus testing.
  
source "arch/$(SRCARCH)/Kconfig.debug"
endmenu # "Kernel Testing and Coverage"
  
  endmenu # Kernel hacking
diff --combined lib/Makefile
index 778ab704e3ad5cf393960f723386a55f1aee8c1f,93217d44237f2893555f03992424756a1d83080e..135c6e468a5462d48f6a72019e139f097141e5d3
@@@ -24,13 -24,9 +24,12 @@@ KASAN_SANITIZE_string.o := 
  CFLAGS_string.o := $(call cc-option, -fno-stack-protector)
  endif
  
 +# Used by KCSAN while enabled, avoid recursion.
 +KCSAN_SANITIZE_random32.o := n
 +
  lib-y := ctype.o string.o vsprintf.o cmdline.o \
         rbtree.o radix-tree.o timerqueue.o xarray.o \
-        idr.o extable.o \
-        sha1.o chacha.o irq_regs.o argv_split.o \
+        idr.o extable.o sha1.o irq_regs.o argv_split.o \
         flex_proportions.o ratelimit.o show_mem.o \
         is_single_threaded.o plist.o decompress.o kobject_uevent.o \
         earlycpio.o seq_buf.o siphash.o dec_and_lock.o \
@@@ -95,6 -91,8 +94,8 @@@ obj-$(CONFIG_TEST_MEMINIT) += test_memi
  
  obj-$(CONFIG_TEST_LIVEPATCH) += livepatch/
  
+ obj-$(CONFIG_KUNIT) += kunit/
  ifeq ($(CONFIG_DEBUG_KOBJECT),y)
  CFLAGS_kobject.o += -DDEBUG
  CFLAGS_kobject_uevent.o += -DDEBUG
@@@ -111,7 -109,7 +112,7 @@@ obj-$(CONFIG_HAS_IOMEM) += iomap_copy.
  obj-$(CONFIG_CHECK_SIGNATURE) += check_signature.o
  obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
  
obj-y += logic_pio.o
lib-y += logic_pio.o
  
  obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o
  
@@@ -184,6 -182,7 +185,7 @@@ lib-$(CONFIG_GENERIC_BUG) += bug.
  obj-$(CONFIG_HAVE_ARCH_TRACEHOOK) += syscall.o
  
  obj-$(CONFIG_DYNAMIC_DEBUG) += dynamic_debug.o
+ obj-$(CONFIG_SYMBOLIC_ERRNAME) += errname.o
  
  obj-$(CONFIG_NLATTR) += nlattr.o
  
@@@ -215,6 -214,7 +217,7 @@@ obj-$(CONFIG_GENERIC_NET_UTILS) += net_
  
  obj-$(CONFIG_SG_SPLIT) += sg_split.o
  obj-$(CONFIG_SG_POOL) += sg_pool.o
+ obj-$(CONFIG_MEMREGION) += memregion.o
  obj-$(CONFIG_STMP_DEVICE) += stmp_device.o
  obj-$(CONFIG_IRQ_POLL) += irq_poll.o
  
@@@ -293,3 -293,6 +296,6 @@@ obj-$(CONFIG_GENERIC_LIB_MULDI3) += mul
  obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
  obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o
  obj-$(CONFIG_OBJAGG) += objagg.o
+ # KUnit tests
+ obj-$(CONFIG_LIST_KUNIT_TEST) += list-test.o
diff --combined mm/Makefile
index 56c1964bb3a1d06123b132a52a248e471adc5281,1937cc2518836dde1e2555345ba33e7a413509c4..f14ac8dc9bf18146bda189006cb15e06fbb180ed
@@@ -7,14 -7,6 +7,14 @@@ KASAN_SANITIZE_slab_common.o := 
  KASAN_SANITIZE_slab.o := n
  KASAN_SANITIZE_slub.o := n
  
 +# These produce frequent data race reports: most of them are due to races on
 +# the same word but accesses to different bits of that word. Re-enable KCSAN
 +# for these when we have more consensus on what to do about them.
 +KCSAN_SANITIZE_slab_common.o := n
 +KCSAN_SANITIZE_slab.o := n
 +KCSAN_SANITIZE_slub.o := n
 +KCSAN_SANITIZE_page_alloc.o := n
 +
  # These files are disabled because they produce non-interesting and/or
  # flaky coverage that is not a function of syscall inputs. E.g. slab is out of
  # free pages, or a task is migrated between nodes.
@@@ -115,3 -107,4 +115,4 @@@ obj-$(CONFIG_PERCPU_STATS) += percpu-st
  obj-$(CONFIG_ZONE_DEVICE) += memremap.o
  obj-$(CONFIG_HMM_MIRROR) += hmm.o
  obj-$(CONFIG_MEMFD_CREATE) += memfd.o
+ obj-$(CONFIG_MAPPING_DIRTY_HELPERS) += mapping_dirty_helpers.o
diff --combined scripts/Makefile.lib
index 8952f909f7c9cb487a56378ae76656b7b2cb53bc,3fa32f83b2d74c05a71ebb2fdc0a426471637875..587a7d03c4cdadc559bedc73479e6514672eb89a
@@@ -65,20 -65,6 +65,6 @@@ extra-y += $(patsubst %.dtb,%.dt.yaml, 
  extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtb,%.dt.yaml, $(dtb-))
  endif
  
- # Test self-contained headers
- # Wildcard searches in $(srctree)/$(src)/, but not in $(objtree)/$(obj)/.
- # Stale generated headers are often left over, so pattern matching should
- # be avoided. Please notice $(srctree)/$(src)/ and $(objtree)/$(obj) point
- # to the same location for in-tree building. So, header-test-pattern-y should
- # be used with care.
- header-test-y += $(filter-out $(header-test-), \
-               $(patsubst $(srctree)/$(src)/%, %, \
-               $(wildcard $(addprefix $(srctree)/$(src)/, \
-               $(header-test-pattern-y)))))
- extra-$(CONFIG_HEADER_TEST) += $(addsuffix .s, $(header-test-y) $(header-test-m))
  # Add subdir path
  
  extra-y               := $(addprefix $(obj)/,$(extra-y))
@@@ -151,16 -137,6 +137,16 @@@ _c_flags += $(if $(patsubst n%,, 
        $(KCOV_INSTRUMENT_$(basetarget).o)$(KCOV_INSTRUMENT)$(CONFIG_KCOV_INSTRUMENT_ALL)), \
        $(CFLAGS_KCOV))
  endif
 +
 +#
 +# Enable KCSAN flags except some files or directories we don't want to check
 +# (depends on variables KCSAN_SANITIZE_obj.o, KCSAN_SANITIZE)
 +#
 +ifeq ($(CONFIG_KCSAN),y)
 +_c_flags += $(if $(patsubst n%,, \
 +      $(KCSAN_SANITIZE_$(basetarget).o)$(KCSAN_SANITIZE)y), \
 +      $(CFLAGS_KCSAN))
 +endif
  
  # $(srctree)/$(src) for including checkin headers from generated source files
  # $(objtree)/$(obj) for including generated headers from checkin source files
diff --combined tools/objtool/check.c
index e022a9a00ca127c6692f78546c5599869bfe1f7f,4768d91c6d686d26be9fc78cbdf5ac468fbb5cb7..b6da413bcbd61642f34c1235309de4b7c41943b0
@@@ -144,6 -144,7 +144,7 @@@ static bool __dead_end_function(struct 
                "usercopy_abort",
                "machine_real_restart",
                "rewind_stack_do_exit",
+               "kunit_try_catch_throw",
        };
  
        if (!func)
@@@ -466,24 -467,6 +467,24 @@@ static const char *uaccess_safe_builtin
        "__asan_report_store4_noabort",
        "__asan_report_store8_noabort",
        "__asan_report_store16_noabort",
 +      /* KCSAN */
 +      "kcsan_found_watchpoint",
 +      "kcsan_setup_watchpoint",
 +      /* KCSAN/TSAN */
 +      "__tsan_func_entry",
 +      "__tsan_func_exit",
 +      "__tsan_read_range",
 +      "__tsan_write_range",
 +      "__tsan_read1",
 +      "__tsan_read2",
 +      "__tsan_read4",
 +      "__tsan_read8",
 +      "__tsan_read16",
 +      "__tsan_write1",
 +      "__tsan_write2",
 +      "__tsan_write4",
 +      "__tsan_write8",
 +      "__tsan_write16",
        /* KCOV */
        "write_comp_data",
        "__sanitizer_cov_trace_pc",
        "ubsan_type_mismatch_common",
        "__ubsan_handle_type_mismatch",
        "__ubsan_handle_type_mismatch_v1",
+       "__ubsan_handle_shift_out_of_bounds",
        /* misc */
        "csum_partial_copy_generic",
        "__memcpy_mcsafe",
This page took 0.351267 seconds and 4 git commands to generate.