1. 19 Apr, 2024 16 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 2bf5dd7c
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
      
       - Add a missing mutex_destroy() in rxe
      
       - Enhance the debugging print for cm_destroy failures to help debug
         these
      
       - Fix mlx5 MAD processing in cases where multiport devices are running
         in switchedev mode
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/mlx5: Fix port number for counter query in multi-port configuration
        RDMA/cm: Print the old state when cm_destroy_id gets timeout
        RDMA/rxe: Fix the problem "mutex_destroy missing"
      2bf5dd7c
    • Linus Torvalds's avatar
      Merge tag '9p-fixes-for-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · 46b28503
      Linus Torvalds authored
      Pull fs/9p fixes from Eric Van Hensbergen:
       "This contains a reversion of one of the original 6.9 patches which
        seems to have been the cause of most of the instability. It also
        incorporates several fixes to legacy support and cache fixes.
      
        There are few additional changes to improve stability, but I want
        another week of testing before sending them upstream"
      
      * tag '9p-fixes-for-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        fs/9p: drop inodes immediately on non-.L too
        fs/9p: Revert "fs/9p: fix dups even in uncached mode"
        fs/9p: remove erroneous nlink init from legacy stat2inode
        9p: explicitly deny setlease attempts
        fs/9p: fix the cache always being enabled on files with qid flags
        fs/9p: translate O_TRUNC into OTRUNC
        fs/9p: only translate RWX permissions for plain 9P2000
      46b28503
    • Linus Torvalds's avatar
      Merge tag 'fuse-fixes-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · daa75776
      Linus Torvalds authored
      Pull fuse fixes from Miklos Szeredi:
      
       - Fix two bugs in the new passthrough mode
      
       - Fix a statx bug introduced in v6.6
      
       - Fix code documentation
      
      * tag 'fuse-fixes-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        cuse: add kernel-doc comments to cuse_process_init_reply()
        fuse: fix leaked ENOSYS error on first statx call
        fuse: fix parallel dio write on file open in passthrough mode
        fuse: fix wrong ff->iomode state changes from parallel dio write
      daa75776
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 25ec51ec
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Fix a kernel fault during page table walking in huge_pte_alloc() with
         PTABLE_LEVELS=5 due to using p4d_offset() instead of p4d_alloc()
      
       - head.S fix and cleanup to disable the MMU before toggling the
         HCR_EL2.E2H bit when entering the kernel with the MMU on from the EFI
         stub. Changing this bit (currently from VHE to nVHE) causes some
         system registers as well as page table descriptors to be interpreted
         differently, potentially resulting in spurious MMU faults
      
       - Fix translation fault in swsusp_save() accessing MEMBLOCK_NOMAP
         memory ranges due to kernel_page_present() returning true in most
         configurations other than rodata_full == true,
         CONFIG_DEBUG_PAGEALLOC=y or CONFIG_KFENCE=y
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: hibernate: Fix level3 translation fault in swsusp_save()
        arm64/head: Disable MMU at EL2 before clearing HCR_EL2.E2H
        arm64/head: Drop unnecessary pre-disable-MMU workaround
        arm64/hugetlb: Fix page table walk in huge_pte_alloc()
      25ec51ec
    • Linus Torvalds's avatar
      Merge tag 's390-6.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 3cdb4559
      Linus Torvalds authored
      Pull s390 updates from Alexander Gordeev:
      
       - Fix NULL pointer dereference in program check handler
      
       - Fake IRBs are important events relevant for problem analysis. Add
         traces when queueing and delivering
      
       - Fix a race condition in ccw_device_set_online() that can cause the
         online process to fail
      
       - Deferred condition code 1 response indicates that I/O was not started
         and should be retried. The current QDIO implementation handles a cc1
         response as an error, resulting in a failed QDIO setup. Fix that by
         retrying the setup when a cc1 response is received
      
      * tag 's390-6.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/mm: Fix NULL pointer dereference
        s390/cio: log fake IRB events
        s390/cio: fix race condition during online processing
        s390/qdio: handle deferred cc1
      3cdb4559
    • Linus Torvalds's avatar
      Merge tag 'bootconfig-fixes-v6.9-rc4' of... · 9c6e84e4
      Linus Torvalds authored
      Merge tag 'bootconfig-fixes-v6.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull bootconfig fixes from Masami Hiramatsu:
      
       - Fix potential static_command_line buffer overrun.
      
         Currently we allocate the memory for static_command_line based on
         "boot_command_line", but it will copy "command_line" into it. So we
         use the length of "command_line" instead of "boot_command_line" (as
         we previously did)
      
       - Use memblock_free_late() in xbc_exit() instead of memblock_free()
         after the buddy system is initialized
      
       - Fix a kerneldoc warning
      
      * tag 'bootconfig-fixes-v6.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        bootconfig: Fix the kerneldoc of _xbc_exit()
        bootconfig: use memblock_free_late to free xbc memory to buddy
        init/main.c: Fix potential static_command_line memory overflow
      9c6e84e4
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · dbe0a7be
      Linus Torvalds authored
      Pull thermal control fix from Rafael Wysocki:
       "This prevents the thermal debug code from attempting to divide by zero
        and corrects trip point statistics (Rafael Wysocki)"
      
      * tag 'thermal-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal/debugfs: Add missing count increment to thermal_debug_tz_trip_up()
      dbe0a7be
    • Linus Torvalds's avatar
      Merge tag 'sound-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 3c08ab6d
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Things look calm and normal, we got handful HD-audio-related small
        fixes and a fix for MIDI 2.0 UMP handling"
      
      * tag 'sound-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: seq: ump: Fix conversion from MIDI2 to MIDI1 UMP messages
        ALSA: hda/realtek - Enable audio jacks of Haier Boyue G42 with ALC269VC
        ALSA: hda/realtek: Add quirks for Huawei Matebook D14 NBLB-WAX9N
        ALSA: hda/realtek: Fix volumn control of ThinkBook 16P Gen4
        ALSA: hda/realtek: Fixes for Asus GU605M and GA403U sound
        ALSA: hda/tas2781: Add new vendor_id and subsystem_id to support ThinkPad ICE-1
        ALSA: hda/tas2781: correct the register for pow calibrated data
        ALSA: hda/realtek: Add quirk for HP SnowWhite laptops
      3c08ab6d
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-04-19' of https://gitlab.freedesktop.org/drm/kernel · ce944f3f
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular week of fixes, seems to be about right for this time in the
        release cycle, amdgpu, and nouveau are the main one with some
        scattered fixes otherwise.
      
        ttm:
         - Stop pooling cached NUMA pages
      
        amdgpu:
         - Fix invalid resource->start check
         - USB-C DSC fix
         - Fix a potential UAF in VA IOCTL
         - Fix visible VRAM handling during faults
      
        amdkfd:
         - Fix memory leak in create_process failure
      
        radeon:
         - Silence UBSAN warnings from variable sized arrays
      
        nouveau:
         - dp: Don't probe DP ports twice
         - nv04: Fix OOB access
         - nv50: Disable AUX bus for disconnected DP ports
         - nvkm: Fix instmem race condition
      
        panel:
         - Don't unregister DSI devices in several drivers
      
        v3d:
         - Fix enabled_ns increment
      
        xe:
         - Fix bo leak on error path during fb init
         - Fix use-after-free due to order vm is put and destroyed"
      
      * tag 'drm-fixes-2024-04-19' of https://gitlab.freedesktop.org/drm/kernel:
        drm/radeon: silence UBSAN warning (v3)
        drm/radeon: make -fstrict-flex-arrays=3 happy
        drm/amdgpu: fix visible VRAM handling during faults
        drm/amdgpu: validate the parameters of bo mapping operations more clearly
        Revert "drm/amd/display: fix USB-C flag update after enc10 feature init"
        drm/amdkfd: Fix memory leak in create_process failure
        drm/amdgpu: remove invalid resource->start check v2
        drm/xe/vm: prevent UAF with asid based lookup
        drm/xe: Fix bo leak in intel_fb_bo_framebuffer_init
        drm/panel: novatek-nt36682e: don't unregister DSI device
        drm/panel: visionox-rm69299: don't unregister DSI device
        drm/nouveau/dp: Don't probe eDP ports twice harder
        drm/nouveau/kms/nv50-: Disable AUX bus for disconnected DP ports
        drm/v3d: Don't increment `enabled_ns` twice
        drm/vmwgfx: Sort primary plane formats by order of preference
        drm/vmwgfx: Fix crtc's atomic check conditional
        drm/vmwgfx: Fix prime import/export
        drm/ttm: stop pooling cached NUMA pages v2
        drm: nv04: Fix out of bounds access
        nouveau: fix instmem race condition around ptr stores
      ce944f3f
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2024-04-18-14-41' of... · 54c23548
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2024-04-18-14-41' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "15 hotfixes. 9 are cc:stable and the remainder address post-6.8 issues
        or aren't considered suitable for backporting.
      
        There are a significant number of fixups for this cycle's page_owner
        changes (series "page_owner: print stacks and their outstanding
        allocations"). Apart from that, singleton changes all over, mainly in
        MM"
      
      * tag 'mm-hotfixes-stable-2024-04-18-14-41' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        nilfs2: fix OOB in nilfs_set_de_type
        MAINTAINERS: update Naoya Horiguchi's email address
        fork: defer linking file vma until vma is fully initialized
        mm/shmem: inline shmem_is_huge() for disabled transparent hugepages
        mm,page_owner: defer enablement of static branch
        Squashfs: check the inode number is not the invalid value of zero
        mm,swapops: update check in is_pfn_swap_entry for hwpoison entries
        mm/memory-failure: fix deadlock when hugetlb_optimize_vmemmap is enabled
        mm/userfaultfd: allow hugetlb change protection upon poison entry
        mm,page_owner: fix printing of stack records
        mm,page_owner: fix accounting of pages when migrating
        mm,page_owner: fix refcount imbalance
        mm,page_owner: update metadata for tail pages
        userfaultfd: change src_folio after ensuring it's unpinned in UFFDIO_MOVE
        mm/madvise: make MADV_POPULATE_(READ|WRITE) handle VM_FAULT_RETRY properly
      54c23548
    • Yaxiong Tian's avatar
      arm64: hibernate: Fix level3 translation fault in swsusp_save() · 50449ca6
      Yaxiong Tian authored
      On arm64 machines, swsusp_save() faults if it attempts to access
      MEMBLOCK_NOMAP memory ranges. This can be reproduced in QEMU using UEFI
      when booting with rodata=off debug_pagealloc=off and CONFIG_KFENCE=n:
      
        Unable to handle kernel paging request at virtual address ffffff8000000000
        Mem abort info:
          ESR = 0x0000000096000007
          EC = 0x25: DABT (current EL), IL = 32 bits
          SET = 0, FnV = 0
          EA = 0, S1PTW = 0
          FSC = 0x07: level 3 translation fault
        Data abort info:
          ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000
          CM = 0, WnR = 0, TnD = 0, TagAccess = 0
          GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
        swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000eeb0b000
        [ffffff8000000000] pgd=180000217fff9803, p4d=180000217fff9803, pud=180000217fff9803, pmd=180000217fff8803, pte=0000000000000000
        Internal error: Oops: 0000000096000007 [#1] SMP
        Internal error: Oops: 0000000096000007 [#1] SMP
        Modules linked in: xt_multiport ipt_REJECT nf_reject_ipv4 xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_filter bpfilter rfkill at803x snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg dwmac_generic stmmac_platform snd_hda_codec stmmac joydev pcs_xpcs snd_hda_core phylink ppdev lp parport ramoops reed_solomon ip_tables x_tables nls_iso8859_1 vfat multipath linear amdgpu amdxcp drm_exec gpu_sched drm_buddy hid_generic usbhid hid radeon video drm_suballoc_helper drm_ttm_helper ttm i2c_algo_bit drm_display_helper cec drm_kms_helper drm
        CPU: 0 PID: 3663 Comm: systemd-sleep Not tainted 6.6.2+ #76
        Source Version: 4e22ed63a0a48e7a7cff9b98b7806d8d4add7dc0
        Hardware name: Greatwall GW-XXXXXX-XXX/GW-XXXXXX-XXX, BIOS KunLun BIOS V4.0 01/19/2021
        pstate: 600003c5 (nZCv DAIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
        pc : swsusp_save+0x280/0x538
        lr : swsusp_save+0x280/0x538
        sp : ffffffa034a3fa40
        x29: ffffffa034a3fa40 x28: ffffff8000001000 x27: 0000000000000000
        x26: ffffff8001400000 x25: ffffffc08113e248 x24: 0000000000000000
        x23: 0000000000080000 x22: ffffffc08113e280 x21: 00000000000c69f2
        x20: ffffff8000000000 x19: ffffffc081ae2500 x18: 0000000000000000
        x17: 6666662074736420 x16: 3030303030303030 x15: 3038666666666666
        x14: 0000000000000b69 x13: ffffff9f89088530 x12: 00000000ffffffea
        x11: 00000000ffff7fff x10: 00000000ffff7fff x9 : ffffffc08193f0d0
        x8 : 00000000000bffe8 x7 : c0000000ffff7fff x6 : 0000000000000001
        x5 : ffffffa0fff09dc8 x4 : 0000000000000000 x3 : 0000000000000027
        x2 : 0000000000000000 x1 : 0000000000000000 x0 : 000000000000004e
        Call trace:
         swsusp_save+0x280/0x538
         swsusp_arch_suspend+0x148/0x190
         hibernation_snapshot+0x240/0x39c
         hibernate+0xc4/0x378
         state_store+0xf0/0x10c
         kobj_attr_store+0x14/0x24
      
      The reason is swsusp_save() -> copy_data_pages() -> page_is_saveable()
      -> kernel_page_present() assuming that a page is always present when
      can_set_direct_map() is false (all of rodata_full,
      debug_pagealloc_enabled() and arm64_kfence_can_set_direct_map() false),
      irrespective of the MEMBLOCK_NOMAP ranges. Such MEMBLOCK_NOMAP regions
      should not be saved during hibernation.
      
      This problem was introduced by changes to the pfn_valid() logic in
      commit a7d9f306 ("arm64: drop pfn_valid_within() and simplify
      pfn_valid()").
      
      Similar to other architectures, drop the !can_set_direct_map() check in
      kernel_page_present() so that page_is_savable() skips such pages.
      
      Fixes: a7d9f306 ("arm64: drop pfn_valid_within() and simplify pfn_valid()")
      Cc: <stable@vger.kernel.org> # 5.14.x
      Suggested-by: default avatarMike Rapoport <rppt@kernel.org>
      Suggested-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Co-developed-by: default avatarxiongxin <xiongxin@kylinos.cn>
      Signed-off-by: default avatarxiongxin <xiongxin@kylinos.cn>
      Signed-off-by: default avatarYaxiong Tian <tianyaxiong@kylinos.cn>
      Acked-by: default avatarMike Rapoport (IBM) <rppt@kernel.org>
      Link: https://lore.kernel.org/r/20240417025248.386622-1-tianyaxiong@kylinos.cn
      [catalin.marinas@arm.com: rework commit message]
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      50449ca6
    • Rafael J. Wysocki's avatar
      thermal/debugfs: Add missing count increment to thermal_debug_tz_trip_up() · b552f63c
      Rafael J. Wysocki authored
      The count field in struct trip_stats, representing the number of times
      the zone temperature was above the trip point, needs to be incremented
      in thermal_debug_tz_trip_up(), for two reasons.
      
      First, if a trip point is crossed on the way up for the first time,
      thermal_debug_update_temp() called from update_temperature() does
      not see it because it has not been added to trips_crossed[] array
      in the thermal zone's struct tz_debugfs object yet.  Therefore, when
      thermal_debug_tz_trip_up() is called after that, the trip point's
      count value is 0, and the attempt to divide by it during the average
      temperature computation leads to a divide error which causes the kernel
      to crash.  Setting the count to 1 before the division by incrementing it
      fixes this problem.
      
      Second, if a trip point is crossed on the way up, but it has been
      crossed on the way up already before, its count value needs to be
      incremented to make a record of the fact that the zone temperature is
      above the trip now.  Without doing that, if the mitigations applied
      after crossing the trip cause the zone temperature to drop below its
      threshold, the count will not be updated for this episode at all and
      the average temperature in the trip statistics record will be somewhat
      higher than it should be.
      
      Fixes: 7ef01f22 ("thermal/debugfs: Add thermal debugfs information for mitigation episodes")
      Cc :6.8+ <stable@vger.kernel.org> # 6.8+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b552f63c
    • Takashi Iwai's avatar
      ALSA: seq: ump: Fix conversion from MIDI2 to MIDI1 UMP messages · f25f17dc
      Takashi Iwai authored
      The conversion from MIDI2 to MIDI1 UMP messages had a leftover
      artifact (superfluous bit shift), and this resulted in the bogus type
      check, leading to empty outputs.  Let's fix it.
      
      Fixes: e9e02819 ("ALSA: seq: Automatic conversion of UMP events")
      Cc: <stable@vger.kernel.org>
      Link: https://github.com/alsa-project/alsa-utils/issues/262
      Message-ID: <20240419100442.14806-1-tiwai@suse.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f25f17dc
    • Ai Chao's avatar
      ALSA: hda/realtek - Enable audio jacks of Haier Boyue G42 with ALC269VC · 7ee5faad
      Ai Chao authored
      The Haier Boyue G42 with ALC269VC cannot detect the MIC of headset,
      the line out and internal speaker until
      ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS quirk applied.
      Signed-off-by: default avatarAi Chao <aichao@kylinos.cn>
      Cc: <stable@vger.kernel.org>
      Message-ID: <20240419082159.476879-1-aichao@kylinos.cn>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7ee5faad
    • Dave Airlie's avatar
      Merge tag 'drm-xe-fixes-2024-04-18' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes · 52c8b6e1
      Dave Airlie authored
      - Fix bo leak on error path during fb init
      - Fix use-after-free due to order vm is put and destroyed
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Lucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/xjguifyantaibyrnymuiotxws6akiexi6r7tqyieqxgquovubc@kkrtbe24hjjr
      52c8b6e1
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2024-04-18' of... · 5493bf2d
      Dave Airlie authored
      Merge tag 'drm-misc-fixes-2024-04-18' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes
      
      Short summary of fixes pull:
      
      nouveau:
      - dp: Don't probe DP ports twice
      - nv04: Fix OOB access
      - nv50: Disable AUX bus for disconnected DP ports
      - nvkm: Fix race condition
      
      panel:
      - Don't unregister DSI devices in several drivers
      
      ttm:
      - Stop pooling cached NUMA pages
      
      v3d:
      - Fix enabled_ns increment
      
      vmwgfx:
      - Fix PRIME import/export
      - Fix CRTC's atomic check for primary planes
      - Sort plane formats by preference
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240418072229.GA8983@localhost.localdomain
      5493bf2d
  2. 18 Apr, 2024 24 commits