Skip to content
Snippets Groups Projects
  1. Dec 08, 2024
    • Linus Torvalds's avatar
      Linux 6.13-rc2 · fac04efc
      Linus Torvalds authored
      fac04efc
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.13' of... · 0b6809a7
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix a section mismatch warning in modpost
      
       - Fix Debian package build error with the O= option
      
      * tag 'kbuild-fixes-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: deb-pkg: fix build error with O=
        modpost: Add .irqentry.text to OTHER_SECTIONS
      0b6809a7
    • Linus Torvalds's avatar
      Merge tag 'irq_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · eadaac4d
      Linus Torvalds authored
      Pull irq fixes from Borislav Petkov:
      
       - Fix a /proc/interrupts formatting regression
      
       - Have the BCM2836 interrupt controller enter power management states
         properly
      
       - Other fixlets
      
      * tag 'irq_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/stm32mp-exti: CONFIG_STM32MP_EXTI should not default to y when compile-testing
        genirq/proc: Add missing space separator back
        irqchip/bcm2836: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND
        irqchip/gic-v3: Fix irq_complete_ack() comment
      eadaac4d
    • Linus Torvalds's avatar
      Merge tag 'timers_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c25ca0c2
      Linus Torvalds authored
      Pull timer fix from Borislav Petkov:
      
       - Handle the case where clocksources with small counter width can,
         in conjunction with overly long idle sleeps, falsely trigger the
         negative motion detection of clocksources
      
      * tag 'timers_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: Make negative motion detection more robust
      c25ca0c2
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 84262262
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Have the Automatic IBRS setting check on AMD does not falsely fire in
         the guest when it has been set already on the host
      
       - Make sure cacheinfo structures memory is allocated to address a boot
         NULL ptr dereference on Intel Meteor Lake which has different numbers
         of subleafs in its CPUID(4) leaf
      
       - Take care of the GDT restoring on the kexec path too, as expected by
         the kernel
      
       - Make sure SMP is not disabled when IO-APIC is disabled on the kernel
         cmdline
      
       - Add a PGD flag _PAGE_NOPTISHADOW to instruct machinery not to
         propagate changes to the kernelmode page tables, to the user portion,
         in PTI
      
       - Mark Intel Lunar Lake as affected by an issue where MONITOR wakeups
         can get lost and thus user-visible delays happen
      
       - Make sure PKRU is properly restored with XRSTOR on AMD after a PRKU
         write of 0 (WRPKRU) which will mark PKRU in its init state and thus
         lose the actual buffer
      
      * tag 'x86_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/CPU/AMD: WARN when setting EFER.AUTOIBRS if and only if the WRMSR fails
        x86/cacheinfo: Delete global num_cache_leaves
        cacheinfo: Allocate memory during CPU hotplug if not done from the primary CPU
        x86/kexec: Restore GDT on return from ::preserve_context kexec
        x86/cpu/topology: Remove limit of CPUs due to disabled IO/APIC
        x86/mm: Add _PAGE_NOPTISHADOW bit to avoid updating userspace page tables
        x86/cpu: Add Lunar Lake to list of CPUs with a broken MONITOR implementation
        x86/pkeys: Ensure updated PKRU value is XRSTOR'd
        x86/pkeys: Change caller of update_pkru_in_sigframe()
      84262262
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2024-12-07-22-39' of... · 553c89ec
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2024-12-07-22-39' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "24 hotfixes.  17 are cc:stable.  15 are MM and 9 are non-MM.
      
        The usual bunch of singletons - please see the relevant changelogs for
        details"
      
      * tag 'mm-hotfixes-stable-2024-12-07-22-39' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (24 commits)
        iio: magnetometer: yas530: use signed integer type for clamp limits
        sched/numa: fix memory leak due to the overwritten vma->numab_state
        mm/damon: fix order of arguments in damos_before_apply tracepoint
        lib: stackinit: hide never-taken branch from compiler
        mm/filemap: don't call folio_test_locked() without a reference in next_uptodate_folio()
        scatterlist: fix incorrect func name in kernel-doc
        mm: correct typo in MMAP_STATE() macro
        mm: respect mmap hint address when aligning for THP
        mm: memcg: declare do_memsw_account inline
        mm/codetag: swap tags when migrate pages
        ocfs2: update seq_file index in ocfs2_dlm_seq_next
        stackdepot: fix stack_depot_save_flags() in NMI context
        mm: open-code page_folio() in dump_page()
        mm: open-code PageTail in folio_flags() and const_folio_flags()
        mm: fix vrealloc()'s KASAN poisoning logic
        Revert "readahead: properly shorten readahead when falling back to do_page_cache_ra()"
        selftests/damon: add _damon_sysfs.py to TEST_FILES
        selftest: hugetlb_dio: fix test naming
        ocfs2: free inode when ocfs2_get_init_inode() fails
        nilfs2: fix potential out-of-bounds memory access in nilfs_find_entry()
        ...
      553c89ec
    • Masahiro Yamada's avatar
      kbuild: deb-pkg: fix build error with O= · d8d326d6
      Masahiro Yamada authored
      
      Since commit 13b25489 ("kbuild: change working directory to external
      module directory with M="), the Debian package build fails if a relative
      path is specified with the O= option.
      
        $ make O=build bindeb-pkg
          [ snip ]
        dpkg-deb: building package 'linux-image-6.13.0-rc1' in '../linux-image-6.13.0-rc1_6.13.0-rc1-6_amd64.deb'.
        Rebuilding host programs with x86_64-linux-gnu-gcc...
        make[6]: Entering directory '/home/masahiro/linux/build'
        /home/masahiro/linux/Makefile:190: *** specified kernel directory "build" does not exist.  Stop.
      
      This occurs because the sub_make_done flag is cleared, even though the
      working directory is already in the output directory.
      
      Passing KBUILD_OUTPUT=. resolves the issue.
      
      Fixes: 13b25489 ("kbuild: change working directory to external module directory with M=")
      Reported-by: default avatarCharlie Jenkins <charlie@rivosinc.com>
      Closes: https://lore.kernel.org/all/Z1DnP-GJcfseyrM3@ghost/
      
      
      Tested-by: default avatarCharlie Jenkins <charlie@rivosinc.com>
      Reviewed-by: default avatarCharlie Jenkins <charlie@rivosinc.com>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      d8d326d6
    • Thomas Gleixner's avatar
      modpost: Add .irqentry.text to OTHER_SECTIONS · 79124056
      Thomas Gleixner authored
      
      The compiler can fully inline the actual handler function of an interrupt
      entry into the .irqentry.text entry point. If such a function contains an
      access which has an exception table entry, modpost complains about a
      section mismatch:
      
        WARNING: vmlinux.o(__ex_table+0x447c): Section mismatch in reference ...
      
        The relocation at __ex_table+0x447c references section ".irqentry.text"
        which is not in the list of authorized sections.
      
      Add .irqentry.text to OTHER_SECTIONS to cure the issue.
      
      Reported-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: stable@vger.kernel.org # needed for linux-5.4-y
      Link: https://lore.kernel.org/all/20241128111844.GE10431@google.com/
      
      
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      79124056
    • Linus Torvalds's avatar
      Merge tag '6.13-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 62b5a469
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - DFS fix (for race with tree disconnect and dfs cache worker)
      
       - Four fixes for SMB3.1.1 posix extensions:
            - improve special file support e.g. to Samba, retrieving the file
              type earlier
            - reduce roundtrips (e.g. on ls -l, in some cases)
      
      * tag '6.13-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: client: fix potential race in cifs_put_tcon()
        smb3.1.1: fix posix mounts to older servers
        fs/smb/client: cifs_prime_dcache() for SMB3 POSIX reparse points
        fs/smb/client: Implement new SMB3 POSIX type
        fs/smb/client: avoid querying SMB2_OP_QUERY_WSL_EA for SMB3 POSIX
      62b5a469
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · c94cd024
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Large number of small fixes, all in drivers"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (32 commits)
        scsi: scsi_debug: Fix hrtimer support for ndelay
        scsi: storvsc: Do not flag MAINTENANCE_IN return of SRB_STATUS_DATA_OVERRUN as an error
        scsi: ufs: core: Add missing post notify for power mode change
        scsi: sg: Fix slab-use-after-free read in sg_release()
        scsi: ufs: core: sysfs: Prevent div by zero
        scsi: qla2xxx: Update version to 10.02.09.400-k
        scsi: qla2xxx: Supported speed displayed incorrectly for VPorts
        scsi: qla2xxx: Fix NVMe and NPIV connect issue
        scsi: qla2xxx: Remove check req_sg_cnt should be equal to rsp_sg_cnt
        scsi: qla2xxx: Fix use after free on unload
        scsi: qla2xxx: Fix abort in bsg timeout
        scsi: mpi3mr: Update driver version to 8.12.0.3.50
        scsi: mpi3mr: Handling of fault code for insufficient power
        scsi: mpi3mr: Start controller indexing from 0
        scsi: mpi3mr: Fix corrupt config pages PHY state is switched in sysfs
        scsi: mpi3mr: Synchronize access to ioctl data buffer
        scsi: mpt3sas: Update driver version to 51.100.00.00
        scsi: mpt3sas: Diag-Reset when Doorbell-In-Use bit is set during driver load time
        scsi: ufs: pltfrm: Dellocate HBA during ufshcd_pltfrm_remove()
        scsi: ufs: pltfrm: Drop PM runtime reference count after ufshcd_remove()
        ...
      c94cd024
  2. Dec 07, 2024
    • Linus Torvalds's avatar
      Merge tag 'block-6.13-20241207' of git://git.kernel.dk/linux · 7503345a
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
            - Target fix using incorrect zero buffer (Nilay)
            - Device specifc deallocate quirk fixes (Christoph, Keith)
            - Fabrics fix for handling max command target bugs (Maurizio)
            - Cocci fix usage for kzalloc (Yu-Chen)
            - DMA size fix for host memory buffer feature (Christoph)
            - Fabrics queue cleanup fixes (Chunguang)
      
       - CPU hotplug ordering fixes
      
       - Add missing MODULE_DESCRIPTION for rnull
      
       - bcache error value fix
      
       - virtio-blk queue freeze fix
      
      * tag 'block-6.13-20241207' of git://git.kernel.dk/linux:
        blk-mq: move cpuhp callback registering out of q->sysfs_lock
        blk-mq: register cpuhp callback after hctx is added to xarray table
        virtio-blk: don't keep queue frozen during system suspend
        nvme-tcp: simplify nvme_tcp_teardown_io_queues()
        nvme-tcp: no need to quiesce admin_q in nvme_tcp_teardown_io_queues()
        nvme-rdma: unquiesce admin_q before destroy it
        nvme-tcp: fix the memleak while create new ctrl failed
        nvme-pci: don't use dma_alloc_noncontiguous with 0 merge boundary
        nvmet: replace kmalloc + memset with kzalloc for data allocation
        nvme-fabrics: handle zero MAXCMD without closing the connection
        bcache: revert replacing IS_ERR_OR_NULL with IS_ERR again
        nvme-pci: remove two deallocate zeroes quirks
        block: rnull: add missing MODULE_DESCRIPTION
        nvme: don't apply NVME_QUIRK_DEALLOCATE_ZEROES when DSM is not supported
        nvmet: use kzalloc instead of ZERO_PAGE in nvme_execute_identify_ns_nvm()
      7503345a
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.13-20241207' of git://git.kernel.dk/linux · aa0274d2
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "A single fix for a parameter type which affects 32-bit"
      
      * tag 'io_uring-6.13-20241207' of git://git.kernel.dk/linux:
        io_uring: Change res2 parameter type in io_uring_cmd_done
      aa0274d2
    • Linus Torvalds's avatar
      Merge tag 'ubifs-for-linus-6.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · a6db2a5d
      Linus Torvalds authored
      Pull jffs2 fix from Richard Weinberger:
      
       - Fixup rtime compressor bounds checking
      
      * tag 'ubifs-for-linus-6.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        jffs2: Fix rtime decompressor
      a6db2a5d
  3. Dec 06, 2024
    • Linus Torvalds's avatar
      Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · b5f21708
      Linus Torvalds authored
      Pull bpf fixes from Daniel Borkmann::
      
       - Fix several issues for BPF LPM trie map which were found by syzbot
         and during addition of new test cases (Hou Tao)
      
       - Fix a missing process_iter_arg register type check in the BPF
         verifier (Kumar Kartikeya Dwivedi, Tao Lyu)
      
       - Fix several correctness gaps in the BPF verifier when interacting
         with the BPF stack without CAP_PERFMON (Kumar Kartikeya Dwivedi,
         Eduard Zingerman, Tao Lyu)
      
       - Fix OOB BPF map writes when deleting elements for the case of xsk map
         as well as devmap (Maciej Fijalkowski)
      
       - Fix xsk sockets to always clear DMA mapping information when
         unmapping the pool (Larysa Zaremba)
      
       - Fix sk_mem_uncharge logic in tcp_bpf_sendmsg to only uncharge after
         sent bytes have been finalized (Zijian Zhang)
      
       - Fix BPF sockmap with vsocks which was missing a queue check in poll
         and sockmap cleanup on close (Michal Luczaj)
      
       - Fix tools infra to override makefile ARCH variable if defined but
         empty, which addresses cross-building tools. (Björn Töpel)
      
       - Fix two resolve_btfids build warnings on unresolved bpf_lsm symbols
         (Thomas Weißschuh)
      
       - Fix a NULL pointer dereference in bpftool (Amir Mohammadi)
      
       - Fix BPF selftests to check for CONFIG_PREEMPTION instead of
         CONFIG_PREEMPT (Sebastian Andrzej Siewior)
      
      * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: (31 commits)
        selftests/bpf: Add more test cases for LPM trie
        selftests/bpf: Move test_lpm_map.c to map_tests
        bpf: Use raw_spinlock_t for LPM trie
        bpf: Switch to bpf mem allocator for LPM trie
        bpf: Fix exact match conditions in trie_get_next_key()
        bpf: Handle in-place update for full LPM trie correctly
        bpf: Handle BPF_EXIST and BPF_NOEXIST for LPM trie
        bpf: Remove unnecessary kfree(im_node) in lpm_trie_update_elem
        bpf: Remove unnecessary check when updating LPM trie
        selftests/bpf: Add test for narrow spill into 64-bit spilled scalar
        selftests/bpf: Add test for reading from STACK_INVALID slots
        selftests/bpf: Introduce __caps_unpriv annotation for tests
        bpf: Fix narrow scalar spill onto 64-bit spilled scalar slots
        bpf: Don't mark STACK_INVALID as STACK_MISC in mark_stack_slot_misc
        samples/bpf: Remove unnecessary -I flags from libbpf EXTRA_CFLAGS
        bpf: Zero index arg error string for dynptr and iter
        selftests/bpf: Add tests for iter arg check
        bpf: Ensure reg is PTR_TO_STACK in process_iter_arg
        tools: Override makefile ARCH variable if defined, but empty
        selftests/bpf: Add apply_bytes test to test_txmsg_redir_wait_sndmem in test_sockmap
        ...
      b5f21708
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · f3ddc438
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       "Nothing major, some left-overs from the recent merging window (MTE,
        coco) and some newly found issues like the ptrace() ones.
      
         - MTE/hugetlbfs:
      
            - Set VM_MTE_ALLOWED in the arch code and remove it from the core
              code for hugetlbfs mappings
      
            - Fix copy_highpage() warning when the source is a huge page but
              not MTE tagged, taking the wrong small page path
      
         - drivers/virt/coco:
      
            - Add the pKVM and Arm CCA drivers under the arm64 maintainership
      
            - Fix the pkvm driver to fall back to ioremap() (and warn) if the
              MMIO_GUARD hypercall fails
      
            - Keep the Arm CCA driver default 'n' rather than 'm'
      
         - A series of fixes for the arm64 ptrace() implementation,
           potentially leading to the kernel consuming uninitialised stack
           variables when PTRACE_SETREGSET is invoked with a length of 0
      
         - Fix zone_dma_limit calculation when RAM starts below 4GB and
           ZONE_DMA is capped to this limit
      
         - Fix early boot warning with CONFIG_DEBUG_VIRTUAL=y triggered by a
           call to page_to_phys() (from patch_map()) which checks pfn_valid()
           before vmemmap has been set up
      
         - Do not clobber bits 15:8 of the ASID used for TTBR1_EL1 and TLBI
           ops when the kernel assumes 8-bit ASIDs but running under a
           hypervisor on a system that implements 16-bit ASIDs (found running
           Linux under Parallels on Apple M4)
      
         - ACPI/IORT: Add PMCG platform information for HiSilicon HIP09A as it
           is using the same SMMU PMCG as HIP09 and suffers from the same
           errata
      
         - Add GCS to cpucap_is_possible(), missed in the recent merge"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: ptrace: fix partial SETREGSET for NT_ARM_GCS
        arm64: ptrace: fix partial SETREGSET for NT_ARM_POE
        arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMR
        arm64: ptrace: fix partial SETREGSET for NT_ARM_TAGGED_ADDR_CTRL
        arm64: cpufeature: Add GCS to cpucap_is_possible()
        coco: virt: arm64: Do not enable cca guest driver by default
        arm64: mte: Fix copy_highpage() warning on hugetlb folios
        arm64: Ensure bits ASID[15:8] are masked out when the kernel uses 8-bit ASIDs
        ACPI/IORT: Add PMCG platform information for HiSilicon HIP09A
        MAINTAINERS: Add CCA and pKVM CoCO guest support to the ARM64 entry
        drivers/virt: pkvm: Don't fail ioremap() call if MMIO_GUARD fails
        arm64: patching: avoid early page_to_phys()
        arm64: mm: Fix zone_dma_limit calculation
        arm64: mte: set VM_MTE_ALLOWED for hugetlbfs at correct place
      f3ddc438
    • Linus Torvalds's avatar
      Merge tag 'fixes-2024-12-06' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · ddfc146e
      Linus Torvalds authored
      Pull memblock fixes from Mike Rapoport:
       "Restore check for node validity in arch_numa.
      
        The rework of NUMA initialization in arch_numa dropped a check that
        refused to accept configurations with invalid node IDs.
      
        Restore that check to ensure that when firmware passes invalid nodes,
        such configuration is rejected and kernel gracefully falls back to
        dummy NUMA"
      
      * tag 'fixes-2024-12-06' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        arch_numa: Restore nid checks before registering a memblock with a node
        memblock: allow zero threshold in validate_numa_converage()
      ddfc146e
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-12-06' of https://gitlab.freedesktop.org/drm/kernel · c7cde621
      Linus Torvalds authored
      Pull more drm fixes from Simona Vetter:
       "Due to mailing list unreliability we missed the amdgpu pull, hence
        part two with that now included:
      
         - amdgu: mostly display fixes + jpeg vcn 1.0, sriov, dcn4.0 resume
           fixes
      
         - amdkfd fixes"
      
      * tag 'drm-fixes-2024-12-06' of https://gitlab.freedesktop.org/drm/kernel:
        drm/amdgpu: rework resume handling for display (v2)
        drm/amd/pm: fix and simplify workload handling
        Revert "drm/amd/pm: correct the workload setting"
        drm/amdgpu: fix sriov reinit late orders
        drm/amdgpu: Fix ISP hw init issue
        drm/amd/display: Add hblank borrowing support
        drm/amd/display: Limit VTotal range to max hw cap minus fp
        drm/amd/display: Correct prefetch calculation
        drm/amd/display: Add option to retrieve detile buffer size
        drm/amd/display: Add a left edge pixel if in YCbCr422 or YCbCr420 and odm
        drm/amdkfd: hard-code cacheline for gc943,gc944
        drm/amdkfd: add MEC version that supports no PCIe atomics for GFX12
        drm/amd/display: Fix programming backlight on OLED panels
        drm/amd: Sanity check the ACPI EDID
        drm/amdgpu/hdp7.0: do a posting read when flushing HDP
        drm/amdgpu/hdp6.0: do a posting read when flushing HDP
        drm/amdgpu/hdp5.2: do a posting read when flushing HDP
        drm/amdgpu/hdp5.0: do a posting read when flushing HDP
        drm/amdgpu/hdp4.0: do a posting read when flushing HDP
        drm/amdgpu/jpeg1.0: fix idle work handler
      c7cde621
    • Simona Vetter's avatar
      Merge tag 'amd-drm-fixes-6.13-2024-12-04' of... · 1995e7d0
      Simona Vetter authored
      Merge tag 'amd-drm-fixes-6.13-2024-12-04' of https://gitlab.freedesktop.org/agd5f/linux
      
       into drm-fixes
      
      amd-drm-fixes-6.13-2024-12-04:
      
      amdgpu:
      - Jpeg work handler fix for VCN 1.0
      - HDP flush fixes
      - ACPI EDID sanity check
      - OLED panel backlight fix
      - DC YCbCr fix
      - DC Detile buffer size debugging
      - DC prefetch calculation fix
      - DC VTotal handling fix
      - DC HBlank fix
      - ISP fix
      - SR-IOV fix
      - Workload profile fixes
      - DCN 4.0.1 resume fix
      
      amdkfd:
      - GC 12.x fix
      - GC 9.4.x fix
      
      Signed-off-by: default avatarSimona Vetter <simona.vetter@ffwll.ch>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20241206190452.2571042-1-alexander.deucher@amd.com
      1995e7d0
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-12-07' of https://gitlab.freedesktop.org/drm/kernel · 9a6e8c7c
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Pretty quiet week which is probably expected after US holidays, the
        dma-fence and displayport MST message handling fixes make up the bulk
        of this, along with a couple of minor xe and other driver fixes.
      
        dma-fence:
         - Fix reference leak on fence-merge failure path
         - Simplify fence merging with kernel's sort()
         - Fix dma_fence_array_signaled() to ensure forward progress
      
        dp_mst:
         - Fix MST sideband message body length check
         - Fix a bunch of locking/state handling with DP MST msgs
      
        sti:
         - Add __iomem for mixer_dbg_mxn()'s parameter
      
        xe:
         - Missing init value and 64-bit write-order check
         - Fix a memory allocation issue causing lockdep violation
      
        v3d:
         - Performance counter fix"
      
      * tag 'drm-fixes-2024-12-07' of https://gitlab.freedesktop.org/drm/kernel:
        drm/v3d: Enable Performance Counters before clearing them
        drm/dp_mst: Use reset_msg_rx_state() instead of open coding it
        drm/dp_mst: Reset message rx state after OOM in drm_dp_mst_handle_up_req()
        drm/dp_mst: Ensure mst_primary pointer is valid in drm_dp_mst_handle_up_req()
        drm/dp_mst: Fix down request message timeout handling
        drm/dp_mst: Simplify error path in drm_dp_mst_handle_down_rep()
        drm/dp_mst: Verify request type in the corresponding down message reply
        drm/dp_mst: Fix resetting msg rx state after topology removal
        drm/xe: Move the coredump registration to the worker thread
        drm/xe/guc: Fix missing init value and add register order check
        drm/sti: Add __iomem for mixer_dbg_mxn's parameter
        drm/dp_mst: Fix MST sideband message body length check
        dma-buf: fix dma_fence_array_signaled v4
        dma-fence: Use kernel's sort for merging fences
        dma-fence: Fix reference leak on fence merge failure path
      9a6e8c7c
    • Linus Torvalds's avatar
      Merge tag 'sound-6.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 2b90dcd5
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of small fixes that have been gathered in the week.
      
         - Fix the missing XRUN handling in USB-audio low latency mode
      
         - Fix regression by the previous USB-audio hadening change
      
         - Clean up old SH sound driver to use the standard helpers
      
         - A few further fixes for MIDI 2.0 UMP handling
      
         - Various HD-audio and USB-audio quirks
      
         - Fix jack handling at PM on ASoC Intel AVS
      
         - Misc small fixes for ASoC SOF and Mediatek"
      
      * tag 'sound-6.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Fix spelling mistake "Firelfy" -> "Firefly"
        ASoC: mediatek: mt8188-mt6359: Remove hardcoded dmic codec
        ALSA: hda/realtek: fix micmute LEDs don't work on HP Laptops
        ALSA: usb-audio: Add extra PID for RME Digiface USB
        ALSA: usb-audio: Fix a DMA to stack memory bug
        ASoC: SOF: ipc3-topology: fix resource leaks in sof_ipc3_widget_setup_comp_dai()
        ALSA: hda/realtek: Add support for Samsung Galaxy Book3 360 (NP730QFG)
        ASoC: Intel: avs: da7219: Remove suspend_pre() and resume_post()
        ALSA: hda/tas2781: Fix error code tas2781_read_acpi()
        ALSA: hda/realtek: Enable mute and micmute LED on HP ProBook 430 G8
        ALSA: usb-audio: add mixer mapping for Corsair HS80
        ALSA: ump: Shut up truncated string warning
        ALSA: sh: Use standard helper for buffer accesses
        ALSA: usb-audio: Notify xrun for low-latency mode
        ALSA: hda/conexant: fix Z60MR100 startup pop issue
        ALSA: ump: Update legacy substream names upon FB info update
        ALSA: ump: Indicate the inactive group in legacy substream names
        ALSA: ump: Don't open legacy substream for an inactive group
        ALSA: seq: ump: Fix seq port updates per FB info notify
      2b90dcd5
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · d9e15b25
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "A couple of small fixes, fixing an incorrect format specifier in a log
        message and adding missing cleanup of the devres data used to support
        dev_get_regmap() when a device is unregistered"
      
      * tag 'regmap-fix-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: detach regmap from dev on regmap_exit
        regmap: Use correct format specifier for logging range errors
      d9e15b25
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b60500e9
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A few small driver specific fixes and device ID updates for SPI.
      
        The Apple change flags the driver as being compatible with the core's
        GPIO chip select support, fixing support for some systems"
      
      * tag 'spi-fix-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: omap2-mcspi: Fix the IS_ERR() bug for devm_clk_get_optional_enabled()
        spi: intel: Add Panther Lake SPI controller support
        spi: apple: Set use_gpio_descriptors to true
        spi: mpc52xx: Add cancel_work_sync before module remove
      b60500e9
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 35b7b337
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "Core:
         - Further prevent card detect during shutdown
      
        Host drivers:
         - sdhci-pci: Add DMI quirk for missing CD GPIO on Vexia Edu Atla 10
           tablet"
      
      * tag 'mmc-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: core: Further prevent card detect during shutdown
        mmc: sdhci-pci: Add DMI quirk for missing CD GPIO on Vexia Edu Atla 10 tablet
      35b7b337
    • Linus Torvalds's avatar
      Merge tag 'pmdomain-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · fa4c221f
      Linus Torvalds authored
      Pull pmdomain fixes from Ulf Hansson:
       "Core:
         - Fix a couple of memory-leaks during genpd init/remove
      
        Providers:
         - imx: Adjust delay for gpcv2 to fix power up handshake
         - mediatek: Fix DT bindings by adding another nested power-domain
           layer"
      
      * tag 'pmdomain-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
        pmdomain: imx: gpcv2: Adjust delay after power up handshake
        pmdomain: core: Fix error path in pm_genpd_init() when ida alloc fails
        pmdomain: core: Add missing put_device()
        dt-bindings: power: mediatek: Add another nested power-domain layer
      fa4c221f
    • Sean Christopherson's avatar
      x86/CPU/AMD: WARN when setting EFER.AUTOIBRS if and only if the WRMSR fails · 49207766
      Sean Christopherson authored
      
      When ensuring EFER.AUTOIBRS is set, WARN only on a negative return code
      from msr_set_bit(), as '1' is used to indicate the WRMSR was successful
      ('0' indicates the MSR bit was already set).
      
      Fixes: 8cc68c9c ("x86/CPU/AMD: Make sure EFER[AIBRSE] is set")
      Reported-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/Z1MkNofJjt7Oq0G6@google.com
      Closes: https://lore.kernel.org/all/20241205220604.GA2054199@thelio-3990X
      49207766
    • Alexei Starovoitov's avatar
      Merge branch 'fixes-for-lpm-trie' · 509df676
      Alexei Starovoitov authored
      Hou Tao says:
      
      ====================
      This patch set fixes several issues for LPM trie. These issues were
      found during adding new test cases or were reported by syzbot.
      
      The patch set is structured as follows:
      
      Patch #1~#2 are clean-ups for lpm_trie_update_elem().
      Patch #3 handles BPF_EXIST and BPF_NOEXIST correctly for LPM trie.
      Patch #4 fixes the accounting of n_entries when doing in-place update.
      Patch #5 fixes the exact match condition in trie_get_next_key() and it
      may skip keys when the passed key is not found in the map.
      Patch #6~#7 switch from kmalloc() to bpf memory allocator for LPM trie
      to fix several lock order warnings reported by syzbot. It also enables
      raw_spinlock_t for LPM trie again. After these changes, the LPM trie will
      be closer to being usable in any context (though the reentrance check of
      trie->lock is still missing, but it is on my todo list).
      Patch #8: move test_lpm_map to map_tests to make it run regularly.
      Patch #9: add test cases for the issues fixed by patch #3~#5.
      
      Please see individual patches for more details. Comments are always
      welcome.
      
      Change Log:
      v3:
        * patch #2: remove the unnecessary NULL-init for im_node
        * patch #6: alloc the leaf node before disabling IRQ to low
          the possibility of -ENOMEM when leaf_size is large; Free
          these nodes outside the trie lock (Suggested by Alexei)
        * collect review and ack tags (Thanks for Toke & Daniel)
      
      v2: https://lore.kernel.org/bpf/20241127004641.1118269-1-houtao@huaweicloud.com/
        * collect review tags (Thanks for Toke)
        * drop "Add bpf_mem_cache_is_mergeable() helper" patch
        * patch #3~#4: add fix tag
        * patch #4: rename the helper to trie_check_add_elem() and increase
          n_entries in it.
        * patch #6: use one bpf mem allocator and update commit message to
          clarify that using bpf mem allocator is more appropriate.
        * patch #7: update commit message to add the possible max running time
          for update operation.
        * patch #9: update commit message to specify the purpose of these test
          cases.
      
      v1: https://lore.kernel.org/bpf/20241118010808.2243555-1-houtao@huaweicloud.com/
      ====================
      
      Link: https://lore.kernel.org/all/20241206110622.1161752-1-houtao@huaweicloud.com/
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      509df676
    • Hou Tao's avatar
      selftests/bpf: Add more test cases for LPM trie · 04d4ce91
      Hou Tao authored
      
      Add more test cases for LPM trie in test_maps:
      
      1) test_lpm_trie_update_flags
      It constructs various use cases for BPF_EXIST and BPF_NOEXIST and check
      whether the return value of update operation is expected.
      
      2) test_lpm_trie_update_full_maps
      It tests the update operations on a full LPM trie map. Adding new node
      will fail and overwriting the value of existed node will succeed.
      
      3) test_lpm_trie_iterate_strs and test_lpm_trie_iterate_ints
      There two test cases test whether the iteration through get_next_key is
      sorted and expected. These two test cases delete the minimal key after
      each iteration and check whether next iteration returns the second
      minimal key. The only difference between these two test cases is the
      former one saves strings in the LPM trie and the latter saves integers.
      Without the fix of get_next_key, these two cases will fail as shown
      below:
        test_lpm_trie_iterate_strs(1091):FAIL:iterate #2 got abc exp abS
        test_lpm_trie_iterate_ints(1142):FAIL:iterate #1 got 0x2 exp 0x1
      
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-10-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      04d4ce91
    • Hou Tao's avatar
      selftests/bpf: Move test_lpm_map.c to map_tests · 3e18f5f1
      Hou Tao authored
      
      Move test_lpm_map.c to map_tests/ to include LPM trie test cases in
      regular test_maps run. Most code remains unchanged, including the use of
      assert(). Only reduce n_lookups from 64K to 512, which decreases
      test_lpm_map runtime from 37s to 0.7s.
      
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-9-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      3e18f5f1
    • Hou Tao's avatar
      bpf: Use raw_spinlock_t for LPM trie · 6a5c63d4
      Hou Tao authored
      
      After switching from kmalloc() to the bpf memory allocator, there will be
      no blocking operation during the update of LPM trie. Therefore, change
      trie->lock from spinlock_t to raw_spinlock_t to make LPM trie usable in
      atomic context, even on RT kernels.
      
      The max value of prefixlen is 2048. Therefore, update or deletion
      operations will find the target after at most 2048 comparisons.
      Constructing a test case which updates an element after 2048 comparisons
      under a 8 CPU VM, and the average time and the maximal time for such
      update operation is about 210us and 900us.
      
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-8-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      6a5c63d4
    • Hou Tao's avatar
      bpf: Switch to bpf mem allocator for LPM trie · 3d8dc43e
      Hou Tao authored
      Multiple syzbot warnings have been reported. These warnings are mainly
      about the lock order between trie->lock and kmalloc()'s internal lock.
      See report [1] as an example:
      
      ======================================================
      WARNING: possible circular locking dependency detected
      6.10.0-rc7-syzkaller-00003-g4376e966ecb7 #0 Not tainted
      ------------------------------------------------------
      syz.3.2069/15008 is trying to acquire lock:
      ffff88801544e6d8 (&n->list_lock){-.-.}-{2:2}, at: get_partial_node ...
      
      but task is already holding lock:
      ffff88802dcc89f8 (&trie->lock){-.-.}-{2:2}, at: trie_update_elem ...
      
      which lock already depends on the new lock.
      
      the existing dependency chain (in reverse order) is:
      
      -> #1 (&trie->lock){-.-.}-{2:2}:
             __raw_spin_lock_irqsave
             _raw_spin_lock_irqsave+0x3a/0x60
             trie_delete_elem+0xb0/0x820
             ___bpf_prog_run+0x3e51/0xabd0
             __bpf_prog_run32+0xc1/0x100
             bpf_dispatcher_nop_func
             ......
             bpf_trace_run2+0x231/0x590
             __bpf_trace_contention_end+0xca/0x110
             trace_contention_end.constprop.0+0xea/0x170
             __pv_queued_spin_lock_slowpath+0x28e/0xcc0
             pv_queued_spin_lock_slowpath
             queued_spin_lock_slowpath
             queued_spin_lock
             do_raw_spin_lock+0x210/0x2c0
             __raw_spin_lock_irqsave
             _raw_spin_lock_irqsave+0x42/0x60
             __put_partials+0xc3/0x170
             qlink_free
             qlist_free_all+0x4e/0x140
             kasan_quarantine_reduce+0x192/0x1e0
             __kasan_slab_alloc+0x69/0x90
             kasan_slab_alloc
             slab_post_alloc_hook
             slab_alloc_node
             kmem_cache_alloc_node_noprof+0x153/0x310
             __alloc_skb+0x2b1/0x380
             ......
      
      -> #0 (&n->list_lock){-.-.}-{2:2}:
             check_prev_add
             check_prevs_add
             validate_chain
             __lock_acquire+0x2478/0x3b30
             lock_acquire
             lock_acquire+0x1b1/0x560
             __raw_spin_lock_irqsave
             _raw_spin_lock_irqsave+0x3a/0x60
             get_partial_node.part.0+0x20/0x350
             get_partial_node
             get_partial
             ___slab_alloc+0x65b/0x1870
             __slab_alloc.constprop.0+0x56/0xb0
             __slab_alloc_node
             slab_alloc_node
             __do_kmalloc_node
             __kmalloc_node_noprof+0x35c/0x440
             kmalloc_node_noprof
             bpf_map_kmalloc_node+0x98/0x4a0
             lpm_trie_node_alloc
             trie_update_elem+0x1ef/0xe00
             bpf_map_update_value+0x2c1/0x6c0
             map_update_elem+0x623/0x910
             __sys_bpf+0x90c/0x49a0
             ...
      
      other info that might help us debug this:
      
       Possible unsafe locking scenario:
      
             CPU0                    CPU1
             ----                    ----
        lock(&trie->lock);
                                     lock(&n->list_lock);
                                     lock(&trie->lock);
        lock(&n->list_lock);
      
       *** DEADLOCK ***
      
      [1]: https://syzkaller.appspot.com/bug?extid=9045c0a3d5a7f1b119f7
      
      
      
      A bpf program attached to trace_contention_end() triggers after
      acquiring &n->list_lock. The program invokes trie_delete_elem(), which
      then acquires trie->lock. However, it is possible that another
      process is invoking trie_update_elem(). trie_update_elem() will acquire
      trie->lock first, then invoke kmalloc_node(). kmalloc_node() may invoke
      get_partial_node() and try to acquire &n->list_lock (not necessarily the
      same lock object). Therefore, lockdep warns about the circular locking
      dependency.
      
      Invoking kmalloc() before acquiring trie->lock could fix the warning.
      However, since BPF programs call be invoked from any context (e.g.,
      through kprobe/tracepoint/fentry), there may still be lock ordering
      problems for internal locks in kmalloc() or trie->lock itself.
      
      To eliminate these potential lock ordering problems with kmalloc()'s
      internal locks, replacing kmalloc()/kfree()/kfree_rcu() with equivalent
      BPF memory allocator APIs that can be invoked in any context. The lock
      ordering problems with trie->lock (e.g., reentrance) will be handled
      separately.
      
      Three aspects of this change require explanation:
      
      1. Intermediate and leaf nodes are allocated from the same allocator.
      Since the value size of LPM trie is usually small, using a single
      alocator reduces the memory overhead of the BPF memory allocator.
      
      2. Leaf nodes are allocated before disabling IRQs. This handles cases
      where leaf_size is large (e.g., > 4KB - 8) and updates require
      intermediate node allocation. If leaf nodes were allocated in
      IRQ-disabled region, the free objects in BPF memory allocator would not
      be refilled timely and the intermediate node allocation may fail.
      
      3. Paired migrate_{disable|enable}() calls for node alloc and free. The
      BPF memory allocator uses per-CPU struct internally, these paired calls
      are necessary to guarantee correctness.
      
      Reviewed-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-7-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      3d8dc43e
    • Hou Tao's avatar
      bpf: Fix exact match conditions in trie_get_next_key() · 27abc7b3
      Hou Tao authored
      
      trie_get_next_key() uses node->prefixlen == key->prefixlen to identify
      an exact match, However, it is incorrect because when the target key
      doesn't fully match the found node (e.g., node->prefixlen != matchlen),
      these two nodes may also have the same prefixlen. It will return
      expected result when the passed key exist in the trie. However when a
      recently-deleted key or nonexistent key is passed to
      trie_get_next_key(), it may skip keys and return incorrect result.
      
      Fix it by using node->prefixlen == matchlen to identify exact matches.
      When the condition is true after the search, it also implies
      node->prefixlen equals key->prefixlen, otherwise, the search would
      return NULL instead.
      
      Fixes: b471f2f1 ("bpf: implement MAP_GET_NEXT_KEY command for LPM_TRIE map")
      Reviewed-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-6-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      27abc7b3
    • Hou Tao's avatar
      bpf: Handle in-place update for full LPM trie correctly · 532d6b36
      Hou Tao authored
      
      When a LPM trie is full, in-place updates of existing elements
      incorrectly return -ENOSPC.
      
      Fix this by deferring the check of trie->n_entries. For new insertions,
      n_entries must not exceed max_entries. However, in-place updates are
      allowed even when the trie is full.
      
      Fixes: b95a5c4d ("bpf: add a longest prefix match trie map implementation")
      Reviewed-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-5-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      532d6b36
    • Hou Tao's avatar
      bpf: Handle BPF_EXIST and BPF_NOEXIST for LPM trie · eae6a075
      Hou Tao authored
      
      Add the currently missing handling for the BPF_EXIST and BPF_NOEXIST
      flags. These flags can be specified by users and are relevant since LPM
      trie supports exact matches during update.
      
      Fixes: b95a5c4d ("bpf: add a longest prefix match trie map implementation")
      Reviewed-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-4-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      eae6a075
    • Hou Tao's avatar
      bpf: Remove unnecessary kfree(im_node) in lpm_trie_update_elem · 3d5611b4
      Hou Tao authored
      
      There is no need to call kfree(im_node) when updating element fails,
      because im_node must be NULL. Remove the unnecessary kfree() for
      im_node.
      
      Reviewed-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-3-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      3d5611b4
    • Hou Tao's avatar
      bpf: Remove unnecessary check when updating LPM trie · 156c977c
      Hou Tao authored
      
      When "node->prefixlen == matchlen" is true, it means that the node is
      fully matched. If "node->prefixlen == key->prefixlen" is false, it means
      the prefix length of key is greater than the prefix length of node,
      otherwise, matchlen will not be equal with node->prefixlen. However, it
      also implies that the prefix length of node must be less than
      max_prefixlen.
      
      Therefore, "node->prefixlen == trie->max_prefixlen" will always be false
      when the check of "node->prefixlen == key->prefixlen" returns false.
      Remove this unnecessary comparison.
      
      Reviewed-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Link: https://lore.kernel.org/r/20241206110622.1161752-2-houtao@huaweicloud.com
      
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      156c977c
    • Ming Lei's avatar
      blk-mq: move cpuhp callback registering out of q->sysfs_lock · 22465bba
      Ming Lei authored
      Registering and unregistering cpuhp callback requires global cpu hotplug lock,
      which is used everywhere. Meantime q->sysfs_lock is used in block layer
      almost everywhere.
      
      It is easy to trigger lockdep warning[1] by connecting the two locks.
      
      Fix the warning by moving blk-mq's cpuhp callback registering out of
      q->sysfs_lock. Add one dedicated global lock for covering registering &
      unregistering hctx's cpuhp, and it is safe to do so because hctx is
      guaranteed to be live if our request_queue is live.
      
      [1] https://lore.kernel.org/lkml/Z04pz3AlvI4o0Mr8@agluck-desk3/
      
      
      
      Cc: Reinette Chatre <reinette.chatre@intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Peter Newman <peternewman@google.com>
      Cc: Babu Moger <babu.moger@amd.com>
      Reported-by: default avatarLuck Tony <tony.luck@intel.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Tested-by: default avatarTony Luck <tony.luck@intel.com>
      Link: https://lore.kernel.org/r/20241206111611.978870-3-ming.lei@redhat.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      22465bba
    • Ming Lei's avatar
      blk-mq: register cpuhp callback after hctx is added to xarray table · 4bf485a7
      Ming Lei authored
      
      We need to retrieve 'hctx' from xarray table in the cpuhp callback, so the
      callback should be registered after this 'hctx' is added to xarray table.
      
      Cc: Reinette Chatre <reinette.chatre@intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Peter Newman <peternewman@google.com>
      Cc: Babu Moger <babu.moger@amd.com>
      Cc: Luck Tony <tony.luck@intel.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Tested-by: default avatarTony Luck <tony.luck@intel.com>
      Link: https://lore.kernel.org/r/20241206111611.978870-2-ming.lei@redhat.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      4bf485a7
    • Paulo Alcantara's avatar
      smb: client: fix potential race in cifs_put_tcon() · c32b624f
      Paulo Alcantara authored
      
      dfs_cache_refresh() delayed worker could race with cifs_put_tcon(), so
      make sure to call list_replace_init() on @tcon->dfs_ses_list after
      kworker is cancelled or finished.
      
      Fixes: 4f42a8b5 ("smb: client: fix DFS interlink failover")
      Signed-off-by: default avatarPaulo Alcantara (Red Hat) <pc@manguebit.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      c32b624f
    • Steve French's avatar
      smb3.1.1: fix posix mounts to older servers · ddca5023
      Steve French authored
      
      Some servers which implement the SMB3.1.1 POSIX extensions did not
      set the file type in the mode in the infolevel 100 response.
      With the recent changes for checking the file type via the mode field,
      this can cause the root directory to be reported incorrectly and
      mounts (e.g. to ksmbd) to fail.
      
      Fixes: 6a832bc8 ("fs/smb/client: Implement new SMB3 POSIX type")
      Cc: stable@vger.kernel.org
      Acked-by: default avatarPaulo Alcantara (Red Hat) <pc@manguebit.com>
      Cc: Ralph Boehme <slow@samba.org>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      ddca5023
    • Ricardo Neri's avatar
      x86/cacheinfo: Delete global num_cache_leaves · 9677be09
      Ricardo Neri authored
      
      Linux remembers cpu_cachinfo::num_leaves per CPU, but x86 initializes all
      CPUs from the same global "num_cache_leaves".
      
      This is erroneous on systems such as Meteor Lake, where each CPU has a
      distinct num_leaves value. Delete the global "num_cache_leaves" and
      initialize num_leaves on each CPU.
      
      init_cache_level() no longer needs to set num_leaves. Also, it never had to
      set num_levels as it is unnecessary in x86. Keep checking for zero cache
      leaves. Such condition indicates a bug.
      
        [ bp: Cleanup. ]
      
      Signed-off-by: default avatarRicardo Neri <ricardo.neri-calderon@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Cc: stable@vger.kernel.org # 6.3+
      Link: https://lore.kernel.org/r/20241128002247.26726-3-ricardo.neri-calderon@linux.intel.com
      9677be09
Loading