1. Dec 09, 2023
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c3e2f9bd
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Fix a possible crash on an attempt to free unallocated memory in the
        error path of acpi_evaluate_reference() that has been introduced by
        one of the recent changes (Rafael Wysocki)"
      
      * tag 'acpi-6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: utils: Fix error path in acpi_evaluate_reference()
      c3e2f9bd
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.7-rc5' of... · 0dfe14fc
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - acpi_power_meter: Fix 4.29 MW output seen if acpi reports bad data
      
       - corsair-psu: Fix ability to probe if the driver is built into the kernel
      
       - ltc2991: Fix spelling mistake "contiuous" -> "continuous"
      
       - max31827: Add missing regulator header file include
      
       - nzxt-kraken2: Fix error handling path in probe function
      
      * tag 'hwmon-for-v6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (corsair-psu) Fix probe when built-in
        hwmon: (nzxt-kraken2) Fix error handling path in kraken2_probe()
        hwmon: (acpi_power_meter) Fix 4.29 MW bug
        hwmon: max31827: include regulator header
        hwmon: ltc2991: Fix spelling mistake "contiuous" -> "continuous"
      0dfe14fc
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.7-rc5-fixes' of https://git.pengutronix.de/git/ukl/linux · d650b3be
      Linus Torvalds authored
      Pull pwm fix from Uwe Kleine-König:
       "This fixes a null pointer exception in the bcm2835 pwm driver.
      
        The problem was introduced by a combination of two commits merged for
        v6.7-rc1 where each change alone would have been fine.
      
        Thanks to Florian Fainelli for noticing and fixing the issue"
      
      * tag 'pwm/for-6.7-rc5-fixes' of https://git.pengutronix.de/git/ukl/linux:
        pwm: bcm2835: Fix NPD in suspend/resume
      d650b3be
    • Linus Torvalds's avatar
      Merge tag 'sound-6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · b8b68d2f
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "This is a typical bump in the middle of its way; we've gathered lots
        of fixes (mostly for ASoC) at this time:
      
         - PCM array out-of-bound access fix
      
         - Correction of SOC PCM merge error
      
         - Lots of ASoC SOF Intel updates
      
         - A few ASoC AMD quirks
      
         - More proper timer handling in PCM test module
      
         - HD-audio and USB-audio quirks as usual
      
         - Other device-specific fixes for various ASoC codecs"
      
      * tag 'sound-6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (39 commits)
        ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7
        ALSA: pcmtest: stop timer before buffer is released
        ALSA: hda/realtek: Add Framework laptop 16 to quirks
        ALSA: hda/realtek: add new Framework laptop to quirks
        ALSA: pcm: fix out-of-bounds in snd_pcm_state_names
        ASoC: qcom: sc8280xp: Limit speaker digital volumes
        ASoC: ops: add correct range check for limiting volume
        ALSA: hda/realtek: Enable headset on Lenovo M90 Gen5
        ALSA: hda/realtek: fix speakers on XPS 9530 (2023)
        ALSA: usb-audio: Add Pioneer DJM-450 mixer controls
        ASoC: wm_adsp: fix memleak in wm_adsp_buffer_populate
        ASoC: da7219: Support low DC impedance headset
        ASoC: amd: acp: Add support for a new Huawei Matebook laptop
        ALSA: hda/realtek: Apply quirk for ASUS UM3504DA
        ASoC: SOF: ipc4-topology: Correct data structures for the GAIN module
        ASoC: SOF: ipc4-topology: Correct data structures for the SRC module
        ASoC: hdac_hda: Conditionally register dais for HDMI and Analog
        ASoC: codecs: lpass-tx-macro: set active_decimator correct default value
        ASoC: amd: yc: Fix non-functional mic on ASUS E1504FA
        ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13
        ...
      b8b68d2f
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-12-08' of git://anongit.freedesktop.org/drm/drm · 38bafa65
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular weekly fixes, mostly amdgpu and i915 as usual. A couple of
        nouveau, panfrost, one core and one bridge Kconfig.
      
        Seems about normal for rc5.
      
        atomic-helpers:
         - invoke end_fb_access while owning plane state
      
        i915:
         - fix a missing dep for a previous fix
         - Relax BXT/GLK DSI transcoder hblank limits
         - Fix DP MST .mode_valid_ctx() return values
         - Reject DP MST modes that require bigjoiner (as it's not yet
           supported on DP MST)
         - Fix _intel_dsb_commit() variable type to allow negative values
      
        nouveau:
         - document some bits of gsp rm
         - flush vmm more on tu102 to avoid hangs
      
        panfrost:
         - fix imported dma-buf objects residency
         - fix device freq update
      
        bridge:
         - tc358768 - fix Kconfig
      
        amdgpu:
         - Disable MCBP on gfx9
         - DC vbios fix
         - eDP fix
         - dml2 UBSAN fix
         - SMU 14 fix
         - RAS fixes
         - dml KASAN/KCSAN fix
         - PSP 13 fix
         - Clockgating fixes
         - Suspend fix
      
        exynos:
         - fix pointer dereference
         - fix wrong error check"
      
      * tag 'drm-fixes-2023-12-08' of git://anongit.freedesktop.org/drm/drm: (27 commits)
        drm/exynos: fix a wrong error checking
        drm/exynos: fix a potential error pointer dereference
        drm/amdgpu: fix buffer funcs setting order on suspend
        drm/amdgpu: Avoid querying DRM MGCG status
        drm/amdgpu: Update HDP 4.4.2 clock gating flags
        drm/amdgpu: Add NULL checks for function pointers
        drm/amdgpu: Restrict extended wait to PSP v13.0.6
        drm/amd/display: Increase frame warning limit with KASAN or KCSAN in dml
        drm/amdgpu: optimize the printing order of error data
        drm/amdgpu: Update fw version for boot time error query
        drm/amd/pm: support new mca smu error code decoding
        drm/amd/swsmu: update smu v14_0_0 driver if version and metrics table
        drm/amd/display: Fix array-index-out-of-bounds in dml2
        drm/amd/display: Add monitor patch for specific eDP
        drm/amd/display: Use channel_width = 2 for vram table 3.0
        drm/amdgpu: disable MCBP by default
        drm/atomic-helpers: Invoke end_fb_access while owning plane state
        drm/i915: correct the input parameter on _intel_dsb_commit()
        drm/i915/mst: Reject modes that require the bigjoiner
        drm/i915/mst: Fix .mode_valid_ctx() return values
        ...
      38bafa65
    • Armin Wolf's avatar
      hwmon: (corsair-psu) Fix probe when built-in · 307004e8
      Armin Wolf authored
      
      
      It seems that when the driver is built-in, the HID bus is
      initialized after the driver is loaded, which whould cause
      module_hid_driver() to fail.
      Fix this by registering the driver after the HID bus using
      late_initcall() in accordance with other hwmon HID drivers.
      
      Signed-off-by: default avatarArmin Wolf <W_Armin@gmx.de>
      Link: https://lore.kernel.org/r/20231207210723.222552-1-W_Armin@gmx.de
      
      
      [groeck: Dropped "compile tested" comment; the patch has been tested
       but the tester did not provide a Tested-by: tag]
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      307004e8
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 4df7c5fd
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - A pair of fixes to the new module load-time relocation code
      
       - A fix for hwprobe overflowing on rv32
      
       - A fix for to correctly decode C.SWSP and C.SDSP, which manifests in
         misaligned access handling
      
       - A fix for a boot-time shadow call stack initialization ordering issue
      
       - A fix for Andes' errata probing, which was calling
         riscv_noncoherent_supported() too late in the boot process and
         triggering an oops
      
      * tag 'riscv-for-linus-6.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: errata: andes: Probe for IOCP only once in boot stage
        riscv: Fix SMP when shadow call stacks are enabled
        dt-bindings: perf: riscv,pmu: drop unneeded quotes
        riscv: fix misaligned access handling of C.SWSP and C.SDSP
        RISC-V: hwprobe: Always use u64 for extension bits
        Support rv32 ULEB128 test
        riscv: Correct type casting in module loading
        riscv: Safely remove entries from relocation list
      4df7c5fd
    • Linus Torvalds's avatar
      Merge tag 'soc-fixes-6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · a6adef89
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Most of the changes are devicetree fixes for NXP, Mediatek, Rockchips
        Arm machines as well as Microchip RISC-V, and most of these address
        build-time warnings for spec violations and other minor issues. One of
        the Mediatek warnings was enabled by default and prevented a clean
        build.
      
        The ones that address serious runtime issues are all on the i.MX
        platform:
      
         - a boot time panic on imx8qm
      
         - USB hanging under load on imx8
      
         - regressions on the imx93 ethernet phy
      
        Code fixes include a minor error handling for the i.MX PMU driver, and
        a number of firmware driver fixes:
      
         - OP-TEE fix for supplicant based device enumeration, and a new sysfs
           attribute to needed to fix a race against userspace
      
         - Arm SCMI fix for possible truncation/overflow in the frequency
           computations
      
         - Multiple FF-A fixes for the newly added notification support"
      
      * tag 'soc-fixes-6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (55 commits)
        MAINTAINERS: change the S32G2 maintainer's email address.
        arm64: dts: rockchip: Fix eMMC Data Strobe PD on rk3588
        ARM: dts: imx28-xea: Pass the 'model' property
        ARM: dts: imx7: Declare timers compatible with fsl,imx6dl-gpt
        MAINTAINERS: reinstate freescale ARM64 DT directory in i.MX entry
        arm64: dts: imx8-apalis: set wifi regulator to always-on
        ARM: imx: Check return value of devm_kasprintf in imx_mmdc_perf_init
        arm64: dts: imx8ulp: update gpio node name to align with register address
        arm64: dts: imx93: update gpio node name to align with register address
        arm64: dts: imx93: correct mediamix power
        arm64: dts: imx8qm: Add imx8qm's own pm to avoid panic during startup
        arm64: dts: freescale: imx8-ss-dma: Fix #pwm-cells
        arm64: dts: freescale: imx8-ss-lsio: Fix #pwm-cells
        dt-bindings: pwm: imx-pwm: Unify #pwm-cells for all compatibles
        ARM: dts: imx6ul-pico: Describe the Ethernet PHY clock
        arm64: dts: imx8mp: imx8mq: Add parkmode-disable-ss-quirk on DWC3
        arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru
        arm64: dts: rockchip: drop interrupt-names property from rk3588s dfi
        firmware: arm_scmi: Fix possible frequency truncation when using level indexing mode
        firmware: arm_scmi: Fix frequency truncation by promoting multiplier type
        ...
      a6adef89
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 17894c2a
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
      
       - Snapshot buffer issues:
      
         1. When instances started allowing latency tracers, it uses a
            snapshot buffer (another buffer that is not written to but swapped
            with the main buffer that is). The snapshot buffer needs to be the
            same size as the main buffer. But when the snapshot buffers were
            added to instances, the code to make the snapshot equal to the
            main buffer still was only doing it for the main buffer and not
            the instances.
      
         2. Need to stop the current tracer when resizing the buffers.
            Otherwise there can be a race if the tracer decides to make a
            snapshot between resizing the main buffer and the snapshot buffer.
      
         3. When a tracer is "stopped" in disables both the main buffer and
            the snapshot buffer. This needs to be done for instances and not
            only the main buffer, now that instances also have a snapshot
            buffer.
      
       - Buffered event for filtering issues:
      
         When filtering is enabled, because events can be dropped often, it is
         quicker to copy the event into a temp buffer and write that into the
         main buffer if it is not filtered or just drop the event if it is,
         than to write the event into the ring buffer and then try to discard
         it. This temp buffer is allocated and needs special synchronization
         to do so. But there were some issues with that:
      
         1. When disabling the filter and freeing the buffer, a call to all
            CPUs is required to stop each per_cpu usage. But the code called
            smp_call_function_many() which does not include the current CPU.
            If the task is migrated to another CPU when it enables the CPUs
            via smp_call_function_many(), it will not enable the one it is
            currently on and this causes issues later on. Use
            on_each_cpu_mask() instead, which includes the current CPU.
      
          2.When the allocation of the buffered event fails, it can give a
            warning. But the buffered event is just an optimization (it's
            still OK to write to the ring buffer and free it). Do not WARN in
            this case.
      
          3.The freeing of the buffer event requires synchronization. First a
            counter is decremented to zero so that no new uses of it will
            happen. Then it sets the buffered event to NULL, and finally it
            frees the buffered event. There's a synchronize_rcu() between the
            counter decrement and the setting the variable to NULL, but only a
            smp_wmb() between that and the freeing of the buffer. It is
            theoretically possible that a user missed seeing the decrement,
            but will use the buffer after it is free. Another
            synchronize_rcu() is needed in place of that smp_wmb().
      
       - ring buffer timestamps on 32 bit machines
      
         The ring buffer timestamp on 32 bit machines has to break the 64 bit
         number into multiple values as cmpxchg is required on it, and a 64
         bit cmpxchg on 32 bit architectures is very slow. The code use to
         just use two 32 bit values and make it a 60 bit timestamp where the
         other 4 bits were used as counters for synchronization. It later came
         known that the timestamp on 32 bit still need all 64 bits in some
         cases. So 3 words were created to handle the 64 bits. But issues
         arised with this:
      
          1. The synchronization logic still only compared the counter with
             the first two, but not with the third number, so the
             synchronization could fail unknowingly.
      
          2. A check on discard of an event could race if an event happened
             between the discard and updating one of the counters. The counter
             needs to be updated (forcing an absolute timestamp and not to use
             a delta) before the actual discard happens.
      
      * tag 'trace-v6.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ring-buffer: Test last update in 32bit version of __rb_time_read()
        ring-buffer: Force absolute timestamp on discard of event
        tracing: Fix a possible race when disabling buffered events
        tracing: Fix a warning when allocating buffered events fails
        tracing: Fix incomplete locking when disabling buffered events
        tracing: Disable snapshot buffer when stopping instance tracers
        tracing: Stop current tracer when resizing buffer
        tracing: Always update snapshot buffer size
      17894c2a
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2023-12-07-18-47' of... · 8e819a76
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2023-12-07-18-47' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "31 hotfixes. Ten of these address pre-6.6 issues and are marked
        cc:stable. The remainder address post-6.6 issues or aren't considered
        serious enough to justify backporting"
      
      * tag 'mm-hotfixes-stable-2023-12-07-18-47' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (31 commits)
        mm/madvise: add cond_resched() in madvise_cold_or_pageout_pte_range()
        nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage()
        mm/hugetlb: have CONFIG_HUGETLB_PAGE select CONFIG_XARRAY_MULTI
        scripts/gdb: fix lx-device-list-bus and lx-device-list-class
        MAINTAINERS: drop Antti Palosaari
        highmem: fix a memory copy problem in memcpy_from_folio
        nilfs2: fix missing error check for sb_set_blocksize call
        kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP
        units: add missing header
        drivers/base/cpu: crash data showing should depends on KEXEC_CORE
        mm/damon/...
      8e819a76
  2. Dec 08, 2023