]> Git Repo - J-linux.git/commitdiff
Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf...
authorJakub Kicinski <[email protected]>
Fri, 14 Jul 2023 02:13:24 +0000 (19:13 -0700)
committerJakub Kicinski <[email protected]>
Fri, 14 Jul 2023 02:13:24 +0000 (19:13 -0700)
Alexei Starovoitov says:

====================
pull-request: bpf-next 2023-07-13

We've added 67 non-merge commits during the last 15 day(s) which contain
a total of 106 files changed, 4444 insertions(+), 619 deletions(-).

The main changes are:

1) Fix bpftool build in presence of stale vmlinux.h,
   from Alexander Lobakin.

2) Introduce bpf_me_mcache_free_rcu() and fix OOM under stress,
   from Alexei Starovoitov.

3) Teach verifier actual bounds of bpf_get_smp_processor_id()
   and fix perf+libbpf issue related to custom section handling,
   from Andrii Nakryiko.

4) Introduce bpf map element count, from Anton Protopopov.

5) Check skb ownership against full socket, from Kui-Feng Lee.

6) Support for up to 12 arguments in BPF trampoline, from Menglong Dong.

7) Export rcu_request_urgent_qs_task, from Paul E. McKenney.

8) Fix BTF walking of unions, from Yafang Shao.

9) Extend link_info for kprobe_multi and perf_event links,
   from Yafang Shao.

* tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (67 commits)
  selftests/bpf: Add selftest for PTR_UNTRUSTED
  bpf: Fix an error in verifying a field in a union
  selftests/bpf: Add selftests for nested_trust
  bpf: Fix an error around PTR_UNTRUSTED
  selftests/bpf: add testcase for TRACING with 6+ arguments
  bpf, x86: allow function arguments up to 12 for TRACING
  bpf, x86: save/restore regs with BPF_DW size
  bpftool: Use "fallthrough;" keyword instead of comments
  bpf: Add object leak check.
  bpf: Convert bpf_cpumask to bpf_mem_cache_free_rcu.
  bpf: Introduce bpf_mem_free_rcu() similar to kfree_rcu().
  selftests/bpf: Improve test coverage of bpf_mem_alloc.
  rcu: Export rcu_request_urgent_qs_task()
  bpf: Allow reuse from waiting_for_gp_ttrace list.
  bpf: Add a hint to allocated objects.
  bpf: Change bpf_mem_cache draining process.
  bpf: Further refactor alloc_bulk().
  bpf: Factor out inc/dec of active flag into helpers.
  bpf: Refactor alloc_bulk().
  bpf: Let free_all() return the number of freed elements.
  ...
====================

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
1  2 
MAINTAINERS
include/linux/trace_events.h
kernel/bpf/btf.c
kernel/bpf/verifier.c
kernel/trace/bpf_trace.c
kernel/trace/trace_kprobe.c
kernel/trace/trace_uprobe.c

diff --combined MAINTAINERS
index dfbb271f1667ea2f59ce951b7bfa80e91d8d84b5,99d8dc9b2850069e330859233e42503344da1547..d1fc5d26c6999c8673b8083d34efa55e0b13c713
@@@ -1,5 -1,81 +1,5 @@@
 -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.
 -
 -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
 -      them onto the kernel channel and await results. This is especially
 -      important for device drivers, because often that's the only way
 -      you will find things like the fact version 3 firmware needs
 -      a magic fix you didn't know about, or some clown changed the
 -      chips on a board and not its name.  (Don't laugh!  Look at the
 -      SMC etherpower for that.)
 -
 -3.    Make sure your changes compile correctly in multiple
 -      configurations. In particular check that changes work both as a
 -      module and built into the kernel.
 -
 -4.    When you are happy with a change make it generally available for
 -      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
 -      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
 -      looking the same. Sometimes this means that the clever hack in
 -      your driver to get around a problem actually needs to become a
 -      generalized kernel feature ready for next time.
 -
 -      PLEASE check your patch with the automated style checker
 -      (scripts/checkpatch.pl) to catch trivial style violations.
 -      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
 -      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.
 -
 -      PLEASE try to include any credit lines you want added with the
 -      patch. It avoids people being missed off by mistake and makes
 -      it easier to know who wants adding and who doesn't.
 -
 -      PLEASE document known bugs. If it doesn't work for everything
 -      or does something very odd once a month document it.
 -
 -      PLEASE remember that submissions must be made under the terms
 -      of the Linux Foundation certificate of contribution and should
 -      include a Signed-off-by: line.  The current version of this
 -      "Developer's Certificate of Origin" (DCO) is listed in the file
 -      Documentation/process/submitting-patches.rst.
 -
 -6.    Make sure you have the right to send any changes you make. If you
 -      do changes at work you may find your employer owns the patch
 -      not you.
 -
 -7.    When sending security related changes or reports to a maintainer
 -      please Cc: [email protected], especially if the maintainer
 -      does not respond. Please keep in mind that the security team is
 -      a small set of people who can be efficient only when working on
 -      verified bugs. Please only Cc: this list when you have identified
 -      that the bug would present a short-term risk to other users if it
 -      were publicly disclosed. For example, reports of address leaks do
 -      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. See
 -      Documentation/process/security-bugs.rst for details.
 -
 -8.    Happy hacking.
 +List of maintainers
 +===================
  
  Descriptions of section entries and preferred order
  ---------------------------------------------------
@@@ -330,13 -406,6 +330,13 @@@ L:       [email protected]
  S:    Maintained
  F:    drivers/acpi/arm64
  
 +ACPI FOR RISC-V (ACPI/riscv)
 +M:    Sunil V L <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/acpi/riscv/
 +
  ACPI PCC(Platform Communication Channel) MAILBOX DRIVER
  M:    Sudeep Holla <[email protected]>
  L:    [email protected]
@@@ -380,8 -449,6 +380,8 @@@ F: include/linux/acpi_viot.
  ACPI WMI DRIVER
  L:    [email protected]
  S:    Orphan
 +F:    Documentation/driver-api/wmi.rst
 +F:    Documentation/wmi/
  F:    drivers/platform/x86/wmi.c
  F:    include/uapi/linux/wmi.h
  
@@@ -1560,7 -1627,6 +1560,7 @@@ L:      [email protected]
  S:    Maintained
  C:    irc://irc.libera.chat/armlinux
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git
 +F:    Documentation/process/maintainer-soc.rst
  F:    arch/arm/boot/dts/Makefile
  F:    arch/arm64/boot/dts/Makefile
  
@@@ -1592,9 -1658,9 +1592,9 @@@ F:      Documentation/devicetree/bindings/cl
  F:    Documentation/devicetree/bindings/i2c/arm,i2c-versatile.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt
  F:    Documentation/devicetree/bindings/mtd/mtd-physmap.yaml
 -F:    arch/arm/boot/dts/arm-realview-*
 -F:    arch/arm/boot/dts/integrator*
 -F:    arch/arm/boot/dts/versatile*
 +F:    arch/arm/boot/dts/arm/arm-realview-*
 +F:    arch/arm/boot/dts/arm/integrator*
 +F:    arch/arm/boot/dts/arm/versatile*
  F:    arch/arm/mach-versatile/
  F:    drivers/bus/arm-integrator-lm.c
  F:    drivers/clk/versatile/
@@@ -1765,7 -1831,7 +1765,7 @@@ F:      Documentation/devicetree/bindings/ne
  F:    Documentation/devicetree/bindings/pinctrl/actions,*
  F:    Documentation/devicetree/bindings/power/actions,owl-sps.txt
  F:    Documentation/devicetree/bindings/timer/actions,owl-timer.txt
 -F:    arch/arm/boot/dts/owl-*
 +F:    arch/arm/boot/dts/actions/
  F:    arch/arm/mach-actions/
  F:    arch/arm64/boot/dts/actions/
  F:    drivers/clk/actions/
@@@ -1811,7 -1877,6 +1811,7 @@@ L:      [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/clock/amlogic*
  F:    drivers/clk/meson/
 +F:    include/dt-bindings/clock/amlogic,a1*
  F:    include/dt-bindings/clock/gxbb*
  F:    include/dt-bindings/clock/meson*
  
  L:    [email protected]
  S:    Maintained
  W:    http://linux-meson.com/
 -F:    arch/arm/boot/dts/meson*
 +F:    Documentation/devicetree/bindings/phy/amlogic*
 +F:    arch/arm/boot/dts/amlogic/
  F:    arch/arm/mach-meson/
  F:    arch/arm64/boot/dts/amlogic/
  F:    drivers/mmc/host/meson*
 +F:    drivers/phy/amlogic/
  F:    drivers/pinctrl/meson/
  F:    drivers/rtc/rtc-meson*
  F:    drivers/soc/amlogic/
@@@ -1855,7 -1918,7 +1855,7 @@@ M:      Tsahee Zidenberg <tsahee@annapurnala
  M:    Antoine Tenart <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    arch/arm/boot/dts/alpine*
 +F:    arch/arm/boot/dts/amazon/
  F:    arch/arm/mach-alpine/
  F:    arch/arm64/boot/dts/amazon/
  F:    drivers/*/*alpine*
@@@ -1926,7 -1989,7 +1926,7 @@@ M:      Lars Persson <[email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
 -F:    arch/arm/boot/dts/artpec6*
 +F:    arch/arm/boot/dts/axis/
  F:    arch/arm/mach-artpec
  F:    drivers/clk/axis
  F:    drivers/crypto/axis
@@@ -1954,7 -2017,7 +1954,7 @@@ S:      Supporte
  Q:    https://patchwork.ozlabs.org/project/linux-aspeed/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed.git
  F:    Documentation/devicetree/bindings/arm/aspeed/
 -F:    arch/arm/boot/dts/aspeed-*
 +F:    arch/arm/boot/dts/aspeed/
  F:    arch/arm/mach-aspeed/
  N:    aspeed
  
@@@ -1973,7 -2036,8 +1973,7 @@@ ARM/CALXEDA HIGHBANK ARCHITECTUR
  M:    Andre Przywara <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    arch/arm/boot/dts/ecx-*.dts*
 -F:    arch/arm/boot/dts/highbank.dts
 +F:    arch/arm/boot/dts/calxeda/
  F:    arch/arm/mach-highbank/
  
  ARM/CAVIUM THUNDER NETWORK DRIVER
@@@ -2021,13 -2085,12 +2021,13 @@@ ARM/CONEXANT DIGICOLOR MACHINE SUPPOR
  M:    Baruch Siach <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    arch/arm/boot/dts/cx92755*
 +F:    arch/arm/boot/dts/cnxt/
  N:    digicolor
  
  ARM/CORESIGHT FRAMEWORK AND DRIVERS
  M:    Suzuki K Poulose <[email protected]>
  R:    Mike Leach <[email protected]>
 +R:    James Clark <[email protected]>
  R:    Leo Yan <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected] (moderated for non-subscribers)
@@@ -2061,7 -2124,7 +2061,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/net/cortina,gemini-ethernet.yaml
  F:    Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt
  F:    Documentation/devicetree/bindings/rtc/faraday,ftrtc010.yaml
 -F:    arch/arm/boot/dts/gemini*
 +F:    arch/arm/boot/dts/gemini/
  F:    arch/arm/mach-gemini/
  F:    drivers/crypto/gemini/
  F:    drivers/net/ethernet/cortina/
@@@ -2114,8 -2177,7 +2114,8 @@@ R:      NXP Linux Team <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
 -F:    arch/arm64/boot/dts/freescale/
 +F:    arch/arm/boot/dts/nxp/imx/
 +F:    arch/arm/boot/dts/nxp/mxs/
  X:    arch/arm64/boot/dts/freescale/fsl-*
  X:    arch/arm64/boot/dts/freescale/qoriq-*
  X:    drivers/media/i2c/
@@@ -2128,7 -2190,7 +2128,7 @@@ M:      Li Yang <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
 -F:    arch/arm/boot/dts/ls1021a*
 +F:    arch/arm/boot/dts/nxp/ls/
  F:    arch/arm64/boot/dts/freescale/fsl-*
  F:    arch/arm64/boot/dts/freescale/qoriq-*
  
@@@ -2140,7 -2202,7 +2140,7 @@@ R:      Stefan Agner <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
 -F:    arch/arm/boot/dts/vf*
 +F:    arch/arm/boot/dts/nxp/vf/
  F:    arch/arm/mach-imx/*vf610*
  
  ARM/GUMSTIX MACHINE SUPPORT
@@@ -2154,7 -2216,9 +2154,7 @@@ L:      [email protected]
  S:    Supported
  W:    http://www.hisilicon.com
  T:    git https://github.com/hisilicon/linux-hisi.git
 -F:    arch/arm/boot/dts/hi3*
 -F:    arch/arm/boot/dts/hip*
 -F:    arch/arm/boot/dts/hisi*
 +F:    arch/arm/boot/dts/hisilicon/
  F:    arch/arm/mach-hisi/
  F:    arch/arm64/boot/dts/hisilicon/
  
@@@ -2176,7 -2240,8 +2176,7 @@@ F:      Documentation/devicetree/bindings/i2
  F:    Documentation/devicetree/bindings/spi/hpe,gxp-spifi.yaml
  F:    Documentation/devicetree/bindings/timer/hpe,gxp-timer.yaml
  F:    Documentation/hwmon/gxp-fan-ctrl.rst
 -F:    arch/arm/boot/dts/hpe-bmc*
 -F:    arch/arm/boot/dts/hpe-gxp*
 +F:    arch/arm/boot/dts/hpe/
  F:    arch/arm/mach-hpe/
  F:    drivers/clocksource/timer-gxp.c
  F:    drivers/hwmon/gxp-fan-ctrl.c
@@@ -2190,7 -2255,7 +2190,7 @@@ M:      Javier Martinez Canillas <javier@dow
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    arch/arm/boot/dts/omap3-igep*
 +F:    arch/arm/boot/dts/ti/omap/omap3-igep*
  
  ARM/INTEL IXP4XX ARM ARCHITECTURE
  M:    Linus Walleij <[email protected]>
@@@ -2203,7 -2268,7 +2203,7 @@@ F:      Documentation/devicetree/bindings/gp
  F:    Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt.yaml
  F:    Documentation/devicetree/bindings/memory-controllers/intel,ixp4xx-expansion*
  F:    Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
 -F:    arch/arm/boot/dts/intel-ixp*
 +F:    arch/arm/boot/dts/intel/ixp/
  F:    arch/arm/mach-ixp4xx/
  F:    drivers/bus/intel-ixp4xx-eb.c
  F:    drivers/clocksource/timer-ixp4xx.c
@@@ -2235,7 -2300,7 +2235,7 @@@ M:      Vladimir Zapolskiy <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt
 -F:    arch/arm/boot/dts/lpc43*
 +F:    arch/arm/boot/dts/nxp/lpc/lpc43*
  F:    drivers/i2c/busses/i2c-lpc2k.c
  F:    drivers/memory/pl172.c
  F:    drivers/mtd/spi-nor/controllers/nxp-spifi.c
@@@ -2248,7 -2313,7 +2248,7 @@@ L:      [email protected]
  S:    Maintained
  T:    git git://github.com/vzapolskiy/linux-lpc32xx.git
  F:    Documentation/devicetree/bindings/i2c/i2c-pnx.txt
 -F:    arch/arm/boot/dts/lpc32*
 +F:    arch/arm/boot/dts/nxp/lpc/lpc32*
  F:    arch/arm/mach-lpc32xx/
  F:    drivers/i2c/busses/i2c-pnx.c
  F:    drivers/net/ethernet/nxp/lpc_eth.c
@@@ -2266,8 -2331,8 +2266,8 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    Documentation/devicetree/bindings/arm/marvell/marvell,dove.txt
  F:    Documentation/devicetree/bindings/arm/marvell/marvell,orion5x.txt
  F:    Documentation/devicetree/bindings/soc/dove/
 -F:    arch/arm/boot/dts/dove*
 -F:    arch/arm/boot/dts/orion5x*
 +F:    arch/arm/boot/dts/marvell/dove*
 +F:    arch/arm/boot/dts/marvell/orion5x*
  F:    arch/arm/mach-dove/
  F:    arch/arm/mach-mv78xx0/
  F:    arch/arm/mach-orion5x/
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu.git
  F:    Documentation/devicetree/bindings/arm/marvell/
 -F:    arch/arm/boot/dts/armada*
 -F:    arch/arm/boot/dts/kirkwood*
 +F:    arch/arm/boot/dts/marvell/armada*
 +F:    arch/arm/boot/dts/marvell/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/clk/mvebu/
  F:    drivers/cpufreq/armada-37xx-cpufreq.c
  F:    drivers/cpufreq/armada-8k-cpufreq.c
  F:    drivers/cpufreq/mvebu-cpufreq.c
@@@ -2318,7 -2382,10 +2318,7 @@@ L:     [email protected] (
  S:    Maintained
  W:    https://mtk.wiki.kernel.org/
  C:    irc://irc.libera.chat/linux-mediatek
 -F:    arch/arm/boot/dts/mt2*
 -F:    arch/arm/boot/dts/mt6*
 -F:    arch/arm/boot/dts/mt7*
 -F:    arch/arm/boot/dts/mt8*
 +F:    arch/arm/boot/dts/mediatek/
  F:    arch/arm/mach-mediatek/
  F:    arch/arm64/boot/dts/mediatek/
  F:    drivers/soc/mediatek/
@@@ -2334,15 -2401,6 +2334,15 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/phy/mediatek,*
  F:    drivers/phy/mediatek/
  
 +ARM/MICROCHIP (ARM64) SoC support
 +M:    Conor Dooley <[email protected]>
 +M:    Nicolas Ferre <[email protected]>
 +M:    Claudiu Beznea <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Supported
 +T:    git https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux.git
 +F:    arch/arm64/boot/dts/microchip/
 +
  ARM/Microchip (AT91) SoC support
  M:    Nicolas Ferre <[email protected]>
  M:    Alexandre Belloni <[email protected]>
  S:    Supported
  W:    http://www.linux4sam.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux.git
 -F:    arch/arm/boot/dts/at91*.dts
 -F:    arch/arm/boot/dts/at91*.dtsi
 -F:    arch/arm/boot/dts/sama*.dts
 -F:    arch/arm/boot/dts/sama*.dtsi
 +F:    arch/arm/boot/dts/microchip/at91*
 +F:    arch/arm/boot/dts/microchip/sama*
  F:    arch/arm/include/debug/at91.S
  F:    arch/arm/mach-at91/
  F:    drivers/memory/atmel*
@@@ -2363,6 -2423,15 +2363,6 @@@ X:     drivers/net/wireless/atmel
  N:    at91
  N:    atmel
  
 -ARM/MICROCHIP (ARM64) SoC support
 -M:    Conor Dooley <[email protected]>
 -M:    Nicolas Ferre <[email protected]>
 -M:    Claudiu Beznea <[email protected]>
 -L:    [email protected] (moderated for non-subscribers)
 -S:    Supported
 -T:    git https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux.git
 -F:    arch/arm64/boot/dts/microchip/
 -
  ARM/Microchip Sparx5 SoC support
  M:    Lars Povlsen <[email protected]>
  M:    Steen Hegelund <[email protected]>
@@@ -2380,7 -2449,7 +2380,7 @@@ M:      Taichi Sugaya <sugaya.taichi@socione
  M:    Takao Orito <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    arch/arm/boot/dts/milbeaut*
 +F:    arch/arm/boot/dts/socionext/milbeaut*
  F:    arch/arm/mach-milbeaut/
  N:    milbeaut
  
@@@ -2394,7 -2463,7 +2394,7 @@@ T:      git git://github.com/linux-chenxing/
  F:    Documentation/devicetree/bindings/arm/mstar/*
  F:    Documentation/devicetree/bindings/clock/mstar,msc313-mpll.yaml
  F:    Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml
 -F:    arch/arm/boot/dts/mstar-*
 +F:    arch/arm/boot/dts/sigmastar/
  F:    arch/arm/mach-mstar/
  F:    drivers/clk/mstar/
  F:    drivers/clocksource/timer-msc313e.c
@@@ -2413,7 -2482,7 +2413,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/arm/ux500.yaml
  F:    Documentation/devicetree/bindings/arm/ux500/
  F:    Documentation/devicetree/bindings/i2c/st,nomadik-i2c.yaml
 -F:    arch/arm/boot/dts/ste-*
 +F:    arch/arm/boot/dts/st/ste-*
  F:    arch/arm/mach-nomadik/
  F:    arch/arm/mach-ux500/
  F:    drivers/clk/clk-nomadik.c
@@@ -2430,18 -2499,6 +2430,18 @@@ F:    drivers/rtc/rtc-ab8500.
  F:    drivers/rtc/rtc-pl031.c
  F:    drivers/soc/ux500/
  
 +ARM/NUVOTON MA35 ARCHITECTURE
 +M:    Jacky Huang <[email protected]>
 +M:    Shan-Chun Hung <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Supported
 +F:    Documentation/devicetree/bindings/*/*/*ma35*
 +F:    Documentation/devicetree/bindings/*/*ma35*
 +F:    arch/arm64/boot/dts/nuvoton/*ma35*
 +F:    drivers/*/*/*ma35*
 +F:    drivers/*/*ma35*
 +K:    ma35d1
 +
  ARM/NUVOTON NPCM ARCHITECTURE
  M:    Avi Fishman <[email protected]>
  M:    Tomer Maimon <[email protected]>
@@@ -2453,8 -2510,9 +2453,8 @@@ L:      [email protected] (moderated 
  S:    Supported
  F:    Documentation/devicetree/bindings/*/*/*npcm*
  F:    Documentation/devicetree/bindings/*/*npcm*
 -F:    Documentation/devicetree/bindings/arm/npcm/*
  F:    Documentation/devicetree/bindings/rtc/nuvoton,nct3018y.yaml
 -F:    arch/arm/boot/dts/nuvoton-npcm*
 +F:    arch/arm/boot/dts/nuvoton/nuvoton-npcm*
  F:    arch/arm/mach-npcm/
  F:    arch/arm64/boot/dts/nuvoton/
  F:    drivers/*/*/*npcm*
@@@ -2469,7 -2527,7 +2469,7 @@@ L:      [email protected] (moderated 
  S:    Maintained
  W:    https://github.com/neuschaefer/wpcm450/wiki
  F:    Documentation/devicetree/bindings/*/*wpcm*
 -F:    arch/arm/boot/dts/nuvoton-wpcm450*
 +F:    arch/arm/boot/dts/nuvoton/nuvoton-wpcm450*
  F:    arch/arm/configs/wpcm450_defconfig
  F:    arch/arm/mach-npcm/wpcm450.c
  F:    drivers/*/*/*wpcm*
@@@ -2510,19 -2568,20 +2510,19 @@@ F:   arch/arm64/boot/dts/qcom/sdm845-chez
  ARM/QUALCOMM SUPPORT
  M:    Andy Gross <[email protected]>
  M:    Bjorn Andersson <[email protected]>
 -R:    Konrad Dybcio <[email protected]>
 +M:    Konrad Dybcio <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
  F:    Documentation/devicetree/bindings/*/qcom*
  F:    Documentation/devicetree/bindings/soc/qcom/
 -F:    arch/arm/boot/dts/qcom-*.dts
 -F:    arch/arm/boot/dts/qcom-*.dtsi
 +F:    arch/arm/boot/dts/qcom/
  F:    arch/arm/configs/qcom_defconfig
  F:    arch/arm/mach-qcom/
  F:    arch/arm64/boot/dts/qcom/
 +F:    drivers/*/*/pm8???-*
  F:    drivers/*/*/qcom*
  F:    drivers/*/*/qcom/
 -F:    drivers/*/pm8???-*
  F:    drivers/*/qcom*
  F:    drivers/*/qcom/
  F:    drivers/bluetooth/btqcomsmd.c
@@@ -2559,7 -2618,7 +2559,7 @@@ F:      Documentation/devicetree/bindings/gp
  F:    Documentation/devicetree/bindings/interrupt-controller/rda,8810pl-intc.yaml
  F:    Documentation/devicetree/bindings/serial/rda,8810pl-uart.yaml
  F:    Documentation/devicetree/bindings/timer/rda,8810pl-timer.yaml
 -F:    arch/arm/boot/dts/rda8810pl-*
 +F:    arch/arm/boot/dts/unisoc/
  F:    drivers/clocksource/timer-rda.c
  F:    drivers/gpio/gpio-rda.c
  F:    drivers/irqchip/irq-rda-intc.c
@@@ -2571,7 -2630,7 +2571,7 @@@ L:      [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/realtek.yaml
 -F:    arch/arm/boot/dts/rtd*
 +F:    arch/arm/boot/dts/realtek/
  F:    arch/arm/mach-realtek/
  F:    arch/arm64/boot/dts/realtek/
  
@@@ -2585,7 -2644,13 +2585,7 @@@ C:     irc://irc.libera.chat/renesas-so
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git next
  F:    Documentation/devicetree/bindings/hwinfo/renesas,prr.yaml
  F:    Documentation/devicetree/bindings/soc/renesas/
 -F:    arch/arm/boot/dts/emev2*
 -F:    arch/arm/boot/dts/gr-peach*
 -F:    arch/arm/boot/dts/iwg20d-q7*
 -F:    arch/arm/boot/dts/r7s*
 -F:    arch/arm/boot/dts/r8a*
 -F:    arch/arm/boot/dts/r9a*
 -F:    arch/arm/boot/dts/sh*
 +F:    arch/arm/boot/dts/renesas/
  F:    arch/arm/configs/shmobile_defconfig
  F:    arch/arm/include/debug/renesas-scif.S
  F:    arch/arm/mach-shmobile/
@@@ -2618,7 -2683,8 +2618,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    Documentation/devicetree/bindings/i2c/i2c-rk3x.yaml
  F:    Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yaml
  F:    Documentation/devicetree/bindings/spi/spi-rockchip.yaml
 -F:    arch/arm/boot/dts/rk3*
 -F:    arch/arm/boot/dts/rv11*
 +F:    arch/arm/boot/dts/rockchip/
  F:    arch/arm/mach-rockchip/
  F:    drivers/*/*/*rockchip*
  F:    drivers/*/*rockchip*
@@@ -2642,7 -2708,9 +2642,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/hwinfo/samsung,*
  F:    Documentation/devicetree/bindings/power/pd-samsung.yaml
  F:    Documentation/devicetree/bindings/soc/samsung/
 -F:    arch/arm/boot/dts/exynos*
 -F:    arch/arm/boot/dts/s3c*
 -F:    arch/arm/boot/dts/s5p*
 +F:    arch/arm/boot/dts/samsung/
  F:    arch/arm/mach-exynos*/
  F:    arch/arm/mach-s3c/
  F:    arch/arm/mach-s5p*/
@@@ -2702,7 -2770,7 +2702,7 @@@ M:      Dinh Nguyen <[email protected]
  S:    Maintained
  W:    http://www.rocketboards.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git
 -F:    arch/arm/boot/dts/socfpga*
 +F:    arch/arm/boot/dts/intel/socfpga/
  F:    arch/arm/configs/socfpga_defconfig
  F:    arch/arm/mach-socfpga/
  F:    arch/arm64/boot/dts/altera/
@@@ -2735,7 -2803,7 +2735,7 @@@ S:      Maintaine
  W:    http://www.stlinux.com
  F:    Documentation/devicetree/bindings/i2c/st,sti-i2c.yaml
  F:    Documentation/devicetree/bindings/spi/st,ssc-spi.yaml
 -F:    arch/arm/boot/dts/sti*
 +F:    arch/arm/boot/dts/st/sti*
  F:    arch/arm/mach-sti/
  F:    drivers/ata/ahci_st.c
  F:    drivers/char/hw_random/st-rng.c
@@@ -2768,9 -2836,8 +2768,9 @@@ L:      [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-next
 -F:    arch/arm/boot/dts/stm32*
 +F:    arch/arm/boot/dts/st/stm32*
  F:    arch/arm/mach-stm32/
 +F:    arch/arm64/boot/dts/st/
  F:    drivers/clocksource/armv7m_systick.c
  N:    stm32
  N:    stm
@@@ -2784,7 -2851,7 +2784,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/clock/sunplus,sp7021-clkc.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/sunplus,sp7021-intc.yaml
  F:    Documentation/devicetree/bindings/reset/sunplus,reset.yaml
 -F:    arch/arm/boot/dts/sunplus-sp7021*.dts*
 +F:    arch/arm/boot/dts/sunplus/
  F:    arch/arm/configs/sp7021_*defconfig
  F:    arch/arm/mach-sunplus/
  F:    drivers/clk/clk-sp7021.c
@@@ -2798,7 -2865,7 +2798,7 @@@ M:      Jisheng Zhang <[email protected]
  M:    Sebastian Hesselbarth <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    arch/arm/boot/dts/berlin*
 +F:    arch/arm/boot/dts/synaptics/
  F:    arch/arm/mach-berlin/
  F:    arch/arm64/boot/dts/synaptics/
  
@@@ -2840,7 -2907,7 +2840,7 @@@ M:      Santosh Shilimkar <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
 -F:    arch/arm/boot/dts/keystone-*
 +F:    arch/arm/boot/dts/ti/keystone/
  F:    arch/arm/mach-keystone/
  
  ARM/TEXAS INSTRUMENT KEYSTONE CLOCK FRAMEWORK
@@@ -2872,6 -2939,7 +2872,6 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/hwinfo/ti,k3-socinfo.yaml
  F:    arch/arm64/boot/dts/ti/Makefile
  F:    arch/arm64/boot/dts/ti/k3-*
 -F:    include/dt-bindings/pinctrl/k3.h
  
  ARM/TOSHIBA VISCONTI ARCHITECTURE
  M:    Nobuhiro Iwamatsu <[email protected]>
@@@ -2904,7 -2972,7 +2904,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
  F:    Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
  F:    Documentation/devicetree/bindings/soc/socionext/socionext,uniphier*.yaml
 -F:    arch/arm/boot/dts/uniphier*
 +F:    arch/arm/boot/dts/socionext/uniphier*
  F:    arch/arm/include/asm/hardware/cache-uniphier.h
  F:    arch/arm/mach-uniphier/
  F:    arch/arm/mm/cache-uniphier.c
@@@ -2929,7 -2997,7 +2929,7 @@@ L:      [email protected]
  S:    Maintained
  F:    */*/*/vexpress*
  F:    */*/vexpress*
 -F:    arch/arm/boot/dts/vexpress*
 +F:    arch/arm/boot/dts/arm/vexpress*
  F:    arch/arm/mach-versatile/
  F:    arch/arm64/boot/dts/arm/
  F:    drivers/clk/versatile/clk-vexpress-osc.c
@@@ -3309,16 -3377,6 +3309,16 @@@ F:    include/uapi/linux/audit.
  F:    kernel/audit*
  F:    lib/*audit.c
  
 +AUXILIARY BUS DRIVER
 +M:    Greg Kroah-Hartman <[email protected]>
 +R:    Dave Ertman <[email protected]>
 +R:    Ira Weiny <[email protected]>
 +S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
 +F:    Documentation/driver-api/auxiliary_bus.rst
 +F:    drivers/base/auxiliary.c
 +F:    include/linux/auxiliary_bus.h
 +
  AUXILIARY DISPLAY DRIVERS
  M:    Miguel Ojeda <[email protected]>
  S:    Maintained
@@@ -3346,10 -3404,10 +3346,10 @@@ AXENTIA ARM DEVICE
  M:    Peter Rosin <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -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
 -F:    arch/arm/boot/dts/at91-tse850-3.dts
 +F:    arch/arm/boot/dts/microchip/at91-linea.dtsi
 +F:    arch/arm/boot/dts/microchip/at91-natte.dtsi
 +F:    arch/arm/boot/dts/microchip/at91-nattis-2-natte-2.dts
 +F:    arch/arm/boot/dts/microchip/at91-tse850-3.dts
  
  AXENTIA ASOC DRIVERS
  M:    Peter Rosin <[email protected]>
@@@ -3499,24 -3557,18 +3499,24 @@@ M:   Yury Norov <[email protected]
  R:    Andy Shevchenko <[email protected]>
  R:    Rasmus Villemoes <[email protected]>
  S:    Maintained
 +F:    include/linux/bitfield.h
  F:    include/linux/bitmap.h
 +F:    include/linux/bits.h
  F:    include/linux/cpumask.h
  F:    include/linux/find.h
  F:    include/linux/nodemask.h
 +F:    include/vdso/bits.h
  F:    lib/bitmap.c
  F:    lib/cpumask.c
  F:    lib/cpumask_kunit.c
  F:    lib/find_bit.c
  F:    lib/find_bit_benchmark.c
  F:    lib/test_bitmap.c
 +F:    tools/include/linux/bitfield.h
  F:    tools/include/linux/bitmap.h
 +F:    tools/include/linux/bits.h
  F:    tools/include/linux/find.h
 +F:    tools/include/vdso/bits.h
  F:    tools/lib/bitmap.c
  F:    tools/lib/find_bit.c
  
@@@ -3694,7 -3746,7 +3694,7 @@@ R:      David Vernet <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
- F:    Documentation/bpf/instruction-set.rst
+ F:    Documentation/bpf/standardization/
  
  BPF [GENERAL] (Safe Dynamic Programs and Tools)
  M:    Alexei Starovoitov <[email protected]>
@@@ -3842,7 -3894,7 +3842,7 @@@ S:      Supporte
  F:    drivers/net/ethernet/broadcom/b44.*
  
  BROADCOM B53/SF2 ETHERNET SWITCH DRIVER
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  L:    [email protected]
  L:    [email protected] (subscribers-only)
  S:    Supported
@@@ -3853,7 -3905,7 +3853,7 @@@ F:      include/linux/dsa/brcm.
  F:    include/linux/platform_data/b53.h
  
  BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected] (moderated for non-subscribers)
@@@ -3867,7 -3919,7 +3867,7 @@@ N:      bcm283
  N:    raspberrypi
  
  BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  M:    Ray Jui <[email protected]>
  M:    Scott Branden <[email protected]>
  R:    Broadcom internal kernel review list <[email protected]>
@@@ -3906,26 -3958,25 +3906,26 @@@ F:   Documentation/devicetree/bindings/pi
  F:    drivers/pinctrl/bcm/pinctrl-bcm4908.c
  
  BROADCOM BCM5301X ARM ARCHITECTURE
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  M:    Hauke Mehrtens <[email protected]>
  M:    RafaÅ‚ MiÅ‚ecki <[email protected]>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    arch/arm/boot/dts/bcm470*
 -F:    arch/arm/boot/dts/bcm5301*
 -F:    arch/arm/boot/dts/bcm953012*
 +F:    arch/arm/boot/dts/broadcom/bcm-ns.dtsi
 +F:    arch/arm/boot/dts/broadcom/bcm470*
 +F:    arch/arm/boot/dts/broadcom/bcm5301*
 +F:    arch/arm/boot/dts/broadcom/bcm953012*
  F:    arch/arm/mach-bcm/bcm_5301x.c
  
  BROADCOM BCM53573 ARM ARCHITECTURE
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  M:    RafaÅ‚ MiÅ‚ecki <[email protected]>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    arch/arm/boot/dts/bcm47189*
 -F:    arch/arm/boot/dts/bcm53573*
 +F:    arch/arm/boot/dts/broadcom/bcm47189*
 +F:    arch/arm/boot/dts/broadcom/bcm53573*
  
  BROADCOM BCM63XX/BCM33XX UDC DRIVER
  M:    Kevin Cernekee <[email protected]>
@@@ -3934,13 -3985,13 +3934,13 @@@ S:   Maintaine
  F:    drivers/usb/gadget/udc/bcm63xx_udc.*
  
  BROADCOM BCM7XXX ARM ARCHITECTURE
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git https://github.com/broadcom/stblinux.git
  F:    Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
 -F:    arch/arm/boot/dts/bcm7*.dts*
 +F:    arch/arm/boot/dts/broadcom/bcm7*.dts*
  F:    arch/arm/include/asm/hardware/cache-b15-rac.h
  F:    arch/arm/mach-bcm/*brcmstb*
  F:    arch/arm/mm/cache-b15-rac.c
@@@ -3954,7 -4005,7 +3954,7 @@@ BROADCOM BCMBCA ARM ARCHITECTUR
  M:    William Zhang <[email protected]>
  M:    Anand Gore <[email protected]>
  M:    Kursad Oney <[email protected]>
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  M:    RafaÅ‚ MiÅ‚ecki <[email protected]>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -3979,7 -4030,7 +3979,7 @@@ N:      bcm[9]?685
  N:    bcm[9]?6878
  
  BROADCOM BDC DRIVER
 -M:    Justin Chen <justinpopo6@gmail.com>
 +M:    Justin Chen <justin.chen@broadcom.com>
  M:    Al Cooper <[email protected]>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
@@@ -3995,7 -4046,7 +3995,7 @@@ S:      Maintaine
  F:    drivers/cpufreq/bmips-cpufreq.c
  
  BROADCOM BMIPS MIPS ARCHITECTURE
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -4063,14 -4114,14 +4063,14 @@@ F:   drivers/net/wireless/broadcom/brcm80
  
  BROADCOM BRCMSTB GPIO DRIVER
  M:    Doug Berger <[email protected]>
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom>
  R:    Broadcom internal kernel review list <[email protected]>
  S:    Supported
  F:    Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.yaml
  F:    drivers/gpio/gpio-brcmstb.c
  
  BROADCOM BRCMSTB I2C DRIVER
 -M:    Kamal Dasu <kdasu.kdev@gmail.com>
 +M:    Kamal Dasu <kamal.dasu@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -4086,7 -4137,7 +4086,7 @@@ F:      Documentation/devicetree/bindings/se
  F:    drivers/tty/serial/8250/8250_bcm7271.c
  
  BROADCOM BRCMSTB USB EHCI DRIVER
 -M:    Justin Chen <justinpopo6@gmail.com>
 +M:    Justin Chen <justin.chen@broadcom.com>
  M:    Al Cooper <[email protected]>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
@@@ -4103,7 -4154,7 +4103,7 @@@ F:      Documentation/devicetree/bindings/us
  F:    drivers/usb/misc/brcmstb-usb-pinmap.c
  
  BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER
 -M:    Justin Chen <justinpopo6@gmail.com>
 +M:    Justin Chen <justin.chen@broadcom.com>
  M:    Al Cooper <[email protected]>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
@@@ -4122,7 -4173,7 +4122,7 @@@ F:      drivers/spi/spi-bcm63xx-hsspi.
  F:    drivers/spi/spi-bcmbca-hsspi.c
  
  BROADCOM ETHERNET PHY DRIVERS
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -4133,7 -4184,7 +4133,7 @@@ F:      include/linux/brcmphy.
  
  BROADCOM GENET ETHERNET DRIVER
  M:    Doug Berger <[email protected]>
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -4217,7 -4268,7 +4217,7 @@@ F:      drivers/firmware/broadcom/
  
  BROADCOM PMB (POWER MANAGEMENT BUS) DRIVER
  M:    RafaÅ‚ MiÅ‚ecki <[email protected]>
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -4233,7 -4284,7 +4233,7 @@@ F:      drivers/bcma
  F:    include/linux/bcma/
  
  BROADCOM SPI DRIVER
 -M:    Kamal Dasu <kdasu.kdev@gmail.com>
 +M:    Kamal Dasu <kamal.dasu@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
@@@ -4267,7 -4318,7 +4267,7 @@@ F:      drivers/memory/brcmstb_dpfe.
  
  BROADCOM STB NAND FLASH DRIVER
  M:    Brian Norris <[email protected]>
 -M:    Kamal Dasu <kdasu.kdev@gmail.com>
 +M:    Kamal Dasu <kamal.dasu@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -4277,7 -4328,7 +4277,7 @@@ F:      include/linux/platform_data/brcmnand
  BROADCOM STB PCIE DRIVER
  M:    Jim Quinlan <[email protected]>
  M:    Nicolas Saenz Julienne <[email protected]>
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -4285,7 -4336,7 +4285,7 @@@ F:      Documentation/devicetree/bindings/pc
  F:    drivers/pci/controller/pcie-brcmstb.c
  
  BROADCOM SYSTEMPORT ETHERNET DRIVER
 -M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    Florian Fainelli <florian.fainelli@broadcom.com>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -4462,12 -4513,6 +4462,12 @@@ F:    Documentation/devicetree/bindings/us
  F:    drivers/usb/cdns3/
  X:    drivers/usb/cdns3/cdnsp*
  
 +CADENCE USBHS DRIVER
 +M:    Pawel Laszczak <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/usb/gadget/udc/cdns2
 +
  CADENCE USBSSP DRD IP DRIVER
  M:    Pawel Laszczak <[email protected]>
  L:    [email protected]
@@@ -5150,13 -5195,6 +5150,13 @@@ S:    Maintaine
  F:    drivers/cxl/
  F:    include/uapi/linux/cxl_mem.h
  
 +COMPUTE EXPRESS LINK PMU (CPMU)
 +M:    Jonathan Cameron <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/admin-guide/perf/cxl.rst
 +F:    drivers/perf/cxl_pmu.c
 +
  CONEXANT ACCESSRUNNER USB DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -5313,11 -5351,11 +5313,11 @@@ M:   Peter Zijlstra <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git smp/core
 -F:    kernel/cpu.c
 -F:    kernel/smpboot.*
  F:    include/linux/cpu.h
  F:    include/linux/cpuhotplug.h
  F:    include/linux/smpboot.h
 +F:    kernel/cpu.c
 +F:    kernel/smpboot.*
  
  CPU IDLE TIME MANAGEMENT FRAMEWORK
  M:    "Rafael J. Wysocki" <[email protected]>
@@@ -5687,7 -5725,10 +5687,7 @@@ DC395x SCSI drive
  M:    Oliver Neukum <[email protected]>
  M:    Ali Akcaagac <[email protected]>
  M:    Jamie Lenehan <[email protected]>
 -L:    [email protected]
  S:    Maintained
 -W:    http://twibble.org/dist/dc395x/
 -W:    http://lists.twibble.org/mailman/listinfo/dc395x/
  F:    Documentation/scsi/dc395x.rst
  F:    drivers/scsi/dc395x.*
  
@@@ -5705,8 -5746,8 +5705,8 @@@ M:      Thomas Gleixner <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/debugobjects
 -F:    lib/debugobjects.c
  F:    include/linux/debugobjects.h
 +F:    lib/debugobjects.c
  
  DECSTATION PLATFORM SUPPORT
  M:    "Maciej W. Rozycki" <[email protected]>
@@@ -5797,7 -5838,6 +5797,7 @@@ M:      Armin Wolf <[email protected]
  S:    Maintained
  F:    Documentation/ABI/testing/debugfs-dell-wmi-ddv
  F:    Documentation/ABI/testing/sysfs-platform-dell-wmi-ddv
 +F:    Documentation/wmi/devices/dell-wmi-ddv.rst
  F:    drivers/platform/x86/dell/dell-wmi-ddv.c
  
  DELL WMI DESCRIPTOR DRIVER
@@@ -5862,9 -5902,7 +5862,9 @@@ S:      Orpha
  F:    drivers/mtd/nand/raw/denali*
  
  DESIGNWARE EDMA CORE IP DRIVER
 -M:    Gustavo Pimentel <[email protected]>
 +M:    Manivannan Sadhasivam <[email protected]>
 +R:    Gustavo Pimentel <[email protected]>
 +R:    Serge Semin <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/dma/dw-edma/
@@@ -5981,15 -6019,15 +5981,15 @@@ DH ELECTRONICS IMX6 DHCOM/DHCOR BOARD S
  M:    Christoph Niedermaier <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    arch/arm/boot/dts/imx6*-dhcom-*
 -F:    arch/arm/boot/dts/imx6*-dhcor-*
 +F:    arch/arm/boot/dts/nxp/imx/imx6*-dhcom-*
 +F:    arch/arm/boot/dts/nxp/imx/imx6*-dhcor-*
  
  DH ELECTRONICS STM32MP1 DHCOM/DHCOR BOARD SUPPORT
  M:    Marek Vasut <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    arch/arm/boot/dts/stm32mp1*-dhcom-*
 -F:    arch/arm/boot/dts/stm32mp1*-dhcor-*
 +F:    arch/arm/boot/dts/st/stm32mp1*-dhcom-*
 +F:    arch/arm/boot/dts/st/stm32mp1*-dhcor-*
  
  DIALOG SEMICONDUCTOR DRIVERS
  M:    Support Opensource <[email protected]>
@@@ -6204,9 -6242,9 +6204,9 @@@ X:      Documentation/userspace-api/media
  
  DOCUMENTATION PROCESS
  M:    Jonathan Corbet <[email protected]>
 +L:    [email protected]
  S:    Maintained
  F:    Documentation/process/
 -L:    [email protected]
  
  DOCUMENTATION REPORTING ISSUES
  M:    Thorsten Leemhuis <[email protected]>
@@@ -6564,7 -6602,6 +6564,7 @@@ M:      Rob Clark <[email protected]
  M:    Abhinav Kumar <[email protected]>
  M:    Dmitry Baryshkov <[email protected]>
  R:    Sean Paul <[email protected]>
 +R:    Marijn Suijten <[email protected]>
  L:    [email protected]
  L:    [email protected]
  L:    [email protected]
@@@ -6685,12 -6722,6 +6685,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/display/panel/samsung,s6d27a1.yaml
  F:    drivers/gpu/drm/panel/panel-samsung-s6d27a1.c
  
 +DRM DRIVER FOR SAMSUNG S6D7AA0 PANELS
 +M:    Artur Weber <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/panel/samsung,s6d7aa0.yaml
 +F:    drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
 +
  DRM DRIVER FOR SITRONIX ST7586 PANELS
  M:    David Lechner <[email protected]>
  S:    Maintained
@@@ -6763,7 -6794,6 +6763,7 @@@ F:      drivers/gpu/drm/udl
  DRM DRIVER FOR VIRTUAL KERNEL MODESETTING (VKMS)
  M:    Rodrigo Siqueira <[email protected]>
  M:    Melissa Wen <[email protected]>
 +M:    Maíra Canal <[email protected]>
  R:    Haneen Mohammed <[email protected]>
  R:    Daniel Vetter <[email protected]>
  L:    [email protected]
@@@ -6866,7 -6896,6 +6866,7 @@@ S:      Maintaine
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    Documentation/devicetree/bindings/display/bridge/
  F:    drivers/gpu/drm/bridge/
 +F:    drivers/gpu/drm/drm_bridge.c
  F:    include/drm/drm_bridge.h
  
  DRM DRIVERS FOR EXYNOS
@@@ -6975,7 -7004,8 +6975,7 @@@ F:      Documentation/devicetree/bindings/di
  F:    Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml
  F:    Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
  F:    Documentation/devicetree/bindings/display/renesas,du.yaml
 -F:    drivers/gpu/drm/rcar-du/
 -F:    drivers/gpu/drm/shmobile/
 +F:    drivers/gpu/drm/renesas/
  F:    include/linux/platform_data/shmob_drm.h
  
  DRM DRIVERS FOR ROCKCHIP
@@@ -7071,6 -7101,7 +7071,6 @@@ F:      Documentation/gpu/xen-front.rs
  F:    drivers/gpu/drm/xen/
  
  DRM DRIVERS FOR XILINX
 -M:    Hyun Kwon <[email protected]>
  M:    Laurent Pinchart <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -8674,9 -8705,6 +8674,9 @@@ F:      drivers/input/touchscreen/resistive-
  GENERIC STRING LIBRARY
  R:    Andy Shevchenko <[email protected]>
  S:    Maintained
 +F:    include/linux/string.h
 +F:    include/linux/string_choices.h
 +F:    include/linux/string_helpers.h
  F:    lib/string.c
  F:    lib/string_helpers.c
  F:    lib/test-string_helpers.c
  S:    Maintained
  F:    drivers/hid/hid-logitech-*
  
 +HID NVIDIA SHIELD DRIVER
 +M:    Rahul Rameshbabu <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hid/hid-nvidia-shield.c
 +
  HID PHOENIX RC FLIGHT CONTROLLER
  M:    Marcus Folkesson <[email protected]>
  L:    [email protected]
@@@ -9439,13 -9461,6 +9439,13 @@@ F:    lib/test_hmm
  F:    mm/hmm*
  F:    tools/testing/selftests/mm/*hmm*
  
 +HONEYWELL MPRLS0025PA PRESSURE SENSOR SERIES IIO DRIVER
 +M:    Andreas Klinger <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
 +F:    drivers/iio/pressure/mprls0025pa.c
 +
  HOST AP DRIVER
  M:    Jouni Malinen <[email protected]>
  L:    [email protected]
  S:    Orphan
  F:    drivers/platform/x86/hp/tc1100-wmi.c
  
 +HP WMI HARDWARE MONITOR DRIVER
 +M:    James Seo <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/hp-wmi-sensors.rst
 +F:    drivers/hwmon/hp-wmi-sensors.c
 +
  HPET: High Precision Event Timers driver
  M:    Clemens Ladisch <[email protected]>
  S:    Maintained
  S:    Maintained
  F:    drivers/video/fbdev/i810/
  
 +INTEL 8254 COUNTER DRIVER
 +M:    William Breathitt Gray <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/counter/i8254.c
 +F:    include/linux/i8254.h
 +
  INTEL 8255 GPIO DRIVER
  M:    William Breathitt Gray <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/admin-guide/media/ipu3.rst
  F:    Documentation/admin-guide/media/ipu3_rcb.svg
 -F:    Documentation/userspace-api/media/v4l/pixfmt-meta-intel-ipu3.rst
 +F:    Documentation/userspace-api/media/v4l/metafmt-intel-ipu3.rst
  F:    drivers/staging/media/ipu3/
  
  INTEL ISHTP ECLITE DRIVER
@@@ -10846,6 -10847,7 +10846,6 @@@ S:   Maintaine
  F:    drivers/net/ethernet/sgi/ioc3-eth.c
  
  IOMAP FILESYSTEM LIBRARY
 -M:    Christoph Hellwig <[email protected]>
  M:    Darrick J. Wong <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -11417,6 -11419,7 +11417,6 @@@ F:   tools/testing/selftests/kvm/aarch64
  
  KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
  M:    Huacai Chen <[email protected]>
 -M:    Aleksandar Markovic <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -11426,13 -11429,7 +11426,13 @@@ F: arch/mips/include/uapi/asm/kvm
  F:    arch/mips/kvm/
  
  KERNEL VIRTUAL MACHINE FOR POWERPC (KVM/powerpc)
 +M:    Michael Ellerman <[email protected]>
 +R:    Nicholas Piggin <[email protected]>
  L:    [email protected]
 +L:    [email protected]
 +S:    Maintained (Book3S 64-bit HV)
 +S:    Odd fixes (Book3S 64-bit PR)
 +S:    Orphan (Book3E and 32-bit)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git topic/ppc-kvm
  F:    arch/powerpc/include/asm/kvm*
  F:    arch/powerpc/include/uapi/asm/kvm*
@@@ -11478,7 -11475,6 +11478,7 @@@ M:   Sean Christopherson <[email protected]
  M:    Paolo Bonzini <[email protected]>
  L:    [email protected]
  S:    Supported
 +P:    Documentation/process/maintainer-kvm-x86.rst
  T:    git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
  F:    arch/x86/include/asm/kvm*
  F:    arch/x86/include/asm/svm.h
@@@ -11795,7 -11791,7 +11795,7 @@@ LEGO MINDSTORMS EV
  R:    David Lechner <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/power/supply/lego,ev3-battery.yaml
 -F:    arch/arm/boot/dts/da850-lego-ev3.dts
 +F:    arch/arm/boot/dts/ti/davinci/da850-lego-ev3.dts
  F:    drivers/power/supply/lego_ev3_battery.c
  
  LEGO USB Tower driver
@@@ -11966,12 -11962,11 +11966,12 @@@ F:        lib/linear_ranges.
  F:    lib/test_linear_ranges.c
  
  LINUX FOR POWER MACINTOSH
 -M:    Benjamin Herrenschmidt <[email protected]>
  L:    [email protected]
 -S:    Odd Fixes
 +S:    Orphan
  F:    arch/powerpc/platforms/powermac/
  F:    drivers/macintosh/
 +X:    drivers/macintosh/adb-iop.c
 +X:    drivers/macintosh/via-macii.c
  
  LINUX FOR POWERPC (32-BIT AND 64-BIT)
  M:    Michael Ellerman <[email protected]>
@@@ -12069,13 -12064,6 +12069,13 @@@ F: Documentation/litmus-tests
  F:    Documentation/memory-barriers.txt
  F:    tools/memory-model/
  
 +LINUX-NEXT TREE
 +M:    Stephen Rothwell <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +B:    mailto:[email protected] and the appropriate development tree
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/
 +
  LIS3LV02D ACCELEROMETER DRIVER
  M:    Eric Piel <[email protected]>
  S:    Maintained
@@@ -12683,15 -12671,6 +12683,15 @@@ F: Documentation/userspace-api/media/dr
  F:    drivers/media/i2c/max2175*
  F:    include/uapi/linux/max2175.h
  
 +MAX31827 TEMPERATURE SWITCH DRIVER
 +M:    Daniel Matyas <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +W:    http://ez.analog.com/community/linux-device-drivers
 +F:    Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
 +F:    Documentation/hwmon/max31827.rst
 +F:    drivers/hwmon/max31827.c
 +
  MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -13320,12 -13299,6 +13320,12 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml
  F:    drivers/i2c/busses/i2c-mt7621.c
  
 +MEDIATEK MTMIPS CLOCK DRIVER
 +M:    Sergio Paracuellos <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/clock/mediatek,mtmips-sysc.yaml
 +F:    drivers/clk/ralink/clk-mtmips.c
 +
  MEDIATEK NAND CONTROLLER DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -13721,7 -13694,6 +13721,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    Documentation/ABI/stable/sysfs-bus-mhi
  F:    Documentation/mhi/
  F:    drivers/bus/mhi/
 +F:    drivers/pci/endpoint/functions/pci-epf-mhi.c
  F:    include/linux/mhi.h
  
  MICROBLAZE ARCHITECTURE
@@@ -13804,7 -13776,6 +13804,7 @@@ MICROCHIP EIC DRIVE
  M:    Claudiu Beznea <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
 +F:    Documentation/devicetree/bindings/interrupt-controller/microchip,sama7g5-eic.yaml
  F:    drivers/irqchip/irq-mchp-eic.c
  
  MICROCHIP I2C DRIVER
@@@ -13958,7 -13929,6 +13958,7 @@@ F:   include/dt-bindings/iio/adc/at91-sam
  MICROCHIP SAMA5D2-COMPATIBLE SHUTDOWN CONTROLLER
  M:    Claudiu Beznea <[email protected]>
  S:    Supported
 +F:    Documentation/devicetree/bindings/power/reset/atmel,sama5d2-shdwc.yaml
  F:    drivers/power/reset/at91-sama5d2_shdwc.c
  
  MICROCHIP SOC DRIVERS
@@@ -14132,12 -14102,12 +14132,12 @@@ MIKROTIK CRS3XX 98DX3236 BOARD SUPPOR
  M:    Luka Kovacic <[email protected]>
  M:    Luka Perkov <[email protected]>
  S:    Maintained
 -F:    arch/arm/boot/dts/armada-xp-crs305-1g-4s-bit.dts
 -F:    arch/arm/boot/dts/armada-xp-crs305-1g-4s.dts
 -F:    arch/arm/boot/dts/armada-xp-crs326-24g-2s-bit.dts
 -F:    arch/arm/boot/dts/armada-xp-crs326-24g-2s.dts
 -F:    arch/arm/boot/dts/armada-xp-crs328-4c-20s-4s-bit.dts
 -F:    arch/arm/boot/dts/armada-xp-crs328-4c-20s-4s.dts
 +F:    arch/arm/boot/dts/marvell/armada-xp-crs305-1g-4s-bit.dts
 +F:    arch/arm/boot/dts/marvell/armada-xp-crs305-1g-4s.dts
 +F:    arch/arm/boot/dts/marvell/armada-xp-crs326-24g-2s-bit.dts
 +F:    arch/arm/boot/dts/marvell/armada-xp-crs326-24g-2s.dts
 +F:    arch/arm/boot/dts/marvell/armada-xp-crs328-4c-20s-4s-bit.dts
 +F:    arch/arm/boot/dts/marvell/armada-xp-crs328-4c-20s-4s.dts
  
  MIPI CCS, SMIA AND SMIA++ IMAGE SENSOR DRIVER
  M:    Sakari Ailus <[email protected]>
@@@ -14240,7 -14210,7 +14240,7 @@@ R:   Lubomir Rintel <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Odd Fixes
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lkundrak/linux-mmp.git
 -F:    arch/arm/boot/dts/mmp*
 +F:    arch/arm/boot/dts/marvell/mmp*
  F:    arch/arm/mach-mmp/
  F:    include/linux/soc/mmp/
  
@@@ -14668,6 -14638,7 +14668,6 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    Documentation/devicetree/bindings/net/
  F:    drivers/connector/
  F:    drivers/net/
 -X:    drivers/net/wireless/
  F:    include/dt-bindings/net/
  F:    include/linux/etherdevice.h
  F:    include/linux/fcdevice.h
@@@ -14678,7 -14649,6 +14678,7 @@@ F:   include/linux/inetdevice.
  F:    include/linux/netdevice.h
  F:    include/uapi/linux/if_*
  F:    include/uapi/linux/netdevice.h
 +X:    drivers/net/wireless/
  
  NETWORKING DRIVERS (WIRELESS)
  M:    Kalle Valo <[email protected]>
@@@ -14733,9 -14703,9 +14733,9 @@@ F:   include/uapi/linux/netdevice.
  F:    lib/net_utils.c
  F:    lib/random32.c
  F:    net/
 -X:    net/bluetooth/
  F:    tools/net/
  F:    tools/testing/selftests/net/
 +X:    net/bluetooth/
  
  NETWORKING [IPSEC]
  M:    Steffen Klassert <[email protected]>
@@@ -15010,7 -14980,7 +15010,7 @@@ M:   Allen Hubbe <[email protected]
  L:    [email protected]
  S:    Supported
  W:    https://github.com/jonmason/ntb/wiki
 -T:    git git://github.com/jonmason/ntb.git
 +T:    git https://github.com/jonmason/ntb.git
  F:    drivers/net/ntb_netdev.c
  F:    drivers/ntb/
  F:    drivers/pci/endpoint/functions/pci-epf-*ntb.c
@@@ -15373,7 -15343,13 +15373,7 @@@ M:  Tony Lindgren <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 -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/*omap*
 -F:    arch/arm/boot/dts/logicpd-som-lv*
 -F:    arch/arm/boot/dts/logicpd-torpedo*
 +F:    arch/arm/boot/dts/ti/omap/
  
  OMAP DISPLAY SUBSYSTEM and FRAMEBUFFER SUPPORT (DSS2)
  L:    [email protected]
@@@ -15481,7 -15457,7 +15481,7 @@@ OMAP/NEWFLOW NANOBONE MACHINE SUPPOR
  M:    Mark Jackson <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    arch/arm/boot/dts/am335x-nano.dts
 +F:    arch/arm/boot/dts/ti/omap/am335x-nano.dts
  
  OMAP1 SUPPORT
  M:    Aaro Koskinen <[email protected]>
@@@ -15508,7 -15484,6 +15508,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    arch/arm/configs/omap2plus_defconfig
  F:    arch/arm/mach-omap2/
  F:    drivers/bus/ti-sysc.c
 +F:    drivers/gpio/gpio-tps65219.c
  F:    drivers/i2c/busses/i2c-omap.c
  F:    drivers/irqchip/irq-omap-intc.c
  F:    drivers/mfd/*omap*.c
  S:    Maintained
  F:    drivers/media/i2c/og01a1b.c
  
 +OMNIVISION OV01A10 SENSOR DRIVER
 +M:    Bingbu Cao <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    drivers/media/i2c/ov01a10.c
 +
  OMNIVISION OV02A10 SENSOR DRIVER
  M:    Dongchun Zhu <[email protected]>
  L:    [email protected]
@@@ -15901,7 -15869,7 +15901,7 @@@ ORACLE CLUSTER FILESYSTEM 2 (OCFS2
  M:    Mark Fasheh <[email protected]>
  M:    Joel Becker <[email protected]>
  M:    Joseph Qi <[email protected]>
 -L:    ocfs2-devel@oss.oracle.com (moderated for non-subscribers)
 +L:    ocfs2-devel@lists.linux.dev
  S:    Supported
  W:    http://ocfs2.wiki.kernel.org
  F:    Documentation/filesystems/dlmfs.rst
@@@ -15936,7 -15904,6 +15936,7 @@@ F:   include/media/i2c/ov2659.
  
  OVERLAY FILESYSTEM
  M:    Miklos Szeredi <[email protected]>
 +M:    Amir Goldstein <[email protected]>
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git
@@@ -16555,10 -16522,6 +16555,10 @@@ S: Maintaine
  F:    crypto/pcrypt.c
  F:    include/crypto/pcrypt.h
  
 +PDS DSC VIRTIO DATA PATH ACCELERATOR
 +R:    Shannon Nelson <[email protected]>
 +F:    drivers/vdpa/pds/
 +
  PECI HARDWARE MONITORING DRIVERS
  M:    Iwona Winiarska <[email protected]>
  L:    [email protected]
@@@ -16786,7 -16749,7 +16786,7 @@@ PIN CONTROLLER - QUALCOM
  M:    Bjorn Andersson <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/pinctrl/qcom,*.txt
 +F:    Documentation/devicetree/bindings/pinctrl/qcom,*
  F:    drivers/pinctrl/qcom/
  
  PIN CONTROLLER - RENESAS
  S:    Maintained
  T:    git git://github.com/hzhuang1/linux.git
  T:    git git://github.com/rjarzmik/linux.git
 -F:    arch/arm/boot/dts/pxa*
 +F:    arch/arm/boot/dts/intel/pxa/
  F:    arch/arm/mach-pxa/
  F:    drivers/dma/pxa*
  F:    drivers/pcmcia/pxa2xx*
@@@ -17279,7 -17242,6 +17279,7 @@@ F:   sound/soc/codecs/wcd9335.
  F:    sound/soc/codecs/wcd934x.c
  F:    sound/soc/codecs/wsa881x.c
  F:    sound/soc/codecs/wsa883x.c
 +F:    sound/soc/codecs/wsa884x.c
  F:    sound/soc/qcom/
  
  QCOM EMBEDDED USB DEBUGGER (EUD)
@@@ -17498,8 -17460,6 +17498,8 @@@ F:   include/dt-bindings/clock/qcom,
  
  QUALCOMM CLOUD AI (QAIC) DRIVER
  M:    Jeffrey Hugo <[email protected]>
 +R:    Carl Vanderlip <[email protected]>
 +R:    Pranjal Ramajor Asha Kanojiya <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -17543,7 -17503,6 +17543,7 @@@ QUALCOMM ETHQOS ETHERNET DRIVE
  M:    Vinod Koul <[email protected]>
  R:    Bhupesh Sharma <[email protected]>
  L:    [email protected]
 +L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/qcom,ethqos.yaml
  F:    drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
@@@ -17653,18 -17612,9 +17653,18 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
  F:    drivers/thermal/qcom/
  
 +QUALCOMM TYPEC PORT MANAGER DRIVER
 +M:    Bryan O'Donoghue <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/usb/qcom,pmic-*.yaml
 +F:    drivers/usb/typec/tcpm/qcom/
 +
  QUALCOMM VENUS VIDEO ACCELERATOR DRIVER
  M:    Stanimir Varbanov <[email protected]>
  M:    Vikash Garodia <[email protected]>
 +R:    Bryan O'Donoghue <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -18179,13 -18129,6 +18179,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/clock/renesas,versaclock7.yaml
  F:    drivers/clk/clk-versaclock7.c
  
 +RENESAS X9250 DIGITAL POTENTIOMETERS DRIVER
 +M:    Herve Codina <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/potentiometer/renesas,x9250.yaml
 +F:    drivers/iio/potentiometer/x9250.c
 +
  RESET CONTROLLER FRAMEWORK
  M:    Philipp Zabel <[email protected]>
  S:    Maintained
@@@ -18281,7 -18224,6 +18281,7 @@@ F:   drivers/clk/microchip/clk-mpfs*.
  F:    drivers/i2c/busses/i2c-microchip-corei2c.c
  F:    drivers/mailbox/mailbox-mpfs.c
  F:    drivers/pci/controller/pcie-microchip-host.c
 +F:    drivers/pwm/pwm-microchip-core.c
  F:    drivers/reset/reset-mpfs.c
  F:    drivers/rtc/rtc-mpfs.c
  F:    drivers/soc/microchip/mpfs-sys-controller.c
@@@ -18298,8 -18240,6 +18298,8 @@@ Q:   https://patchwork.kernel.org/project
  T:    git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
  F:    Documentation/devicetree/bindings/riscv/
  F:    arch/riscv/boot/dts/
 +X:    arch/riscv/boot/dts/allwinner/
 +X:    arch/riscv/boot/dts/renesas/
  
  RISC-V PMU DRIVERS
  M:    Atish Patra <[email protected]>
@@@ -18310,14 -18250,6 +18310,14 @@@ F: drivers/perf/riscv_pmu.
  F:    drivers/perf/riscv_pmu_legacy.c
  F:    drivers/perf/riscv_pmu_sbi.c
  
 +RISC-V THEAD SoC SUPPORT
 +M:    Jisheng Zhang <[email protected]>
 +M:    Guo Ren <[email protected]>
 +M:    Fu Wei <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    arch/riscv/boot/dts/thead/
 +
  RNBD BLOCK DRIVERS
  M:    Md. Haris Iqbal <[email protected]>
  M:    Jack Wang <[email protected]>
  S:    Maintained
  F:    Documentation/admin-guide/media/rkisp1.rst
  F:    Documentation/devicetree/bindings/media/rockchip-isp1.yaml
 -F:    Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst
 +F:    Documentation/userspace-api/media/v4l/metafmt-rkisp1.rst
  F:    drivers/media/platform/rockchip/rkisp1
  F:    include/uapi/linux/rkisp1-config.h
  
@@@ -18399,11 -18331,10 +18399,11 @@@ S:        Maintaine
  F:    Documentation/devicetree/bindings/iio/light/bh1750.yaml
  F:    drivers/iio/light/bh1750.c
  
 -ROHM BU27034 AMBIENT LIGHT SENSOR DRIVER
 +ROHM BU270xx LIGHT SENSOR DRIVERs
  M:    Matti Vaittinen <[email protected]>
  L:    [email protected]
  S:    Supported
 +F:    drivers/iio/light/rohm-bu27008.c
  F:    drivers/iio/light/rohm-bu27034.c
  
  ROHM MULTIFUNCTION BD9571MWV-M PMIC DEVICE DRIVERS
@@@ -18902,7 -18833,7 +18902,7 @@@ SANCLOUD BEAGLEBONE ENHANCED DEVICE TRE
  M:    Paul Barker <[email protected]>
  R:    Marc Murphy <[email protected]>
  S:    Supported
 -F:    arch/arm/boot/dts/am335x-sancloud*
 +F:    arch/arm/boot/dts/ti/omap/am335x-sancloud*
  
  SC1200 WDT DRIVER
  M:    Zwane Mwaikambo <[email protected]>
@@@ -18929,16 -18860,6 +18929,16 @@@ F: include/linux/wait.
  F:    include/uapi/linux/sched.h
  F:    kernel/sched/
  
 +SCSI LIBSAS SUBSYSTEM
 +R:    John Garry <[email protected]>
 +R:    Jason Yan <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/scsi/libsas.rst
 +F:    drivers/scsi/libsas/
 +F:    include/scsi/libsas.h
 +F:    include/scsi/sas_ata.h
 +
  SCSI RDMA PROTOCOL (SRP) INITIATOR
  M:    Bart Van Assche <[email protected]>
  L:    [email protected]
@@@ -19067,7 -18988,7 +19067,7 @@@ K:   \bsecure_computin
  K:    \bTIF_SECCOMP\b
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) Broadcom BRCMSTB DRIVER
 -M:    Kamal Dasu <kdasu.kdev@gmail.com>
 +M:    Kamal Dasu <kamal.dasu@broadcom.com>
  M:    Al Cooper <[email protected]>
  R:    Broadcom internal kernel review list <[email protected]>
  L:    [email protected]
@@@ -19741,15 -19662,15 +19741,15 @@@ F:        include/uapi/linux/raid
  SOLIDRUN CLEARFOG SUPPORT
  M:    Russell King <[email protected]>
  S:    Maintained
 -F:    arch/arm/boot/dts/armada-388-clearfog*
 -F:    arch/arm/boot/dts/armada-38x-solidrun-*
 +F:    arch/arm/boot/dts/marvell/armada-388-clearfog*
 +F:    arch/arm/boot/dts/marvell/armada-38x-solidrun-*
  
  SOLIDRUN CUBOX-I/HUMMINGBOARD SUPPORT
  M:    Russell King <[email protected]>
  S:    Maintained
 -F:    arch/arm/boot/dts/imx6*-cubox-i*
 -F:    arch/arm/boot/dts/imx6*-hummingboard*
 -F:    arch/arm/boot/dts/imx6*-sr-*
 +F:    arch/arm/boot/dts/nxp/imx/imx6*-cubox-i*
 +F:    arch/arm/boot/dts/nxp/imx/imx6*-hummingboard*
 +F:    arch/arm/boot/dts/nxp/imx/imx6*-sr-*
  
  SONIC NETWORK DRIVER
  M:    Thomas Bogendoerfer <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  W:    http://www.st.com/spear
 -F:    arch/arm/boot/dts/spear*
 +F:    arch/arm/boot/dts/st/spear*
  F:    arch/arm/mach-spear/
  F:    drivers/clk/spear/
  F:    drivers/pinctrl/spear/
@@@ -20247,13 -20168,6 +20247,13 @@@ M: Ion Badulescu <[email protected]
  S:    Odd Fixes
  F:    drivers/net/ethernet/adaptec/starfire*
  
 +STARFIVE CRYPTO DRIVER
 +M:    Jia Jie Ho <[email protected]>
 +M:    William Qiu <[email protected]>
 +S:    Supported
 +F:    Documentation/devicetree/bindings/crypto/starfive*
 +F:    drivers/crypto/starfive/
 +
  STARFIVE DEVICETREES
  M:    Emil Renner Berthing <[email protected]>
  S:    Maintained
@@@ -20272,12 -20186,6 +20272,12 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/mmc/starfive*
  F:    drivers/mmc/host/dw_mmc-starfive.c
  
 +STARFIVE JH7110 TDM DRIVER
 +M:    Walker Chen <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/starfive,jh7110-tdm.yaml
 +F:    sound/soc/starfive/jh7110_tdm.c
 +
  STARFIVE JH71X0 CLOCK DRIVERS
  M:    Emil Renner Berthing <[email protected]>
  M:    Hal Feng <[email protected]>
@@@ -20304,12 -20212,6 +20304,12 @@@ F: Documentation/devicetree/bindings/re
  F:    drivers/reset/starfive/reset-starfive-jh71*
  F:    include/dt-bindings/reset/starfive?jh71*.h
  
 +STARFIVE JH71X0 USB DRIVERS
 +M:    Minda Chen <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/usb/starfive,jh7110-usb.yaml
 +F:    drivers/usb/cdns3/cdns3-starfive.c
 +
  STARFIVE JH71XX PMU CONTROLLER DRIVER
  M:    Walker Chen <[email protected]>
  S:    Supported
@@@ -21003,13 -20905,10 +21003,13 @@@ TEGRA VIDEO DRIVE
  M:    Thierry Reding <[email protected]>
  M:    Jonathan Hunter <[email protected]>
  M:    Sowjanya Komatineni <[email protected]>
 +M:    Luca Ceresoli <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
 +F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
 +F:    Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vip.yaml
  F:    drivers/staging/media/tegra-video/
  
  TEGRA XUSB PADCTL DRIVER
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
  F:    Documentation/devicetree/bindings/i2c/i2c-davinci.txt
 -F:    arch/arm/boot/dts/da850*
 +F:    arch/arm/boot/dts/ti/davinci/
  F:    arch/arm/mach-davinci/
  F:    drivers/i2c/busses/i2c-davinci.c
  
@@@ -22104,7 -22003,6 +22104,7 @@@ F:   drivers/usb
  F:    include/dt-bindings/usb/
  F:    include/linux/usb.h
  F:    include/linux/usb/
 +F:    include/uapi/linux/usb/
  
  USB TYPEC BUS FOR ALTERNATE MODES
  M:    Heikki Krogerus <[email protected]>
@@@ -22279,13 -22177,6 +22279,13 @@@ F: Documentation/filesystems/vfat.rs
  F:    fs/fat/
  F:    tools/testing/selftests/filesystems/fat/
  
 +VFIO CDX DRIVER
 +M:    Nipun Gupta <[email protected]>
 +M:    Nikhil Agarwal <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/vfio/cdx/*
 +
  VFIO DRIVER
  M:    Alex Williamson <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/video/fbdev/via/
  F:    include/linux/via-core.h
 -F:    include/linux/via-gpio.h
  F:    include/linux/via_i2c.h
  
  VIA VELOCITY NETWORK DRIVER
  S:    Maintained
  F:    fs/vboxsf/*
  
 +VIRTUAL PCM TEST DRIVER
 +M:    Ivan Orlov <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/sound/cards/pcmtest.rst
 +F:    sound/drivers/pcmtest.c
 +F:    tools/testing/selftests/alsa/test-pcmtest-driver.c
 +
  VIRTUAL SERIO DEVICE DRIVER
  M:    Stephen Chandler Paul <[email protected]>
  S:    Maintained
  S:    Odd fixes
  F:    drivers/net/wireless/legacy/wl3501*
  
 +WMI BINARY MOF DRIVER
 +L:    [email protected]
 +S:    Orphan
 +F:    Documentation/ABI/stable/sysfs-platform-wmi-bmof
 +F:    Documentation/wmi/devices/wmi-bmof.rst
 +F:    drivers/platform/x86/wmi-bmof.c
 +
  WOLFSON MICROELECTRONICS DRIVERS
  L:    [email protected]
  S:    Supported
@@@ -23334,7 -23211,7 +23334,7 @@@ F:   Documentation/devicetree/bindings/ii
  F:    drivers/iio/adc/xilinx-ams.c
  
  XILINX AXI ETHERNET DRIVER
 -M:    Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
 +M:    Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
  F:    drivers/net/ethernet/xilinx/xilinx_axienet*
@@@ -23354,8 -23231,8 +23354,8 @@@ F:   drivers/soc/xilinx/xlnx_event_manage
  F:    include/linux/firmware/xlnx-event-manager.h
  
  XILINX GPIO DRIVER
 -M:    Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
 -R:    Srinivas Neeli <srinivas.neeli@xilinx.com>
 +M:    Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
 +R:    Srinivas Neeli <srinivas.neeli@amd.com>
  R:    Michal Simek <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/gpio/gpio-zynq.yaml
@@@ -23370,8 -23247,8 +23370,8 @@@ F:   drivers/pwm/pwm-xilinx.
  F:    include/clocksource/timer-xilinx.h
  
  XILINX SD-FEC IP CORES
 -M:    Derek Kiernan <derek.kiernan@xilinx.com>
 -M:    Dragan Cvetic <dragan.cvetic@xilinx.com>
 +M:    Derek Kiernan <derek.kiernan@amd.com>
 +M:    Dragan Cvetic <dragan.cvetic@amd.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/misc/xlnx,sd-fec.txt
  F:    Documentation/misc-devices/xilinx_sdfec.rst
@@@ -23387,6 -23264,7 +23387,6 @@@ S:   Maintaine
  F:    drivers/tty/serial/uartlite.c
  
  XILINX VIDEO IP CORES
 -M:    Hyun Kwon <[email protected]>
  M:    Laurent Pinchart <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -23400,10 -23278,8 +23400,10 @@@ M: Srinivas Neeli <[email protected]
  R:    Shubhrajyoti Datta <[email protected]>
  R:    Michal Simek <[email protected]>
  S:    Maintained
 +F:    Documentation/devicetree/bindings/watchdog/xlnx,versal-wwdt.yaml
  F:    Documentation/devicetree/bindings/watchdog/xlnx,xps-timebase-wdt.yaml
  F:    drivers/watchdog/of_xilinx_wdt.c
 +F:    drivers/watchdog/xilinx_wwdt.c
  
  XILINX XDMA DRIVER
  M:    Lizhi Hou <[email protected]>
@@@ -23417,6 -23293,7 +23417,6 @@@ F:   include/linux/dma/amd_xdma.
  F:    include/linux/platform_data/amd_xdma.h
  
  XILINX ZYNQMP DPDMA DRIVER
 -M:    Hyun Kwon <[email protected]>
  M:    Laurent Pinchart <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -23432,6 -23309,7 +23432,6 @@@ F:   Documentation/devicetree/bindings/me
  F:    drivers/edac/zynqmp_edac.c
  
  XILINX ZYNQMP PSGTR PHY DRIVER
 -M:    Anurag Kumar Vulisha <[email protected]>
  M:    Laurent Pinchart <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -23440,7 -23318,7 +23440,7 @@@ F:   Documentation/devicetree/bindings/ph
  F:    drivers/phy/xilinx/phy-zynqmp.c
  
  XILINX ZYNQMP SHA3 DRIVER
 -M:    Harsha <harsha.harsha@xilinx.com>
 +M:    Harsha <harsha.harsha@amd.com>
  S:    Maintained
  F:    drivers/crypto/xilinx/zynqmp-sha.c
  
index 3930e676436c914b675227ce5ef1c4eb4ec7df5e,36de9ebec440964bf3460d3a0c20a5450f3050bf..e66d04dbe56a0a8e3e42ab42641fdf6e4db0ad3e
@@@ -318,7 -318,6 +318,7 @@@ enum 
        TRACE_EVENT_FL_KPROBE_BIT,
        TRACE_EVENT_FL_UPROBE_BIT,
        TRACE_EVENT_FL_EPROBE_BIT,
 +      TRACE_EVENT_FL_FPROBE_BIT,
        TRACE_EVENT_FL_CUSTOM_BIT,
  };
  
   *  KPROBE        - Event is a kprobe
   *  UPROBE        - Event is a uprobe
   *  EPROBE        - Event is an event probe
 + *  FPROBE        - Event is an function probe
   *  CUSTOM        - Event is a custom event (to be attached to an exsiting tracepoint)
   *                   This is set when the custom event has not been attached
   *                   to a tracepoint yet, then it is cleared when it is.
@@@ -348,7 -346,6 +348,7 @@@ enum 
        TRACE_EVENT_FL_KPROBE           = (1 << TRACE_EVENT_FL_KPROBE_BIT),
        TRACE_EVENT_FL_UPROBE           = (1 << TRACE_EVENT_FL_UPROBE_BIT),
        TRACE_EVENT_FL_EPROBE           = (1 << TRACE_EVENT_FL_EPROBE_BIT),
 +      TRACE_EVENT_FL_FPROBE           = (1 << TRACE_EVENT_FL_FPROBE_BIT),
        TRACE_EVENT_FL_CUSTOM           = (1 << TRACE_EVENT_FL_CUSTOM_BIT),
  };
  
@@@ -867,7 -864,8 +867,8 @@@ extern int  perf_uprobe_init(struct per
  extern void perf_uprobe_destroy(struct perf_event *event);
  extern int bpf_get_uprobe_info(const struct perf_event *event,
                               u32 *fd_type, const char **filename,
-                              u64 *probe_offset, bool perf_type_tracepoint);
+                              u64 *probe_offset, u64 *probe_addr,
+                              bool perf_type_tracepoint);
  #endif
  extern int  ftrace_profile_set_filter(struct perf_event *event, int event_id,
                                     char *filter_str);
diff --combined kernel/bpf/btf.c
index 817204d5337235d256d55f8a7eb488cad7463e5b,a542760c807a933399a0bc26919748ea2bf83d7a..ef9581a580e2810362b013e1ec3c4fe3749fa284
@@@ -6133,8 -6133,9 +6133,9 @@@ static int btf_struct_walk(struct bpf_v
        const char *tname, *mname, *tag_value;
        u32 vlen, elem_id, mid;
  
-       *flag = 0;
  again:
+       if (btf_type_is_modifier(t))
+               t = btf_type_skip_modifiers(btf, t->type, NULL);
        tname = __btf_name_by_offset(btf, t->name_off);
        if (!btf_type_is_struct(t)) {
                bpf_log(log, "Type '%s' is not a struct\n", tname);
        }
  
        vlen = btf_type_vlen(t);
+       if (BTF_INFO_KIND(t->info) == BTF_KIND_UNION && vlen != 1 && !(*flag & PTR_UNTRUSTED))
+               /*
+                * walking unions yields untrusted pointers
+                * with exception of __bpf_md_ptr and other
+                * unions with a single member
+                */
+               *flag |= PTR_UNTRUSTED;
        if (off + size > t->size) {
                /* If the last element is a variable size array, we may
                 * need to relax the rule.
@@@ -6302,15 -6311,6 +6311,6 @@@ error
                 * of this field or inside of this struct
                 */
                if (btf_type_is_struct(mtype)) {
-                       if (BTF_INFO_KIND(mtype->info) == BTF_KIND_UNION &&
-                           btf_type_vlen(mtype) != 1)
-                               /*
-                                * walking unions yields untrusted pointers
-                                * with exception of __bpf_md_ptr and other
-                                * unions with a single member
-                                */
-                               *flag |= PTR_UNTRUSTED;
                        /* our field must be inside that union or struct */
                        t = mtype;
  
                 * that also allows using an array of int as a scratch
                 * space. e.g. skb->cb[].
                 */
-               if (off + size > mtrue_end) {
+               if (off + size > mtrue_end && !(*flag & PTR_UNTRUSTED)) {
                        bpf_log(log,
                                "access beyond the end of member %s (mend:%u) in struct %s with off %u size %u\n",
                                mname, mtrue_end, tname, off, size);
@@@ -6476,7 -6476,7 +6476,7 @@@ bool btf_struct_ids_match(struct bpf_ve
                          bool strict)
  {
        const struct btf_type *type;
-       enum bpf_type_flag flag;
+       enum bpf_type_flag flag = 0;
        int err;
  
        /* Are we already done? */
@@@ -7891,8 -7891,10 +7891,8 @@@ static int __register_btf_kfunc_id_set(
                        pr_err("missing vmlinux BTF, cannot register kfuncs\n");
                        return -ENOENT;
                }
 -              if (kset->owner && IS_ENABLED(CONFIG_DEBUG_INFO_BTF_MODULES)) {
 -                      pr_err("missing module BTF, cannot register kfuncs\n");
 -                      return -ENOENT;
 -              }
 +              if (kset->owner && IS_ENABLED(CONFIG_DEBUG_INFO_BTF_MODULES))
 +                      pr_warn("missing module BTF, cannot register kfuncs\n");
                return 0;
        }
        if (IS_ERR(btf))
diff --combined kernel/bpf/verifier.c
index 930b5555cfd39b82650a659ae3dab36e85035215,584eb34dce8a8c4ed568e2be1472693be5d8d907..0b9da95331d797a2ed0998d02ba8533eafbd1b33
@@@ -25,6 -25,7 +25,7 @@@
  #include <linux/btf_ids.h>
  #include <linux/poison.h>
  #include <linux/module.h>
+ #include <linux/cpumask.h>
  
  #include "disasm.h"
  
@@@ -5642,9 -5643,8 +5643,9 @@@ continue_func
                                verbose(env, "verifier bug. subprog has tail_call and async cb\n");
                                return -EFAULT;
                        }
 -                       /* async callbacks don't increase bpf prog stack size */
 -                      continue;
 +                      /* async callbacks don't increase bpf prog stack size unless called directly */
 +                      if (!bpf_pseudo_call(insn + i))
 +                              continue;
                }
                i = next_insn;
  
@@@ -6067,6 -6067,11 +6068,11 @@@ static int check_ptr_to_btf_access(stru
                                   type_is_rcu_or_null(env, reg, field_name, btf_id)) {
                                /* __rcu tagged pointers can be NULL */
                                flag |= MEM_RCU | PTR_MAYBE_NULL;
+                               /* We always trust them */
+                               if (type_is_rcu_or_null(env, reg, field_name, btf_id) &&
+                                   flag & PTR_UNTRUSTED)
+                                       flag &= ~PTR_UNTRUSTED;
                        } else if (flag & (MEM_PERCPU | MEM_USER)) {
                                /* keep as-is */
                        } else {
@@@ -9117,19 -9122,33 +9123,33 @@@ static void do_refine_retval_range(stru
  {
        struct bpf_reg_state *ret_reg = &regs[BPF_REG_0];
  
-       if (ret_type != RET_INTEGER ||
-           (func_id != BPF_FUNC_get_stack &&
-            func_id != BPF_FUNC_get_task_stack &&
-            func_id != BPF_FUNC_probe_read_str &&
-            func_id != BPF_FUNC_probe_read_kernel_str &&
-            func_id != BPF_FUNC_probe_read_user_str))
+       if (ret_type != RET_INTEGER)
                return;
  
-       ret_reg->smax_value = meta->msize_max_value;
-       ret_reg->s32_max_value = meta->msize_max_value;
-       ret_reg->smin_value = -MAX_ERRNO;
-       ret_reg->s32_min_value = -MAX_ERRNO;
-       reg_bounds_sync(ret_reg);
+       switch (func_id) {
+       case BPF_FUNC_get_stack:
+       case BPF_FUNC_get_task_stack:
+       case BPF_FUNC_probe_read_str:
+       case BPF_FUNC_probe_read_kernel_str:
+       case BPF_FUNC_probe_read_user_str:
+               ret_reg->smax_value = meta->msize_max_value;
+               ret_reg->s32_max_value = meta->msize_max_value;
+               ret_reg->smin_value = -MAX_ERRNO;
+               ret_reg->s32_min_value = -MAX_ERRNO;
+               reg_bounds_sync(ret_reg);
+               break;
+       case BPF_FUNC_get_smp_processor_id:
+               ret_reg->umax_value = nr_cpu_ids - 1;
+               ret_reg->u32_max_value = nr_cpu_ids - 1;
+               ret_reg->smax_value = nr_cpu_ids - 1;
+               ret_reg->s32_max_value = nr_cpu_ids - 1;
+               ret_reg->umin_value = 0;
+               ret_reg->u32_min_value = 0;
+               ret_reg->smin_value = 0;
+               ret_reg->s32_min_value = 0;
+               reg_bounds_sync(ret_reg);
+               break;
+       }
  }
  
  static int
diff --combined kernel/trace/bpf_trace.c
index 5f2dcabad202c976b1005599a37b87fd0231ce12,897edfc9ca129bd08b07710efb69cb74ed434c51..c92eb8c6ff08dbfad32c1c60bcca452de8c9ac31
@@@ -2369,9 -2369,13 +2369,13 @@@ int bpf_get_perf_event_info(const struc
        if (is_tracepoint || is_syscall_tp) {
                *buf = is_tracepoint ? event->tp_event->tp->name
                                     : event->tp_event->name;
-               *fd_type = BPF_FD_TYPE_TRACEPOINT;
-               *probe_offset = 0x0;
-               *probe_addr = 0x0;
+               /* We allow NULL pointer for tracepoint */
+               if (fd_type)
+                       *fd_type = BPF_FD_TYPE_TRACEPOINT;
+               if (probe_offset)
+                       *probe_offset = 0x0;
+               if (probe_addr)
+                       *probe_addr = 0x0;
        } else {
                /* kprobe/uprobe */
                err = -EOPNOTSUPP;
  #ifdef CONFIG_UPROBE_EVENTS
                if (flags & TRACE_EVENT_FL_UPROBE)
                        err = bpf_get_uprobe_info(event, fd_type, buf,
-                                                 probe_offset,
+                                                 probe_offset, probe_addr,
                                                  event->attr.type == PERF_TYPE_TRACEPOINT);
  #endif
        }
@@@ -2469,6 -2473,7 +2473,7 @@@ struct bpf_kprobe_multi_link 
        u32 cnt;
        u32 mods_cnt;
        struct module **mods;
+       u32 flags;
  };
  
  struct bpf_kprobe_multi_run_ctx {
@@@ -2558,9 -2563,44 +2563,44 @@@ static void bpf_kprobe_multi_link_deall
        kfree(kmulti_link);
  }
  
+ static int bpf_kprobe_multi_link_fill_link_info(const struct bpf_link *link,
+                                               struct bpf_link_info *info)
+ {
+       u64 __user *uaddrs = u64_to_user_ptr(info->kprobe_multi.addrs);
+       struct bpf_kprobe_multi_link *kmulti_link;
+       u32 ucount = info->kprobe_multi.count;
+       int err = 0, i;
+       if (!uaddrs ^ !ucount)
+               return -EINVAL;
+       kmulti_link = container_of(link, struct bpf_kprobe_multi_link, link);
+       info->kprobe_multi.count = kmulti_link->cnt;
+       info->kprobe_multi.flags = kmulti_link->flags;
+       if (!uaddrs)
+               return 0;
+       if (ucount < kmulti_link->cnt)
+               err = -ENOSPC;
+       else
+               ucount = kmulti_link->cnt;
+       if (kallsyms_show_value(current_cred())) {
+               if (copy_to_user(uaddrs, kmulti_link->addrs, ucount * sizeof(u64)))
+                       return -EFAULT;
+       } else {
+               for (i = 0; i < ucount; i++) {
+                       if (put_user(0, uaddrs + i))
+                               return -EFAULT;
+               }
+       }
+       return err;
+ }
  static const struct bpf_link_ops bpf_kprobe_multi_link_lops = {
        .release = bpf_kprobe_multi_link_release,
        .dealloc = bpf_kprobe_multi_link_dealloc,
+       .fill_link_info = bpf_kprobe_multi_link_fill_link_info,
  };
  
  static void bpf_kprobe_multi_cookie_swap(void *a, void *b, int size, const void *priv)
@@@ -2652,8 -2692,7 +2692,8 @@@ kprobe_multi_link_prog_run(struct bpf_k
  
  static int
  kprobe_multi_link_handler(struct fprobe *fp, unsigned long fentry_ip,
 -                        struct pt_regs *regs, void *data)
 +                        unsigned long ret_ip, struct pt_regs *regs,
 +                        void *data)
  {
        struct bpf_kprobe_multi_link *link;
  
  
  static void
  kprobe_multi_link_exit_handler(struct fprobe *fp, unsigned long fentry_ip,
 -                             struct pt_regs *regs, void *data)
 +                             unsigned long ret_ip, struct pt_regs *regs,
 +                             void *data)
  {
        struct bpf_kprobe_multi_link *link;
  
@@@ -2874,6 -2912,7 +2914,7 @@@ int bpf_kprobe_multi_link_attach(const 
        link->addrs = addrs;
        link->cookies = cookies;
        link->cnt = cnt;
+       link->flags = flags;
  
        if (cookies) {
                /*
index 23dba01831f79a7ce2ec9d93e70d247e6cfe1d0c,bf2872ca5aaf6184825366e0b9fc9a91f08fbf6b..17c21c0b2dd1e0869f53a82e8c55a036ececcb79
@@@ -732,10 -732,9 +732,10 @@@ static int __trace_kprobe_create(int ar
         *  FETCHARG:TYPE : use TYPE instead of unsigned long.
         */
        struct trace_kprobe *tk = NULL;
 -      int i, len, ret = 0;
 +      int i, len, new_argc = 0, ret = 0;
        bool is_return = false;
        char *symbol = NULL, *tmp = NULL;
 +      const char **new_argv = NULL;
        const char *event = NULL, *group = KPROBE_EVENT_SYSTEM;
        enum probe_print_type ptype;
        int maxactive = 0;
        void *addr = NULL;
        char buf[MAX_EVENT_NAME_LEN];
        char gbuf[MAX_EVENT_NAME_LEN];
 -      unsigned int flags = TPARG_FL_KERNEL;
 +      char abuf[MAX_BTF_ARGS_LEN];
 +      struct traceprobe_parse_context ctx = { .flags = TPARG_FL_KERNEL };
  
        switch (argv[0][0]) {
        case 'r':
  
        if (isdigit(argv[0][1])) {
                if (!is_return) {
 -                      trace_probe_log_err(1, MAXACT_NO_KPROBE);
 +                      trace_probe_log_err(1, BAD_MAXACT_TYPE);
                        goto parse_error;
                }
                if (event)
                        goto parse_error;
                }
                if (is_return)
 -                      flags |= TPARG_FL_RETURN;
 +                      ctx.flags |= TPARG_FL_RETURN;
                ret = kprobe_on_func_entry(NULL, symbol, offset);
 -              if (ret == 0)
 -                      flags |= TPARG_FL_FENTRY;
 +              if (ret == 0 && !is_return)
 +                      ctx.flags |= TPARG_FL_FENTRY;
                /* Defer the ENOENT case until register kprobe */
                if (ret == -EINVAL && is_return) {
                        trace_probe_log_err(0, BAD_RETPROBE);
                event = buf;
        }
  
 +      argc -= 2; argv += 2;
 +      ctx.funcname = symbol;
 +      new_argv = traceprobe_expand_meta_args(argc, argv, &new_argc,
 +                                             abuf, MAX_BTF_ARGS_LEN, &ctx);
 +      if (IS_ERR(new_argv)) {
 +              ret = PTR_ERR(new_argv);
 +              new_argv = NULL;
 +              goto out;
 +      }
 +      if (new_argv) {
 +              argc = new_argc;
 +              argv = new_argv;
 +      }
 +
        /* setup a probe */
        tk = alloc_trace_kprobe(group, event, addr, symbol, offset, maxactive,
 -                             argc - 2, is_return);
 +                              argc, is_return);
        if (IS_ERR(tk)) {
                ret = PTR_ERR(tk);
                /* This must return -ENOMEM, else there is a bug */
                WARN_ON_ONCE(ret != -ENOMEM);
                goto out;       /* We know tk is not allocated */
        }
 -      argc -= 2; argv += 2;
  
        /* parse arguments */
        for (i = 0; i < argc && i < MAX_TRACE_ARGS; i++) {
                trace_probe_log_set_index(i + 2);
 -              ret = traceprobe_parse_probe_arg(&tk->tp, i, argv[i], flags);
 +              ctx.offset = 0;
 +              ret = traceprobe_parse_probe_arg(&tk->tp, i, argv[i], &ctx);
                if (ret)
                        goto error;     /* This can be -ENOMEM */
        }
  
  out:
        trace_probe_log_clear();
 +      kfree(new_argv);
        kfree(symbol);
        return ret;
  
@@@ -1561,15 -1544,10 +1561,10 @@@ int bpf_get_kprobe_info(const struct pe
  
        *fd_type = trace_kprobe_is_return(tk) ? BPF_FD_TYPE_KRETPROBE
                                              : BPF_FD_TYPE_KPROBE;
-       if (tk->symbol) {
-               *symbol = tk->symbol;
-               *probe_offset = tk->rp.kp.offset;
-               *probe_addr = 0;
-       } else {
-               *symbol = NULL;
-               *probe_offset = 0;
-               *probe_addr = (unsigned long)tk->rp.kp.addr;
-       }
+       *probe_offset = tk->rp.kp.offset;
+       *probe_addr = kallsyms_show_value(current_cred()) ?
+                     (unsigned long)tk->rp.kp.addr : 0;
+       *symbol = tk->symbol;
        return 0;
  }
  #endif        /* CONFIG_PERF_EVENTS */
index fa09b33ee7315bcf4af61c2faf322bbd12265a05,fd6c71450ba741d9fc0a69743476ee67fcfe0b21..eaa800530e927b9523bc19b94fcdb5030db532ec
@@@ -686,12 -686,10 +686,12 @@@ static int __trace_uprobe_create(int ar
  
        /* parse arguments */
        for (i = 0; i < argc && i < MAX_TRACE_ARGS; i++) {
 +              struct traceprobe_parse_context ctx = {
 +                      .flags = (is_return ? TPARG_FL_RETURN : 0) | TPARG_FL_USER,
 +              };
 +
                trace_probe_log_set_index(i + 2);
 -              ret = traceprobe_parse_probe_arg(&tu->tp, i, argv[i],
 -                                      (is_return ? TPARG_FL_RETURN : 0) |
 -                                      TPARG_FL_USER);
 +              ret = traceprobe_parse_probe_arg(&tu->tp, i, argv[i], &ctx);
                if (ret)
                        goto error;
        }
@@@ -1417,7 -1415,7 +1417,7 @@@ static void uretprobe_perf_func(struct 
  
  int bpf_get_uprobe_info(const struct perf_event *event, u32 *fd_type,
                        const char **filename, u64 *probe_offset,
-                       bool perf_type_tracepoint)
+                       u64 *probe_addr, bool perf_type_tracepoint)
  {
        const char *pevent = trace_event_name(event->tp_event);
        const char *group = event->tp_event->class->system;
                                    : BPF_FD_TYPE_UPROBE;
        *filename = tu->filename;
        *probe_offset = tu->offset;
+       *probe_addr = 0;
        return 0;
  }
  #endif        /* CONFIG_PERF_EVENTS */
This page took 0.226949 seconds and 4 git commands to generate.