1. 30 Aug, 2023 21 commits
    • Linus Torvalds's avatar
      Merge tag 'genpd-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · c66403f6
      Linus Torvalds authored
      Pull ARM SoC generic power domain driver updates from Ulf Hansson:
       "This adds a new subsystem for generic power domain providers in
        drivers/genpd and starts moving some of the corresponding code in
        there.
      
        We have currently ~60 users of the genpd provider interface, which are
        sprinkled across various subsystems. To release some burden from the
        soc maintainers (Arnd Bergmann, etc) in particular, but also to gain a
        better overall view of what goes on in the area, I will help out with
        maintenance"
      
      [ I find the "genpd" name singularly uninformative, so we'll probably
        end up moving this driver subsystem somewhere else, but that's still
        being discussed  - Linus ]
      
      * tag 'genpd-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (30 commits)
        genpd: ti: Use for_each_node_with_property() simplify code logic
        genpd: Explicitly include correct DT includes
        genpd: imx: scu-pd: initialize is_off according to HW state
        genpd: imx: scu-pd: Suppress bind attrs
        genpd: imx: scu-pd: do not power off console if no_console_suspend
        genpd: imx: scu-pd: add more PDs
        genpd: imx: scu-pd: enlarge PD range
        genpd: imx: relocate scu-pd under genpd
        MAINTAINERS: adjust file entry in STARFIVE JH71XX PMU CONTROLLER DRIVER
        genpd: Makefile: build imx
        genpd: move owl-sps-helper.c from drivers/soc
        soc: starfive: remove stale Makefile entry
        ARM: ux500: Move power-domain driver to the genpd dir
        ARM: ux500: Convert power-domain code into a regular platform driver
        soc: xilinx: Move power-domain driver to the genpd dir
        soc: ti: Mover power-domain drivers to the genpd dir
        soc: tegra: Move powergate-bpmp driver to the genpd dir
        soc: sunxi: Move power-domain driver to the genpd dir
        soc: starfive: Move the power-domain driver to the genpd dir
        soc: samsung: Move power-domain driver to the genpd dir
        ...
      c66403f6
    • Linus Torvalds's avatar
      Merge tag 'sound-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 4fb0dacb
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "We've received a fairly wide range of changes at this time, including
        for ALSA and ASoC core, but all of them are rather small changes.
      
        Here are some highlights:
      
        ALSA / ASoC Core:
         - Fixes of inconsistent locking around control API helpers
         - A few new control API functions and cleanups
         - Workarounds for potential UAFs by delayed kobj releases
         - Unified PCM copy ops with iov_iter
         - Continued efforts for ASoC API cleanups
      
        ASoC:
         - An adaptor to allow use of IIO DACs and ADCs in ASoC which pulls in
           some IIO changes
         - Create a library function for intlog10() and use it in the NAU8825
           driver
         - Convert drivers to use the more modern maple tree register cache
         - Lots of work on the SOF framework, AMD and Intel drivers, including
           a lot of cleanup and new device support
         - Standardization of the presentation of jacks from drivers
         - Provision of some generic sound card DT properties
         - Support for AMD Van Gogh, AMD machines with MAX98388 and NAU8821,
           AWInic AW88261, Cirrus Logic CS35L36 and CS42L43, various Intel
           platforms including AVS machines with ES8336 and RT5663, Mediatek
           MT7986, NXP i.MX93, RealTek RT1017 and StarFive JH7110
      
        Others:
         - New test coverage including ASoC and topology tests in KUnit; this
           also involves enabling UML builds of ALSA since that's the default
           KUnit test environment which pulls in the addition of some stubs to
           the driver
         - More enhancement of pcmtest driver
         - A few fixes / enhancements of MIDI 2.0 UMP core
         - Using PCI definitions in allover HD-audio code
         - Support for Cirrus CS35L56 and TI TAS2781 HD-audio sub-codecs
         - CS35L41 HD-audio sub-codec improvements
         - Continued emu10k1 improvements"
      
      * tag 'sound-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (693 commits)
        ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl
        ASoC: dwc: i2s: Fix unused functions
        ALSA: usb-audio: Don't try to submit URBs after disconnection
        ALSA: emu10k1: add separate documentation for E-MU cards
        ALSA: emu10k1: more documentation updates
        ALSA: emu10k1: de-duplicate audigy-mixer.rst vs. sb-live-mixer.rst
        ALSA: ump: Fix -Wformat-truncation warnings
        ALSA: hda: Add missing dependency on CONFIG_EFI for Cirrus/TI sub-codecs
        ALSA: doc: Fix missing backquote in midi-2.0.rst
        ALSA: hda/realtek: Add quirk for mute LEDs on HP ENVY x360 15-eu0xxx
        ALSA: hda/tas2781: Switch back to use struct i2c_driver's .probe()
        ASoC: soc-core.c: Do not error if a DAI link component is not found
        ASoC: codecs: Fix error code in aw88261_i2c_probe()
        ASoC: audio-graph-card.c: move audio_graph_parse_of()
        ASoC: cs42l43: Use new-style PM runtime macros
        ALSA: documentation: Add description for USB MIDI 2.0 gadget driver
        ALSA: ump: Don't create unused substreams for static blocks
        ALSA: ump: Fill group names for legacy rawmidi substreams
        ALSA: usb-audio: Attach legacy rawmidi after probing all UMP EPs
        ALSA: ac97: Fix possible error value of *rac97
        ...
      4fb0dacb
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-08-30' of git://anongit.freedesktop.org/drm/drm · 461f35f0
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "The drm core grew a new generic gpu virtual address manager, and new
        execution locking helpers. These are used by nouveau now to provide
        uAPI support for the userspace Vulkan driver. AMD had a bunch of new
        IP core support, loads of refactoring around fbdev, but mostly just
        the usual amount of stuff across the board.
      
        core:
         - fix gfp flags in drmm_kmalloc
      
        gpuva:
         - add new generic GPU VA manager (for nouveau initially)
      
        syncobj:
         - add new DRM_IOCTL_SYNCOBJ_EVENTFD ioctl
      
        dma-buf:
         - acquire resv lock for mmap() in exporters
         - support dma-buf self import automatically
         - docs fixes
      
        backlight:
         - fix fbdev interactions
      
        atomic:
         - improve logging
      
        prime:
         - remove struct gem_prim_mmap plus driver updates
      
        gem:
         - drm_exec: add locking over multiple GEM objects
         - fix lockdep checking
      
        fbdev:
         - make fbdev userspace interfaces optional
         - use linux device instead of fbdev device
         - use deferred i/o helper macros in various drivers
         - Make FB core selectable without drivers
         - Remove obsolete flags FBINFO_DEFAULT and FBINFO_FLAG_DEFAULT
         - Add helper macros and Kconfig tokens for DMA-allocated framebuffer
      
        ttm:
         - support init_on_free
         - swapout fixes
      
        panel:
         - panel-edp: Support AUO B116XAB01.4
         - Support Visionox R66451 plus DT bindings
         - ld9040:
            - Backlight support
            - magic improved
            - Kconfig fix
         - Convert to of_device_get_match_data()
         - Fix Kconfig dependencies
         - simple:
            - Set bpc value to fix warning
            - Set connector type for AUO T215HVN01
            - Support Innolux G156HCE-L01 plus DT bindings
         - ili9881: Support TDO TL050HDV35 LCD panel plus DT bindings
         - startek: Support KD070FHFID015 MIPI-DSI panel plus DT bindings
         - sitronix-st7789v:
            - Support Inanbo T28CP45TN89 plus DT bindings
            - Support EDT ET028013DMA plus DT bindings
            - Various cleanups
         - edp: Add timings for N140HCA-EAC
         - Allow panels and touchscreens to power sequence together
         - Fix Innolux G156HCE-L01 LVDS clock
      
        bridge:
         - debugfs for chains support
         - dw-hdmi:
            - Improve support for YUV420 bus format
            - CEC suspend/resume
            - update EDID on HDMI detect
         - dw-mipi-dsi: Fix enable/disable of DSI controller
         - lt9611uxc: Use MODULE_FIRMWARE()
         - ps8640: Remove broken EDID code
         - samsung-dsim: Fix command transfer
         - tc358764:
            - Handle HS/VS polarity
            - Use BIT() macro
            - Various cleanups
         - adv7511: Fix low refresh rate
         - anx7625:
            - Switch to macros instead of hardcoded values
            - locking fixes
         - tc358767: fix hardware delays
         - sitronix-st7789v:
            - Support panel orientation
            - Support rotation property
            - Add support for Jasonic JT240MHQS-HWT-EK-E3 plus DT bindings
      
        amdgpu:
         - SDMA 6.1.0 support
         - HDP 6.1 support
         - SMUIO 14.0 support
         - PSP 14.0 support
         - IH 6.1 support
         - Lots of checkpatch cleanups
         - GFX 9.4.3 updates
         - Add USB PD and IFWI flashing documentation
         - GPUVM updates
         - RAS fixes
         - DRR fixes
         - FAMS fixes
         - Virtual display fixes
         - Soft IH fixes
         - SMU13 fixes
         - Rework PSP firmware loading for other IPs
         - Kernel doc fixes
         - DCN 3.0.1 fixes
         - LTTPR fixes
         - DP MST fixes
         - DCN 3.1.6 fixes
         - SMU 13.x fixes
         - PSP 13.x fixes
         - SubVP fixes
         - GC 9.4.3 fixes
         - Display bandwidth calculation fixes
         - VCN4 secure submission fixes
         - Allow building DC on RISC-V
         - Add visible FB info to bo_print_info
         - HBR3 fixes
         - GFX9 MCBP fix
         - GMC10 vmhub index fix
         - GMC11 vmhub index fix
         - Create a new doorbell manager
         - SR-IOV fixes
         - initial freesync panel replay support
         - revert zpos properly until igt regression is fixeed
         - use TTM to manage doorbell BAR
         - Expose both current and average power via hwmon if supported
      
        amdkfd:
         - Cleanup CRIU dma-buf handling
         - Use KIQ to unmap HIQ
         - GFX 9.4.3 debugger updates
         - GFX 9.4.2 debugger fixes
         - Enable cooperative groups fof gfx11
         - SVM fixes
         - Convert older APUs to use dGPU path like newer APUs
         - Drop IOMMUv2 path as it is no longer used
         - TBA fix for aldebaran
      
        i915:
         - ICL+ DSI modeset sequence
         - HDCP improvements
         - MTL display fixes and cleanups
         - HSW/BDW PSR1 restored
         - Init DDI ports in VBT order
         - General display refactors
         - Start using plane scale factor for relative data rate
         - Use shmem for dpt objects
         - Expose RPS thresholds in sysfs
         - Apply GuC SLPC min frequency softlimit correctly
         - Extend Wa_14015795083 to TGL, RKL, DG1 and ADL
         - Fix a VMA UAF for multi-gt platform
         - Do not use stolen on MTL due to HW bug
         - Check HuC and GuC version compatibility on MTL
         - avoid infinite GPU waits due to premature release of request memory
         - Fixes and updates for GSC memory allocation
         - Display SDVO fixes
         - Take stolen handling out of FBC code
         - Make i915_coherent_map_type GT-centric
         - Simplify shmem_create_from_object map_type
      
        msm:
         - SM6125 MDSS support
         - DPU: SM6125 DPU support
         - DSI: runtime PM support, burst mode support
         - DSI PHY: SM6125 support in 14nm DSI PHY driver
         - GPU: prepare for a7xx
         - fix a690 firmware
         - disable relocs on a6xx and newer
      
        radeon:
         - Lots of checkpatch cleanups
      
        ast:
         - improve device-model detection
         - Represent BMV as virtual connector
         - Report DP connection status
      
        nouveau:
         - add new exec/bind interface to support Vulkan
         - document some getparam ioctls
         - improve VRAM detection
         - various fixes/cleanups
         - workraound DPCD issues
      
        ivpu:
         - MMU updates
         - debugfs support
         - Support vpu4
      
        virtio:
         - add sync object support
      
        atmel-hlcdc:
         - Support inverted pixclock polarity
      
        etnaviv:
         - runtime PM cleanups
         - hang handling fixes
      
        exynos:
         - use fbdev DMA helpers
         - fix possible NULL ptr dereference
      
        komeda:
         - always attach encoder
      
        omapdrm:
         - use fbdev DMA helpers
      ingenic:
         - kconfig regmap fixes
      
        loongson:
         - support display controller
      
        mediatek:
         - Small mtk-dpi cleanups
         - DisplayPort: support eDP and aux-bus
         - Fix coverity issues
         - Fix potential memory leak if vmap() fail
      
        mgag200:
         - minor fixes
      
        mxsfb:
         - support disabling overlay planes
      
        panfrost:
         - fix sync in IRQ handling
      
        ssd130x:
         - Support per-controller default resolution plus DT bindings
         - Reduce memory-allocation overhead
         - Improve intermediate buffer size computation
         - Fix allocation of temporary buffers
         - Fix pitch computation
         - Fix shadow plane allocation
      
        tegra:
         - use fbdev DMA helpers
         - Convert to devm_platform_ioremap_resource()
         - support bridge/connector
         - enable PM
      
        tidss:
         - Support TI AM625 plus DT bindings
         - Implement new connector model plus driver updates
      
        vkms:
         - improve write back support
         - docs fixes
         - support gamma LUT
      
        zynqmp-dpsub:
         - misc fixes"
      
      * tag 'drm-next-2023-08-30' of git://anongit.freedesktop.org/drm/drm: (1327 commits)
        drm/gpuva_mgr: remove unused prev pointer in __drm_gpuva_sm_map()
        drm/tests/drm_kunit_helpers: Place correct function name in the comment header
        drm/nouveau: uapi: don't pass NO_PREFETCH flag implicitly
        drm/nouveau: uvmm: fix unset region pointer on remap
        drm/nouveau: sched: avoid job races between entities
        drm/i915: Fix HPD polling, reenabling the output poll work as needed
        drm: Add an HPD poll helper to reschedule the poll work
        drm/i915: Fix TLB-Invalidation seqno store
        drm/ttm/tests: Fix type conversion in ttm_pool_test
        drm/msm/a6xx: Bail out early if setting GPU OOB fails
        drm/msm/a6xx: Move LLC accessors to the common header
        drm/msm/a6xx: Introduce a6xx_llc_read
        drm/ttm/tests: Require MMU when testing
        drm/panel: simple: Fix Innolux G156HCE-L01 LVDS clock
        Revert "Revert "drm/amdgpu/display: change pipe policy for DCN 2.0""
        drm/amdgpu: Add memory vendor information
        drm/amd: flush any delayed gfxoff on suspend entry
        drm/amdgpu: skip fence GFX interrupts disable/enable for S0ix
        drm/amdgpu: Remove gfxoff check in GFX v9.4.3
        drm/amd/pm: Update pci link speed for smu v13.0.6
        ...
      461f35f0
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.6-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 53ea7f62
      Linus Torvalds authored
      Pull xfs updates from Chandan Babu:
      
       - Chandan Babu will be taking over as the XFS release manager. He has
         reviewed all the patches that are in this branch, though I'm signing
         the branch one last time since I'm still technically maintainer. :P
      
       - Create a maintainer entry profile for XFS in which we lay out the
         various roles that I have played for many years.  Aside from release
         manager, the remaining roles are as yet unfilled.
      
       - Start merging online repair -- we now have in-memory pageable memory
         for staging btrees, a bunch of pending fixes, and we've started the
         process of refactoring the scrub support code to support more of
         repair.  In particular, reaping of old blocks from damaged structures.
      
       - Scrub the realtime summary file.
      
       - Fix a bug where scrub's quota iteration only ever returned the root
         dquot.  Oooops.
      
       - Fix some typos.
      
      [ Pull request from Chandan Babu, but signed tag and description from
        Darrick Wong, thus the first person singular above is Darrick, not
        Chandan ]
      
      * tag 'xfs-6.6-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (37 commits)
        fs/xfs: Fix typos in comments
        xfs: fix dqiterate thinko
        xfs: don't check reflink iflag state when checking cow fork
        xfs: simplify returns in xchk_bmap
        xfs: rewrite xchk_inode_is_allocated to work properly
        xfs: hide xfs_inode_is_allocated in scrub common code
        xfs: fix agf_fllast when repairing an empty AGFL
        xfs: allow userspace to rebuild metadata structures
        xfs: clear pagf_agflreset when repairing the AGFL
        xfs: allow the user to cancel repairs before we start writing
        xfs: don't complain about unfixed metadata when repairs were injected
        xfs: implement online scrubbing of rtsummary info
        xfs: always rescan allegedly healthy per-ag metadata after repair
        xfs: move the realtime summary file scrubber to a separate source file
        xfs: wrap ilock/iunlock operations on sc->ip
        xfs: get our own reference to inodes that we want to scrub
        xfs: track usage statistics of online fsck
        xfs: improve xfarray quicksort pivot
        xfs: create scaffolding for creating debugfs entries
        xfs: cache pages used for xfarray quicksort convergence
        ...
      53ea7f62
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 38663034
      Linus Torvalds authored
      Pull fsnotify update from Jan Kara:
       "Just a small fsnotify cleanup this time"
      
      * tag 'fsnotify_for_v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: Remove unused extern declaration fsnotify_get_conn_fsid()
      38663034
    • Linus Torvalds's avatar
      Merge tag 'for_v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 1500e7e0
      Linus Torvalds authored
      Pull ext2, quota, and udf updates from Jan Kara:
      
       - fixes for possible use-after-free issues with quota when racing with
         chown
      
       - fixes for ext2 crashing when xattr allocation races with another
         block allocation to the same file from page writeback code
      
       - fix for block number overflow in ext2
      
       - marking of reiserfs as obsolete in MAINTAINERS
      
       - assorted minor cleanups
      
      * tag 'for_v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Fix kernel-doc warnings
        ext2: improve consistency of ext2_fsblk_t datatype usage
        ext2: dump current reservation window info
        ext2: fix race between setxattr and write back
        ext2: introduce new flags argument for ext2_new_blocks()
        ext2: remove ext2_new_block()
        ext2: fix datatype of block number in ext2_xattr_set2()
        udf: Drop pointless aops assignment
        quota: use lockdep_assert_held_write in dquot_load_quota_sb
        MAINTAINERS: change reiserfs status to obsolete
        udf: Fix -Wstringop-overflow warnings
        quota: simplify drop_dquot_ref()
        quota: fix dqput() to follow the guarantees dquot_srcu should provide
        quota: add new helper dquot_active()
        quota: rename dquot_active() to inode_quota_active()
        quota: factor out dquot_write_dquot()
        ext2: remove redundant assignment to variable desc and variable best_desc
      1500e7e0
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs · 63580f66
      Linus Torvalds authored
      Pull overlayfs updates from Amir Goldstein:
      
       - add verification feature needed by composefs (Alexander Larsson)
      
       - improve integration of overlayfs and fanotify (Amir Goldstein)
      
       - fortify some overlayfs code (Andrea Righi)
      
      * tag 'ovl-update-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs:
        ovl: validate superblock in OVL_FS()
        ovl: make consistent use of OVL_FS()
        ovl: Kconfig: introduce CONFIG_OVERLAY_FS_DEBUG
        ovl: auto generate uuid for new overlay filesystems
        ovl: store persistent uuid/fsid with uuid=on
        ovl: add support for unique fsid per instance
        ovl: support encoding non-decodable file handles
        ovl: Handle verity during copy-up
        ovl: Validate verity xattr when resolving lowerdata
        ovl: Add versioned header for overlay.metacopy xattr
        ovl: Add framework for verity support
      63580f66
    • Linus Torvalds's avatar
      Merge tag 'x86_apic_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1687d8ac
      Linus Torvalds authored
      Pull x86 apic updates from Dave Hansen:
       "This includes a very thorough rework of the 'struct apic' handlers.
        Quite a variety of them popped up over the years, especially in the
        32-bit days when odd apics were much more in vogue.
      
        The end result speaks for itself, which is a removal of a ton of code
        and static calls to replace indirect calls.
      
        If there's any breakage here, it's likely to be around the 32-bit
        museum pieces that get light to no testing these days.
      
        Summary:
      
         - Rework apic callbacks, getting rid of unnecessary ones and
           coalescing lots of silly duplicates.
      
         - Use static_calls() instead of indirect calls for apic->foo()
      
         - Tons of cleanups an crap removal along the way"
      
      * tag 'x86_apic_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)
        x86/apic: Turn on static calls
        x86/apic: Provide static call infrastructure for APIC callbacks
        x86/apic: Wrap IPI calls into helper functions
        x86/apic: Mark all hotpath APIC callback wrappers __always_inline
        x86/xen/apic: Mark apic __ro_after_init
        x86/apic: Convert other overrides to apic_update_callback()
        x86/apic: Replace acpi_wake_cpu_handler_update() and apic_set_eoi_cb()
        x86/apic: Provide apic_update_callback()
        x86/xen/apic: Use standard apic driver mechanism for Xen PV
        x86/apic: Provide common init infrastructure
        x86/apic: Wrap apic->native_eoi() into a helper
        x86/apic: Nuke ack_APIC_irq()
        x86/apic: Remove pointless arguments from [native_]eoi_write()
        x86/apic/noop: Tidy up the code
        x86/apic: Remove pointless NULL initializations
        x86/apic: Sanitize APIC ID range validation
        x86/apic: Prepare x2APIC for using apic::max_apic_id
        x86/apic: Simplify X2APIC ID validation
        x86/apic: Add max_apic_id member
        x86/apic: Wrap APIC ID validation into an inline
        ...
      1687d8ac
    • Linus Torvalds's avatar
      Merge tag 'x86-core-2023-08-30-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 87fa732d
      Linus Torvalds authored
      Pull x86 core updates from Thomas Gleixner:
      
       - Prevent kprobes on compiler generated CFI checking code.
      
         The compiler generates an instruction sequence for indirect call
         checks. If this sequence is modified with a kprobe, then the check
         fails. So the instructions must be protected against probing.
      
       - A few minor cleanups for the SMP code
      
      * tag 'x86-core-2023-08-30-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kprobes: Prohibit probing on compiler generated CFI checking code
        x86/smpboot: Change smp_store_boot_cpu_info() to static
        x86/smp: Remove a non-existent function declaration
        x86/smpboot: Remove a stray comment about CPU hotplug
      87fa732d
    • Linus Torvalds's avatar
      Merge tag 'x86_mm_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98559227
      Linus Torvalds authored
      Pull x86 mm updates from Dave Hansen:
       "A pair of small x86/mm updates. The INVPCID one is purely a cleanup.
        The PAT one fixes a real issue, albeit a relatively obscure one
        (graphics device passthrough under Xen). The fix also makes the code
        much more readable.
      
        Summary:
      
         - Remove unnecessary "INVPCID single" feature tracking
      
         - Include PAT in page protection modify mask"
      
      * tag 'x86_mm_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Remove "INVPCID single" feature tracking
        x86/mm: Fix PAT bit missing from page protection modify mask
      98559227
    • Mateusz Guzik's avatar
      x86: bring back rep movsq for user access on CPUs without ERMS · ca96b162
      Mateusz Guzik authored
      Intel CPUs ship with ERMS for over a decade, but this is not true for
      AMD.  In particular one reasonably recent uarch (EPYC 7R13) does not
      have it (or at least the bit is inactive when running on the Amazon EC2
      cloud -- I found rather conflicting information about AMD CPUs vs the
      extension).
      
      Hand-rolled mov loops executing in this case are quite pessimal compared
      to rep movsq for bigger sizes.  While the upper limit depends on uarch,
      everyone is well south of 1KB AFAICS and sizes bigger than that are
      common.
      
      While technically ancient CPUs may be suffering from rep usage, gcc has
      been emitting it for years all over kernel code, so I don't think this
      is a legitimate concern.
      
      Sample result from read1_processes from will-it-scale (4KB reads/s):
      
        before:   1507021
        after:    1721828 (+14%)
      
      Note that the cutoff point for rep usage is set to 64 bytes, which is
      way too conservative but I'm sticking to what was done in 47ee3f1d
      ("x86: re-introduce support for ERMS copies for user space accesses").
      That is to say *some* copies will now go slower, which is fixable but
      beyond the scope of this patch.
      Signed-off-by: default avatarMateusz Guzik <mjguzik@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ca96b162
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-6.6' of https://github.com/cschaufler/smack-next · 87245966
      Linus Torvalds authored
      Pull smack updates from Casey Schaufler:
       "Two minor fixes: is a simple spelling fix. The other is a bounds check
        for a very likely underflow"
      
      * tag 'Smack-for-6.6' of https://github.com/cschaufler/smack-next:
        smackfs: Prevent underflow in smk_set_cipso()
        security: smack: smackfs: fix typo (lables->labels)
      87245966
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · 1a35914f
      Linus Torvalds authored
      Pull integrity subsystem updates from Mimi Zohar:
      
       - With commit 099f26f2 ("integrity: machine keyring CA
         configuration") certificates may be loaded onto the IMA keyring,
         directly or indirectly signed by keys on either the "builtin" or the
         "machine" keyrings.
      
         With the ability for the system/machine owner to sign the IMA policy
         itself without needing to recompile the kernel, update the IMA
         architecture specific policy rules to require the IMA policy itself
         be signed.
      
         [ As commit 099f26f2 was upstreamed in linux-6.4, updating the
           IMA architecture specific policy now to require signed IMA policies
           may break userspace expectations. ]
      
       - IMA only checked the file data hash was not on the system blacklist
         keyring for files with an appended signature (e.g. kernel modules,
         Power kernel image).
      
         Check all file data hashes regardless of how it was signed
      
       - Code cleanup, and a kernel-doc update
      
      * tag 'integrity-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        kexec_lock: Replace kexec_mutex() by kexec_lock() in two comments
        ima: require signed IMA policy when UEFI secure boot is enabled
        integrity: Always reference the blacklist keyring with appraisal
        ima: Remove deprecated IMA_TRUSTED_KEYRING Kconfig
      1a35914f
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · 1086eeac
      Linus Torvalds authored
      Pull LSM updates from Paul Moore:
      
       - Add proper multi-LSM support for xattrs in the
         security_inode_init_security() hook
      
         Historically the LSM layer has only allowed a single LSM to add an
         xattr to an inode, with IMA/EVM measuring that and adding its own as
         well. As we work towards promoting IMA/EVM to a "proper LSM" instead
         of the special case that it is now, we need to better support the
         case of multiple LSMs each adding xattrs to an inode and after
         several attempts we now appear to have something that is working
         well. It is worth noting that in the process of making this change we
         uncovered a problem with Smack's SMACK64TRANSMUTE xattr which is also
         fixed in this pull request.
      
       - Additional LSM hook constification
      
         Two patches to constify parameters to security_capget() and
         security_binder_transfer_file(). While I generally don't make a
         special note of who submitted these patches, these were the work of
         an Outreachy intern, Khadija Kamran, and that makes me happy;
         hopefully it does the same for all of you reading this.
      
       - LSM hook comment header fixes
      
         One patch to add a missing hook comment header, one to fix a minor
         typo.
      
       - Remove an old, unused credential function declaration
      
         It wasn't clear to me who should pick this up, but it was trivial,
         obviously correct, and arguably the LSM layer has a vested interest
         in credentials so I merged it. Sadly I'm now noticing that despite my
         subject line cleanup I didn't cleanup the "unsued" misspelling, sigh
      
      * tag 'lsm-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: constify the 'file' parameter in security_binder_transfer_file()
        lsm: constify the 'target' parameter in security_capget()
        lsm: add comment block for security_sk_classify_flow LSM hook
        security: Fix ret values doc for security_inode_init_security()
        cred: remove unsued extern declaration change_create_files_as()
        evm: Support multiple LSMs providing an xattr
        evm: Align evm_inode_init_security() definition with LSM infrastructure
        smack: Set the SMACK64TRANSMUTE xattr in smack_inode_init_security()
        security: Allow all LSMs to provide xattrs for inode_init_security hook
        lsm: fix typo in security_file_lock() comment header
      1086eeac
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 1dbae189
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "Thirty three SELinux patches, which is a pretty big number for us, but
        there isn't really anything scary in here; in fact we actually manage
        to remove 10 lines of code with this :)
      
         - Promote the SELinux DEBUG_HASHES macro to CONFIG_SECURITY_SELINUX_DEBUG
      
           The DEBUG_HASHES macro was a buried SELinux specific preprocessor
           debug macro that was a problem waiting to happen. Promoting the
           debug macro to a proper Kconfig setting should help both improve
           the visibility of the feature as well enable improved test
           coverage. We've moved some additional debug functions under the
           CONFIG_SECURITY_SELINUX_DEBUG flag and we may see more work in the
           future.
      
         - Emit a pr_notice() message if virtual memory is executable by default
      
           As this impacts the SELinux access control policy enforcement, if
           the system's configuration is such that virtual memory is
           executable by default we print a single line notice to the console.
      
         - Drop avtab_search() in favor of avtab_search_node()
      
           Both functions are nearly identical so we removed avtab_search()
           and converted the callers to avtab_search_node().
      
         - Add some SELinux network auditing helpers
      
           The helpers not only reduce a small amount of code duplication, but
           they provide an opportunity to improve UDP flood performance
           slightly by delaying initialization of the audit data in some
           cases.
      
         - Convert GFP_ATOMIC allocators to GFP_KERNEL when reading SELinux policy
      
           There were two SELinux policy load helper functions that were
           allocating memory using GFP_ATOMIC, they have been converted to
           GFP_KERNEL.
      
         - Quiet a KMSAN warning in selinux_inet_conn_request()
      
           A one-line error path (re)set patch that resolves a KMSAN warning.
           It is important to note that this doesn't represent a real bug in
           the current code, but it quiets KMSAN and arguably hardens the code
           against future changes.
      
         - Cleanup the policy capability accessor functions
      
           This is a follow-up to the patch which reverted SELinux to using a
           global selinux_state pointer. This patch cleans up some artifacts
           of that change and turns each accessor into a one-line READ_ONCE()
           call into the policy capabilities array.
      
         - A number of patches from Christian Göttsche
      
           Christian submitted almost two-thirds of the patches in this pull
           request as he worked to harden the SELinux code against type
           differences, variable overflows, etc.
      
         - Support for separating early userspace from the kernel in policy,
           with a later revert
      
           We did have a patch that added a new userspace initial SID which
           would allow SELinux to distinguish between early user processes
           created before the initial policy load and the kernel itself.
      
           Unfortunately additional post-merge testing revealed a problematic
           interaction with an old SELinux userspace on an old version of
           Ubuntu so we've reverted the patch until we can resolve the
           compatibility issue.
      
         - Remove some outdated comments dealing with LSM hook registration
      
           When we removed the runtime disable functionality we forgot to
           remove some old comments discussing the importance of LSM hook
           registration ordering.
      
         - Minor administrative changes
      
           Stephen Smalley updated his email address and "debranded" SELinux
           from "NSA SELinux" to simply "SELinux". We've come a long way from
           the original NSA submission and I would consider SELinux a true
           community project at this point so removing the NSA branding just
           makes sense"
      
      * tag 'selinux-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux: (33 commits)
        selinux: prevent KMSAN warning in selinux_inet_conn_request()
        selinux: use unsigned iterator in nlmsgtab code
        selinux: avoid implicit conversions in policydb code
        selinux: avoid implicit conversions in selinuxfs code
        selinux: make left shifts well defined
        selinux: update type for number of class permissions in services code
        selinux: avoid implicit conversions in avtab code
        selinux: revert SECINITSID_INIT support
        selinux: use GFP_KERNEL while reading binary policy
        selinux: update comment on selinux_hooks[]
        selinux: avoid implicit conversions in services code
        selinux: avoid implicit conversions in mls code
        selinux: use identical iterator type in hashtab_duplicate()
        selinux: move debug functions into debug configuration
        selinux: log about VM being executable by default
        selinux: fix a 0/NULL mistmatch in ad_net_init_from_iif()
        selinux: introduce SECURITY_SELINUX_DEBUG configuration
        selinux: introduce and use lsm_ad_net_init*() helpers
        selinux: update my email address
        selinux: add missing newlines in pr_err() statements
        ...
      1dbae189
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 3ea67c4f
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Six audit patches, the highlights are:
      
         - Add an explicit cond_resched() call when generating PATH records
      
           Certain tracefs/debugfs operations can generate a *lot* of audit
           PATH entries and if one has an aggressive system configuration (not
           the default) this can cause a soft lockup in the audit code as it
           works to process all of these new entries.
      
           This is in sharp contrast to the common case where only one or two
           PATH entries are logged. In order to fix this corner case without
           excessively impacting the common case we're adding a single
           cond_rescued() call between two of the most intensive loops in the
           __audit_inode_child() function.
      
         - Various minor cleanups
      
           We removed a conditional header file as the included header already
           had the necessary logic in place, fixed a dummy function's return
           value, and the usual collection of checkpatch.pl noise (whitespace,
           brace, and trailing statement tweaks)"
      
      * tag 'audit-pr-20230829' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: move trailing statements to next line
        audit: cleanup function braces and assignment-in-if-condition
        audit: add space before parenthesis and around '=', "==", and '<'
        audit: fix possible soft lockup in __audit_inode_child()
        audit: correct audit_filter_inodes() definition
        audit: include security.h unconditionally
      3ea67c4f
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.6-2023-08-29' of git://git.infradead.org/users/hch/dma-mapping · 6c1b980a
      Linus Torvalds authored
      Pull dma-maping updates from Christoph Hellwig:
      
       - allow dynamic sizing of the swiotlb buffer, to cater for secure
         virtualization workloads that require all I/O to be bounce buffered
         (Petr Tesarik)
      
       - move a declaration to a header (Arnd Bergmann)
      
       - check for memory region overlap in dma-contiguous (Binglei Wang)
      
       - remove the somewhat dangerous runtime swiotlb-xen enablement and
         unexport is_swiotlb_active (Christoph Hellwig, Juergen Gross)
      
       - per-node CMA improvements (Yajun Deng)
      
      * tag 'dma-mapping-6.6-2023-08-29' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: optimize get_max_slots()
        swiotlb: move slot allocation explanation comment where it belongs
        swiotlb: search the software IO TLB only if the device makes use of it
        swiotlb: allocate a new memory pool when existing pools are full
        swiotlb: determine potential physical address limit
        swiotlb: if swiotlb is full, fall back to a transient memory pool
        swiotlb: add a flag whether SWIOTLB is allowed to grow
        swiotlb: separate memory pool data from other allocator data
        swiotlb: add documentation and rename swiotlb_do_find_slots()
        swiotlb: make io_tlb_default_mem local to swiotlb.c
        swiotlb: bail out of swiotlb_init_late() if swiotlb is already allocated
        dma-contiguous: check for memory region overlap
        dma-contiguous: support numa CMA for specified node
        dma-contiguous: support per-numa CMA for all architectures
        dma-mapping: move arch_dma_set_mask() declaration to header
        swiotlb: unexport is_swiotlb_active
        x86: always initialize xen-swiotlb when xen-pcifront is enabling
        xen/pci: add flag for PCI passthrough being possible
      6c1b980a
    • Linus Torvalds's avatar
      Merge tag 'for-6.6/block-2023-08-28' of git://git.kernel.dk/linux · 3d3dfeb3
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "Pretty quiet round for this release. This contains:
      
         - Add support for zoned storage to ublk (Andreas, Ming)
      
         - Series improving performance for drivers that mark themselves as
           needing a blocking context for issue (Bart)
      
         - Cleanup the flush logic (Chengming)
      
         - sed opal keyring support (Greg)
      
         - Fixes and improvements to the integrity support (Jinyoung)
      
         - Add some exports for bcachefs that we can hopefully delete again in
           the future (Kent)
      
         - deadline throttling fix (Zhiguo)
      
         - Series allowing building the kernel without buffer_head support
           (Christoph)
      
         - Sanitize the bio page adding flow (Christoph)
      
         - Write back cache fixes (Christoph)
      
         - MD updates via Song:
            - Fix perf regression for raid0 large sequential writes (Jan)
            - Fix split bio iostat for raid0 (David)
            - Various raid1 fixes (Heinz, Xueshi)
            - raid6test build fixes (WANG)
            - Deprecate bitmap file support (Christoph)
            - Fix deadlock with md sync thread (Yu)
            - Refactor md io accounting (Yu)
            - Various non-urgent fixes (Li, Yu, Jack)
      
         - Various fixes and cleanups (Arnd, Azeem, Chengming, Damien, Li,
           Ming, Nitesh, Ruan, Tejun, Thomas, Xu)"
      
      * tag 'for-6.6/block-2023-08-28' of git://git.kernel.dk/linux: (113 commits)
        block: use strscpy() to instead of strncpy()
        block: sed-opal: keyring support for SED keys
        block: sed-opal: Implement IOC_OPAL_REVERT_LSP
        block: sed-opal: Implement IOC_OPAL_DISCOVERY
        blk-mq: prealloc tags when increase tagset nr_hw_queues
        blk-mq: delete redundant tagset map update when fallback
        blk-mq: fix tags leak when shrink nr_hw_queues
        ublk: zoned: support REQ_OP_ZONE_RESET_ALL
        md: raid0: account for split bio in iostat accounting
        md/raid0: Fix performance regression for large sequential writes
        md/raid0: Factor out helper for mapping and submitting a bio
        md raid1: allow writebehind to work on any leg device set WriteMostly
        md/raid1: hold the barrier until handle_read_error() finishes
        md/raid1: free the r1bio before waiting for blocked rdev
        md/raid1: call free_r1bio() before allow_barrier() in raid_end_bio_io()
        blk-cgroup: Fix NULL deref caused by blkg_policy_data being installed before init
        drivers/rnbd: restore sysfs interface to rnbd-client
        md/raid5-cache: fix null-ptr-deref for r5l_flush_stripe_to_raid()
        raid6: test: only check for Altivec if building on powerpc hosts
        raid6: test: make sure all intermediate and artifact files are .gitignored
        ...
      3d3dfeb3
    • Linus Torvalds's avatar
      Merge tag 'for-6.6/io_uring-2023-08-28' of git://git.kernel.dk/linux · c1b7fcf3
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
       "Fairly quiet round in terms of features, mostly just improvements all
        over the map for existing code. In detail:
      
         - Initial support for socket operations through io_uring. Latter half
           of this will likely land with the 6.7 kernel, then allowing things
           like get/setsockopt (Breno)
      
         - Cleanup of the cancel code, and then adding support for canceling
           requests with the opcode as the key (me)
      
         - Improvements for the io-wq locking (me)
      
         - Fix affinity setting for SQPOLL based io-wq (me)
      
         - Remove the io_uring userspace code. These were added initially as
           copies from liburing, but all of them have since bitrotted and are
           way out of date at this point. Rather than attempt to keep them in
           sync, just get rid of them. People will have liburing available
           anyway for these examples. (Pavel)
      
         - Series improving the CQ/SQ ring caching (Pavel)
      
         - Misc fixes and cleanups (Pavel, Yue, me)"
      
      * tag 'for-6.6/io_uring-2023-08-28' of git://git.kernel.dk/linux: (47 commits)
        io_uring: move iopoll ctx fields around
        io_uring: move multishot cqe cache in ctx
        io_uring: separate task_work/waiting cache line
        io_uring: banish non-hot data to end of io_ring_ctx
        io_uring: move non aligned field to the end
        io_uring: add option to remove SQ indirection
        io_uring: compact SQ/CQ heads/tails
        io_uring: force inline io_fill_cqe_req
        io_uring: merge iopoll and normal completion paths
        io_uring: reorder cqring_flush and wakeups
        io_uring: optimise extra io_get_cqe null check
        io_uring: refactor __io_get_cqe()
        io_uring: simplify big_cqe handling
        io_uring: cqe init hardening
        io_uring: improve cqe !tracing hot path
        io_uring/rsrc: Annotate struct io_mapped_ubuf with __counted_by
        io_uring/sqpoll: fix io-wq affinity when IORING_SETUP_SQPOLL is used
        io_uring: simplify io_run_task_work_sig return
        io_uring/rsrc: keep one global dummy_ubuf
        io_uring: never overflow io_aux_cqe
        ...
      c1b7fcf3
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · adfd6716
      Linus Torvalds authored
      Pull sysctl updates from Luis Chamberlain:
       "Long ago we set out to remove the kitchen sink on kernel/sysctl.c
        arrays and placings sysctls to their own sybsystem or file to help
        avoid merge conflicts. Matthew Wilcox pointed out though that if we're
        going to do that we might as well also *save* space while at it and
        try to remove the extra last sysctl entry added at the end of each
        array, a sentintel, instead of bloating the kernel by adding a new
        sentinel with each array moved.
      
        Doing that was not so trivial, and has required slowing down the moves
        of kernel/sysctl.c arrays and measuring the impact on size by each new
        move.
      
        The complex part of the effort to help reduce the size of each sysctl
        is being done by the patient work of el señor Don Joel Granados. A lot
        of this is truly painful code refactoring and testing and then trying
        to measure the savings of each move and removing the sentinels.
        Although Joel already has code which does most of this work,
        experience with sysctl moves in the past shows is we need to be
        careful due to the slew of odd build failures that are possible due to
        the amount of random Kconfig options sysctls use.
      
        To that end Joel's work is split by first addressing the major
        housekeeping needed to remove the sentinels, which is part of this
        merge request. The rest of the work to actually remove the sentinels
        will be done later in future kernel releases.
      
        The preliminary math is showing this will all help reduce the overall
        build time size of the kernel and run time memory consumed by the
        kernel by about ~64 bytes per array where we are able to remove each
        sentinel in the future. That also means there is no more bloating the
        kernel with the extra ~64 bytes per array moved as no new sentinels
        are created"
      
      * tag 'sysctl-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        sysctl: Use ctl_table_size as stopping criteria for list macro
        sysctl: SIZE_MAX->ARRAY_SIZE in register_net_sysctl
        vrf: Update to register_net_sysctl_sz
        networking: Update to register_net_sysctl_sz
        netfilter: Update to register_net_sysctl_sz
        ax.25: Update to register_net_sysctl_sz
        sysctl: Add size to register_net_sysctl function
        sysctl: Add size arg to __register_sysctl_init
        sysctl: Add size to register_sysctl
        sysctl: Add a size arg to __register_sysctl_table
        sysctl: Add size argument to init_header
        sysctl: Add ctl_table_size to ctl_table_header
        sysctl: Use ctl_table_header in list_for_each_table_entry
        sysctl: Prefer ctl_table_header in proc_sysctl
      adfd6716
    • Linus Torvalds's avatar
      Merge tag 'modules-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · daa22f5a
      Linus Torvalds authored
      Pull modules updates from Luis Chamberlain:
       "Summary of the changes worth highlighting from most interesting to
        boring below:
      
         - Christoph Hellwig's symbol_get() fix to Nvidia's efforts to
           circumvent the protection he put in place in year 2020 to prevent
           proprietary modules from using GPL only symbols, and also ensuring
           proprietary modules which export symbols grandfather their taint.
      
           That was done through year 2020 commit 262e6ae7 ("modules:
           inherit TAINT_PROPRIETARY_MODULE"). Christoph's new fix is done by
           clarifing __symbol_get() was only ever intended to prevent module
           reference loops by Linux kernel modules and so making it only find
           symbols exported via EXPORT_SYMBOL_GPL(). The circumvention tactic
           used by Nvidia was to use symbol_get() to purposely swift through
           proprietary module symbols and completely bypass our traditional
           EXPORT_SYMBOL*() annotations and community agreed upon
           restrictions.
      
           A small set of preamble patches fix up a few symbols which just
           needed adjusting for this on two modules, the rtc ds1685 and the
           networking enetc module. Two other modules just needed some build
           fixing and removal of use of __symbol_get() as they can't ever be
           modular, as was done by Arnd on the ARM pxa module and Christoph
           did on the mmc au1xmmc driver.
      
           This is a good reminder to us that symbol_get() is just a hack to
           address things which should be fixed through Kconfig at build time
           as was done in the later patches, and so ultimately it should just
           go.
      
         - Extremely late minor fix for old module layout 055f23b7
           ("module: check for exit sections in layout_sections() instead of
           module_init_section()") by James Morse for arm64. Note that this
           layout thing is old, it is *not* Song Liu's commit ac3b4328
           ("module: replace module_layout with module_memory"). The issue
           however is very odd to run into and so there was no hurry to get
           this in fast.
      
         - Although the fix did not go through the modules tree I'd like to
           highlight the fix by Peter Zijlstra in commit 54097309
           ("x86/static_call: Fix __static_call_fixup()") now merged in your
           tree which came out of what was originally suspected to be a
           fallout of the the newer module layout changes by Song Liu commit
           ac3b4328 ("module: replace module_layout with module_memory")
           instead of module_init_section()"). Thanks to the report by
           Christian Bricart and the debugging by Song Liu & Peter that turned
           to be noted as a kernel regression in place since v5.19 through
           commit ee88d363 ("x86,static_call: Use alternative RET
           encoding").
      
           I highlight this to reflect and clarify that we haven't seen more
           fallout from ac3b4328 ("module: replace module_layout with
           module_memory").
      
         - RISC-V toolchain got mapping symbol support which prefix symbols
           with "$" to help with alignment considerations for disassembly.
      
           This is used to differentiate between incompatible instruction
           encodings when disassembling. RISC-V just matches what ARM/AARCH64
           did for alignment considerations and Palmer Dabbelt extended
           is_mapping_symbol() to accept these symbols for RISC-V. We already
           had support for this for all architectures but it also checked for
           the second character, the RISC-V check Dabbelt added was just for
           the "$". After a bit of testing and fallout on linux-next and based
           on feedback from Masahiro Yamada it was decided to simplify the
           check and treat the first char "$" as unique for all architectures,
           and so we no make is_mapping_symbol() for all archs if the symbol
           starts with "$".
      
           The most relevant commit for this for RISC-V on binutils was:
      
             https://sourceware.org/pipermail/binutils/2021-July/117350.html
      
         - A late fix by Andrea Righi (today) to make module zstd
           decompression use vmalloc() instead of kmalloc() to account for
           large compressed modules. I suspect we'll see similar things for
           other decompression algorithms soon.
      
         - samples/hw_breakpoint minor fixes by Rong Tao, Arnd Bergmann and
           Chen Jiahao"
      
      * tag 'modules-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        module/decompress: use vmalloc() for zstd decompression workspace
        kallsyms: Add more debug output for selftest
        ARM: module: Use module_init_layout_section() to spot init sections
        arm64: module: Use module_init_layout_section() to spot init sections
        module: Expose module_init_layout_section()
        modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
        rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff
        net: enetc: use EXPORT_SYMBOL_GPL for enetc_phc_index
        mmc: au1xmmc: force non-modular build and remove symbol_get usage
        ARM: pxa: remove use of symbol_get()
        samples/hw_breakpoint: mark sample_hbp as static
        samples/hw_breakpoint: fix building without module unloading
        samples/hw_breakpoint: Fix kernel BUG 'invalid opcode: 0000'
        modpost, kallsyms: Treat add '$'-prefixed symbols as mapping symbols
        kernel: params: Remove unnecessary ‘0’ values from err
        module: Ignore RISC-V mapping symbols too
      daa22f5a
  2. 29 Aug, 2023 19 commits
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2023-08-28-22-48' of... · d68b4b6f
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2023-08-28-22-48' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-MM updates from Andrew Morton:
      
       - An extensive rework of kexec and crash Kconfig from Eric DeVolder
         ("refactor Kconfig to consolidate KEXEC and CRASH options")
      
       - kernel.h slimming work from Andy Shevchenko ("kernel.h: Split out a
         couple of macros to args.h")
      
       - gdb feature work from Kuan-Ying Lee ("Add GDB memory helper
         commands")
      
       - vsprintf inclusion rationalization from Andy Shevchenko
         ("lib/vsprintf: Rework header inclusions")
      
       - Switch the handling of kdump from a udev scheme to in-kernel
         handling, by Eric DeVolder ("crash: Kernel handling of CPU and memory
         hot un/plug")
      
       - Many singleton patches to various parts of the tree
      
      * tag 'mm-nonmm-stable-2023-08-28-22-48' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (81 commits)
        document while_each_thread(), change first_tid() to use for_each_thread()
        drivers/char/mem.c: shrink character device's devlist[] array
        x86/crash: optimize CPU changes
        crash: change crash_prepare_elf64_headers() to for_each_possible_cpu()
        crash: hotplug support for kexec_load()
        x86/crash: add x86 crash hotplug support
        crash: memory and CPU hotplug sysfs attributes
        kexec: exclude elfcorehdr from the segment digest
        crash: add generic infrastructure for crash hotplug support
        crash: move a few code bits to setup support of crash hotplug
        kstrtox: consistently use _tolower()
        kill do_each_thread()
        nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse
        scripts/bloat-o-meter: count weak symbol sizes
        treewide: drop CONFIG_EMBEDDED
        lockdep: fix static memory detection even more
        lib/vsprintf: declare no_hash_pointers in sprintf.h
        lib/vsprintf: split out sprintf() and friends
        kernel/fork: stop playing lockless games for exe_file replacement
        adfs: delete unused "union adfs_dirtail" definition
        ...
      d68b4b6f
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2023-08-28-18-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · b96a3e91
      Linus Torvalds authored
      Pull MM updates from Andrew Morton:
      
       - Some swap cleanups from Ma Wupeng ("fix WARN_ON in
         add_to_avail_list")
      
       - Peter Xu has a series (mm/gup: Unify hugetlb, speed up thp") which
         reduces the special-case code for handling hugetlb pages in GUP. It
         also speeds up GUP handling of transparent hugepages.
      
       - Peng Zhang provides some maple tree speedups ("Optimize the fast path
         of mas_store()").
      
       - Sergey Senozhatsky has improved te performance of zsmalloc during
         compaction (zsmalloc: small compaction improvements").
      
       - Domenico Cerasuolo has developed additional selftest code for zswap
         ("selftests: cgroup: add zswap test program").
      
       - xu xin has doe some work on KSM's handling of zero pages. These
         changes are mainly to enable the user to better understand the
         effectiveness of KSM's treatment of zero pages ("ksm: support
         tracking KSM-placed zero-pages").
      
       - Jeff Xu has fixes the behaviour of memfd's
         MEMFD_NOEXEC_SCOPE_NOEXEC_ENFORCED sysctl ("mm/memfd: fix sysctl
         MEMFD_NOEXEC_SCOPE_NOEXEC_ENFORCED").
      
       - David Howells has fixed an fscache optimization ("mm, netfs, fscache:
         Stop read optimisation when folio removed from pagecache").
      
       - Axel Rasmussen has given userfaultfd the ability to simulate memory
         poisoning ("add UFFDIO_POISON to simulate memory poisoning with
         UFFD").
      
       - Miaohe Lin has contributed some routine maintenance work on the
         memory-failure code ("mm: memory-failure: remove unneeded PageHuge()
         check").
      
       - Peng Zhang has contributed some maintenance work on the maple tree
         code ("Improve the validation for maple tree and some cleanup").
      
       - Hugh Dickins has optimized the collapsing of shmem or file pages into
         THPs ("mm: free retracted page table by RCU").
      
       - Jiaqi Yan has a patch series which permits us to use the healthy
         subpages within a hardware poisoned huge page for general purposes
         ("Improve hugetlbfs read on HWPOISON hugepages").
      
       - Kemeng Shi has done some maintenance work on the pagetable-check code
         ("Remove unused parameters in page_table_check").
      
       - More folioification work from Matthew Wilcox ("More filesystem folio
         conversions for 6.6"), ("Followup folio conversions for zswap"). And
         from ZhangPeng ("Convert several functions in page_io.c to use a
         folio").
      
       - page_ext cleanups from Kemeng Shi ("minor cleanups for page_ext").
      
       - Baoquan He has converted some architectures to use the
         GENERIC_IOREMAP ioremap()/iounmap() code ("mm: ioremap: Convert
         architectures to take GENERIC_IOREMAP way").
      
       - Anshuman Khandual has optimized arm64 tlb shootdown ("arm64: support
         batched/deferred tlb shootdown during page reclamation/migration").
      
       - Better maple tree lockdep checking from Liam Howlett ("More strict
         maple tree lockdep"). Liam also developed some efficiency
         improvements ("Reduce preallocations for maple tree").
      
       - Cleanup and optimization to the secondary IOMMU TLB invalidation,
         from Alistair Popple ("Invalidate secondary IOMMU TLB on permission
         upgrade").
      
       - Ryan Roberts fixes some arm64 MM selftest issues ("selftests/mm fixes
         for arm64").
      
       - Kemeng Shi provides some maintenance work on the compaction code
         ("Two minor cleanups for compaction").
      
       - Some reduction in mmap_lock pressure from Matthew Wilcox ("Handle
         most file-backed faults under the VMA lock").
      
       - Aneesh Kumar contributes code to use the vmemmap optimization for DAX
         on ppc64, under some circumstances ("Add support for DAX vmemmap
         optimization for ppc64").
      
       - page-ext cleanups from Kemeng Shi ("add page_ext_data to get client
         data in page_ext"), ("minor cleanups to page_ext header").
      
       - Some zswap cleanups from Johannes Weiner ("mm: zswap: three
         cleanups").
      
       - kmsan cleanups from ZhangPeng ("minor cleanups for kmsan").
      
       - VMA handling cleanups from Kefeng Wang ("mm: convert to
         vma_is_initial_heap/stack()").
      
       - DAMON feature work from SeongJae Park ("mm/damon/sysfs-schemes:
         implement DAMOS tried total bytes file"), ("Extend DAMOS filters for
         address ranges and DAMON monitoring targets").
      
       - Compaction work from Kemeng Shi ("Fixes and cleanups to compaction").
      
       - Liam Howlett has improved the maple tree node replacement code
         ("maple_tree: Change replacement strategy").
      
       - ZhangPeng has a general code cleanup - use the K() macro more widely
         ("cleanup with helper macro K()").
      
       - Aneesh Kumar brings memmap-on-memory to ppc64 ("Add support for
         memmap on memory feature on ppc64").
      
       - pagealloc cleanups from Kemeng Shi ("Two minor cleanups for pcp list
         in page_alloc"), ("Two minor cleanups for get pageblock
         migratetype").
      
       - Vishal Moola introduces a memory descriptor for page table tracking,
         "struct ptdesc" ("Split ptdesc from struct page").
      
       - memfd selftest maintenance work from Aleksa Sarai ("memfd: cleanups
         for vm.memfd_noexec").
      
       - MM include file rationalization from Hugh Dickins ("arch: include
         asm/cacheflush.h in asm/hugetlb.h").
      
       - THP debug output fixes from Hugh Dickins ("mm,thp: fix sloppy text
         output").
      
       - kmemleak improvements from Xiaolei Wang ("mm/kmemleak: use
         object_cache instead of kmemleak_initialized").
      
       - More folio-related cleanups from Matthew Wilcox ("Remove _folio_dtor
         and _folio_order").
      
       - A VMA locking scalability improvement from Suren Baghdasaryan
         ("Per-VMA lock support for swap and userfaults").
      
       - pagetable handling cleanups from Matthew Wilcox ("New page table
         range API").
      
       - A batch of swap/thp cleanups from David Hildenbrand ("mm/swap: stop
         using page->private on tail pages for THP_SWAP + cleanups").
      
       - Cleanups and speedups to the hugetlb fault handling from Matthew
         Wilcox ("Change calling convention for ->huge_fault").
      
       - Matthew Wilcox has also done some maintenance work on the MM
         subsystem documentation ("Improve mm documentation").
      
      * tag 'mm-stable-2023-08-28-18-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (489 commits)
        maple_tree: shrink struct maple_tree
        maple_tree: clean up mas_wr_append()
        secretmem: convert page_is_secretmem() to folio_is_secretmem()
        nios2: fix flush_dcache_page() for usage from irq context
        hugetlb: add documentation for vma_kernel_pagesize()
        mm: add orphaned kernel-doc to the rst files.
        mm: fix clean_record_shared_mapping_range kernel-doc
        mm: fix get_mctgt_type() kernel-doc
        mm: fix kernel-doc warning from tlb_flush_rmaps()
        mm: remove enum page_entry_size
        mm: allow ->huge_fault() to be called without the mmap_lock held
        mm: move PMD_ORDER to pgtable.h
        mm: remove checks for pte_index
        memcg: remove duplication detection for mem_cgroup_uncharge_swap
        mm/huge_memory: work on folio->swap instead of page->private when splitting folio
        mm/swap: inline folio_set_swap_entry() and folio_swap_entry()
        mm/swap: use dedicated entry for swap in folio
        mm/swap: stop using page->private on tail pages for THP_SWAP
        selftests/mm: fix WARNING comparing pointer to 0
        selftests: cgroup: fix test_kmem_memcg_deletion kernel mem check
        ...
      b96a3e91
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · 651a00bc
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
       "This happens to be a small one (due to summer I guess), and all
        hardening related:
      
         - Randomized kmalloc caches, by GONG, Ruiqi.
      
           A new opt-in hardening feature to make heap spraying harder. It
           creates multiple (16) copies of kmalloc caches, reducing the chance
           of an attacker-controllable allocation site to land in the same
           slab as e.g. an allocation site with use-after-free vulnerability.
      
           The selection of the copy is derived from the allocation site
           address, including a per-boot random seed.
      
         - Stronger typing for hardened freelists in SLUB, by Jann Horn
      
           Introduces a custom type for hardened freelist entries instead of
           "void *" as those are not directly dereferencable. While reviewing
           this, I've noticed opportunities for further cleanups in that code
           and added those on top"
      
      * tag 'slab-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        Randomized slab caches for kmalloc()
        mm/slub: remove freelist_dereference()
        mm/slub: remove redundant kasan_reset_tag() from freelist_ptr calculations
        mm/slub: refactor freelist to use custom type
      651a00bc
    • Linus Torvalds's avatar
      Merge tag 'flex-array-transformations-6.6-rc1' of... · 9d6b14cd
      Linus Torvalds authored
      Merge tag 'flex-array-transformations-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull flexible-array updates from Gustavo A. R. Silva.
      
      * tag 'flex-array-transformations-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        fs: omfs: Use flexible-array member in struct omfs_extent
        sparc: openpromio: Address -Warray-bounds warning
        reiserfs: Replace one-element array with flexible-array member
      9d6b14cd
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-6.6' of https://github.com/c-sky/csky-linux · eaf9f464
      Linus Torvalds authored
      Pull arch/csky updates from Guo Ren:
      
       - Fixup compile warnings
      
       - Fixup update_mmu_cache
      
      * tag 'csky-for-linus-6.6' of https://github.com/c-sky/csky-linux:
        csky: Fixup -Wmissing-prototypes warning
        csky: Make pfn accessors static inlines
        csky: Cast argument to virt_to_pfn() to (void *)
        csky: pgtable: Invalidate stale I-cache lines in update_mmu_cache
        csky: fix old style declaration in module.c
      eaf9f464
    • Linus Torvalds's avatar
      Merge tag 'parisc-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 48d25d38
      Linus Torvalds authored
      Pull parisc architecture updates from Helge Deller:
       "PA-RISC now has a native eBPF JIT compiler for 32- and 64-bit kernels,
        the LED driver was rewritten to use the Linux LED framework and most
        of the parisc bootup code was switched to use *_initcall() functions.
      
        Summary:
      
         - add eBPF JIT compiler for 32- and 64-bit kernel
      
         - LCD/LED driver rewrite to utilize Linux LED subsystem
      
         - switch to generic mmap top-down layout and brk randomization
      
         - kernel startup cleanup by loading most drivers via arch_initcall()"
      
      * tag 'parisc-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (31 commits)
        parisc: ccio-dma: Create private runway procfs root entry
        parisc: chassis: Do not overwrite string on LCD display
        parisc: led: Rewrite LED/LCD driver to utilizize Linux LED subsystem
        parisc: led: Fix LAN receive and transmit LEDs
        parisc: lasi: Initialize LASI driver via arch_initcall()
        parisc: asp: Initialize asp driver via arch_initcall()
        parisc: wax: Initialize wax driver via arch_initcall()
        parisc: iosapic: Convert I/O Sapic driver to use arch_initcall()
        parisc: sba_iommu: Convert SBA IOMMU driver to use arch_initcall()
        parisc: led: Move register_led_regions() to late_initcall()
        parisc: lba: Convert LBA PCI bus driver to use arch_initcall()
        parisc: gsc: Convert GSC bus driver to use arch_initcall()
        parisc: ccio: Convert CCIO driver to use arch_initcall()
        parisc: eisa: Convert HP EISA bus driver to use arch_initcall()
        parisc: hppb: Convert HP PB bus driver to use arch_initcall()
        parisc: dino: Convert dino PCI bus driver to use arch_initcall()
        parisc: Makefile: Adjust order in which drivers should be loaded
        parisc: led: Reduce CPU overhead for disk & lan LED computation
        parisc: Avoid ioremap() for same addresss in iosapic_register()
        parisc: unaligned: Simplify 32-bit assembly in emulate_std()
        ...
      48d25d38
    • Linus Torvalds's avatar
      Merge tag 'v6.6-vfs.super.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 468e28d4
      Linus Torvalds authored
      Pull superblock fixes from Christian Brauner:
       "Two follow-up fixes for the super work this cycle:
      
         - Move a misplaced lockep assertion before we potentially free the
           object containing the lock.
      
         - Ensure that filesystems which match superblocks in sget{_fc}()
           based on sb->s_fs_info are guaranteed to see a valid sb->s_fs_info
           as long as a superblock still appears on the filesystem type's
           superblock list.
      
           What we want as a proper solution for next cycle is to split
           sb->free_sb() out of sb->kill_sb() so that we can simply call
           kill_super_notify() after sb->kill_sb() but before sb->free_sb().
      
           Currently, this is lumped together in sb->kill_sb()"
      
      * tag 'v6.6-vfs.super.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        super: ensure valid info
        super: move lockdep assert
      468e28d4
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · bd6c11bc
      Linus Torvalds authored
      Pull networking updates from Paolo Abeni:
       "Core:
      
         - Increase size limits for to-be-sent skb frag allocations. This
           allows tun, tap devices and packet sockets to better cope with
           large writes operations
      
         - Store netdevs in an xarray, to simplify iterating over netdevs
      
         - Refactor nexthop selection for multipath routes
      
         - Improve sched class lifetime handling
      
         - Add backup nexthop ID support for bridge
      
         - Implement drop reasons support in openvswitch
      
         - Several data races annotations and fixes
      
         - Constify the sk parameter of routing functions
      
         - Prepend kernel version to netconsole message
      
        Protocols:
      
         - Implement support for TCP probing the peer being under memory
           pressure
      
         - Remove hard coded limitation on IPv6 specific info placement inside
           the socket struct
      
         - Get rid of sysctl_tcp_adv_win_scale and use an auto-estimated per
           socket scaling factor
      
         - Scaling-up the IPv6 expired route GC via a separated list of
           expiring routes
      
         - In-kernel support for the TLS alert protocol
      
         - Better support for UDP reuseport with connected sockets
      
         - Add NEXT-C-SID support for SRv6 End.X behavior, reducing the SR
           header size
      
         - Get rid of additional ancillary per MPTCP connection struct socket
      
         - Implement support for BPF-based MPTCP packet schedulers
      
         - Format MPTCP subtests selftests results in TAP
      
         - Several new SMC 2.1 features including unique experimental options,
           max connections per lgr negotiation, max links per lgr negotiation
      
        BPF:
      
         - Multi-buffer support in AF_XDP
      
         - Add multi uprobe BPF links for attaching multiple uprobes and usdt
           probes, which is significantly faster and saves extra fds
      
         - Implement an fd-based tc BPF attach API (TCX) and BPF link support
           on top of it
      
         - Add SO_REUSEPORT support for TC bpf_sk_assign
      
         - Support new instructions from cpu v4 to simplify the generated code
           and feature completeness, for x86, arm64, riscv64
      
         - Support defragmenting IPv(4|6) packets in BPF
      
         - Teach verifier actual bounds of bpf_get_smp_processor_id() and fix
           perf+libbpf issue related to custom section handling
      
         - Introduce bpf map element count and enable it for all program types
      
         - Add a BPF hook in sys_socket() to change the protocol ID from
           IPPROTO_TCP to IPPROTO_MPTCP to cover migration for legacy
      
         - Introduce bpf_me_mcache_free_rcu() and fix OOM under stress
      
         - Add uprobe support for the bpf_get_func_ip helper
      
         - Check skb ownership against full socket
      
         - Support for up to 12 arguments in BPF trampoline
      
         - Extend link_info for kprobe_multi and perf_event links
      
        Netfilter:
      
         - Speed-up process exit by aborting ruleset validation if a fatal
           signal is pending
      
         - Allow NLA_POLICY_MASK to be used with BE16/BE32 types
      
        Driver API:
      
         - Page pool optimizations, to improve data locality and cache usage
      
         - Introduce ndo_hwtstamp_get() and ndo_hwtstamp_set() to avoid the
           need for raw ioctl() handling in drivers
      
         - Simplify genetlink dump operations (doit/dumpit) providing them the
           common information already populated in struct genl_info
      
         - Extend and use the yaml devlink specs to [re]generate the split ops
      
         - Introduce devlink selective dumps, to allow SF filtering SF based
           on handle and other attributes
      
         - Add yaml netlink spec for netlink-raw families, allow route, link
           and address related queries via the ynl tool
      
         - Remove phylink legacy mode support
      
         - Support offload LED blinking to phy
      
         - Add devlink port function attributes for IPsec
      
        New hardware / drivers:
      
         - Ethernet:
            - Broadcom ASP 2.0 (72165) ethernet controller
            - MediaTek MT7988 SoC
            - Texas Instruments AM654 SoC
            - Texas Instruments IEP driver
            - Atheros qca8081 phy
            - Marvell 88Q2110 phy
            - NXP TJA1120 phy
      
         - WiFi:
            - MediaTek mt7981 support
      
         - Can:
            - Kvaser SmartFusion2 PCI Express devices
            - Allwinner T113 controllers
            - Texas Instruments tcan4552/4553 chips
      
         - Bluetooth:
            - Intel Gale Peak
            - Qualcomm WCN3988 and WCN7850
            - NXP AW693 and IW624
            - Mediatek MT2925
      
        Drivers:
      
         - Ethernet NICs:
            - nVidia/Mellanox:
               - mlx5:
                  - support UDP encapsulation in packet offload mode
                  - IPsec packet offload support in eswitch mode
                  - improve aRFS observability by adding new set of counters
                  - extends MACsec offload support to cover RoCE traffic
                  - dynamic completion EQs
               - mlx4:
                  - convert to use auxiliary bus instead of custom interface
                    logic
            - Intel
               - ice:
                  - implement switchdev bridge offload, even for LAG
                    interfaces
                  - implement SRIOV support for LAG interfaces
               - igc:
                  - add support for multiple in-flight TX timestamps
            - Broadcom:
               - bnxt:
                  - use the unified RX page pool buffers for XDP and non-XDP
                  - use the NAPI skb allocation cache
            - OcteonTX2:
               - support Round Robin scheduling HTB offload
               - TC flower offload support for SPI field
            - Freescale:
               - add XDP_TX feature support
            - AMD:
               - ionic: add support for PCI FLR event
               - sfc:
                  - basic conntrack offload
                  - introduce eth, ipv4 and ipv6 pedit offloads
            - ST Microelectronics:
               - stmmac: maximze PTP timestamping resolution
      
         - Virtual NICs:
            - Microsoft vNIC:
               - batch ringing RX queue doorbell on receiving packets
               - add page pool for RX buffers
            - Virtio vNIC:
               - add per queue interrupt coalescing support
            - Google vNIC:
               - add queue-page-list mode support
      
         - Ethernet high-speed switches:
            - nVidia/Mellanox (mlxsw):
               - add port range matching tc-flower offload
               - permit enslavement to netdevices with uppers
      
         - Ethernet embedded switches:
            - Marvell (mv88e6xxx):
               - convert to phylink_pcs
            - Renesas:
               - r8A779fx: add speed change support
               - rzn1: enables vlan support
      
         - Ethernet PHYs:
            - convert mv88e6xxx to phylink_pcs
      
         - WiFi:
            - Qualcomm Wi-Fi 7 (ath12k):
               - extremely High Throughput (EHT) PHY support
            - RealTek (rtl8xxxu):
               - enable AP mode for: RTL8192FU, RTL8710BU (RTL8188GU),
                 RTL8192EU and RTL8723BU
            - RealTek (rtw89):
               - Introduce Time Averaged SAR (TAS) support
      
         - Connector:
            - support for event filtering"
      
      * tag 'net-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1806 commits)
        net: ethernet: mtk_wed: minor change in wed_{tx,rx}info_show
        net: ethernet: mtk_wed: add some more info in wed_txinfo_show handler
        net: stmmac: clarify difference between "interface" and "phy_interface"
        r8152: add vendor/device ID pair for D-Link DUB-E250
        devlink: move devlink_notify_register/unregister() to dev.c
        devlink: move small_ops definition into netlink.c
        devlink: move tracepoint definitions into core.c
        devlink: push linecard related code into separate file
        devlink: push rate related code into separate file
        devlink: push trap related code into separate file
        devlink: use tracepoint_enabled() helper
        devlink: push region related code into separate file
        devlink: push param related code into separate file
        devlink: push resource related code into separate file
        devlink: push dpipe related code into separate file
        devlink: move and rename devlink_dpipe_send_and_alloc_skb() helper
        devlink: push shared buffer related code into separate file
        devlink: push port related code into separate file
        devlink: push object register/unregister notifications into separate helpers
        inet: fix IP_TRANSPARENT error handling
        ...
      bd6c11bc
    • Linus Torvalds's avatar
      Merge tag 'v6.6-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 68cf0176
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Move crypto engine callback from tfm ctx into algorithm object
         - Fix atomic sleep bug in crypto_destroy_instance
         - Move lib/mpi into lib/crypto
      
        Algorithms:
         - Add chacha20 and poly1305 implementation for powerpc p10
      
        Drivers:
         - Add AES skcipher and aead support to starfive
         - Add Dynamic Boost Control support to ccp
         - Add support for STM32P13 platform to stm32"
      
      * tag 'v6.6-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (149 commits)
        Revert "dt-bindings: crypto: qcom,prng: Add SM8450"
        crypto: chelsio - Remove unused declarations
        X.509: if signature is unsupported skip validation
        crypto: qat - fix crypto capability detection for 4xxx
        crypto: drivers - Explicitly include correct DT includes
        crypto: engine - Remove crypto_engine_ctx
        crypto: zynqmp - Use new crypto_engine_op interface
        crypto: virtio - Use new crypto_engine_op interface
        crypto: stm32 - Use new crypto_engine_op interface
        crypto: jh7110 - Use new crypto_engine_op interface
        crypto: rk3288 - Use new crypto_engine_op interface
        crypto: omap - Use new crypto_engine_op interface
        crypto: keembay - Use new crypto_engine_op interface
        crypto: sl3516 - Use new crypto_engine_op interface
        crypto: caam - Use new crypto_engine_op interface
        crypto: aspeed - Remove non-standard sha512 algorithms
        crypto: aspeed - Use new crypto_engine_op interface
        crypto: amlogic - Use new crypto_engine_op interface
        crypto: sun8i-ss - Use new crypto_engine_op interface
        crypto: sun8i-ce - Use new crypto_engine_op interface
        ...
      68cf0176
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · f97e18a3
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "We have a lot of code refactoring using common helpers and ended up
        removing more lines then we're adding this release cycle.
      
        Nothing really stands out, just small updates all over the place.
      
        Core GPIOLIB updates:
         - wake-up poll() in user-space on device unbind
         - improve fwnode usage
         - interrupt domain handling improvements
         - correctly handle the ngpios property in gpio-mmio
      
        Driver cleanups:
         - remove unneeded calls to platform_set_drvdata() all around the
           place
         - remove unneeded of_match_ptr() expansions whenever a driver depends
           on CONFIG_OF
         - remove redundant calls to dev_err_probe() from gpio-omap and
           gpio-davinci
      
        Driver improvements:
         - use autopointers and guards from cleanup.h in gpio-sim
         - shrink code in gpio-sim using some common helpers
         - convert the idio family of drivers to using gpio-regmap
         - convert gpio-ws16c48 to using gpio-regmap
         - use devres to simplify code in gpio-pisosr and gpio-mxc
         - update gpio-sifive: support IRQ wake, improve interrupt handling,
           allow building as module
         - make gpio-ge and gpio-bcm-kona OF-independent (plus some minor
           tweaks)
         - add support for new models in gpio-pca953x and gpio-ds4520
         - add runtime PM support to gpio-mxc
         - fix a build warning in gpio-mxs
         - add support for adding pin ranges to gpio-mlxbf3
         - add counter/timer support to gpio-104-dio-48e
         - switch to dynamic GPIO base allocation in gpio-vf610
         - minor oneliners here and there
      
        Device-tree bindings updates:
         - enable the gpio-line-names property in snps,dw-apb and STMPE GPIO
         - document new models in fsl-imx-gpio, ds4520 and pca95xx
         - convert the bindings for brcm,kona-gpio to YAML"
      
      * tag 'gpio-updates-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (94 commits)
        gpio: pca953x: add support for TCA9538
        dt-bindings: gpio: pca95xx: document new tca9538 chip
        gpio: pca953x: Use i2c_get_match_data()
        gpio: mlxbf3: use capital "OR" for multiple licenses in SPDX
        gpio: pcf857x: Extend match data support for OF tables
        gpio: vf610: switch to dynamic allocat GPIO base
        gpiolib: provide and use gpiod_line_state_notify()
        gpio: cdev: wake up lineevent poll() on device unbind
        gpio: cdev: wake up linereq poll() on device unbind
        gpio: cdev: wake up chardev poll() on device unbind
        gpiolib: add a second blocking notifier to struct gpio_device
        gpio: cdev: open-code to_gpio_chardev_data()
        gpiolib: rename the gpio_device notifier
        gpio: mlxbf3: Support add_pin_ranges()
        gpio: mxc: Use helper function devm_clk_get_optional_enabled()
        gpio: pca9570: fix kerneldoc
        gpio: sim: simplify code with cleanup helpers
        gpio: sim: replace memmove() + strstrip() with skip_spaces() + strim()
        gpio: sim: simplify gpio_sim_device_config_live_store()
        gpio: mxc: release the parent IRQ in runtime suspend
        ...
      f97e18a3
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 41e97d7a
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "New drivers:
      
         - Renesas HS3001
      
        Chip support added to existing drivers:
      
         - pmbus/mp2975 driver now supports MP2971 and MP2973
      
        Functional improvements:
      
         - Additional voltage and temperature sensor support for
           NCT6798/NCT6799 in nt6755 driver
      
         - it87 driver now detects AMDTSI sensor type
      
         - dimmtemp now supports more than 32 DIMMs
      
        Driver removals:
      
         - sm665 driver removed as unsupportable and long since obsolete
      
        .. and minor fixes, cleanups, and simplifications in several drivers"
      
      * tag 'hwmon-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (57 commits)
        hwmon: (tmp513) Simplify probe()
        hwmon: (tmp513) Fix the channel number in tmp51x_is_visible()
        hwmon: (mlxreg-fan) Extend number of supported fans
        hwmon: (sis5595) Do PCI error checks on own line
        hwmon: (vt8231) Do PCI error checks on own line
        hwmon: (via686a) Do PCI error checks on own line
        hwmon: pmbus: Fix -EIO seen on pli1209
        hwmon: pmbus: Drop unnecessary clear fault page
        hwmon: pmbus: Reduce clear fault page invocations
        hwmon: (nsa320-hwmon) Remove redundant of_match_ptr()
        hwmon: (pmbus/ucd9200) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (pmbus/ucd9000) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (pmbus/tps53679) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (pmbus/ibm-cffps) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (tmp513) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (max6697) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (max20730) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (lm90) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (lm85) fix Wvoid-pointer-to-enum-cast warning
        hwmon: (lm75) fix Wvoid-pointer-to-enum-cast warning
        ...
      41e97d7a
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 995cda62
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Convert drivers to use the ->remove_new() callback
         - Propagate the removable attribute for the card's device
      
        MMC host:
         - Convert drivers to use the ->remove_new() callback
         - atmel-mci: Convert to gpio descriptors and cleanup the code
         - davinci: Make SDIO irq truly optional
         - renesas_sdhi: Register irqs before registering controller
         - sdhci: Simplify the sdhci_pltfm_* interface a bit
         - sdhci-esdhc-imx: Improve support for the 1.8V errata
         - sdhci-of-at91: Add support for the microchip sam9x7 variant
         - sdhci-of-dwcmshc: Add support for runtime PM
         - sdhci-pci-o2micro: Add support for the new Bayhub GG8 variant
         - sdhci-sprd: Add support for SD high-speed mode tuning
         - uniphier-sd: Register irqs before registering controller"
      
      * tag 'mmc-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (108 commits)
        mmc: atmel-mci: Move card detect gpio polarity quirk to gpiolib
        mmc: atmel-mci: move atmel MCI header file
        mmc: atmel-mci: Convert to gpio descriptors
        mmc: sdhci-sprd: Add SD HS mode online tuning
        mmc: core: Add host specific tuning support for SD HS mode
        mmc: sdhci-of-dwcmshc: Add runtime PM operations
        mmc: sdhci-of-dwcmshc: Add error handling in dwcmshc_resume
        mmc: sdhci-esdhc-imx: improve ESDHC_FLAG_ERR010450
        mmc: sdhci-pltfm: Rename sdhci_pltfm_register()
        mmc: sdhci-pltfm: Remove sdhci_pltfm_unregister()
        mmc: sdhci-st: Use sdhci_pltfm_remove()
        mmc: sdhci-pxav2: Use sdhci_pltfm_remove()
        mmc: sdhci-of-sparx5: Use sdhci_pltfm_remove()
        mmc: sdhci-of-hlwd: Use sdhci_pltfm_remove()
        mmc: sdhci-of-esdhc: Use sdhci_pltfm_remove()
        mmc: sdhci-of-at91: Use sdhci_pltfm_remove()
        mmc: sdhci-of-arasan: Use sdhci_pltfm_remove()
        mmc: sdhci-iproc: Use sdhci_pltfm_remove()
        mmc: sdhci_f_sdh30: Use sdhci_pltfm_remove()
        mmc: sdhci-dove: Use sdhci_pltfm_remove()
        ...
      995cda62
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 3b6bf5b1
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "There's been quite a lot of generic activity here, but more
        administrative than featuers. We also have a bunch of new drivers,
        including one that's part of a MFD so we pulled in the core parts of
        that:
      
         - Lots of work from both Yang Yingliang and Andy Shevchenko on moving
           to host/device/controller based terminology for devices.
      
         - QuadSPI SPI support for Allwinner sun6i.
      
         - New device support Cirrus Logic CS43L43, Longsoon, Qualcomm GENI
           QuPv3 and StarFive JH7110 QSPI"
      
      * tag 'spi-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (151 commits)
        spi: at91-usart: Use PTR_ERR_OR_ZERO() to simplify code
        spi: spi-sn-f-ospi: switch to use modern name
        spi: sifive: switch to use modern name
        spi: sh: switch to use modern name
        spi: sh-sci: switch to use modern name
        spi: sh-msiof: switch to use modern name
        spi: sh-hspi: switch to use modern name
        spi: sc18is602: switch to use modern name
        spi: s3c64xx: switch to use modern name
        spi: rzv2m-csi: switch to use devm_spi_alloc_host()
        spi: rspi: switch to use spi_alloc_host()
        spi: rockchip: switch to use modern name
        spi: rockchip-sfc: switch to use modern name
        spi: realtek-rtl: switch to use devm_spi_alloc_host()
        spi: rb4xx: switch to use modern name
        spi: qup: switch to use modern name
        spi: spi-qcom-qspi: switch to use modern name
        spi: pxa2xx: switch to use modern name
        spi: ppc4xx: switch to use modern name
        spi: spl022: switch to use modern name
        ...
      3b6bf5b1
    • Linus Torvalds's avatar
      Merge tag 'regulator-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 65234f96
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Other than new device support and some minor fixes this has been a
        really quiet release, the only notable things are the new drivers.
      
        There's a couple of MFDs among the new devices so the generic parts
        are pulled in:
      
         - Support for Analog Devices MAX77831/57/59, Awinc AW37503, Qualcom
           PMX75 and RFGEN, RealTek RT5733, RichTek RTQ2208 and Texas
           Instruments TPS65086"
      
      * tag 'regulator-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (68 commits)
        regulator: userspace-consumer: Drop event support for this cycle
        regulator: aw37503: Switch back to use struct i2c_driver's .probe()
        dt-bindings: regulator: qcom,rpmh-regulator: allow i, j, l, m & n as RPMh resource name suffix
        regulator: dt-bindings: Add Awinic AW37503
        regulator: aw37503: add regulator driver for Awinic AW37503
        regulator: tps65086: Select dedicated regulator config for chip variant
        mfd: tps65086: Read DEVICE ID register 1 from device
        regulator: raa215300: Update help description
        regulator: raa215300: Add missing blank space
        regulator: raa215300: Change rate from 32000->32768
        regulator: db8500-prcmu: Remove unused declaration power_state_active_is_enabled()
        regulator: raa215300: Add const definition
        regulator: raa215300: Fix resource leak in case of error
        regulator: rtq2208: Switch back to use struct i2c_driver's .probe()
        regulator: lp872x: Fix Wvoid-pointer-to-enum-cast warning
        regulator: max77857: Fix Wvoid-pointer-to-enum-cast warning
        regulator: ltc3589: Fix Wvoid-pointer-to-enum-cast warning
        regulator: qcom_rpm-regulator: Use devm_kmemdup to replace devm_kmalloc + memcpy
        regulator: tps6286x-regulator: Remove redundant of_match_ptr() macros
        regulator: pfuze100-regulator: Remove redundant of_match_ptr() macro
        ...
      65234f96
    • Andrea Righi's avatar
      module/decompress: use vmalloc() for zstd decompression workspace · a419beac
      Andrea Righi authored
      Using kmalloc() to allocate the decompression workspace for zstd may
      trigger the following warning when large modules are loaded (i.e., xfs):
      
      [    2.961884] WARNING: CPU: 1 PID: 254 at mm/page_alloc.c:4453 __alloc_pages+0x2c3/0x350
      ...
      [    2.989033] Call Trace:
      [    2.989841]  <TASK>
      [    2.990614]  ? show_regs+0x6d/0x80
      [    2.991573]  ? __warn+0x89/0x160
      [    2.992485]  ? __alloc_pages+0x2c3/0x350
      [    2.993520]  ? report_bug+0x17e/0x1b0
      [    2.994506]  ? handle_bug+0x51/0xa0
      [    2.995474]  ? exc_invalid_op+0x18/0x80
      [    2.996469]  ? asm_exc_invalid_op+0x1b/0x20
      [    2.997530]  ? module_zstd_decompress+0xdc/0x2a0
      [    2.998665]  ? __alloc_pages+0x2c3/0x350
      [    2.999695]  ? module_zstd_decompress+0xdc/0x2a0
      [    3.000821]  __kmalloc_large_node+0x7a/0x150
      [    3.001920]  __kmalloc+0xdb/0x170
      [    3.002824]  module_zstd_decompress+0xdc/0x2a0
      [    3.003857]  module_decompress+0x37/0xc0
      [    3.004688]  init_module_from_file+0xd0/0x100
      [    3.005668]  idempotent_init_module+0x11c/0x2b0
      [    3.006632]  __x64_sys_finit_module+0x64/0xd0
      [    3.007568]  do_syscall_64+0x59/0x90
      [    3.008373]  ? ksys_read+0x73/0x100
      [    3.009395]  ? exit_to_user_mode_prepare+0x30/0xb0
      [    3.010531]  ? syscall_exit_to_user_mode+0x37/0x60
      [    3.011662]  ? do_syscall_64+0x68/0x90
      [    3.012511]  ? do_syscall_64+0x68/0x90
      [    3.013364]  entry_SYSCALL_64_after_hwframe+0x6e/0xd8
      
      However, continuous physical memory does not seem to be required in
      module_zstd_decompress(), so use vmalloc() instead, to prevent the
      warning and avoid potential failures at loading compressed modules.
      
      Fixes: 169a58ad ("module/decompress: Support zstd in-kernel decompression")
      Signed-off-by: default avatarAndrea Righi <andrea.righi@canonical.com>
      Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      a419beac
    • Linus Torvalds's avatar
      Merge tag 'regmap-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 0fc81f37
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "This is a much quieter release than the past few, there's one small
        API addition that I noticed a user for in ALSA and a bunch of
        cleanups:
      
         - Provide an interface for determining if a register is present in
           the cache and add a user of it in ALSA.
      
         - Full support for dynamic allocations, following the temporary
           bodges that were done as fixes in the previous release.
      
         - Remove the unused and questionably working 64 bit support"
      
      * tag 'regmap-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fix the type used for a bitmap pointer
        regmap: Remove dynamic allocation warnings for rbtree and maple
        regmap: rbtree: Use alloc_flags for memory allocations
        regmap: maple: Use alloc_flags for memory allocations
        regmap: Reject fast_io regmap configurations with RBTREE and MAPLE caches
        ALSA: hda: Use regcache_reg_cached() rather than open coding
        regmap: Provide test for regcache_reg_present()
        regmap: Let users check if a register is cached
        regmap: Provide user selectable option to enable regmap
        regmap: mmio: Remove unused 64-bit support code
        regmap: cache: Revert "Add 64-bit mode support"
        regmap: Revert "add 64-bit mode support" and Co.
      0fc81f37
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · c35c486c
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
      
       - explicitly include correct DT includes
      
      * tag 'hsi-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        hsi: omap_ssi: Explicitly include correct DT includes
      c35c486c
    • Linus Torvalds's avatar
      Merge tag 'for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · b547f9b3
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - core: avoid duplicate hwmon device from thermal framework
      
       - convert multiple drivers to devm_platform_ioremap_resource
      
       - at91-reset: add sysfs interface to the power on reason
      
       - misc small fixes and improvements
      
      * tag 'for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        power: supply: qcom_pmi8998_charger: fix charger status
        power: supply: qcom_pmi8998_charger: remove CHARGE_CONTROL_LIMIT_* props
        power: supply: qcom_pmi8998_charger: fix uninitialized variable
        power: reset: oxnas-restart: remove obsolete restart driver
        power: supply: core: Avoid duplicate hwmon device from thermal framework
        power: reset: ocelot: Convert to devm_platform_ioremap_resource()
        power: reset: msm: Convert to devm_platform_ioremap_resource()
        power: reset: gemini-poweroff: Convert to devm_platform_ioremap_resource()
        power: reset: brcm-kona: Convert to devm_platform_ioremap_resource()
        power: reset: at91-sama5d2_shdwc: Convert to devm_platform_ioremap_resource()
        power: reset: at91-poweroff: Convert to devm_platform_ioremap_resource()
        power: reset: at91-reset: add sysfs interface to the power on reason
        power: supply: bd99954: make read-only array sub_status_reg
        power: supply: bq24190: Considers FORCE_20PCT when getting IPRECHG
        power: Explicitly include correct DT includes
      b547f9b3
    • Linus Torvalds's avatar
      Merge tag 'auxdisplay-6.6' of https://github.com/ojeda/linux · 5ea0cf77
      Linus Torvalds authored
      Pull auxdisplay update from Miguel Ojeda:
      
       - hd44780: move cursor home after clear display command
      
         The change allows to support displays like the NewHaven
         NHD-0220DZW-AG5 which has a non-standard controller.
      
      * tag 'auxdisplay-6.6' of https://github.com/ojeda/linux:
        auxdisplay: hd44780: move cursor home after clear display command
      5ea0cf77