Skip to content
Snippets Groups Projects
  1. Mar 08, 2025
  2. Mar 07, 2025
    • Ingo Molnar's avatar
      x86/mm: Define PTRS_PER_PMD for assembly code too · 6914f7e2
      Ingo Molnar authored
      
      Andy reported the following build warning from head_32.S:
      
        In file included from arch/x86/kernel/head_32.S:29:
        arch/x86/include/asm/pgtable_32.h:59:5: error: "PTRS_PER_PMD" is not defined, evaluates to 0 [-Werror=undef]
             59 | #if PTRS_PER_PMD > 1
      
      The reason is that on 2-level i386 paging the folded in PMD's
      PTRS_PER_PMD constant is not defined in assembly headers,
      only in generic MM C headers.
      
      Instead of trying to fish out the definition from the generic
      headers, just define it - it even has a comment for it already...
      
      Reported-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Tested-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: https://lore.kernel.org/r/Z8oa8AUVyi2HWfo9@gmail.com
      6914f7e2
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · 21e4543a
      Linus Torvalds authored
      Pull slab fix from Vlastimil Babka:
      
       - Stable fix for kmem_cache_destroy() called from a WQ_MEM_RECLAIM
         workqueue causing a warning due to the new kvfree_rcu_barrier()
         (Uladzislau Rezki)
      
      * tag 'slab-for-6.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        mm/slab/kvfree_rcu: Switch to WQ_MEM_RECLAIM wq
      21e4543a
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d4fd25b6
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Restore the previous behavior of the ACPI platform_profile sysfs
        interface that has been changed recently in a way incompatible with
        the existing user space (Mario Limonciello)"
      
      * tag 'acpi-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        platform/x86/amd: pmf: Add balanced-performance to hidden choices
        platform/x86/amd: pmf: Add 'quiet' to hidden choices
        ACPI: platform_profile: Add support for hidden choices
      d4fd25b6
    • Linus Torvalds's avatar
      Merge tag 'execve-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · dd047efb
      Linus Torvalds authored
      Pull core dumping fix from Kees Cook:
      
       - Only sort VMAs when core_sort_vma sysctl is set
      
      * tag 'execve-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        coredump: Only sort VMAs when core_sort_vma sysctl is set
      dd047efb
    • Linus Torvalds's avatar
      Merge tag 'for-6.14-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 6ceb6346
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - fix leaked extent map after error when reading chunks
      
       - replace use of deprecated strncpy
      
       - in zoned mode, fixed range when ulocking extent range, causing a hang
      
      * tag 'for-6.14-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix a leaked chunk map issue in read_one_chunk()
        btrfs: replace deprecated strncpy() with strscpy()
        btrfs: zoned: fix extent range end unlock in cow_file_range()
      6ceb6346
    • Linus Torvalds's avatar
      Merge tag 'block-6.14-20250306' of git://git.kernel.dk/linux · 381af8d9
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
            - TCP use after free fix on polling (Sagi)
            - Controller memory buffer cleanup fixes (Icenowy)
            - Free leaking requests on bad user passthrough commands (Keith)
            - TCP error message fix (Maurizio)
            - TCP corruption fix on partial PDU (Maurizio)
            - TCP memory ordering fix for weakly ordered archs (Meir)
            - Type coercion fix on message error for TCP (Dan)
      
       - Name the RQF flags enum, fixing issues with anon enums and BPF import
         of it
      
       - ublk parameter setting fix
      
       - GPT partition 7-bit conversion fix
      
      * tag 'block-6.14-20250306' of git://git.kernel.dk/linux:
        block: Name the RQF flags enum
        nvme-tcp: fix signedness bug in nvme_tcp_init_connection()
        block: fix conversion of GPT partition name to 7-bit
        ublk: set_params: properly check if parameters can be applied
        nvmet-tcp: Fix a possible sporadic response drops in weakly ordered arch
        nvme-tcp: fix potential memory corruption in nvme_tcp_recv_pdu()
        nvme-tcp: Fix a C2HTermReq error message
        nvmet: remove old function prototype
        nvme-ioctl: fix leaked requests on mapping error
        nvme-pci: skip CMB blocks incompatible with PCI P2P DMA
        nvme-pci: clean up CMBMSC when registering CMB fails
        nvme-tcp: fix possible UAF in nvme_tcp_poll
      381af8d9
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.14-20250306' of git://git.kernel.dk/linux · d53276d2
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "A single fix for a regression introduced in the 6.14 merge window,
        causing stalls/hangs with IOPOLL reads or writes"
      
      * tag 'io_uring-6.14-20250306' of git://git.kernel.dk/linux:
        io_uring/rw: ensure reissue path is correctly handled for IOPOLL
      d53276d2
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1c5183aa
      Linus Torvalds authored
      Pull misc scheduler fixes from Ingo Molnar:
      
       - Fix deadline scheduler sysctl parameter setting bug
      
       - Fix RT scheduler sysctl parameter setting bug
      
       - Fix possible memory corruption in child_cfs_rq_on_list()
      
      * tag 'sched-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/rt: Update limit of sched_rt sysctl in documentation
        sched/deadline: Use online cpus for validating runtime
        sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
      1c5183aa
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ab60bd57
      Linus Torvalds authored
      Pull perf event fixes from Ingo Molnar:
       "Fix a race between PMU registration and event creation, and fix
        pmus_lock vs. pmus_srcu lock ordering"
      
      * tag 'perf-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Fix perf_pmu_register() vs. perf_init_event()
        perf/core: Fix pmus_lock vs. pmus_srcu ordering
      ab60bd57
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 042751d3
      Linus Torvalds authored
      Pull misc x86 fixes from Ingo Molnar:
      
       - Fix CPUID leaf 0x2 parsing bugs
      
       - Sanitize very early boot parameters to avoid crash
      
       - Fix size overflows in the SGX code
      
       - Make CALL_NOSPEC use consistent
      
      * tag 'x86-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Sanitize boot params before parsing command line
        x86/sgx: Fix size overflows in sgx_encl_create()
        x86/cpu: Properly parse CPUID leaf 0x2 TLB descriptor 0x63
        x86/cpu: Validate CPUID leaf 0x2 EDX output
        x86/cacheinfo: Validate CPUID leaf 0x2 EDX output
        x86/speculation: Add a conditional CS prefix to CALL_NOSPEC
        x86/speculation: Simplify and make CALL_NOSPEC consistent
      042751d3
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.14-rc6' of... · 8287dfc2
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - xgene-hwmon: Fix a NULL vs IS_ERR_OR_NULL() check
      
       - ad7314: Return error if leading zero bits are non-zero
      
       - ntc_thermistor: Update/fix the ncpXXxh103 sensor table
      
       - pmbus: Initialise page count in pmbus_identify()
      
       - peci/dimmtemp: Do not provide fake threshold data
      
      * tag 'hwmon-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: fix a NULL vs IS_ERR_OR_NULL() check in xgene_hwmon_probe()
        hwmon: (ad7314) Validate leading zero bits and return error
        hwmon: (ntc_thermistor) Fix the ncpXXxh103 sensor table
        hwmon: (pmbus) Initialise page count in pmbus_identify()
        hwmon: (peci/dimmtemp) Do not provide fake thresholds data
      8287dfc2
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 1222390d
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - protect gpio-aggregator against module unload
      
       - use raw spinlock in gpio-rcar to fix a lockdep splat
      
       - fix OF node leak in gpio-rcar
      
      * tag 'gpio-fixes-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: rcar: Fix missing of_node_put() call
        gpio: rcar: Use raw_spinlock to protect register access
        gpio: aggregator: protect driver attr handlers against module unload
      1222390d
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.14-4' of... · 8aed61b8
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.14-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Ilpo Järvinen:
      
       - amd/pmf:
           - Initialize 'cb_mutex'
           - Support for new version of PMF-TA
      
       - intel-hid: Fix volume buttons on Microsoft Surface Go 4 tablet
      
       - intel/vsec: Add Diamond Rapids support
      
       - thinkpad_acpi: Add battery quirk for ThinkPad X131e
      
      * tag 'platform-drivers-x86-v6.14-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86/amd/pmf: Update PMF Driver for Compatibility with new PMF-TA
        platform/x86/amd/pmf: Propagate PMF-TA return codes
        platform/x86/intel/vsec: Add Diamond Rapids support
        platform/x86: thinkpad_acpi: Add battery quirk for ThinkPad X131e
        platform/x86: intel-hid: fix volume buttons on Microsoft Surface Go 4 tablet
        platform/x86/amd/pmf: Initialize and clean up `cb_mutex`
      8aed61b8
    • Linus Torvalds's avatar
      Merge tag 'sound-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 2a405b36
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "There is a single change in ALSA core (for sequencer code for the
        module auto-loading in a wrong timing) while the all rest are various
        HD- and USB-audio fixes.
      
        Many of them are boring device-specific quirks, and should be safe to
        take"
      
      * tag 'sound-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Add support for ASUS Zenbook UM3406KA Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS B5405 and B5605 Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS B3405 and B3605 Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for various ASUS Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS ROG Strix G614 Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS ROG Strix GA603 Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS ROG Strix G814 Laptop using CS35L41 HDA
        ALSA: hda: intel: Add Dell ALC3271 to power_save denylist
        ALSA: hda/realtek: update ALC222 depop optimize
        ALSA: hda: realtek: fix incorrect IS_REACHABLE() usage
        ALSA: usx2y: validate nrpacks module parameter on probe
        ALSA: hda/realtek - add supported Mic Mute LED for Lenovo platform
        ALSA: seq: Avoid module auto-load handling at event delivery
        ALSA: hda: Fix speakers on ASUS EXPERTBOOK P5405CSA 1.0
        ALSA: hda/realtek: Fix Asus Z13 2025 audio
        ALSA: hda/realtek: Remove (revert) duplicate Ally X config
      2a405b36
    • Alexey Kardashevskiy's avatar
      virt: sev-guest: Move SNP Guest Request data pages handling under snp_cmd_mutex · 3e385c0d
      Alexey Kardashevskiy authored
      
      Compared to the SNP Guest Request, the "Extended" version adds data pages for
      receiving certificates. If not enough pages provided, the HV can report to the
      VM how much is needed so the VM can reallocate and repeat.
      
      Commit
      
        ae596615 ("virt: sev-guest: Reduce the scope of SNP command mutex")
      
      moved handling of the allocated/desired pages number out of scope of said
      mutex and create a possibility for a race (multiple instances trying to
      trigger Extended request in a VM) as there is just one instance of
      snp_msg_desc per /dev/sev-guest and no locking other than snp_cmd_mutex.
      
      Fix the issue by moving the data blob/size and the GHCB input struct
      (snp_req_data) into snp_guest_req which is allocated on stack now and accessed
      by the GHCB caller under that mutex.
      
      Stop allocating SEV_FW_BLOB_MAX_SIZE in snp_msg_alloc() as only one of four
      callers needs it. Free the received blob in get_ext_report() right after it is
      copied to the userspace. Possible future users of snp_send_guest_request() are
      likely to have different ideas about the buffer size anyways.
      
      Fixes: ae596615 ("virt: sev-guest: Reduce the scope of SNP command mutex")
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@amd.com>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Reviewed-by: default avatarNikunj A Dadhania <nikunj@amd.com>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20250307013700.437505-3-aik@amd.com
      3e385c0d
    • Nikunj A Dadhania's avatar
      virt: sev-guest: Allocate request data dynamically · ac7c06ac
      Nikunj A Dadhania authored
      Commit
      
        ae596615 ("virt: sev-guest: Reduce the scope of SNP command mutex")
      
      narrowed the command mutex scope to snp_send_guest_request().  However,
      GET_REPORT, GET_DERIVED_KEY, and GET_EXT_REPORT share the req structure in
      snp_guest_dev. Without the mutex protection, concurrent requests can overwrite
      each other's data. Fix it by dynamically allocating the request structure.
      
      Fixes: ae596615 ("virt: sev-guest: Reduce the scope of SNP command mutex")
      Closes: https://github.com/AMDESE/AMDSEV/issues/265
      
      
      Reported-by: default avatar <andreas.stuehrk@yaxi.tech>
      Signed-off-by: default avatarNikunj A Dadhania <nikunj@amd.com>
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@amd.com>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20250307013700.437505-2-aik@amd.com
      ac7c06ac
    • Andrew Cooper's avatar
      x86/amd_nb: Use rdmsr_safe() in amd_get_mmconfig_range() · 14cb5d83
      Andrew Cooper authored and Ingo Molnar's avatar Ingo Molnar committed
      
      Xen doesn't offer MSR_FAM10H_MMIO_CONF_BASE to all guests.  This results
      in the following warning:
      
        unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
        Call Trace:
         xen_read_msr+0x1e/0x30
         amd_get_mmconfig_range+0x2b/0x80
         quirk_amd_mmconfig_area+0x28/0x100
         pnp_fixup_device+0x39/0x50
         __pnp_add_device+0xf/0x150
         pnp_add_device+0x3d/0x100
         pnpacpi_add_device_handler+0x1f9/0x280
         acpi_ns_get_device_callback+0x104/0x1c0
         acpi_ns_walk_namespace+0x1d0/0x260
         acpi_get_devices+0x8a/0xb0
         pnpacpi_init+0x50/0x80
         do_one_initcall+0x46/0x2e0
         kernel_init_freeable+0x1da/0x2f0
         kernel_init+0x16/0x1b0
         ret_from_fork+0x30/0x50
         ret_from_fork_asm+0x1b/0x30
      
      based on quirks for a "PNP0c01" device.  Treating MMCFG as disabled is the
      right course of action, so no change is needed there.
      
      This was most likely exposed by fixing the Xen MSR accessors to not be
      silently-safe.
      
      Fixes: 3fac3734 ("xen/pv: support selecting safe/unsafe msr accesses")
      Signed-off-by: default avatarAndrew Cooper <andrew.cooper3@citrix.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/20250307002846.3026685-1-andrew.cooper3@citrix.com
      14cb5d83
    • Linus Torvalds's avatar
      fs/pipe: add simpler helpers for common cases · 00a7d398
      Linus Torvalds authored
      
      The fix to atomically read the pipe head and tail state when not holding
      the pipe mutex has caused a number of headaches due to the size change
      of the involved types.
      
      It turns out that we don't have _that_ many places that access these
      fields directly and were affected, but we have more than we strictly
      should have, because our low-level helper functions have been designed
      to have intimate knowledge of how the pipes work.
      
      And as a result, that random noise of direct 'pipe->head' and
      'pipe->tail' accesses makes it harder to pinpoint any actual potential
      problem spots remaining.
      
      For example, we didn't have a "is the pipe full" helper function, but
      instead had a "given these pipe buffer indexes and this pipe size, is
      the pipe full".  That's because some low-level pipe code does actually
      want that much more complicated interface.
      
      But most other places literally just want a "is the pipe full" helper,
      and not having it meant that those places ended up being unnecessarily
      much too aware of this all.
      
      It would have been much better if only the very core pipe code that
      cared had been the one aware of this all.
      
      So let's fix it - better late than never.  This just introduces the
      trivial wrappers for "is this pipe full or empty" and to get how many
      pipe buffers are used, so that instead of writing
      
              if (pipe_full(pipe->head, pipe->tail, pipe->max_usage))
      
      the places that literally just want to know if a pipe is full can just
      say
      
              if (pipe_is_full(pipe))
      
      instead.  The existing trivial cases were converted with a 'sed' script.
      
      This cuts down on the places that access pipe->head and pipe->tail
      directly outside of the pipe code (and core splice code) quite a lot.
      
      The splice code in particular still revels in doing the direct low-level
      accesses, and the fuse fuse_dev_splice_write() code also seems a bit
      unnecessarily eager to go very low-level, but it's at least a bit better
      than it used to be.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      00a7d398
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2025-03-07' of https://gitlab.freedesktop.org/drm/kernel · 28f587ad
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Fixes across the board, mostly xe and imagination with some amd and
        misc others.
      
        The xe fixes are mostly hmm related, though there are some others in
        there as well, nothing really stands out otherwise.
      
        The nouveau Kconfig to select FW_CACHE is in this, which we discussed
        a while back.
      
        nouveau:
         - rely on fw caching Kconfig fix
      
        imagination:
         - avoid deadlock on fence release
         - fix fence initialisation
         - fix timestamps firmware traces
      
        scheduler:
         - fix include guard
      
        bochs:
         - dpms fix
      
        i915:
         - bump max stream count to match pipes
      
        xe:
         - Remove double page flip on initial plane
         - Properly setup userptr pfn_flags_mask
         - Fix GT "for each engine" workarounds
         - Fix userptr races and missed validations
         - Userptr invalid page access fixes
         - Cleanup some style nits
      
        amdgpu:
         - Fix NULL check in DC code
         - SMU 14 fix
      
        amdkfd:
         - Fix NULL check in queue validation
      
        radeon:
         - RS400 HyperZ fix"
      
      * tag 'drm-fixes-2025-03-07' of https://gitlab.freedesktop.org/drm/kernel: (22 commits)
        drm/bochs: Fix DPMS regression
        drm/xe/userptr: Unmap userptrs in the mmu notifier
        drm/xe/hmm: Don't dereference struct page pointers without notifier lock
        drm/xe/hmm: Style- and include fixes
        drm/xe: Add staging tree for VM binds
        drm/xe: Fix fault mode invalidation with unbind
        drm/xe/vm: Fix a misplaced #endif
        drm/xe/vm: Validate userptr during gpu vma prefetching
        drm/amd/pm: always allow ih interrupt from fw
        drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M
        drm/amdkfd: Fix NULL Pointer Dereference in KFD queue
        drm/amd/display: Fix null check for pipe_ctx->plane_state in resource_build_scaling_params
        drm/xe: Fix GT "for each engine" workarounds
        drm/xe/userptr: properly setup pfn_flags_mask
        drm/i915/mst: update max stream count to match number of pipes
        drm/xe: Remove double pageflip
        drm/sched: Fix preprocessor guard
        drm/imagination: Fix timestamps in firmware traces
        drm/imagination: only init job done fences once
        drm/imagination: Hold drm_gem_gpuva lock for unmap
        ...
      28f587ad
    • Breno Leitao's avatar
      block: Name the RQF flags enum · e7112524
      Breno Leitao authored
      
      Commit 5f89154e ("block: Use enum to define RQF_x bit
      indexes") converted the RQF flags to an anonymous enum, which was
      a beneficial change. This patch goes one step further by naming the enum
      as "rqf_flags".
      
      This naming enables exporting these flags to BPF clients, eliminating
      the need to duplicate these flags in BPF code. Instead, BPF clients can
      now access the same kernel-side values through CO:RE (Compile Once, Run
      Everywhere), as shown in this example:
      
          rqf_stats = bpf_core_enum_value(enum rqf_flags, __RQF_STATS)
      
      Suggested-by: default avatarYonghong Song <yonghong.song@linux.dev>
      Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
      Link: https://lore.kernel.org/r/20250306-rqf_flags-v1-1-bbd64918b406@debian.org
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e7112524
  3. Mar 06, 2025
Loading