1. 20 Dec, 2022 2 commits
  2. 19 Dec, 2022 13 commits
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 6feb57c2
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Support zstd-compressed debug info
      
       - Allow W=1 builds to detect objects shared among multiple modules
      
       - Add srcrpm-pkg target to generate a source RPM package
      
       - Make the -s option detection work for future GNU Make versions
      
       - Add -Werror to KBUILD_CPPFLAGS when CONFIG_WERROR=y
      
       - Allow W=1 builds to detect -Wundef warnings in any preprocessed files
      
       - Raise the minimum supported version of binutils to 2.25
      
       - Use $(intcmp ...) to compare integers if GNU Make >= 4.4 is used
      
       - Use $(file ...) to read a file if GNU Make >= 4.2 is used
      
       - Print error if GNU Make older than 3.82 is used
      
       - Allow modpost to detect section mismatches with Clang LTO
      
       - Include vmlinuz.efi into kernel tarballs for arm64 CONFIG_EFI_ZBOOT=y
      
      * tag 'kbuild-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (29 commits)
        buildtar: fix tarballs with EFI_ZBOOT enabled
        modpost: Include '.text.*' in TEXT_SECTIONS
        padata: Mark padata_work_init() as __ref
        kbuild: ensure Make >= 3.82 is used
        kbuild: refactor the prerequisites of the modpost rule
        kbuild: change module.order to list *.o instead of *.ko
        kbuild: use .NOTINTERMEDIATE for future GNU Make versions
        kconfig: refactor Makefile to reduce process forks
        kbuild: add read-file macro
        kbuild: do not sort after reading modules.order
        kbuild: add test-{ge,gt,le,lt} macros
        Documentation: raise minimum supported version of binutils to 2.25
        kbuild: add -Wundef to KBUILD_CPPFLAGS for W=1 builds
        kbuild: move -Werror from KBUILD_CFLAGS to KBUILD_CPPFLAGS
        kbuild: Port silent mode detection to future gnu make.
        init/version.c: remove #include <generated/utsrelease.h>
        firmware_loader: remove #include <generated/utsrelease.h>
        modpost: Mark uuid_le type to be suitable only for MEI
        kbuild: add ability to make source rpm buildable using koji
        kbuild: warn objects shared among multiple modules
        ...
      6feb57c2
    • Linus Torvalds's avatar
      Merge tag 'zstd-linus-v6.2' of https://github.com/terrelln/linux · 158738ea
      Linus Torvalds authored
      Pull zstd updates from Nick Terrell:
       "Update the kernel to upstream zstd v1.5.2 [0]. Specifically to the tag
        v1.5.2-kernel [1] which includes several cherrypicked fixes for the
        kernel on top of v1.5.2.
      
        Excepting the MAINTAINERS change, all the changes in this can be
        generated by:
      
          git clone https://github.com/facebook/zstd
          cd zstd/contrib/linux-kernel
          git checkout v1.5.2-kernel
          LINUX=/path/to/linux/repo make import
      
        Additionally, this includes several minor typo fixes, which have all
        been fixed upstream so they are maintained on the next import"
      
      Link: https://github.com/facebook/zstd/releases/tag/v1.5.2 [0]
      Link: https://github.com/facebook/zstd/tree/v1.5.2-kernel [1]
      Link: https://lore.kernel.org/lkml/20221024202606.404049-1-nickrterrell@gmail.com/
      Link: https://github.com/torvalds/linux/commit/637a642f5ca5e850186bb64ac75ebb0f124b458d
      
      * tag 'zstd-linus-v6.2' of https://github.com/terrelln/linux:
        zstd: import usptream v1.5.2
        zstd: Move zstd-common module exports to zstd_common_module.c
        lib: zstd: Fix comment typo
        lib: zstd: fix repeated words in comments
        MAINTAINERS: git://github -> https://github.com for terrelln
        lib: zstd: clean up double word in comment.
      158738ea
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · aeba12b2
      Linus Torvalds authored
      Pull more nfsd updates from Chuck Lever:
       "This contains a number of crasher fixes that were not ready for the
        initial pull request last week.
      
        In particular, Jeff's patch attempts to address reference count
        underflows in NFSD's filecache, which have been very difficult to
        track down because there is no reliable reproducer.
      
        Common failure modes:
            https://bugzilla.kernel.org/show_bug.cgi?id=216691#c11
            https://bugzilla.kernel.org/show_bug.cgi?id=216674#c6
            https://bugzilla.redhat.com/show_bug.cgi?id=2138605
      
        The race windows were found by inspection and the clean-ups appear
        sensible and pass regression testing, so we include them here in the
        hope that they address the problem. However we remain vigilant because
        we don't have 100% certainty yet that the problem is fully addressed.
      
        Summary:
      
         - Address numerous reports of refcount underflows in NFSD's filecache
      
         - Address a UAF in callback setup error handling
      
         - Address a UAF during server-to-server copy"
      
      * tag 'nfsd-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        NFSD: fix use-after-free in __nfs42_ssc_open()
        nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
        nfsd: rework refcounting in filecache
      aeba12b2
    • Linus Torvalds's avatar
      Merge tag 'rtc-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · acd04af6
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Most of the changes are a rework of the cmos driver by Rafael and
        fixes for issues found using static checkers. The removal of a driver
        leads to a reduction of the number of LOC of the subsystem.
      
        Removed driver:
         - davinci
      
        Updates:
         - convert i2c drivers to .probe_new
         - fix spelling mistakes and duplicated words in comments
         - cmos: rework wake setup and ACPI event handling
         - cros-ec: Limit RTC alarm range to fix alarmtimer
         - ds1347: fix century register handling
         - efi: wakeup support
         - isl12022: temperature sensor support
         - pcf85063: fix read_alarm and clkout
         - pcf8523: use stop bit to detect invalid time
         - pcf8563: use RTC_FEATURE_ALARM
         - snvs: be more flexible on LPSRT reads
         - many static checker fixes"
      
      * tag 'rtc-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (48 commits)
        rtc: ds1742: use devm_platform_get_and_ioremap_resource()
        rtc: mxc_v2: Add missing clk_disable_unprepare()
        rtc: rs5c313: correct some spelling mistakes
        rtc: at91rm9200: Fix syntax errors in comments
        rtc: remove duplicated words in comments
        rtc: rv3028: Use IRQ flags obtained from device tree if available
        rtc: ds1307: use sysfs_emit() to instead of scnprintf()
        rtc: isl12026: drop obsolete dependency on COMPILE_TEST
        dt-bindings: rtc: m41t80: Convert text schema to YAML one
        rtc: pcf85063: fix pcf85063_clkout_control
        rtc: rx6110: fix warning with !OF
        rtc: rk808: reduce 'struct rk808' usage
        rtc: msc313: Fix function prototype mismatch in msc313_rtc_probe()
        dt-bindings: rtc: convert rtc-meson.txt to dt-schema
        rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe()
        rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
        rtc: pcf85063: Fix reading alarm
        rtc: pcf8523: fix for stop bit
        rtc: efi: Add wakeup support
        rtc: pcf8563: clear RTC_FEATURE_ALARM if no irq
        ...
      acd04af6
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 9322af3e
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "New support:
      
          - Qualcomm SDM670, SM6115 and SM6375 GPI controller support
      
          - Ingenic JZ4755 dmaengine support
      
          - Removal of iop-adma driver
      
        Updates:
      
         - Tegra support for dma-channel-mask
      
         - at_hdmac cleanup and virt-chan support for this driver"
      
      * tag 'dmaengine-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (46 commits)
        dmaengine: Revert "dmaengine: remove s3c24xx driver"
        dmaengine: tegra: Add support for dma-channel-mask
        dt-bindings: dmaengine: Add dma-channel-mask to Tegra GPCDMA
        dmaengine: idxd: Remove linux/msi.h include
        dt-bindings: dmaengine: qcom: gpi: add compatible for SM6375
        dmaengine: idxd: Fix crc_val field for completion record
        dmaengine: at_hdmac: Convert driver to use virt-dma
        dmaengine: at_hdmac: Remove unused member of at_dma_chan
        dmaengine: at_hdmac: Rename "chan_common" to "dma_chan"
        dmaengine: at_hdmac: Rename "dma_common" to "dma_device"
        dmaengine: at_hdmac: Use bitfield access macros
        dmaengine: at_hdmac: Keep register definitions and structures private to at_hdmac.c
        dmaengine: at_hdmac: Set include entries in alphabetic order
        dmaengine: at_hdmac: Use pm_ptr()
        dmaengine: at_hdmac: Use devm_clk_get()
        dmaengine: at_hdmac: Use devm_platform_ioremap_resource
        dmaengine: at_hdmac: Use devm_kzalloc() and struct_size()
        dmaengine: at_hdmac: Introduce atc_get_llis_residue()
        dmaengine: at_hdmac: s/atc_get_bytes_left/atc_get_residue
        dmaengine: at_hdmac: Pass residue by address to avoid unnecessary implicit casts
        ...
      9322af3e
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 1b6a349a
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
       "This include bunch of Intel driver code reorganization and support for
        qcom v1.7.0 controller:
      
         - intel: reorganization of hw_ops callbacks, splitting files etc
      
         - qcom: support for v1.7.0 qcom controllers"
      
      * tag 'soundwire-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
        soundwire: intel: split auxdevice to different file
        soundwire: intel: add in-band wake callbacks in hw_ops
        soundwire: intel: add link power management callbacks in hw_ops
        soundwire: intel: add bus management callbacks in hw_ops
        soundwire: intel: add register_dai callback in hw_ops
        soundwire: intel: add debugfs callbacks in hw_ops
        soundwire: intel: start using hw_ops
        dt-bindings: soundwire: Convert text bindings to DT Schema
        soundwire: cadence: use dai_runtime_array instead of dma_data
        soundwire: cadence: rename sdw_cdns_dai_dma_data as sdw_cdns_dai_runtime
        soundwire: qcom: add support for v1.7 Soundwire Controller
        dt-bindings: soundwire: qcom: add v1.7.0 support
        soundwire: qcom: make reset optional for v1.6 controller
        soundwire: qcom: remove unused SWRM_SPECIAL_CMD_ID
        soundwire: dmi-quirks: add quirk variant for LAPBC710 NUC15
      1b6a349a
    • Linus Torvalds's avatar
      Merge tag 'phy-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · e7904111
      Linus Torvalds authored
      Pull phy updates from Vinod Koul:
       "This tme we have again a big pile of qcom-qmp-* changes, one new
        driver and bunch of new hardware support.
      
        New hardware support:
      
         - Allwinner H616 USB PHY and A100 DPHY support
      
         - TI J721s2, J784s4 and J721e support
      
         - Freescale i.MX8MP PCIe PHY support
      
         - New driver for Renesas Ethernet SERDES supporting R-Car S4-8
      
         - Qualcomm SM8450 PCIe1 PHY support in EP mode
      
         - Qualcomm SC8280XP PCIe PHY support (including x4 mode)
      
         - Fixed Qualcomm SC8280XP USB4-USB3-DP PHY DT bindings
      
        Updates:
      
         - A big pile of updates on qcom-qmp-* drivers following the driver
           split and reorganization merged earlier
      
         - Phy order of API calls documentation update"
      
      * tag 'phy-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (174 commits)
        phy: ti: phy-j721e-wiz: add j721s2-wiz-10g module support
        dt-bindings: phy-j721e-wiz: add j721s2 compatible string
        phy: use devm_platform_get_and_ioremap_resource()
        phy: allwinner: phy-sun6i-mipi-dphy: Add the A100 DPHY variant
        phy: allwinner: phy-sun6i-mipi-dphy: Add a variant power-on hook
        phy: allwinner: phy-sun6i-mipi-dphy: Set the enable bit last
        phy: allwinner: phy-sun6i-mipi-dphy: Make RX support optional
        dt-bindings: sun6i-a31-mipi-dphy: Add the A100 DPHY variant
        dt-bindings: sun6i-a31-mipi-dphy: Add the interrupts property
        phy: qcom-qmp-pcie: drop redundant clock allocation
        phy: qcom-qmp-usb: drop redundant clock allocation
        phy: qcom-qmp: drop unused type header
        phy: qcom-qmp-usb: drop sc8280xp reference-clock source
        dt-bindings: phy: qcom,sc8280xp-qmp-usb3-uni: drop reference-clock source
        phy: qcom-qmp-combo: add support for updated sc8280xp binding
        phy: qcom-qmp-combo: rename DP_PHY register pointer
        phy: qcom-qmp-combo: rename common-register pointers
        phy: qcom-qmp-combo: clean up DP clock callbacks
        phy: qcom-qmp-combo: separate clock and provider registration
        phy: qcom-qmp-combo: add clock registration helper
        ...
      e7904111
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · b8fd76f4
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core code:
         - map/unmap_pages() cleanup
         - SVA and IOPF refactoring
         - Clean up and document return codes from device/domain attachment
      
        AMD driver:
         - Rework and extend parsing code for ivrs_ioapic, ivrs_hpet and
           ivrs_acpihid command line options
         - Some smaller cleanups
      
        Intel driver:
         - Blocking domain support
         - Cleanups
      
        S390 driver:
         - Fixes and improvements for attach and aperture handling
      
        PAMU driver:
         - Resource leak fix and cleanup
      
        Rockchip driver:
         - Page table permission bit fix
      
        Mediatek driver:
         - Improve safety from invalid dts input
         - Smaller fixes and improvements
      
        Exynos driver:
         - Fix driver initialization sequence
      
        Sun50i driver:
         - Remove IOMMU_DOMAIN_IDENTITY as it has not been working forever
         - Various other fixes"
      
      * tag 'iommu-updates-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (74 commits)
        iommu/mediatek: Fix forever loop in error handling
        iommu/mediatek: Fix crash on isr after kexec()
        iommu/sun50i: Remove IOMMU_DOMAIN_IDENTITY
        iommu/amd: Fix typo in macro parameter name
        iommu/mediatek: Remove unused "mapping" member from mtk_iommu_data
        iommu/mediatek: Improve safety for mediatek,smi property in larb nodes
        iommu/mediatek: Validate number of phandles associated with "mediatek,larbs"
        iommu/mediatek: Add error path for loop of mm_dts_parse
        iommu/mediatek: Use component_match_add
        iommu/mediatek: Add platform_device_put for recovering the device refcnt
        iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
        iommu/vt-d: Use real field for indication of first level
        iommu/vt-d: Remove unnecessary domain_context_mapped()
        iommu/vt-d: Rename domain_add_dev_info()
        iommu/vt-d: Rename iommu_disable_dev_iotlb()
        iommu/vt-d: Add blocking domain support
        iommu/vt-d: Add device_block_translation() helper
        iommu/vt-d: Allocate pasid table in device probe path
        iommu/amd: Check return value of mmu_notifier_register()
        iommu/amd: Fix pci device refcount leak in ppr_notifier()
        ...
      b8fd76f4
    • Linus Torvalds's avatar
      Merge tag 'loongarch-6.2' of... · 2f26e424
      Linus Torvalds authored
      Merge tag 'loongarch-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch updates from Huacai Chen:
      
       - Switch to relative exception tables
      
       - Add unaligned access support
      
       - Add alternative runtime patching mechanism
      
       - Add FDT booting support from efi system table
      
       - Add suspend/hibernation (ACPI S3/S4) support
      
       - Add basic STACKPROTECTOR support
      
       - Add ftrace (function tracer) support
      
       - Update the default config file
      
      * tag 'loongarch-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson: (24 commits)
        LoongArch: Update Loongson-3 default config file
        LoongArch: modules/ftrace: Initialize PLT at load time
        LoongArch/ftrace: Add HAVE_FUNCTION_GRAPH_RET_ADDR_PTR support
        LoongArch/ftrace: Add HAVE_DYNAMIC_FTRACE_WITH_ARGS support
        LoongArch/ftrace: Add HAVE_DYNAMIC_FTRACE_WITH_REGS support
        LoongArch/ftrace: Add dynamic function graph tracer support
        LoongArch/ftrace: Add dynamic function tracer support
        LoongArch/ftrace: Add recordmcount support
        LoongArch/ftrace: Add basic support
        LoongArch: module: Use got/plt section indices for relocations
        LoongArch: Add basic STACKPROTECTOR support
        LoongArch: Add hibernation (ACPI S4) support
        LoongArch: Add suspend (ACPI S3) support
        LoongArch: Add processing ISA Node in DeviceTree
        LoongArch: Add FDT booting support from efi system table
        LoongArch: Use alternative to optimize libraries
        LoongArch: Add alternative runtime patching mechanism
        LoongArch: Add unaligned access support
        LoongArch: BPF: Add BPF exception tables
        LoongArch: Remove the .fixup section usage
        ...
      2f26e424
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-6.2-rc1' of https://github.com/c-sky/csky-linux · 96bab5b9
      Linus Torvalds authored
      Pull arch/csky updates from Guo Ren:
      
       - Revert rseq support - it wasn't ready
      
       - Add current_stack_pointer support
      
       - Typo fixup
      
      * tag 'csky-for-linus-6.2-rc1' of https://github.com/c-sky/csky-linux:
        Revert "csky: Add support for restartable sequence"
        Revert "csky: Fixup CONFIG_DEBUG_RSEQ"
        csky: Kconfig: Fix spelling mistake "Meory" -> "Memory"
        csky: add arch support current_stack_pointer
      96bab5b9
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 5f6e430f
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Add powerpc qspinlock implementation optimised for large system
         scalability and paravirt. See the merge message for more details
      
       - Enable objtool to be built on powerpc to generate mcount locations
      
       - Use a temporary mm for code patching with the Radix MMU, so the
         writable mapping is restricted to the patching CPU
      
       - Add an option to build the 64-bit big-endian kernel with the ELFv2
         ABI
      
       - Sanitise user registers on interrupt entry on 64-bit Book3S
      
       - Many other small features and fixes
      
      Thanks to Aboorva Devarajan, Angel Iglesias, Benjamin Gray, Bjorn
      Helgaas, Bo Liu, Chen Lifu, Christoph Hellwig, Christophe JAILLET,
      Christophe Leroy, Christopher M. Riedl, Colin Ian King, Deming Wang,
      Disha Goel, Dmitry Torokhov, Finn Thain, Geert Uytterhoeven, Gustavo A.
      R. Silva, Haowen Bai, Joel Stanley, Jordan Niethe, Julia Lawall, Kajol
      Jain, Laurent Dufour, Li zeming, Miaoqian Lin, Michael Jeanson, Nathan
      Lynch, Naveen N. Rao, Nayna Jain, Nicholas Miehlbradt, Nicholas Piggin,
      Pali Rohár, Randy Dunlap, Rohan McLure, Russell Currey, Sathvika
      Vasireddy, Shaomin Deng, Stephen Kitt, Stephen Rothwell, Thomas
      Weißschuh, Tiezhu Yang, Uwe Kleine-König, Xie Shaowen, Xiu Jianfeng,
      XueBing Chen, Yang Yingliang, Zhang Jiaming, ruanjinjie, Jessica Yu,
      and Wolfram Sang.
      
      * tag 'powerpc-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (181 commits)
        powerpc/code-patching: Fix oops with DEBUG_VM enabled
        powerpc/qspinlock: Fix 32-bit build
        powerpc/prom: Fix 32-bit build
        powerpc/rtas: mandate RTAS syscall filtering
        powerpc/rtas: define pr_fmt and convert printk call sites
        powerpc/rtas: clean up includes
        powerpc/rtas: clean up rtas_error_log_max initialization
        powerpc/pseries/eeh: use correct API for error log size
        powerpc/rtas: avoid scheduling in rtas_os_term()
        powerpc/rtas: avoid device tree lookups in rtas_os_term()
        powerpc/rtasd: use correct OF API for event scan rate
        powerpc/rtas: document rtas_call()
        powerpc/pseries: unregister VPA when hot unplugging a CPU
        powerpc/pseries: reset the RCU watchdogs after a LPM
        powerpc: Take in account addition CPU node when building kexec FDT
        powerpc: export the CPU node count
        powerpc/cpuidle: Set CPUIDLE_FLAG_POLLING for snooze state
        powerpc/dts/fsl: Fix pca954x i2c-mux node names
        cxl: Remove unnecessary cxl_pci_window_alignment()
        selftests/powerpc: Fix resource leaks
        ...
      5f6e430f
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2022-12-17-20-32' of... · a6e3e6f1
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2022-12-17-20-32' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull fault-injection updates from Andrew Morton:
       "Some fault-injection improvements from Wei Yongjun which enable
        stacktrace filtering on x86_64"
      
      * tag 'mm-nonmm-stable-2022-12-17-20-32' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        fault-injection: make stacktrace filter works as expected
        fault-injection: make some stack filter attrs more readable
        fault-injection: skip stacktrace filtering by default
        fault-injection: allow stacktrace filter for x86-64
      a6e3e6f1
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2022-12-17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 1ea9d333
      Linus Torvalds authored
      Pull more mm updates from Andrew Morton:
      
       - A few late-breaking minor fixups
      
       - Two minor feature patches which were awkwardly dependent on mm-nonmm.
         I need to set up a new branch to handle such things.
      
      * tag 'mm-stable-2022-12-17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        MAINTAINERS: zram: zsmalloc: Add an additional co-maintainer
        mm/kmemleak: use %pK to display kernel pointers in backtrace
        mm: use stack_depot for recording kmemleak's backtrace
        maple_tree: update copyright dates for test code
        maple_tree: fix mas_find_rev() comment
        mm/gup_test: free memory allocated via kvcalloc() using kvfree()
      1ea9d333
  3. 17 Dec, 2022 10 commits
    • Linus Torvalds's avatar
      Merge tag 'x86_mm_for_6.2_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4f292c4d
      Linus Torvalds authored
      Pull x86 mm updates from Dave Hansen:
       "New Feature:
      
         - Randomize the per-cpu entry areas
      
        Cleanups:
      
         - Have CR3_ADDR_MASK use PHYSICAL_PAGE_MASK instead of open coding it
      
         - Move to "native" set_memory_rox() helper
      
         - Clean up pmd_get_atomic() and i386-PAE
      
         - Remove some unused page table size macros"
      
      * tag 'x86_mm_for_6.2_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (35 commits)
        x86/mm: Ensure forced page table splitting
        x86/kasan: Populate shadow for shared chunk of the CPU entry area
        x86/kasan: Add helpers to align shadow addresses up and down
        x86/kasan: Rename local CPU_ENTRY_AREA variables to shorten names
        x86/mm: Populate KASAN shadow for entire per-CPU range of CPU entry area
        x86/mm: Recompute physical address for every page of per-CPU CEA mapping
        x86/mm: Rename __change_page_attr_set_clr(.checkalias)
        x86/mm: Inhibit _PAGE_NX changes from cpa_process_alias()
        x86/mm: Untangle __change_page_attr_set_clr(.checkalias)
        x86/mm: Add a few comments
        x86/mm: Fix CR3_ADDR_MASK
        x86/mm: Remove P*D_PAGE_MASK and P*D_PAGE_SIZE macros
        mm: Convert __HAVE_ARCH_P..P_GET to the new style
        mm: Remove pointless barrier() after pmdp_get_lockless()
        x86/mm/pae: Get rid of set_64bit()
        x86_64: Remove pointless set_64bit() usage
        x86/mm/pae: Be consistent with pXXp_get_and_clear()
        x86/mm/pae: Use WRITE_ONCE()
        x86/mm/pae: Don't (ab)use atomic64
        mm/gup: Fix the lockless PMD access
        ...
      4f292c4d
    • Linus Torvalds's avatar
      Merge tag 'msi-fixes-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms · 03d84bd6
      Linus Torvalds authored
      Pull MSI fixes from Marc Zyngier:
       "Thomas tasked me with sending out a few urgent fixes after the giant
        MSI rework that landed in 6.2, as both s390 and powerpc ended-up
        suffering from it (they do not use the full core code infrastructure,
        leading to these previously undetected issues):
      
         - Return MSI_XA_DOMAIN_SIZE as the maximum MSI index when the
           architecture does not make use of irq domains instead of returning
           0, which is pretty limiting.
      
         - Check for the presence of an irq domain when validating the MSI
           iterator, as s390/powerpc won't have one.
      
         - Fix powerpc's MSI backends which fail to clear the descriptor's IRQ
           field on teardown, leading to a splat and leaked descriptors"
      
      * tag 'msi-fixes-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms:
        powerpc/msi: Fix deassociation of MSI descriptors
        genirq/msi: Return MSI_XA_DOMAIN_SIZE as the maximum MSI index when no domain is present
        genirq/msi: Check for the presence of an irq domain when validating msi_ctrl
      03d84bd6
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · f9ff5644
      Linus Torvalds authored
      Pull HSI updates from Sebastian Reichel:
      
       - misc small fixes
      
      * tag 'hsi-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: omap_ssi_core: Fix error handling in ssi_init()
        headers: Remove some left-over license text in include/uapi/linux/hsi/
        HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
        HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
        HSI: ssi_protocol: Fix return type of ssip_pn_xmit()
      f9ff5644
    • Linus Torvalds's avatar
      Merge tag 'for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · b220f311
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - bq25890: add charge voltage/current support
      
       - bd99954: convert to linear range
      
       - convert all i2c drivers to use probe_new
      
       - misc fixes and cleanups
      
      * tag 'for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (51 commits)
        power: supply: fix null pointer dereferencing in power_supply_get_battery_info
        power: supply: bq25890: Fix usb-notifier probe and remove races
        power: supply: bq25890: Ensure pump_express_work is cancelled on remove
        power: supply: Fix refcount leak in rk817_charger_probe
        power: supply: bq25890: Only use pdata->regulator_init_data for vbus
        power: supply: ab8500: Fix error handling in ab8500_charger_init()
        power: supply: cw2015: Fix potential null-ptr-deref in cw_bat_probe()
        power: supply: z2_battery: Fix possible memleak in z2_batt_probe()
        power: supply: z2_battery: Convert to i2c's .probe_new()
        power: supply: ucs1002: Convert to i2c's .probe_new()
        power: supply: smb347: Convert to i2c's .probe_new()
        power: supply: sbs-manager: Convert to i2c's .probe_new()
        power: supply: sbs: Convert to i2c's .probe_new()
        power: supply: rt9455: Convert to i2c's .probe_new()
        power: supply: rt5033_battery: Convert to i2c's .probe_new()
        power: supply: max17042_battery: Convert to i2c's .probe_new()
        power: supply: max17040: Convert to i2c's .probe_new()
        power: supply: max14656: Convert to i2c's .probe_new()
        power: supply: ltc4162-l: Convert to i2c's .probe_new()
        power: supply: ltc2941: Convert to i2c's .probe_new()
        ...
      b220f311
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-6.2-rc1' of git://www.linux-watchdog.org/linux-watchdog · b611996e
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - Add Advantech EC watchdog driver
      
       - Add support for MT6795 Helio X10 watchdog and toprgu
      
       - Add support for MT8188 watchdog device
      
       - Remove #ifdef guards for PM related functions
      
       - Other fixes and improvements
      
      * tag 'linux-watchdog-6.2-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: aspeed: Enable pre-timeout interrupt
        watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running
        watchdog: rn5t618: add support for read out bootstatus
        watchdog: kempld: Remove #ifdef guards for PM related functions
        watchdog: omap: Remove #ifdef guards for PM related functions
        watchdog: twl4030: Remove #ifdef guards for PM related functions
        watchdog: at91rm9200: Remove #ifdef guards for PM related functions
        watchdog: Add Advantech EC watchdog driver
        dt-bindings: watchdog: mediatek,mtk-wdt: Add compatible for MT8173
        dt-bindings: watchdog: mediatek,mtk-wdt: Add compatible for MT6795
        dt-bindings: watchdog: mediatek: Convert mtk-wdt to json-schema
        watchdog: mediatek: mt8188: add wdt support
        dt-bindings: reset: mt8188: add toprgu reset-controller header file
        dt-bindings: watchdog: Add compatible for MediaTek MT8188
        watchdog: mtk_wdt: Add support for MT6795 Helio X10 watchdog and toprgu
      b611996e
    • Linus Torvalds's avatar
      Merge tag 'leds-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 75caf594
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Lee Jones offered his help with maintaining LEDs, thanks a lot.
      
        Plus, there are some bugfixes as a bonus"
      
      * tag 'leds-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: MAINTAINERS: include dt-bindings headers
        leds: qcom,pm8058-led: Convert to DT schema
        leds: use sysfs_emit() to instead of scnprintf()
        leds: is31fl319x: Fix setting current limit for is31fl319{0,1,3}
        MAINTAINERS: Add additional co-maintainer to LEDs
        leds: lp5523: fix out-of-bounds bug in lp5523_selftest()
        dt-bindings: leds: Add 'cpuX' to 'linux,default-trigger'
        led: qcom-lpg: Fix sleeping in atomic
        leds: max8997: Don't error if there is no pdata
        leds: lp55xx: remove variable j
        leds-pca955x: Remove the unused function pca95xx_num_led_regs()
      75caf594
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · ed56954c
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "Fix two build warnings on 32 bit platforms
      
        It seems the linux-next CI and 0-day bot are not testing enough 32 bit
        configurations, as soon as you merged the rdma pull request there were
        two instant reports of warnings on these sytems that I would have
        thought should have been covered by time in linux-next
      
        Anyhow, here are the fixes so people don't hit problems with -Werror"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/siw: Fix pointer cast warning
        RDMA/rxe: Fix compile warnings on 32-bit
      ed56954c
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v6.1-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 6830d503
      Linus Torvalds authored
      Pull gfs2 updtaes from Andreas Gruenbacher:
      
       - Revert a change to delete_work_func() that has gone wrong in commit
         c412a97c ("gfs2: Use TRY lock in gfs2_inode_lookup for UNLINKED
         inodes").
      
       - Avoid dequeuing GL_ASYNC glock holders twice by first checking if the
         holder is still queued.
      
       - gfs2: Always check the inode size of inline inodes when reading in
         inodes to prevent corrupt filesystem images from causing weid errors.
      
       - Properly handle a race between gfs2_create_inode() and
         gfs2_inode_lookup() that causes insert_inode_locked4() to return
         -EBUSY.
      
       - Fix and clean up the interaction between gfs2_create_inode() and
         gfs2_evict_inode() by completely handling the inode deallocation and
         destruction in gfs2_evict_inode().
      
       - Remove support for glock holder auto-demotion as we have no current
         plans of using this feature again.
      
       - And a few more minor cleanups and clarifications.
      
      * tag 'gfs2-v6.1-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Remove support for glock holder auto-demotion (2)
        gfs2: Remove support for glock holder auto-demotion
        gfs2: Minor gfs2_try_evict cleanup
        gfs2: Partially revert gfs2_inode_lookup change
        gfs2: Add gfs2_inode_lookup comment
        gfs2: Uninline and improve glock_{set,clear}_object
        gfs2: Simply dequeue iopen glock in gfs2_evict_inode
        gfs2: Clean up after gfs2_create_inode rework
        gfs2: Avoid dequeuing GL_ASYNC glock holders twice
        gfs2: Make gfs2_glock_hold return its glock argument
        gfs2: Always check inode size of inline inodes
        gfs2: Cosmetic gfs2_dinode_{in,out} cleanup
        gfs2: Handle -EBUSY result of insert_inode_locked4
        gfs2: Fix and clean up create / evict interaction
        gfs2: Clean up initialization of "ip" in gfs2_create_inode
        gfs2: Get rid of ghs[] in gfs2_create_inode
        gfs2: Add extra error check in alloc_dinode
      6830d503
    • Veronika Kabatova's avatar
      buildtar: fix tarballs with EFI_ZBOOT enabled · 731c4eac
      Veronika Kabatova authored
      When CONFIG_EFI_ZBOOT is enabled, the binary name is not Image.gz
      anymore but vmlinuz.efi. No vmlinuz gets put into the tarball as the
      buildtar script doesn't recognize this name. Remedy this by adding the
      binary name to the list of acceptable files to package.
      Reported-by: default avatarCKI Project <cki-project@redhat.com>
      Signed-off-by: default avatarVeronika Kabatova <vkabatov@redhat.com>
      Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      731c4eac
    • Marc Zyngier's avatar
      powerpc/msi: Fix deassociation of MSI descriptors · 4545c6a3
      Marc Zyngier authored
      Since 2f2940d1 ("genirq/msi: Remove filter from
      msi_free_descs_free_range()"), the core MSI code relies on the
      msi_desc->irq field to have been cleared before the descriptor
      can be freed, as it indicates that there is no association with
      a device anymore.
      
      The irq domain code provides this guarantee, and so does s390,
      which is one of the two architectures not using irq domains for
      MSIs.
      
      Powerpc, however, is missing this particular requirements,
      leading in a splat and leaked MSI descriptors.
      
      Adding the now required irq reset to the handful of powerpc backends
      that implement MSIs fixes that particular problem.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net
      4545c6a3
  4. 16 Dec, 2022 15 commits
    • Arnd Bergmann's avatar
      RDMA/siw: Fix pointer cast warning · 5244ca88
      Arnd Bergmann authored
      The previous build fix left a remaining issue in configurations with
      64-bit dma_addr_t on 32-bit architectures:
      
      drivers/infiniband/sw/siw/siw_qp_tx.c: In function 'siw_get_pblpage':
      drivers/infiniband/sw/siw/siw_qp_tx.c:32:37: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
         32 |                 return virt_to_page((void *)paddr);
            |                                     ^
      
      Use the same double cast here that the driver uses elsewhere to convert
      between dma_addr_t and void*.
      
      Fixes: 0d1b756a ("RDMA/siw: Pass a pointer to virt_to_page()")
      Link: https://lore.kernel.org/r/20221215170347.2612403-1-arnd@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarBernard Metzler <bmt@zurich.ibm.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      5244ca88
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 77856d91
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
      
       - Fix Kconfig dependencies to re-allow the enabling of function graph
         tracer and shadow call stacks at the same time.
      
       - Revert the workaround for CPU erratum #2645198 since the CONFIG_
         guards were incorrect and the code has therefore not seen any real
         exposure in -next.
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        Revert "arm64: errata: Workaround possible Cortex-A715 [ESR|FAR]_ELx corruption"
        ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack
      77856d91
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v6.2-1-2022-12-16' of... · aa4800e3
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v6.2-1-2022-12-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools updates from Arnaldo Carvalho de Melo:
       "Libraries:
      
         - Drop the old copy of libtraceevent in tools/lib/traceevent/ now
           that all major distros ship it from its external repository.
      
           This is now just another feature detection, emitting a warning when
           the libtraceevent-dev[el] package isn't installed, disabling the
           build of perf features and tools that strictly require parsing
           things from tracefs while keeping the core functionality present
           and working with a subset of the events, the most used ones like
           CPU cycles, hardware cache and also vendor events, etc.
      
           This was tested with lots of containers for Fedora, Debian,
           OpenSUSE, Alpine Linux, Ubuntu, with cross builds, etc.
      
        Build:
      
         - Update to C standard to gnu11, like was done for the kernel.
      
         - Install the tools/lib/ libraries locally instead of having headers
           searched directly from the source code directories, to help the
           cases where we can build either from in-kernel source libraries or
           from the same library shipped as a distro package, as is the case
           with libbpf and was the case with libtraceevent.
      
        perf stat:
      
         - Do not delay the workload with --delay, the delay is just for
           starting to count the events, to skip noise at workload startup.
      
         - When we have events for each cgroup, the metric should be printed
           for each cgroup separately.
      
              $ perf stat -a --for-each-cgroup system.slice,user.slice --metric-only sleep 1
      
              Performance counter stats for 'system wide':
      
                              GHz  insn per cycle  branch-misses of all branches
              system.slice  3.792      0.61                  3.24%
              user.slice    3.661      2.32                  0.37%
      
         - Fix printing field separator in CSV metrics output.
      
         - Fix --metric-only --json output.
      
         - Fix summary output in CSV with --metric-only.
      
         - Update event group check for support of uncore event.
      
        perf test:
      
         - Stop requiring a C toolchain in shell tests, instead add a workload
           option that has all the previously C snippets built as part of
           'perf test -w' that then get used in the 'perf test' shell scripts.
      
         - Add event group test for events in multiple PMUs
      
         - The "kernel lock contention analysis" test should not print
           warnings in quiet mode.
      
         - Add attr tests for ARM64's new VG register.
      
         - Fix record test on KVM guests, as using precise flag with the
           br_inst_retired.near_call event causes the test fail on KVM guests,
           even when the guests have PMU forwarding enabled and the event
           itself is supported, so just remove the precise flag from the
           event.
      
         - Add mechanism for skipping attr tests on specific kernel versions
           where it is known that these checks will fail.
      
         - Skip watchpoint tests if no watchpoints available.
      
         - Add more Intel PT 'perf test' entries: hybrid CPUs, split the
           packet decoder into a suite of subtests.
      
        perf script:
      
         - Introduce task analyzer python script, where one first records some events:
      
           Recording can be done in two ways:
      
              $ perf script record tasks-analyzer -- sleep 10
              $ perf record -e sched:sched_switch -a -- sleep 10
      
           The script can parse any perf.data files, as long as it has
           sched:sched_switch events, other events will be ignored.
      
           The most simple report use case is to just call the script without
           arguments.
      
           Runtime is the time the task was running on the CPU, Time Out-In is
           the time between the process being scheduled *out* and scheduled
           back *in*. So the last time span between two executions:
      
              $ perf script report tasks-analyzer
                  Switched-In     Switched-Out CPU    PID    TID             Comm  Runtime  Time Out-In
              15576.658891407  15576.659156086   4   2412   2428            gdbus      265         1949
              15576.659111320  15576.659455410   0   2412   2412      gnome-shell      344         2267
              15576.659491326  15576.659506173   2     74     74      kworker/2:1       15        13145
              15576.659506173  15576.659825748   2   2858   2858  gnome-terminal-      320        63263
              15576.659871270  15576.659902872   6  20932  20932    kworker/u16:0       32      2314582
              15576.659909951  15576.659945501   3  27264  27264               sh       36           -1
              15576.659853285  15576.659971052   7  27265  27265             perf      118      5050741
              [...]
      
        perf lock:
      
         - Allow concurrent record and report to support live monitoring of
           kernel lock contention without BPF:
      
              # perf lock record -a -o- sleep 1 | perf lock contention -i-
               contended   total wait     max wait     avg wait         type   caller
      
                       2     10.27 us      6.17 us      5.13 us     spinlock   load_balance+0xc03
                       1      5.29 us      5.29 us      5.29 us     rwlock:W   ep_scan_ready_list+0x54
                       1      4.12 us      4.12 us      4.12 us     spinlock   smpboot_thread_fn+0x116
                       1      3.28 us      3.28 us      3.28 us        mutex   pipe_read+0x50
      
         - Implement -t/--threads option when using BPF:
      
              $ sudo ./perf lock contention -abt -E 5 sleep 1
               contended  total wait   max wait   avg wait      pid  comm
      
                       1   740.66 ms  740.66 ms  740.66 ms     1950  nv_queue
                       3   305.50 ms  298.19 ms  101.83 ms     1884  nvidia-modeset/
                       1    25.14 us   25.14 us   25.14 us  2725038  EventManager_De
                      12    23.09 us    9.30 us    1.92 us        0  swapper
                       1    20.18 us   20.18 us   20.18 us  2725033  EventManager_De
      
         - Add -l/--lock-addr to aggregate per-lock-instance contention:
      
              $ sudo ./perf lock contention -abl sleep 1
               contended  total wait  max wait  avg wait           address  symbol
      
                       1    36.28 us  36.28 us  36.28 us  ffff92615d6448b8
                       9    10.91 us   1.84 us   1.21 us  ffffffffbaed50c0  rcu_state
                       1    10.49 us  10.49 us  10.49 us  ffff9262ac4f0c80
                       8     4.68 us   1.67 us    585 ns  ffffffffbae07a40  jiffies_lock
                       3     3.03 us   1.45 us   1.01 us  ffff9262277861e0
                       1      924 ns    924 ns    924 ns  ffff926095ba9d20
                       1      436 ns    436 ns    436 ns  ffff9260bfda4f60
      
        perf record:
      
         - Add remaining branch filters: "no_cycles", "no_flags" & "hw_index",
           to be used with hardware such as Intel's LBR that allows things
           like stitching stacks of two samples to overcome the limits of the
           number of LBR registers.
      
        Symbol resolution:
      
         - Handle .debug files created with 'objcopy --only-keep-debug', where
           program headers are zeroed and thus can't be used for adjustments,
           use the info in the runtime_ss (runtime ELF) instead.
      
        perf trace:
      
         - Add BPF based augmenter for the 'perf_event_open's 'struct
           perf_event_attr' argument.
      
         - Add BPF based augmenter for the 'clock_gettime's 'struct timespec'
           argument.
      
         - In both cases the syscall tracepoint has just the pointer value, we
           need to hook a BPF program to collect the pointer contents, and
           then, in userspace, pretty print it in 'perf trace'.
      
        perf list:
      
         - Introduce JSON output of events.
      
         - Streamline how the expression specifying what events should be
           shown is handled, fixing several corner cases, such as the metric
           filter that is specified as a glob but was using strstr().
      
        perf probe:
      
         - Fix to avoid crashing if DW_AT_decl_file is NULL, coping with clang
           generating DWARF5 like that.
      
         - Use dwarf_attr_integrate() as generic DWARF attr accessor as it
           supersedes dwarf_attr(), supporting abstact origin DIEs.
      
        perf inject:
      
         - Set PERF_RECORD_MISC_BUILD_ID_SIZE in the PERF_RECORD_HEADER_BUILD_ID
           so that perf.data readers can get the real build-id size and avoid
           trailing zeroes.
      
        perf data:
      
         - Add tracepoint fields when converting a perf.data file to JSON.
      
        arm64:
      
         - Fix mksyscalltbl, don't lose syscalls due to sort -nu.
      
         - Add Arm Neoverse V2 PMU events.
      
        riscv:
      
         - Add riscv sbi firmware std event files.
      
         - Add Sifive U74 vendor events (JSON) file.
      
         - Add some more events and metrics for Alderlake/Alderlake-N.
      
        Documentation:
      
         - Add data documentation for the PMU structs in the C source code.
      
        Miscellaneous:
      
         - Periodic sanitization of headers, adding missing includes, removing
           needless ones, creating new ones, etc.
      
         - Use sig_atomic_t for signal handlers to avoid undefined behaviour
           in all perf tools.
      
         - Fixes for libbpf 1.0+ compatibility (maps, etc) on 'perf trace' BPF
           examples.
      
         - Remove some old perf bpf examples, leave the best ones that
           demonstrate how to associate BPF functions to points in the kernel.
      
         - Make quiet mode consistent between tools.
      
         - Use dedicated non-atomic clear/set bit helpers.
      
         - Use "grep -E" instead of "egrep" as recommended by warning emitted
           by GNU grep since at least version 3.8.
      
         - Complete list of supported subcommands in the 'perf daemon' help
           message.
      
         - Update John Garry's email address for arm64 perf tooling on the
           MAINTAINERS file, he moved from Huawei to Oracle"
      
      * tag 'perf-tools-for-v6.2-1-2022-12-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (239 commits)
        libperf: Fix install_pkgconfig target
        perf tools: Use "grep -E" instead of "egrep"
        perf stat: Do not delay the workload with --delay
        perf evlist: Remove group option.
        perf build: Fix python/perf.so library's name
        perf test arm64: Add attr tests for new VG register
        perf test: Add mechanism for skipping attr tests on kernel versions
        perf test: Add mechanism for skipping attr tests on auxiliary vector values
        perf test: Add ability to test exit code for attr tests
        perf test: add new task-analyzer tests
        perf script: task-analyzer add csv support
        perf script: Introduce task analyzer python script
        perf cs-etm: Print auxtrace info even if OpenCSD isn't linked
        perf cs-etm: Cleanup cs_etm__process_auxtrace_info()
        perf cs-etm: Tidy up auxtrace info header printing
        perf cs-etm: Remove unused stub methods
        perf cs-etm: Print unknown header version as an error
        perf test: Update perf lock contention test
        perf lock contention: Add -l/--lock-addr option
        perf lock contention: Implement -t/--threads option for BPF
        ...
      aa4800e3
    • Linus Torvalds's avatar
      Fix mismerge due to devnode now taking a 'const *' device · dcde56bb
      Linus Torvalds authored
      This was a mismerge of a semantic conflict in my merge of the driver
      core updates, where commit ff62b8e6 ("driver core: make struct
      class.devnode() take a const *") changed the devnode function pointer
      type.  In the meantime, the drm tree I merged earlier had introduced a
      new use of that in commit 8bf48897 ("drivers/accel: define kconfig
      and register a new major").
      
      And of course this happens when I'm traveling with my laptop, and thus
      didn't do a full allmodconfig build between every pull and before
      pushing my work out.
      
      So I only noticed later as I was doing my full build.
      Brown-paper-bag-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Fixes: 71a7507a Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-coreSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dcde56bb
    • Thomas Gleixner's avatar
      genirq/msi: Return MSI_XA_DOMAIN_SIZE as the maximum MSI index when no domain is present · e982ad82
      Thomas Gleixner authored
      On architectures such as s390 that do not use irq domains for MSI,
      returning 0 as the maximum MSI index is a bit counter-productive,
      as it indicates that no MSI can be allocated. Bad idea.
      
      Instead, return the maximum we're willing to support in the MSI
      backing store (MSI_XA_DOMAIN_SIZE), and let the arch code do its
      usual thing.
      
      Thanks to Matthew Rosato for fixing the fix.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      [maz: commit message]
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/87fsdgzpqs.ffs@tglx
      e982ad82
    • Marc Zyngier's avatar
      genirq/msi: Check for the presence of an irq domain when validating msi_ctrl · db3568fd
      Marc Zyngier authored
      For architectures such as s390 and powerpc that do not use
      irq domains for MSIs, dev->msi.domain is always NULL, so
      the per-device, per-bus MSI domain is also guaranteed to
      be NULL.
      
      So checking one without checking the other is bound to result
      in a splat, followed by a memory leak as we don't free the MSI
      descriptors.
      
      Add the missing check.
      Reported-by: default avatarMatthew Rosato <mjrosato@linux.ibm.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/e570e70d-19bc-101b-0481-ff9a3cab3504@linux.ibm.com
      db3568fd
    • Alexander Gordeev's avatar
      libperf: Fix install_pkgconfig target · 4ff17c44
      Alexander Gordeev authored
      Commit 47e02b94 ("tools lib perf: Add dependency test to install_headers")
      misses the notion of $(DESTDIR_SQ) for install_pkgconfig target, which leads to
      error:
      
        install: cannot create regular file '/usr/lib64/pkgconfig/libperf.pc': Permission denied
        make: *** [Makefile:210: install_pkgconfig] Error 1
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Josh Poimboeuf <jpoimboe@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Rix <trix@redhat.com>
      Cc: bpf@vger.kernel.org
      Cc: llvm@lists.linux.dev
      Link: http://lore.kernel.org/lkml/Y5w/cWKyb8vpNMfA@li-4a3a4a4c-28e5-11b2-a85c-a8d192c6f089.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4ff17c44
    • Michael Ellerman's avatar
      powerpc/code-patching: Fix oops with DEBUG_VM enabled · 980411a4
      Michael Ellerman authored
      Nathan reported that the new per-cpu mm patching oopses if DEBUG_VM is
      enabled:
      
        ------------[ cut here ]------------
        kernel BUG at arch/powerpc/mm/pgtable.c:333!
        Oops: Exception in kernel mode, sig: 5 [#1]
        LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA PowerNV
        Modules linked in:
        CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0-rc2+ #1
        Hardware name: IBM PowerNV (emulated by qemu) POWER9 0x4e1200 opal:v7.0 PowerNV
        ...
        NIP assert_pte_locked+0x180/0x1a0
        LR  assert_pte_locked+0x170/0x1a0
        Call Trace:
          0x60000000 (unreliable)
          patch_instruction+0x618/0x6d0
          arch_prepare_kprobe+0xfc/0x2d0
          register_kprobe+0x520/0x7c0
          arch_init_kprobes+0x28/0x3c
          init_kprobes+0x108/0x184
          do_one_initcall+0x60/0x2e0
          kernel_init_freeable+0x1f0/0x3e0
          kernel_init+0x34/0x1d0
          ret_from_kernel_thread+0x5c/0x64
      
      It's caused by the assert_spin_locked() failing in assert_pte_locked().
      The assert fails because the PTE was unlocked in text_area_cpu_up_mm(),
      and never relocked.
      
      The PTE page shouldn't be freed, the patching_mm is only used for
      patching on this CPU, only that single PTE is ever mapped, and it's only
      unmapped at CPU offline.
      
      In fact assert_pte_locked() has a special case to ignore init_mm
      entirely, and the patching_mm is more-or-less like init_mm, so possibly
      the check could be skipped for patching_mm too.
      
      But for now be conservative, and use the proper PTE accessors at
      patching time, so that the PTE lock is held while the PTE is used. That
      also avoids the warning in assert_pte_locked().
      
      With that it's no longer necessary to save the PTE in
      cpu_patching_context for the mm_patch_enabled() case.
      
      Fixes: c28c15b6 ("powerpc/code-patching: Use temporary mm for Radix MMU")
      Reported-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20221216125913.990972-1-mpe@ellerman.id.au
      980411a4
    • Arnaldo Carvalho de Melo's avatar
      Merge remote-tracking branch 'torvalds/master' into perf/core · 1a931707
      Arnaldo Carvalho de Melo authored
      To resolve a trivial merge conflict with c302378b ("libbpf:
      Hashmap interface update to allow both long and void* keys/values"),
      where a function present upstream was removed in the perf tools
      development tree.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1a931707
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 71a7507a
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is the set of driver core and kernfs changes for 6.2-rc1.
      
        The "big" change in here is the addition of a new macro,
        container_of_const() that will preserve the "const-ness" of a pointer
        passed into it.
      
        The "problem" of the current container_of() macro is that if you pass
        in a "const *", out of it can comes a non-const pointer unless you
        specifically ask for it. For many usages, we want to preserve the
        "const" attribute by using the same call. For a specific example, this
        series changes the kobj_to_dev() macro to use it, allowing it to be
        used no matter what the const value is. This prevents every subsystem
        from having to declare 2 different individual macros (i.e.
        kobj_const_to_dev() and kobj_to_dev()) and having the compiler enforce
        the const value at build time, which having 2 macros would not do
        either.
      
        The driver for all of this have been discussions with the Rust kernel
        developers as to how to properly mark driver core, and kobject,
        objects as being "non-mutable". The changes to the kobject and driver
        core in this pull request are the result of that, as there are lots of
        paths where kobjects and device pointers are not modified at all, so
        marking them as "const" allows the compiler to enforce this.
      
        So, a nice side affect of the Rust development effort has been already
        to clean up the driver core code to be more obvious about object
        rules.
      
        All of this has been bike-shedded in quite a lot of detail on lkml
        with different names and implementations resulting in the tiny version
        we have in here, much better than my original proposal. Lots of
        subsystem maintainers have acked the changes as well.
      
        Other than this change, included in here are smaller stuff like:
      
         - kernfs fixes and updates to handle lock contention better
      
         - vmlinux.lds.h fixes and updates
      
         - sysfs and debugfs documentation updates
      
         - device property updates
      
        All of these have been in the linux-next tree for quite a while with
        no problems"
      
      * tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (58 commits)
        device property: Fix documentation for fwnode_get_next_parent()
        firmware_loader: fix up to_fw_sysfs() to preserve const
        usb.h: take advantage of container_of_const()
        device.h: move kobj_to_dev() to use container_of_const()
        container_of: add container_of_const() that preserves const-ness of the pointer
        driver core: fix up missed drivers/s390/char/hmcdrv_dev.c class.devnode() conversion.
        driver core: fix up missed scsi/cxlflash class.devnode() conversion.
        driver core: fix up some missing class.devnode() conversions.
        driver core: make struct class.devnode() take a const *
        driver core: make struct class.dev_uevent() take a const *
        cacheinfo: Remove of_node_put() for fw_token
        device property: Add a blank line in Kconfig of tests
        device property: Rename goto label to be more precise
        device property: Move PROPERTY_ENTRY_BOOL() a bit down
        device property: Get rid of __PROPERTY_ENTRY_ARRAY_EL*SIZE*()
        kernfs: fix all kernel-doc warnings and multiple typos
        driver core: pass a const * into of_device_uevent()
        kobject: kset_uevent_ops: make name() callback take a const *
        kobject: kset_uevent_ops: make filter() callback take a const *
        kobject: make kobject_namespace take a const *
        ...
      71a7507a
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · ba54ff1f
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the large set of char/misc and other driver subsystem changes
        for 6.2-rc1. Nothing earth-shattering in here at all, just a lot of
        new driver development and minor fixes.
      
        Highlights include:
      
         - fastrpc driver updates
      
         - iio new drivers and updates
      
         - habanalabs driver updates for new hardware and features
      
         - slimbus driver updates
      
         - speakup module parameters added to aid in boot time configuration
      
         - i2c probe_new conversions for lots of different drivers
      
         - other small driver fixes and additions
      
        One semi-interesting change in here is the increase of the number of
        misc dynamic minors available to 1048448 to handle new huge-cpu
        systems.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (521 commits)
        extcon: usbc-tusb320: Convert to i2c's .probe_new()
        extcon: rt8973: Convert to i2c's .probe_new()
        extcon: fsa9480: Convert to i2c's .probe_new()
        extcon: max77843: Replace irqchip mask_invert with unmask_base
        chardev: fix error handling in cdev_device_add()
        mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
        drivers: mcb: fix resource leak in mcb_probe()
        coresight: etm4x: fix repeated words in comments
        coresight: cti: Fix null pointer error on CTI init before ETM
        coresight: trbe: remove cpuhp instance node before remove cpuhp state
        counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update
        misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
        misc: fastrpc: Add mmap request assigning for static PD pool
        misc: fastrpc: Safekeep mmaps on interrupted invoke
        misc: fastrpc: Add support for audiopd
        misc: fastrpc: Rework fastrpc_req_munmap
        misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
        misc: fastrpc: Add fastrpc_remote_heap_alloc
        misc: fastrpc: Add reserved mem support
        misc: fastrpc: Rename audio protection domain to root
        ...
      ba54ff1f
    • Linus Torvalds's avatar
      Merge tag 'tty-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · dd6f9b17
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the "big" set of tty/serial driver changes for 6.2-rc1.
      
        As in previous kernel releases, nothing big here at all, just some
        small incremental serial/tty layer cleanups and some individual driver
        additions and fixes. Highlights are:
      
         - serial helper macros from Jiri Slaby to reduce the amount of
           duplicated code in serial drivers
      
         - api cleanups and consolidations from Ilpo Järvinen in lots of
           serial drivers
      
         - the usual set of n_gsm fixes from Daniel Starke as that code gets
           exercised more
      
         - TIOCSTI is finally able to be disabled if requested (security
           hardening feature from Kees Cook)
      
         - fsl_lpuart driver fixes and features added
      
         - other small serial driver additions and fixes
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (97 commits)
        serial: atmel: don't stop the transmitter when doing PIO
        serial: atmel: cleanup atmel_start+stop_tx()
        tty: serial: fsl_lpuart: switch to new dmaengine_terminate_* API
        serial: sunsab: Fix error handling in sunsab_init()
        serial: altera_uart: fix locking in polling mode
        serial: pch: Fix PCI device refcount leak in pch_request_dma()
        tty: serial: fsl_lpuart: Use pm_ptr() to avoid need to make pm __maybe_unused
        tty: serial: fsl_lpuart: Add runtime pm support
        tty: serial: fsl_lpuart: enable wakeup source for lpuart
        serdev: Replace poll loop by readx_poll_timeout() macro
        tty: synclink_gt: unwind actions in error path of net device open
        serial: stm32: move dma_request_chan() before clk_prepare_enable()
        dt-bindings: serial: xlnx,opb-uartlite: Drop 'contains' from 'xlnx,use-parity'
        serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
        serial: amba-pl011: avoid SBSA UART accessing DMACR register
        tty: serial: altera_jtaguart: remove struct altera_jtaguart
        tty: serial: altera_jtaguart: use uart_port::read_status_mask
        tty: serial: altera_jtaguart: remove unused altera_jtaguart::sigs
        tty: serial: altera_jtaguart: remove flag from altera_jtaguart_rx_chars()
        n_tty: Rename tail to old_tail in n_tty_read()
        ...
      dd6f9b17
    • Linus Torvalds's avatar
      Merge tag 'staging-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b83a7080
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the large set of staging driver changes for 6.2-rc1.
      
        Another round of cleanups for staging drivers with no big additions.
        Overall more lines were removed than added, always a nice sign, with
        nothing happening in here other than general coding style cleanups and
        minor fixes in the drivers. Full, boring, details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (253 commits)
        vme: Use root_device_register() not underlined version
        staging: rtl8192e: Fix spelling mistake "ContryIE" -> "CountryIE"
        vme: Fix error not catched in fake_init()
        staging: vme_user: remove multiple blank lines
        staging: r8188eu: use subtype helper in rtw_check_bcn_info
        staging: r8188eu: use subtype helpers in collect_bss_info
        staging: r8188eu: remove unused da parameter
        staging: r8188eu: merge two probereq_p2p functions
        staging: r8188eu: simplify err handling for unknown station
        staging: r8188eu: handle the non-ap case first
        staging: r8188eu: move bBusyTraffic update
        staging: r8188eu: read reason code from ieee80211_mgmt
        staging: r8188eu: use ieee80211_mgmt to parse addresses
        staging: r8188eu: remove a variable
        staging: r8188eu: simplify error handling for missing station
        staging: r8188eu: stop beacon processing if kmalloc fails
        staging: r8188eu: exit if beacon is not from our bss
        staging: r8188eu: simplify update_sta_support_rate params
        staging: r8188eu: use ie buffer in update_beacon_info
        staging: r8188eu: pass only ies to process_p2p_ps_ie
        ...
      b83a7080
    • Linus Torvalds's avatar
      Merge tag 'usb-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 58bcac11
      Linus Torvalds authored
      Pull USB and Thunderbolt driver updates from Greg KH:
       "Here is the large set of USB and Thunderbolt driver changes for
        6.2-rc1. Overall, thanks to the removal of a driver, more lines were
        removed than added, a nice change. Highlights include:
      
         - removal of the sisusbvga driver that was not used by anyone anymore
      
         - minor thunderbolt driver changes and tweaks
      
         - chipidea driver updates
      
         - usual set of typec driver features and hardware support added
      
         - musb minor driver fixes
      
         - fotg210 driver fixes, bringing that hardware back from the "dead"
      
         - minor dwc3 driver updates
      
         - addition, and then removal, of a list.h helper function for many
           USB and other subsystem drivers, that ended up breaking the build.
           That will come back for 6.3-rc1, it missed this merge window.
      
         - usual xhci updates and enhancements
      
         - usb-serial driver updates and support for new devices
      
         - other minor USB driver updates
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'usb-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (153 commits)
        usb: gadget: uvc: Rename bmInterfaceFlags -> bmInterlaceFlags
        usb: dwc2: power on/off phy for peripheral mode in dual-role mode
        usb: dwc2: disable lpm feature on Rockchip SoCs
        dt-bindings: usb: mtk-xhci: add support for mt7986
        usb: dwc3: core: defer probe on ulpi_read_id timeout
        usb: ulpi: defer ulpi_register on ulpi_read_id timeout
        usb: misc: onboard_usb_hub: add Genesys Logic GL850G hub support
        dt-bindings: usb: Add binding for Genesys Logic GL850G hub controller
        dt-bindings: vendor-prefixes: add Genesys Logic
        usb: fotg210-udc: fix potential memory leak in fotg210_udc_probe()
        usb: typec: tipd: Set mode of operation for USB Type-C connector
        usb: gadget: udc: drop obsolete dependencies on COMPILE_TEST
        usb: musb: remove extra check in musb_gadget_vbus_draw
        usb: gadget: uvc: Prevent buffer overflow in setup handler
        usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init
        usb: typec: wusb3801: fix fwnode refcount leak in wusb3801_probe()
        usb: storage: Add check for kcalloc
        USB: sisusbvga: use module_usb_driver()
        USB: sisusbvga: rename sisusb.c to sisusbvga.c
        USB: sisusbvga: remove console support
        ...
      58bcac11
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 84e57d29
      Linus Torvalds authored
      Pull exfat update from Namjae Jeon:
      
       - simplify and remove some redundant directory entry code
      
       - optimize the size of exfat_entry_set_cache and its allocation policy
      
       - improve the performance for creating files and directories
      
      * tag 'exfat-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: reuse exfat_find_location() to simplify exfat_get_dentry_set()
        exfat: fix overflow in sector and cluster conversion
        exfat: remove i_size_write() from __exfat_truncate()
        exfat: remove argument 'size' from exfat_truncate()
        exfat: remove unnecessary arguments from exfat_find_dir_entry()
        exfat: remove unneeded codes from __exfat_rename()
        exfat: remove call ilog2() from exfat_readdir()
        exfat: replace magic numbers with Macros
        exfat: rename exfat_free_dentry_set() to exfat_put_dentry_set()
        exfat: move exfat_entry_set_cache from heap to stack
        exfat: support dynamic allocate bh for exfat_entry_set_cache
        exfat: reduce the size of exfat_entry_set_cache
        exfat: hint the empty entry which at the end of cluster chain
        exfat: simplify empty entry hint
      84e57d29