Merge branch 'for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 7 Mar 2019 18:11:41 +0000 (10:11 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 7 Mar 2019 18:11:41 +0000 (10:11 -0800)
Pull cgroup updates from Tejun Heo:

 - Oleg's pids controller accounting update which gets rid of rcu delay
   in pids accounting updates

 - rstat (cgroup hierarchical stat collection mechanism) optimization

 - Doc updates

* 'for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  cpuset: remove unused task_has_mempolicy()
  cgroup, rstat: Don't flush subtree root unless necessary
  cgroup: add documentation for pids.events file
  Documentation: cgroup-v2: eliminate markup warnings
  MAINTAINERS: Update cgroup entry
  cgroup/pids: turn cgroup_subsys->free() into cgroup_subsys->release() to fix the accounting

1  2 
Documentation/admin-guide/cgroup-v2.rst
MAINTAINERS
include/linux/cgroup-defs.h
kernel/cgroup/cgroup.c
kernel/exit.c

index 53d3288c328bcfb15723669759776f2bfbacc4e9,61f8bbb0a1b2b52f49910344a85b08973394e1cb..20f92c16ffbf2c6e89ae090719d2e7225383985f
@@@ -1189,10 -1189,6 +1189,10 @@@ PAGE_SIZE multiple when read back
                Amount of cached filesystem data that was modified and
                is currently being written back to disk
  
 +        anon_thp
 +              Amount of memory used in anonymous mappings backed by
 +              transparent hugepages
 +
          inactive_anon, active_anon, inactive_file, active_file, unevictable
                Amount of memory, swap-backed and filesystem-backed,
                on the internal memory management lists used by the
  
                Amount of reclaimed lazyfree pages
  
 +        thp_fault_alloc
 +
 +              Number of transparent hugepages which were allocated to satisfy
 +              a page fault, including COW faults. This counter is not present
 +              when CONFIG_TRANSPARENT_HUGEPAGE is not set.
 +
 +        thp_collapse_alloc
 +
 +              Number of transparent hugepages which were allocated to allow
 +              collapsing an existing range of pages. This counter is not
 +              present when CONFIG_TRANSPARENT_HUGEPAGE is not set.
 +
    memory.swap.current
        A read-only single value file which exists on non-root
        cgroups.
@@@ -1519,7 -1503,7 +1519,7 @@@ protected workload
  
  The limits are only applied at the peer level in the hierarchy.  This means that
  in the diagram below, only groups A, B, and C will influence each other, and
- groups D and F will influence each other.  Group G will influence nobody.
+ groups D and F will influence each other.  Group G will influence nobody::
  
                        [root]
                /          |            \
diff --combined MAINTAINERS
index da7470cf3c2bcfffd740d459a66e00da168e5c47,a8b5584cd07ba1bc82a494115027ef9f4299bd09..da98f27cf1b582f303a9616d44259ddf83e8b9cd
@@@ -331,7 -331,6 +331,7 @@@ ACPI APE
  M:    "Rafael J. Wysocki" <rjw@rjwysocki.net>
  M:    Len Brown <lenb@kernel.org>
  L:    linux-acpi@vger.kernel.org
 +R:    James Morse <james.morse@arm.com>
  R:    Tony Luck <tony.luck@intel.com>
  R:    Borislav Petkov <bp@alien8.de>
  F:    drivers/acpi/apei/
@@@ -410,7 -409,8 +410,7 @@@ F: drivers/platform/x86/wmi.
  F:    include/uapi/linux/wmi.h
  
  AD1889 ALSA SOUND DRIVER
 -M:    Thibaut Varene <T-Bone@parisc-linux.org>
 -W:    http://wiki.parisc-linux.org/AD1889
 +W:    https://parisc.wiki.kernel.org/index.php/AD1889
  L:    linux-parisc@vger.kernel.org
  S:    Maintained
  F:    sound/pci/ad1889.*
@@@ -854,22 -854,6 +854,22 @@@ S:       Supporte
  F:    drivers/iio/adc/ad7124.c
  F:    Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
  
 +ANALOG DEVICES INC AD7606 DRIVER
 +M:    Stefan Popa <stefan.popa@analog.com>
 +L:    linux-iio@vger.kernel.org
 +W:    http://ez.analog.com/community/linux-device-drivers
 +S:    Supported
 +F:    drivers/iio/adc/ad7606.c
 +F:    Documentation/devicetree/bindings/iio/adc/ad7606.txt
 +
 +ANALOG DEVICES INC AD7768-1 DRIVER
 +M:    Stefan Popa <stefan.popa@analog.com>
 +L:    linux-iio@vger.kernel.org
 +W:    http://ez.analog.com/community/linux-device-drivers
 +S:    Supported
 +F:    drivers/iio/adc/ad7768-1.c
 +F:    Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.txt
 +
  ANALOG DEVICES INC AD9389B DRIVER
  M:    Hans Verkuil <hans.verkuil@cisco.com>
  L:    linux-media@vger.kernel.org
@@@ -1053,26 -1037,26 +1053,26 @@@ F:   drivers/net/appletalk
  F:    net/appletalk/
  
  APPLIED MICRO (APM) X-GENE DEVICE TREE SUPPORT
 -M:    Duc Dang <dhdang@apm.com>
 +M:    Khuong Dinh <khuong@os.amperecomputing.com>
  S:    Supported
  F:    arch/arm64/boot/dts/apm/
  
  APPLIED MICRO (APM) X-GENE SOC EDAC
 -M:    Loc Ho <lho@apm.com>
 +M:    Khuong Dinh <khuong@os.amperecomputing.com>
  S:    Supported
  F:    drivers/edac/xgene_edac.c
  F:    Documentation/devicetree/bindings/edac/apm-xgene-edac.txt
  
  APPLIED MICRO (APM) X-GENE SOC ETHERNET (V2) DRIVER
 -M:    Iyappan Subramanian <isubramanian@apm.com>
 -M:    Keyur Chudgar <kchudgar@apm.com>
 +M:    Iyappan Subramanian <iyappan@os.amperecomputing.com>
 +M:    Keyur Chudgar <keyur@os.amperecomputing.com>
  S:    Supported
  F:    drivers/net/ethernet/apm/xgene-v2/
  
  APPLIED MICRO (APM) X-GENE SOC ETHERNET DRIVER
 -M:    Iyappan Subramanian <isubramanian@apm.com>
 -M:    Keyur Chudgar <kchudgar@apm.com>
 -M:    Quan Nguyen <qnguyen@apm.com>
 +M:    Iyappan Subramanian <iyappan@os.amperecomputing.com>
 +M:    Keyur Chudgar <keyur@os.amperecomputing.com>
 +M:    Quan Nguyen <quan@os.amperecomputing.com>
  S:    Supported
  F:    drivers/net/ethernet/apm/xgene/
  F:    drivers/net/phy/mdio-xgene.c
@@@ -1080,7 -1064,7 +1080,7 @@@ F:      Documentation/devicetree/bindings/ne
  F:    Documentation/devicetree/bindings/net/apm-xgene-mdio.txt
  
  APPLIED MICRO (APM) X-GENE SOC PMU
 -M:    Tai Nguyen <ttnguyen@apm.com>
 +M:    Khuong Dinh <khuong@os.amperecomputing.com>
  S:    Supported
  F:    drivers/perf/xgene_pmu.c
  F:    Documentation/perf/xgene-pmu.txt
@@@ -1388,13 -1372,6 +1388,13 @@@ F:    arch/arm/mach-aspeed
  F:    arch/arm/boot/dts/aspeed-*
  N:    aspeed
  
 +ARM/BITMAIN ARCHITECTURE
 +M:    Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm64/boot/dts/bitmain/
 +F:    Documentation/devicetree/bindings/arm/bitmain.yaml
 +
  ARM/CALXEDA HIGHBANK ARCHITECTURE
  M:    Rob Herring <robh@kernel.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1554,14 -1531,21 +1554,14 @@@ ARM/FREESCALE IMX / MXC ARM ARCHITECTUR
  M:    Shawn Guo <shawnguo@kernel.org>
  M:    Sascha Hauer <s.hauer@pengutronix.de>
  R:    Pengutronix Kernel Team <kernel@pengutronix.de>
 -R:    Fabio Estevam <fabio.estevam@nxp.com>
 +R:    Fabio Estevam <festevam@gmail.com>
  R:    NXP Linux Team <linux-imx@nxp.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
 -F:    arch/arm/mach-imx/
 -F:    arch/arm/mach-mxs/
 -F:    arch/arm/boot/dts/imx*
 -F:    arch/arm/configs/imx*_defconfig
 -F:    arch/arm64/boot/dts/freescale/imx*
 -F:    drivers/clk/imx/
 -F:    drivers/firmware/imx/
 -F:    drivers/soc/imx/
 -F:    include/linux/firmware/imx/
 -F:    include/soc/imx/
 +N:    imx
 +N:    mxs
 +X:    drivers/media/i2c/
  
  ARM/FREESCALE VYBRID ARM ARCHITECTURE
  M:    Shawn Guo <shawnguo@kernel.org>
@@@ -1753,7 -1737,6 +1753,7 @@@ F:      arch/arm/configs/mvebu_*_defconfi
  F:    arch/arm/mach-mvebu/
  F:    arch/arm64/boot/dts/marvell/armada*
  F:    drivers/cpufreq/armada-37xx-cpufreq.c
 +F:    drivers/cpufreq/armada-8k-cpufreq.c
  F:    drivers/cpufreq/mvebu-cpufreq.c
  F:    drivers/irqchip/irq-armada-370-xp.c
  F:    drivers/irqchip/irq-mvebu-*
@@@ -1965,37 -1948,19 +1965,37 @@@ M:   David Brown <david.brown@linaro.org
  L:    linux-arm-msm@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/soc/qcom/
 +F:    Documentation/devicetree/bindings/*/qcom*
  F:    arch/arm/boot/dts/qcom-*.dts
  F:    arch/arm/boot/dts/qcom-*.dtsi
  F:    arch/arm/mach-qcom/
 -F:    arch/arm64/boot/dts/qcom/*
 +F:    arch/arm64/boot/dts/qcom/
 +F:    drivers/*/qcom/
 +F:    drivers/*/qcom*
 +F:    drivers/*/*/qcom/
 +F:    drivers/*/*/qcom*
 +F:    drivers/*/pm8???-*
 +F:    drivers/bluetooth/btqcomsmd.c
 +F:    drivers/clocksource/timer-qcom.c
 +F:    drivers/extcon/extcon-qcom*
 +F:    drivers/iommu/msm*
  F:    drivers/i2c/busses/i2c-qup.c
 -F:    drivers/clk/qcom/
 -F:    drivers/dma/qcom/
 -F:    drivers/soc/qcom/
 +F:    drivers/i2c/busses/i2c-qcom-geni.c
 +F:    drivers/mfd/ssbi.c
 +F:    drivers/mmc/host/mmci_qcom*
 +F:    drivers/mmc/host/sdhci_msm.c
 +F:    drivers/pci/controller/dwc/pcie-qcom.c
 +F:    drivers/phy/qualcomm/
 +F:    drivers/power/*/msm*
 +F:    drivers/reset/reset-qcom-*
 +F:    drivers/scsi/ufs/ufs-qcom.*
  F:    drivers/spi/spi-qup.c
 +F:    drivers/spi/spi-geni-qcom.c
 +F:    drivers/spi/spi-qcom-qspi.c
  F:    drivers/tty/serial/msm_serial.c
 -F:    drivers/*/pm8???-*
 -F:    drivers/mfd/ssbi.c
 -F:    drivers/firmware/qcom_scm*
 +F:    drivers/usb/dwc3/dwc3-qcom.c
 +F:    include/dt-bindings/*/qcom*
 +F:    include/linux/*/qcom*
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux.git
  
  ARM/RADISYS ENP2611 MACHINE SUPPORT
@@@ -2032,7 -1997,7 +2032,7 @@@ Q:      http://patchwork.kernel.org/project/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
  S:    Supported
  F:    arch/arm64/boot/dts/renesas/
 -F:    Documentation/devicetree/bindings/arm/shmobile.txt
 +F:    Documentation/devicetree/bindings/arm/renesas.yaml
  F:    drivers/soc/renesas/
  F:    include/linux/soc/renesas/
  
@@@ -2144,8 -2109,6 +2144,8 @@@ Q:      http://patchwork.kernel.org/project/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
  S:    Supported
  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*
@@@ -2153,7 -2116,7 +2153,7 @@@ F:      arch/arm/boot/dts/sh
  F:    arch/arm/configs/shmobile_defconfig
  F:    arch/arm/include/debug/renesas-scif.S
  F:    arch/arm/mach-shmobile/
 -F:    Documentation/devicetree/bindings/arm/shmobile.txt
 +F:    Documentation/devicetree/bindings/arm/renesas.yaml
  F:    drivers/soc/renesas/
  F:    include/linux/soc/renesas/
  
@@@ -2646,7 -2609,6 +2646,7 @@@ L:      linux-kernel@vger.kernel.or
  S:    Maintained
  F:    arch/*/include/asm/atomic*.h
  F:    include/*/atomic*.h
 +F:    scripts/atomic/
  
  ATTO EXPRESSSAS SAS/SATA RAID SCSI DRIVER
  M:    Bradley Grove <linuxdrivers@attotech.com>
@@@ -2886,11 -2848,8 +2886,11 @@@ F:    include/uapi/linux/if_bonding.
  BPF (Safe dynamic programs and tools)
  M:    Alexei Starovoitov <ast@kernel.org>
  M:    Daniel Borkmann <daniel@iogearbox.net>
 +R:    Martin KaFai Lau <kafai@fb.com>
 +R:    Song Liu <songliubraving@fb.com>
 +R:    Yonghong Song <yhs@fb.com>
  L:    netdev@vger.kernel.org
 -L:    linux-kernel@vger.kernel.org
 +L:    bpf@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
  Q:    https://patchwork.ozlabs.org/project/netdev/list/?delegate=77147
@@@ -2914,13 -2873,10 +2914,13 @@@ F:   samples/bpf
  F:    tools/bpf/
  F:    tools/lib/bpf/
  F:    tools/testing/selftests/bpf/
 +K:    bpf
 +N:    bpf
  
  BPF JIT for ARM
  M:    Shubham Bansal <illusionist.neo@gmail.com>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Maintained
  F:    arch/arm/net/
  
@@@ -2929,21 -2885,18 +2929,21 @@@ M:   Daniel Borkmann <daniel@iogearbox.ne
  M:    Alexei Starovoitov <ast@kernel.org>
  M:    Zi Shen Lim <zlim.lnx@gmail.com>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Supported
  F:    arch/arm64/net/
  
  BPF JIT for MIPS (32-BIT AND 64-BIT)
  M:    Paul Burton <paul.burton@mips.com>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Maintained
  F:    arch/mips/net/
  
  BPF JIT for NFP NICs
  M:    Jakub Kicinski <jakub.kicinski@netronome.com>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/netronome/nfp/bpf/
  
@@@ -2951,21 -2904,13 +2951,21 @@@ BPF JIT for POWERPC (32-BIT AND 64-BIT
  M:    Naveen N. Rao <naveen.n.rao@linux.ibm.com>
  M:    Sandipan Das <sandipan@linux.ibm.com>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Maintained
  F:    arch/powerpc/net/
  
 +BPF JIT for RISC-V (RV64G)
 +M:    Björn Töpel <bjorn.topel@gmail.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    arch/riscv/net/
 +
  BPF JIT for S390
  M:    Martin Schwidefsky <schwidefsky@de.ibm.com>
  M:    Heiko Carstens <heiko.carstens@de.ibm.com>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Maintained
  F:    arch/s390/net/
  X:    arch/s390/net/pnet.c
  BPF JIT for SPARC (32-BIT AND 64-BIT)
  M:    David S. Miller <davem@davemloft.net>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Maintained
  F:    arch/sparc/net/
  
  BPF JIT for X86 32-BIT
  M:    Wang YanQing <udknight@gmail.com>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Maintained
  F:    arch/x86/net/bpf_jit_comp32.c
  
@@@ -2988,7 -2931,6 +2988,7 @@@ BPF JIT for X86 64-BI
  M:    Alexei Starovoitov <ast@kernel.org>
  M:    Daniel Borkmann <daniel@iogearbox.net>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Supported
  F:    arch/x86/net/
  X:    arch/x86/net/bpf_jit_comp32.c
@@@ -3443,8 -3385,9 +3443,8 @@@ F:      Documentation/media/v4l-drivers/cafe
  F:    drivers/media/platform/marvell-ccic/
  
  CAIF NETWORK LAYER
 -M:    Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no>
  L:    netdev@vger.kernel.org
 -S:    Supported
 +S:    Orphan
  F:    Documentation/networking/caif/
  F:    drivers/net/caif/
  F:    include/uapi/linux/caif/
@@@ -3568,6 -3511,7 +3568,6 @@@ F:      include/linux/spi/cc2520.
  F:    Documentation/devicetree/bindings/net/ieee802154/cc2520.txt
  
  CCREE ARM TRUSTZONE CRYPTOCELL REE DRIVER
 -M:    Yael Chemla <yael.chemla@foss.arm.com>
  M:    Gilad Ben-Yossef <gilad@benyossef.com>
  L:    linux-crypto@vger.kernel.org
  S:    Supported
@@@ -3743,14 -3687,6 +3743,14 @@@ N:    cros_e
  N:    cros-ec
  F:    drivers/power/supply/cros_usbpd-charger.c
  
 +CHROMEOS EC CODEC DRIVER
 +M:    Cheng-Yi Chiang <cychiang@chromium.org>
 +S:    Maintained
 +R:    Enric Balletbo i Serra <enric.balletbo@collabora.com>
 +R:    Guenter Roeck <groeck@chromium.org>
 +F:    Documentation/devicetree/bindings/sound/google,cros-ec-codec.txt
 +F:    sound/soc/codecs/cros_ec_codec.*
 +
  CIRRUS LOGIC AUDIO CODEC DRIVERS
  M:    Brian Austin <brian.austin@cirrus.com>
  M:    Paul Handrigan <Paul.Handrigan@cirrus.com>
@@@ -3970,9 -3906,10 +3970,10 @@@ M:    Johannes Weiner <hannes@cmpxchg.org
  L:    cgroups@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
  S:    Maintained
- F:    Documentation/cgroup*
+ F:    Documentation/admin-guide/cgroup-v2.rst
+ F:    Documentation/cgroup-v1/
  F:    include/linux/cgroup*
- F:    kernel/cgroup*
+ F:    kernel/cgroup/
  
  CONTROL GROUP - CPUSET
  M:    Li Zefan <lizefan@huawei.com>
@@@ -4020,7 -3957,7 +4021,7 @@@ M:      Viresh Kumar <viresh.kumar@linaro.or
  L:    linux-pm@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
 -T:    git git://git.linaro.org/people/vireshk/linux.git (For ARM Updates)
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git (For ARM Updates)
  B:    https://bugzilla.kernel.org
  F:    Documentation/admin-guide/pm/cpufreq.rst
  F:    Documentation/admin-guide/pm/intel_pstate.rst
@@@ -4080,7 -4017,6 +4081,7 @@@ S:      Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
  B:    https://bugzilla.kernel.org
  F:    Documentation/admin-guide/pm/cpuidle.rst
 +F:    Documentation/driver-api/pm/cpuidle.rst
  F:    drivers/cpuidle/*
  F:    include/linux/cpuidle.h
  
@@@ -4188,7 -4124,7 +4189,7 @@@ S:      Maintaine
  F:    drivers/media/dvb-frontends/cxd2820r*
  
  CXGB3 ETHERNET DRIVER (CXGB3)
 -M:    Arjun Vynipadath <arjun@chelsio.com>
 +M:    Vishal Kulkarni <vishal@chelsio.com>
  L:    netdev@vger.kernel.org
  W:    http://www.chelsio.com
  S:    Supported
@@@ -4217,7 -4153,7 +4218,7 @@@ S:      Supporte
  F:    drivers/crypto/chelsio
  
  CXGB4 ETHERNET DRIVER (CXGB4)
 -M:    Arjun Vynipadath <arjun@chelsio.com>
 +M:    Vishal Kulkarni <vishal@chelsio.com>
  L:    netdev@vger.kernel.org
  W:    http://www.chelsio.com
  S:    Supported
@@@ -5246,7 -5182,7 +5247,7 @@@ DRM DRIVERS FOR XE
  M:    Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  L:    dri-devel@lists.freedesktop.org
 -L:    xen-devel@lists.xen.org
 +L:    xen-devel@lists.xenproject.org (moderated for non-subscribers)
  S:    Supported
  F:    drivers/gpu/drm/xen/
  F:    Documentation/gpu/xen-front.rst
@@@ -5947,7 -5883,6 +5948,7 @@@ L:      linux-fsdevel@vger.kernel.or
  S:    Maintained
  F:    fs/*
  F:    include/linux/fs.h
 +F:    include/linux/fs_types.h
  F:    include/uapi/linux/fs.h
  
  FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
@@@ -6090,12 -6025,6 +6091,12 @@@ L:    linuxppc-dev@lists.ozlabs.or
  S:    Maintained
  F:    drivers/dma/fsldma.*
  
 +FREESCALE ENETC ETHERNET DRIVERS
 +M:    Claudiu Manoil <claudiu.manoil@nxp.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/ethernet/freescale/enetc/
 +
  FREESCALE eTSEC ETHERNET DRIVER (GIANFAR)
  M:    Claudiu Manoil <claudiu.manoil@nxp.com>
  L:    netdev@vger.kernel.org
@@@ -6159,17 -6088,15 +6160,17 @@@ FREESCALE QORIQ PTP CLOCK DRIVE
  M:    Yangbo Lu <yangbo.lu@nxp.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
 +F:    drivers/net/ethernet/freescale/enetc/enetc_ptp.c
  F:    drivers/ptp/ptp_qoriq.c
 +F:    drivers/ptp/ptp_qoriq_debugfs.c
  F:    include/linux/fsl/ptp_qoriq.h
  F:    Documentation/devicetree/bindings/ptp/ptp-qoriq.txt
  
  FREESCALE QUAD SPI DRIVER
  M:    Han Xu <han.xu@nxp.com>
 -L:    linux-mtd@lists.infradead.org
 +L:    linux-spi@vger.kernel.org
  S:    Maintained
 -F:    drivers/mtd/spi-nor/fsl-quadspi.c
 +F:    drivers/spi/spi-fsl-qspi.c
  
  FREESCALE QUICC ENGINE LIBRARY
  M:    Qiang Zhao <qiang.zhao@nxp.com>
@@@ -6220,7 -6147,7 +6221,7 @@@ FREESCALE SOC SOUND DRIVER
  M:    Timur Tabi <timur@kernel.org>
  M:    Nicolin Chen <nicoleotsuka@gmail.com>
  M:    Xiubo Li <Xiubo.Lee@gmail.com>
 -R:    Fabio Estevam <fabio.estevam@nxp.com>
 +R:    Fabio Estevam <festevam@gmail.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
@@@ -6716,15 -6643,6 +6717,15 @@@ F:    drivers/clocksource/h8300_*.
  F:    drivers/clk/h8300/
  F:    drivers/irqchip/irq-renesas-h8*.c
  
 +HABANALABS PCI DRIVER
 +M:    Oded Gabbay <oded.gabbay@gmail.com>
 +T:    git https://github.com/HabanaAI/linux.git
 +S:    Supported
 +F:    drivers/misc/habanalabs/
 +F:    include/uapi/misc/habanalabs.h
 +F:    Documentation/ABI/testing/sysfs-driver-habanalabs
 +F:    Documentation/ABI/testing/debugfs-driver-habanalabs
 +
  HACKRF MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
  L:    linux-media@vger.kernel.org
@@@ -7082,7 -7000,7 +7083,7 @@@ M:      Haiyang Zhang <haiyangz@microsoft.co
  M:    Stephen Hemminger <sthemmin@microsoft.com>
  M:    Sasha Levin <sashal@kernel.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
 -L:    devel@linuxdriverproject.org
 +L:    linux-hyperv@vger.kernel.org
  S:    Supported
  F:    Documentation/networking/device_drivers/microsoft/netvsc.txt
  F:    arch/x86/include/asm/mshyperv.h
@@@ -7247,7 -7165,6 +7248,7 @@@ F:      drivers/i2c/i2c-stub.
  I3C SUBSYSTEM
  M:    Boris Brezillon <bbrezillon@kernel.org>
  L:    linux-i3c@lists.infradead.org
 +C:    irc://chat.freenode.net/linux-i3c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-i3c
@@@ -7967,16 -7884,6 +7968,16 @@@ L:    linux-gpio@vger.kernel.or
  S:    Maintained
  F:    drivers/gpio/gpio-intel-mid.c
  
 +INTERCONNECT API
 +M:    Georgi Djakov <georgi.djakov@linaro.org>
 +S:    Maintained
 +F:    Documentation/interconnect/
 +F:    Documentation/devicetree/bindings/interconnect/
 +F:    drivers/interconnect/
 +F:    include/dt-bindings/interconnect/
 +F:    include/linux/interconnect-provider.h
 +F:    include/linux/interconnect.h
 +
  INVENSENSE MPU-3050 GYROSCOPE DRIVER
  M:    Linus Walleij <linus.walleij@linaro.org>
  L:    linux-iio@vger.kernel.org
@@@ -8576,7 -8483,6 +8577,7 @@@ L7 BPF FRAMEWOR
  M:    John Fastabend <john.fastabend@gmail.com>
  M:    Daniel Borkmann <daniel@iogearbox.net>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Maintained
  F:    include/linux/skmsg.h
  F:    net/core/skmsg.c
@@@ -9179,14 -9085,6 +9180,14 @@@ F:    drivers/gpu/drm/armada
  F:    include/uapi/drm/armada_drm.h
  F:    Documentation/devicetree/bindings/display/armada/
  
 +MARVELL ARMADA 3700 PHY DRIVERS
 +M:    Miquel Raynal <miquel.raynal@bootlin.com>
 +S:    Maintained
 +F:    drivers/phy/marvell/phy-mvebu-a3700-comphy.c
 +F:    drivers/phy/marvell/phy-mvebu-a3700-utmi.c
 +F:    Documentation/devicetree/bindings/phy/phy-mvebu-comphy.txt
 +F:    Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt
 +
  MARVELL CRYPTO DRIVER
  M:    Boris Brezillon <bbrezillon@kernel.org>
  M:    Arnaud Ebalard <arno@natisbad.org>
@@@ -9890,14 -9788,6 +9891,14 @@@ F:    kernel/sched/membarrier.
  F:    include/uapi/linux/membarrier.h
  F:    arch/powerpc/include/asm/membarrier.h
  
 +MEMBLOCK
 +M:    Mike Rapoport <rppt@linux.ibm.com>
 +L:    linux-mm@kvack.org
 +S:    Maintained
 +F:    include/linux/memblock.h
 +F:    mm/memblock.c
 +F:    Documentation/core-api/boot-time-mm.rst
 +
  MEMORY MANAGEMENT
  L:    linux-mm@kvack.org
  W:    http://www.linux-mm.org
@@@ -9964,18 -9854,6 +9965,18 @@@ F:    drivers/media/platform/meson/ao-cec.
  F:    Documentation/devicetree/bindings/media/meson-ao-cec.txt
  T:    git git://linuxtv.org/media_tree.git
  
 +MESON NAND CONTROLLER DRIVER FOR AMLOGIC SOCS
 +M:    Liang Yang <liang.yang@amlogic.com>
 +L:    linux-mtd@lists.infradead.org
 +S:    Maintained
 +F:    drivers/mtd/nand/raw/meson_*
 +F:    Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
 +
 +METHODE UDPU SUPPORT
 +M:    Vladimir Vid <vladimir.vid@sartura.hr>
 +S:    Maintained
 +F:    arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts
 +
  MICROBLAZE ARCHITECTURE
  M:    Michal Simek <monstr@monstr.eu>
  W:    http://www.monstr.eu/fdt/
@@@ -10700,7 -10578,6 +10701,7 @@@ F:   Documentation/devicetree/bindings/ne
  F:    net/dsa/
  F:    include/net/dsa.h
  F:    include/linux/dsa/
 +F:    include/linux/platform_data/dsa.h
  F:    drivers/net/dsa/
  
  NETWORKING [GENERAL]
@@@ -10916,12 -10793,6 +10917,12 @@@ F: drivers/power/supply/bq27xxx_battery
  F:    drivers/power/supply/isp1704_charger.c
  F:    drivers/power/supply/rx51_battery.c
  
 +NOLIBC HEADER FILE
 +M:    Willy Tarreau <w@1wt.eu>
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git
 +F:    tools/include/nolibc/
 +
  NTB AMD DRIVER
  M:    Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  L:    linux-ntb@googlegroups.com
@@@ -11023,7 -10894,7 +11024,7 @@@ F:   include/linux/nvmem-consumer.
  F:    include/linux/nvmem-provider.h
  
  NXP SGTL5000 DRIVER
 -M:    Fabio Estevam <fabio.estevam@nxp.com>
 +M:    Fabio Estevam <festevam@gmail.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/sound/sgtl5000.txt
@@@ -11061,14 -10932,6 +11062,14 @@@ F: lib/objagg.
  F:    lib/test_objagg.c
  F:    include/linux/objagg.h
  
 +NXP FSPI DRIVER
 +R:    Yogesh Gaur <yogeshgaur.83@gmail.com>
 +M:    Ashish Kumar <ashish.kumar@nxp.com>
 +L:    linux-spi@vger.kernel.org
 +S:    Maintained
 +F:    drivers/spi/spi-nxp-fspi.c
 +F:    Documentation/devicetree/bindings/spi/spi-nxp-fspi.txt
 +
  OBJTOOL
  M:    Josh Poimboeuf <jpoimboe@redhat.com>
  M:    Peter Zijlstra <peterz@infradead.org>
@@@ -11402,11 -11265,6 +11403,11 @@@ M: Jens Wiklander <jens.wiklander@linar
  S:    Maintained
  F:    drivers/tee/optee/
  
 +OP-TEE RANDOM NUMBER GENERATOR (RNG) DRIVER
 +M:    Sumit Garg <sumit.garg@linaro.org>
 +S:    Maintained
 +F:    drivers/char/hw_random/optee-rng.c
 +
  OPA-VNIC DRIVER
  M:    Dennis Dalessandro <dennis.dalessandro@intel.com>
  M:    Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
@@@ -11450,12 -11308,10 +11451,12 @@@ F:        include/dt-bindings
  
  OPENCORES I2C BUS DRIVER
  M:    Peter Korsgaard <peter@korsgaard.com>
 +M:    Andrew Lunn <andrew@lunn.ch>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
  F:    Documentation/i2c/busses/i2c-ocores
  F:    drivers/i2c/busses/i2c-ocores.c
 +F:    include/linux/platform_data/i2c-ocores.h
  
  OPENRISC ARCHITECTURE
  M:    Jonas Bonn <jonas@southpole.se>
@@@ -11626,7 -11482,7 +11627,7 @@@ F:   Documentation/blockdev/paride.tx
  F:    drivers/block/paride/
  
  PARISC ARCHITECTURE
 -M:    "James E.J. Bottomley" <jejb@parisc-linux.org>
 +M:    "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
  M:    Helge Deller <deller@gmx.de>
  L:    linux-parisc@vger.kernel.org
  W:    http://www.parisc-linux.org/
@@@ -11706,7 -11562,7 +11707,7 @@@ F:   Documentation/devicetree/bindings/pc
  F:    drivers/pci/controller/pcie-altera.c
  
  PCI DRIVER FOR APPLIEDMICRO XGENE
 -M:    Tanmay Inamdar <tinamdar@apm.com>
 +M:    Toan Le <toan@os.amperecomputing.com>
  L:    linux-pci@vger.kernel.org
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
@@@ -11884,7 -11740,7 +11885,7 @@@ F:   Documentation/devicetree/bindings/pc
  F:    drivers/pci/controller/pcie-altera-msi.c
  
  PCI MSI DRIVER FOR APPLIEDMICRO XGENE
 -M:    Duc Dang <dhdang@apm.com>
 +M:    Toan Le <toan@os.amperecomputing.com>
  L:    linux-pci@vger.kernel.org
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
@@@ -12373,6 -12229,14 +12374,6 @@@ S:  Maintaine
  F:    drivers/net/ppp/pptp.c
  W:    http://sourceforge.net/projects/accel-pptp
  
 -PREEMPTIBLE KERNEL
 -M:    Robert Love <rml@tech9.net>
 -L:    kpreempt-tech@lists.sourceforge.net
 -W:    https://www.kernel.org/pub/linux/kernel/people/rml/preempt-kernel
 -S:    Supported
 -F:    Documentation/preempt-locking.txt
 -F:    include/linux/preempt.h
 -
  PRINTK
  M:    Petr Mladek <pmladek@suse.com>
  M:    Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
@@@ -12734,11 -12598,11 +12735,11 @@@ F:        Documentation/media/v4l-drivers/qcom
  F:    drivers/media/platform/qcom/camss/
  
  QUALCOMM CPUFREQ DRIVER MSM8996/APQ8096
 -M:  Ilia Lin <ilia.lin@gmail.com>
 -L:  linux-pm@vger.kernel.org
 -S:  Maintained
 -F:  Documentation/devicetree/bindings/opp/kryo-cpufreq.txt
 -F:  drivers/cpufreq/qcom-cpufreq-kryo.c
 +M:    Ilia Lin <ilia.lin@kernel.org>
 +L:    linux-pm@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/opp/kryo-cpufreq.txt
 +F:    drivers/cpufreq/qcom-cpufreq-kryo.c
  
  QUALCOMM EMAC GIGABIT ETHERNET DRIVER
  M:    Timur Tabi <timur@kernel.org>
@@@ -12746,14 -12610,6 +12747,14 @@@ L: netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/qualcomm/emac/
  
 +QUALCOMM ETHQOS ETHERNET DRIVER
 +M:    Vinod Koul <vkoul@kernel.org>
 +M:    Niklas Cassel <niklas.cassel@linaro.org>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
 +F:    Documentation/devicetree/bindings/net/qcom,dwmac.txt
 +
  QUALCOMM GENERIC INTERFACE I2C DRIVER
  M:    Alok Chauhan <alokc@codeaurora.org>
  M:    Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
@@@ -13013,13 -12869,6 +13014,13 @@@ F: Documentation/devicetree/bindings/ne
  F:    drivers/net/dsa/realtek-smi*
  F:    drivers/net/dsa/rtl83*
  
 +REDPINE WIRELESS DRIVER
 +M:    Amitkumar Karwar <amitkarwar@gmail.com>
 +M:    Siva Rebbagondla <siva8118@gmail.com>
 +L:    linux-wireless@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/wireless/rsi/
 +
  REGISTER MAP ABSTRACTION
  M:    Mark Brown <broonie@kernel.org>
  L:    linux-kernel@vger.kernel.org
@@@ -13110,7 -12959,6 +13111,7 @@@ F:   drivers/reset
  F:    Documentation/devicetree/bindings/reset/
  F:    include/dt-bindings/reset/
  F:    include/linux/reset.h
 +F:    include/linux/reset/
  F:    include/linux/reset-controller.h
  
  RESTARTABLE SEQUENCES SUPPORT
@@@ -13611,7 -13459,6 +13612,7 @@@ F:   kernel/sched
  F:    include/linux/sched.h
  F:    include/uapi/linux/sched.h
  F:    include/linux/wait.h
 +F:    include/linux/preempt.h
  
  SCR24X CHIP CARD INTERFACE DRIVER
  M:    Lubomir Rintel <lkundrak@v3.sk>
@@@ -13740,18 -13587,11 +13741,18 @@@ F:        drivers/mmc/host/sdhci-brcmstb
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
  M:    Adrian Hunter <adrian.hunter@intel.com>
  L:    linux-mmc@vger.kernel.org
 -T:    git git://git.infradead.org/users/ahunter/linux-sdhci.git
  S:    Maintained
  F:    drivers/mmc/host/sdhci*
  F:    include/linux/mmc/sdhci*
  
 +EMMC CMDQ HOST CONTROLLER INTERFACE (CQHCI) DRIVER
 +M:    Adrian Hunter <adrian.hunter@intel.com>
 +M:    Ritesh Harjani <riteshh@codeaurora.org>
 +M:    Asutosh Das <asutoshd@codeaurora.org>
 +L:    linux-mmc@vger.kernel.org
 +S:    Maintained
 +F:    drivers/mmc/host/cqhci*
 +
  SYNOPSYS SDHCI COMPLIANT DWC MSHC DRIVER
  M:    Prabu Thangamuthu <prabu.t@synopsys.com>
  M:    Manjunath M B <manjumb@synopsys.com>
@@@ -13857,15 -13697,6 +13858,15 @@@ L: netdev@vger.kernel.or
  S:    Supported
  F:    drivers/net/ethernet/sfc/
  
 +SFF/SFP/SFP+ MODULE SUPPORT
 +M:    Russell King <linux@armlinux.org.uk>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/phy/phylink.c
 +F:    drivers/net/phy/sfp*
 +F:    include/linux/phylink.h
 +F:    include/linux/sfp.h
 +
  SGI GRU DRIVER
  M:    Dimitri Sivanich <sivanich@sgi.com>
  S:    Maintained
@@@ -13887,7 -13718,6 +13888,7 @@@ F:   drivers/misc/sgi-xp
  
  SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
  M:    Ursula Braun <ubraun@linux.ibm.com>
 +M:    Karsten Graul <kgraul@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
@@@ -14479,7 -14309,6 +14480,7 @@@ F:   arch/arm/mach-spear
  
  SPI NOR SUBSYSTEM
  M:    Marek Vasut <marek.vasut@gmail.com>
 +M:    Tudor Ambarus <tudor.ambarus@microchip.com>
  L:    linux-mtd@lists.infradead.org
  W:    http://www.linux-mtd.infradead.org/
  Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
@@@ -14644,6 -14473,11 +14645,6 @@@ L:  linux-wireless@vger.kernel.or
  S:    Supported
  F:    drivers/staging/wilc1000/
  
 -STAGING - XGI Z7,Z9,Z11 PCI DISPLAY DRIVER
 -M:    Arnaud Patard <arnaud.patard@rtp-net.org>
 -S:    Odd Fixes
 -F:    drivers/staging/xgifb/
 -
  STAGING SUBSYSTEM
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
@@@ -14848,7 -14682,7 +14849,7 @@@ S:   Maintaine
  F:    drivers/tty/serial/8250/8250_dw.c
  
  SYNOPSYS DESIGNWARE APB GPIO DRIVER
 -M:    Hoan Tran <hotran@apm.com>
 +M:    Hoan Tran <hoan@os.amperecomputing.com>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-dwapb.c
@@@ -15238,13 -15072,6 +15239,13 @@@ L: alsa-devel@alsa-project.org (moderat
  S:    Maintained
  F:    sound/soc/ti/
  
 +Texas Instruments' DAC7612 DAC Driver
 +M:    Ricardo Ribalda <ricardo@ribalda.com>
 +L:    linux-iio@vger.kernel.org
 +S:    Supported
 +F:    drivers/iio/dac/ti-dac7612.c
 +F:    Documentation/devicetree/bindings/iio/dac/ti,dac7612.txt
 +
  THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -16815,15 -16642,6 +16816,15 @@@ S: Maintaine
  F:    drivers/platform/x86/
  F:    drivers/platform/olpc/
  
 +X86 PLATFORM DRIVERS - ARCH
 +R:    Darren Hart <dvhart@infradead.org>
 +R:    Andy Shevchenko <andy@infradead.org>
 +L:    platform-driver-x86@vger.kernel.org
 +L:    x86@kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
 +S:    Maintained
 +F:    arch/x86/platform
 +
  X86 VDSO
  M:    Andy Lutomirski <luto@kernel.org>
  L:    linux-kernel@vger.kernel.org
@@@ -16865,7 -16683,6 +16866,7 @@@ M:   Jesper Dangaard Brouer <hawk@kernel.
  M:    John Fastabend <john.fastabend@gmail.com>
  L:    netdev@vger.kernel.org
  L:    xdp-newbies@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Supported
  F:    net/core/xdp.c
  F:    include/net/xdp.h
@@@ -16879,7 -16696,6 +16880,7 @@@ XDP SOCKETS (AF_XDP
  M:    Björn Töpel <bjorn.topel@intel.com>
  M:    Magnus Karlsson <magnus.karlsson@intel.com>
  L:    netdev@vger.kernel.org
 +L:    bpf@vger.kernel.org
  S:    Maintained
  F:    kernel/bpf/xskmap.c
  F:    net/xdp/
index aad3babef007c37345b9c56bbfd4b238114bc266,120d1d40704bc0df6eaf68a28c38d5e7faea19e5..1c70803e9f77056873e18aad6e1f3ce7195a25a1
@@@ -32,7 -32,6 +32,7 @@@ struct kernfs_node
  struct kernfs_ops;
  struct kernfs_open_file;
  struct seq_file;
 +struct poll_table_struct;
  
  #define MAX_CGROUP_TYPE_NAMELEN 32
  #define MAX_CGROUP_ROOT_NAMELEN 64
@@@ -575,9 -574,6 +575,9 @@@ struct cftype 
        ssize_t (*write)(struct kernfs_open_file *of,
                         char *buf, size_t nbytes, loff_t off);
  
 +      __poll_t (*poll)(struct kernfs_open_file *of,
 +                       struct poll_table_struct *pt);
 +
  #ifdef CONFIG_DEBUG_LOCK_ALLOC
        struct lock_class_key   lockdep_key;
  #endif
@@@ -606,7 -602,7 +606,7 @@@ struct cgroup_subsys 
        void (*cancel_fork)(struct task_struct *task);
        void (*fork)(struct task_struct *task);
        void (*exit)(struct task_struct *task);
-       void (*free)(struct task_struct *task);
+       void (*release)(struct task_struct *task);
        void (*bind)(struct cgroup_subsys_state *root_css);
  
        bool early_init:1;
diff --combined kernel/cgroup/cgroup.c
index 17828333f7c3e015aa3491c6807030e1210fe031,f4418371c83b0543a33520536e0a241662bda769..eef24a25bda7a2e42c6a7031225b9018290b7e32
@@@ -197,7 -197,7 +197,7 @@@ static u64 css_serial_nr_next = 1
   */
  static u16 have_fork_callback __read_mostly;
  static u16 have_exit_callback __read_mostly;
- static u16 have_free_callback __read_mostly;
+ static u16 have_release_callback __read_mostly;
  static u16 have_canfork_callback __read_mostly;
  
  /* cgroup namespace for init task */
@@@ -1927,7 -1927,7 +1927,7 @@@ void init_cgroup_root(struct cgroup_roo
                set_bit(CGRP_CPUSET_CLONE_CHILDREN, &root->cgrp.flags);
  }
  
 -int cgroup_setup_root(struct cgroup_root *root, u16 ss_mask, int ref_flags)
 +int cgroup_setup_root(struct cgroup_root *root, u16 ss_mask)
  {
        LIST_HEAD(tmp_links);
        struct cgroup *root_cgrp = &root->cgrp;
        root_cgrp->ancestor_ids[0] = ret;
  
        ret = percpu_ref_init(&root_cgrp->self.refcnt, css_release,
 -                            ref_flags, GFP_KERNEL);
 +                            0, GFP_KERNEL);
        if (ret)
                goto out;
  
@@@ -2033,7 -2033,7 +2033,7 @@@ struct dentry *cgroup_do_mount(struct f
                               struct cgroup_namespace *ns)
  {
        struct dentry *dentry;
 -      bool new_sb;
 +      bool new_sb = false;
  
        dentry = kernfs_mount(fs_type, flags, root->kf_root, magic, &new_sb);
  
         */
        if (!IS_ERR(dentry) && ns != &init_cgroup_ns) {
                struct dentry *nsdentry;
 +              struct super_block *sb = dentry->d_sb;
                struct cgroup *cgrp;
  
                mutex_lock(&cgroup_mutex);
                spin_unlock_irq(&css_set_lock);
                mutex_unlock(&cgroup_mutex);
  
 -              nsdentry = kernfs_node_dentry(cgrp->kn, dentry->d_sb);
 +              nsdentry = kernfs_node_dentry(cgrp->kn, sb);
                dput(dentry);
 +              if (IS_ERR(nsdentry))
 +                      deactivate_locked_super(sb);
                dentry = nsdentry;
        }
  
 -      if (IS_ERR(dentry) || !new_sb)
 +      if (!new_sb)
                cgroup_put(&root->cgrp);
  
        return dentry;
@@@ -2121,16 -2118,18 +2121,16 @@@ static void cgroup_kill_sb(struct super
        struct cgroup_root *root = cgroup_root_from_kf(kf_root);
  
        /*
 -       * If @root doesn't have any mounts or children, start killing it.
 +       * If @root doesn't have any children, start killing it.
         * This prevents new mounts by disabling percpu_ref_tryget_live().
         * cgroup_mount() may wait for @root's release.
         *
         * And don't kill the default root.
         */
 -      if (!list_empty(&root->cgrp.self.children) ||
 -          root == &cgrp_dfl_root)
 -              cgroup_put(&root->cgrp);
 -      else
 +      if (list_empty(&root->cgrp.self.children) && root != &cgrp_dfl_root &&
 +          !percpu_ref_is_dying(&root->cgrp.self.refcnt))
                percpu_ref_kill(&root->cgrp.self.refcnt);
 -
 +      cgroup_put(&root->cgrp);
        kernfs_kill_sb(sb);
  }
  
@@@ -3534,16 -3533,6 +3534,16 @@@ static ssize_t cgroup_file_write(struc
        return ret ?: nbytes;
  }
  
 +static __poll_t cgroup_file_poll(struct kernfs_open_file *of, poll_table *pt)
 +{
 +      struct cftype *cft = of->kn->priv;
 +
 +      if (cft->poll)
 +              return cft->poll(of, pt);
 +
 +      return kernfs_generic_poll(of, pt);
 +}
 +
  static void *cgroup_seqfile_start(struct seq_file *seq, loff_t *ppos)
  {
        return seq_cft(seq)->seq_start(seq, ppos);
@@@ -3582,7 -3571,6 +3582,7 @@@ static struct kernfs_ops cgroup_kf_sing
        .open                   = cgroup_file_open,
        .release                = cgroup_file_release,
        .write                  = cgroup_file_write,
 +      .poll                   = cgroup_file_poll,
        .seq_show               = cgroup_seqfile_show,
  };
  
@@@ -3591,7 -3579,6 +3591,7 @@@ static struct kernfs_ops cgroup_kf_ops 
        .open                   = cgroup_file_open,
        .release                = cgroup_file_release,
        .write                  = cgroup_file_write,
 +      .poll                   = cgroup_file_poll,
        .seq_start              = cgroup_seqfile_start,
        .seq_next               = cgroup_seqfile_next,
        .seq_stop               = cgroup_seqfile_stop,
@@@ -5326,7 -5313,7 +5326,7 @@@ static void __init cgroup_init_subsys(s
  
        have_fork_callback |= (bool)ss->fork << ss->id;
        have_exit_callback |= (bool)ss->exit << ss->id;
-       have_free_callback |= (bool)ss->free << ss->id;
+       have_release_callback |= (bool)ss->release << ss->id;
        have_canfork_callback |= (bool)ss->can_fork << ss->id;
  
        /* At system boot, before all subsystems have been
@@@ -5412,7 -5399,7 +5412,7 @@@ int __init cgroup_init(void
        hash_add(css_set_table, &init_css_set.hlist,
                 css_set_hash(init_css_set.subsys));
  
 -      BUG_ON(cgroup_setup_root(&cgrp_dfl_root, 0, 0));
 +      BUG_ON(cgroup_setup_root(&cgrp_dfl_root, 0));
  
        mutex_unlock(&cgroup_mutex);
  
@@@ -5762,16 -5749,19 +5762,19 @@@ void cgroup_exit(struct task_struct *ts
        } while_each_subsys_mask();
  }
  
- void cgroup_free(struct task_struct *task)
+ void cgroup_release(struct task_struct *task)
  {
-       struct css_set *cset = task_css_set(task);
        struct cgroup_subsys *ss;
        int ssid;
  
-       do_each_subsys_mask(ss, ssid, have_free_callback) {
-               ss->free(task);
+       do_each_subsys_mask(ss, ssid, have_release_callback) {
+               ss->release(task);
        } while_each_subsys_mask();
+ }
  
+ void cgroup_free(struct task_struct *task)
+ {
+       struct css_set *cset = task_css_set(task);
        put_css_set(cset);
  }
  
@@@ -6009,7 -5999,7 +6012,7 @@@ int cgroup_bpf_detach(struct cgroup *cg
        int ret;
  
        mutex_lock(&cgroup_mutex);
 -      ret = __cgroup_bpf_detach(cgrp, prog, type, flags);
 +      ret = __cgroup_bpf_detach(cgrp, prog, type);
        mutex_unlock(&cgroup_mutex);
        return ret;
  }
diff --combined kernel/exit.c
index 2639a30a8aa5dd9054bc0af5951397efb1083713,c2b8443f30b4b096b3769e78169123bbdc8c3ab3..2166c2d92ddc0c8a0af6e5a1dd833fe0243fd06a
@@@ -219,6 -219,7 +219,7 @@@ repeat
        }
  
        write_unlock_irq(&tasklist_lock);
+       cgroup_release(p);
        release_thread(p);
        call_rcu(&p->rcu, delayed_put_task_struct);
  
@@@ -558,14 -559,12 +559,14 @@@ static struct task_struct *find_alive_t
        return NULL;
  }
  
 -static struct task_struct *find_child_reaper(struct task_struct *father)
 +static struct task_struct *find_child_reaper(struct task_struct *father,
 +                                              struct list_head *dead)
        __releases(&tasklist_lock)
        __acquires(&tasklist_lock)
  {
        struct pid_namespace *pid_ns = task_active_pid_ns(father);
        struct task_struct *reaper = pid_ns->child_reaper;
 +      struct task_struct *p, *n;
  
        if (likely(reaper != father))
                return reaper;
                panic("Attempted to kill init! exitcode=0x%08x\n",
                        father->signal->group_exit_code ?: father->exit_code);
        }
 +
 +      list_for_each_entry_safe(p, n, dead, ptrace_entry) {
 +              list_del_init(&p->ptrace_entry);
 +              release_task(p);
 +      }
 +
        zap_pid_ns_processes(pid_ns);
        write_lock_irq(&tasklist_lock);
  
@@@ -676,7 -669,7 +677,7 @@@ static void forget_original_parent(stru
                exit_ptrace(father, dead);
  
        /* Can drop and reacquire tasklist_lock */
 -      reaper = find_child_reaper(father);
 +      reaper = find_child_reaper(father, dead);
        if (list_empty(&father->children))
                return;