1. 17 Aug, 2024 5 commits
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.11-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · d09840f8
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Check for presence of only 'attr' feature before scrubbing an inode's
         attribute fork.
      
       - Restore the behaviour of setting AIL thread to TASK_INTERRUPTIBLE for
         long (i.e. 50ms) sleep durations to prevent high load averages.
      
       - Do not allow users to change the realtime flag of a file unless the
         datadev and rtdev both support fsdax access modes.
      
      * tag 'xfs-6.11-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: conditionally allow FS_XFLAG_REALTIME changes if S_DAX is set
        xfs: revert AIL TASK_KILLABLE threshold
        xfs: attr forks require attr, not attr2
      d09840f8
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-08-16' of git://evilpiepirate.org/bcachefs · b7181758
      Linus Torvalds authored
      Pull bcachefs fixes from Kent OverstreetL
      
       - New on disk format version, bcachefs_metadata_version_disk_accounting_inum
      
         This adds one more disk accounting counter, which counts disk usage
         and number of extents per inode number. This lets us track
         fragmentation, for implementing defragmentation later, and it also
         counts disk usage per inode in all snapshots, which will be a useful
         thing to expose to users.
      
       - One performance issue we've observed is threads spinning when they
         should be waiting for dirty keys in the key cache to be flushed by
         journal reclaim, so we now have hysteresis for the waiting thread, as
         well as improving the tracepoint and a new time_stat, for tracking
         time blocked waiting on key cache flushing.
      
      ... and various assorted smaller fixes.
      
      * tag 'bcachefs-2024-08-16' of git://evilpiepirate.org/bcachefs:
        bcachefs: Fix locking in __bch2_trans_mark_dev_sb()
        bcachefs: fix incorrect i_state usage
        bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru
        bcachefs: Fix forgetting to pass trans to fsck_err()
        bcachefs: Increase size of cuckoo hash table on too many rehashes
        bcachefs: bcachefs_metadata_version_disk_accounting_inum
        bcachefs: Kill __bch2_accounting_mem_mod()
        bcachefs: Make bkey_fsck_err() a wrapper around fsck_err()
        bcachefs: Fix warning in __bch2_fsck_err() for trans not passed in
        bcachefs: Add a time_stat for blocked on key cache flush
        bcachefs: Improve trans_blocked_journal_reclaim tracepoint
        bcachefs: Add hysteresis to waiting on btree key cache flush
        lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc()
        bcachefs: Convert for_each_btree_node() to lockrestart_do()
        bcachefs: Add missing downgrade table entry
        bcachefs: disk accounting: ignore unknown types
        bcachefs: bch2_accounting_invalid() fixup
        bcachefs: Fix bch2_trigger_alloc when upgrading from old versions
        bcachefs: delete faulty fastpath in bch2_btree_path_traverse_cached()
      b7181758
    • Kent Overstreet's avatar
      bcachefs: Fix locking in __bch2_trans_mark_dev_sb() · 0e49d3ff
      Kent Overstreet authored
      We run this in full RW mode now, so we have to guard against the
      superblock buffer being reallocated.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      0e49d3ff
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e5fa841a
      Linus Torvalds authored
      Pull memcg-v1 fix from Al Viro:
       "memcg_write_event_control() oops fix"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        memcg_write_event_control(): fix a user-triggerable oops
      e5fa841a
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · c2cdb13a
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Fix the arm64 __get_mem_asm() to use the _ASM_EXTABLE_##type##ACCESS()
         macro instead of the *_ERR() one in order to avoid writing -EFAULT to
         the value register in case of a fault
      
       - Initialise all elements of the acpi_early_node_map[] to NUMA_NO_NODE.
         Prior to this fix, only the first element was initialised
      
       - Move the KASAN random tag seed initialisation after the per-CPU areas
         have been initialised (prng_state is __percpu)
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Fix KASAN random tag seed initialization
        arm64: ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE
        arm64: uaccess: correct thinko in __get_mem_asm()
      c2cdb13a
  2. 16 Aug, 2024 30 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 216595b7
      Linus Torvalds authored
      Pull clk fix from Stephen Boyd:
       "One fix for the new T-Head TH1520 clk driver that marks a bus clk
        critical so that it isn't turned off during late init which breaks
        emmc-sdio"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: thead: fix dependency on clk_ignore_unused
      216595b7
    • Linus Torvalds's avatar
      Merge tag 'block-6.11-20240824' of git://git.kernel.dk/linux · 85652baa
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix corruption issues with s390/dasd (Eric, Stefan)
      
       - Fix a misuse of non irq locking grab of a lock (Li)
      
       - MD pull request with a single data corruption fix for raid1 (Yu)
      
      * tag 'block-6.11-20240824' of git://git.kernel.dk/linux:
        block: Fix lockdep warning in blk_mq_mark_tag_wait
        md/raid1: Fix data corruption for degraded array with slow disk
        s390/dasd: fix error recovery leading to data corruption on ESE devices
        s390/dasd: Remove DMA alignment
      85652baa
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.11-20240824' of git://git.kernel.dk/linux · c5ac744c
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Fix a comment in the uapi header using the wrong member name (Caleb)
      
       - Fix KCSAN warning for a debug check in sqpoll (me)
      
       - Two more NAPI tweaks (Olivier)
      
      * tag 'io_uring-6.11-20240824' of git://git.kernel.dk/linux:
        io_uring: fix user_data field name in comment
        io_uring/sqpoll: annotate debug task == current with data_race()
        io_uring/napi: remove duplicate io_napi_entry timeout assignation
        io_uring/napi: check napi_enabled in io_napi_add() before proceeding
      c5ac744c
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 2731835f
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Fix a possible (but unlikely) out-of-bounds read in interrupts
         parsing code
      
       - Add AT25 EEPROM "fujitsu,mb85rs256" compatible
      
       - Update Konrad Dybcio's email
      
      * tag 'devicetree-fixes-for-6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of/irq: Prevent device address out-of-bounds read in interrupt map walk
        dt-bindings: eeprom: at25: add fujitsu,mb85rs256 compatible
        dt-bindings: Batch-update Konrad Dybcio's email
      2731835f
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 296c871d
      Linus Torvalds authored
      Pull thermal control fix from Rafael Wysocki:
       "Fix a Bang-bang thermal governor issue causing it to fail to reset the
        state of cooling devices if they are 'on' to start with, but the
        thermal zone temperature is always below the corresponding trip point
        (Rafael Wysocki)"
      
      * tag 'thermal-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: gov_bang_bang: Use governor_data to reduce overhead
        thermal: gov_bang_bang: Add .manage() callback
        thermal: gov_bang_bang: Split bang_bang_control()
        thermal: gov_bang_bang: Call __thermal_cdev_update() directly
      296c871d
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 64ab5e40
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Fix an issue related to the ACPI EC device handling that causes the
        _REG control method to be evaluated for EC operation regions that are
        not expected to be used.
      
        This confuses the platform firmware and provokes various types of
        misbehavior on some systems (Rafael Wysocki)"
      
      * tag 'acpi-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: EC: Evaluate _REG outside the EC scope more carefully
        ACPICA: Add a depth argument to acpi_execute_reg_methods()
        Revert "ACPI: EC: Evaluate orphan _REG under EC device"
      64ab5e40
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-fixes-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · e4a55b55
      Linus Torvalds authored
      Pull libnvdimm fix from Ira Weiny:
       "Commit f467fee4 ("block: move the dax flag to queue_limits") broke
        the DAX tests by skipping over the legacy pmem mapping pages case.
      
        Set the DAX flag in this case as well"
      
      * tag 'libnvdimm-fixes-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nvdimm/pmem: Set dax flag for all 'PFN_MAP' cases
      e4a55b55
    • Caleb Sander Mateos's avatar
      io_uring: fix user_data field name in comment · 1fc2ac42
      Caleb Sander Mateos authored
      io_uring_cqe's user_data field refers to `sqe->data`, but io_uring_sqe
      does not have a data field. Fix the comment to say `sqe->user_data`.
      Signed-off-by: default avatarCaleb Sander Mateos <csander@purestorage.com>
      Link: https://github.com/axboe/liburing/pull/1206
      Link: https://lore.kernel.org/r/20240816181526.3642732-1-csander@purestorage.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      1fc2ac42
    • Linus Torvalds's avatar
      Merge tag 'rust-fixes-6.11' of https://github.com/Rust-for-Linux/linux · 60cb1da6
      Linus Torvalds authored
      Pull rust fixes from Miguel Ojeda:
      
       - Fix '-Os' Rust 1.80.0+ builds adding more intrinsics (also tweaked in
         upstream Rust for the upcoming 1.82.0).
      
       - Fix support for the latest version of rust-analyzer due to a change
         on rust-analyzer config file semantics (considered a fix since most
         developers use the latest version of the tool, which is the only one
         actually supported by upstream). I am discussing stability of the
         config file with upstream -- they may be able to start versioning it.
      
       - Fix GCC 14 builds due to '-fmin-function-alignment' not skipped for
         libclang (bindgen).
      
       - A couple Kconfig fixes around '{RUSTC,BINDGEN}_VERSION_TEXT' to
         suppress error messages in a foreign architecture chroot and to use a
         proper default format.
      
       - Clean 'rust-analyzer' target warning due to missing recursive make
         invocation mark.
      
       - Clean Clippy warning due to missing indentation in docs.
      
       - Clean LLVM 19 build warning due to removed 3dnow feature upstream.
      
      * tag 'rust-fixes-6.11' of https://github.com/Rust-for-Linux/linux:
        rust: x86: remove `-3dnow{,a}` from target features
        kbuild: rust-analyzer: mark `rust_is_available.sh` invocation as recursive
        rust: add intrinsics to fix `-Os` builds
        kbuild: rust: skip -fmin-function-alignment in bindgen flags
        rust: Support latest version of `rust-analyzer`
        rust: macros: indent list item in `module!`'s docs
        rust: fix the default format for CONFIG_{RUSTC,BINDGEN}_VERSION_TEXT
        rust: suppress error messages from CONFIG_{RUSTC,BINDGEN}_VERSION_TEXT
      60cb1da6
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 5b179fe0
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - reintroduce the text patching global icache flush
      
       - fix syscall entry code to correctly initialize a0, which manifested
         as a strace bug
      
       - XIP kernels now map the entire kernel, which fixes boot under at
         least DEBUG_VIRTUAL=y
      
       - initialize all nodes in the acpi_early_node_map initializer
      
       - fix OOB access in the Andes vendor extension probing code
      
       - A new key for scalar misaligned access performance in hwprobe, which
         correctly treat the values as an enum (as opposed to a bitmap)
      
      * tag 'riscv-for-linus-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: Fix out-of-bounds when accessing Andes per hart vendor extension array
        RISC-V: hwprobe: Add SCALAR to misaligned perf defines
        RISC-V: hwprobe: Add MISALIGNED_PERF key
        RISC-V: ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE
        riscv: change XIP's kernel_map.size to be size of the entire kernel
        riscv: entry: always initialize regs->a0 to -ENOSYS
        riscv: Re-introduce global icache flush in patch_text_XXX()
      5b179fe0
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 4a621e29
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "A couple of fixes for tracing:
      
         - Prevent a NULL pointer dereference in the error path of RTLA tool
      
         - Fix an infinite loop bug when reading from the ring buffer when
           closed. If there's a thread trying to read the ring buffer and it
           gets closed by another thread, the one reading will go into an
           infinite loop when the buffer is empty instead of exiting back to
           user space"
      
      * tag 'trace-v6.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        rtla/osnoise: Prevent NULL dereference in error handling
        tracing: Return from tracing_buffers_read() if the file has been closed
      4a621e29
    • Linus Torvalds's avatar
      Merge tag 'keys-trusted-next-6.11-rc4' of... · 1486141a
      Linus Torvalds authored
      Merge tag 'keys-trusted-next-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
      
      Pull key fixes from Jarkko Sakkinen:
       "Two bug fixes for a memory corruption bug and a memory leak bug in the
        DCP trusted keys type.
      
        Just as a reminder DCP was a crypto coprocessor in i.MX SoCs"
      
      * tag 'keys-trusted-next-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        KEYS: trusted: dcp: fix leak of blob encryption key
        KEYS: trusted: fix DCP blob payload length assignment
      1486141a
    • Kent Overstreet's avatar
      bcachefs: fix incorrect i_state usage · 99c87fe0
      Kent Overstreet authored
      Reported-by: syzbot+95e40eae71609e40d851@syzkaller.appspotmail.com
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      99c87fe0
    • Kent Overstreet's avatar
      bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru · 9482f3b0
      Kent Overstreet authored
      Reported-by: syzbot+510b0b28f8e6de64d307@syzkaller.appspotmail.com
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      9482f3b0
    • Kent Overstreet's avatar
      bcachefs: Fix forgetting to pass trans to fsck_err() · 075cabf3
      Kent Overstreet authored
      Reported-by: syzbot+e3938cd6d761b78750e6@syzkaller.appspotmail.com
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      075cabf3
    • Kent Overstreet's avatar
      bcachefs: Increase size of cuckoo hash table on too many rehashes · c2f6e16a
      Kent Overstreet authored
      Also, improve the calculation of the new table size, so that it can
      shrink when needed.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      c2f6e16a
    • Linus Torvalds's avatar
      Merge tag 'for-6.11/dm-fixes' of... · 670c12ce
      Linus Torvalds authored
      Merge tag 'for-6.11/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mikulas Patocka:
      
       - fix misbehavior if suspend or resume is interrupted by a signal
      
       - fix wrong indentation in dm-crypt.rst
      
       - fix memory allocation failure in dm-persistent-data
      
      * tag 'for-6.11/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm persistent data: fix memory allocation failure
        Documentation: dm-crypt.rst warning + error fix
        dm resume: don't return EINVAL when signalled
        dm suspend: return -ERESTARTSYS instead of -EINTR
      670c12ce
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v6.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux · de53959e
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
      
       - Bring back a lost return statement in io-page-fault code
      
       - Remove an unused function declaration
      
      * tag 'iommu-fixes-v6.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux:
        iommu: Remove unused declaration iommu_sva_unbind_gpasid()
        iommu: Restore lost return in iommu_report_device_fault()
      de53959e
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 9bd40f82
      Linus Torvalds authored
      Pull gpio fix from Bartosz Golaszewski:
      
       - add the shutdown() callback to gpio-mlxbf3 in order to disable
         interrupts during graceful reboot
      
      * tag 'gpio-fixes-for-v6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: mlxbf3: Support shutdown() function
      9bd40f82
    • Linus Torvalds's avatar
      Merge tag 'sound-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · d58c542a
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "All small fixes, mostly for usual suspects, HD-audio and USB-audio
        device-specific fixes / quirks. The Cirrus codec support took the
        update of SPI header as well. Other than that, there is a regression
        fix in the sanity check of ALSA timer code"
      
      * tag 'sound-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/tas2781: Use correct endian conversion
        ALSA: usb-audio: Support Yamaha P-125 quirk entry
        ALSA: hda: cs35l41: Remove redundant call to hda_cs_dsp_control_remove()
        ALSA: hda: cs35l56: Remove redundant call to hda_cs_dsp_control_remove()
        ALSA: hda/tas2781: fix wrong calibrated data order
        ALSA: usb-audio: Add delay quirk for VIVO USB-C-XE710 HEADSET
        ALSA: hda/realtek: Add support for new HP G12 laptops
        ALSA: hda/realtek: Fix noise from speakers on Lenovo IdeaPad 3 15IAU7
        ALSA: timer: Relax start tick time check for slave timer elements
        spi: Add empty versions of ACPI functions
      d58c542a
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-08-16' of https://gitlab.freedesktop.org/drm/kernel · 37b20e9a
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Weekly drm fixes, mostly amdgpu and xe. The larger amdgpu fix is for a
        new IP block introduced in rc1, so should be fine. The xe fixes
        contain some missed fixes from the end of the previous round along
        with some fixes which required precursor changes, but otherwise
        everything seems fine,
      
        mediatek:
         - fix cursor crash
      
        amdgpu:
         - Fix MES ring buffer overflow
         - DCN 3.5 fix
         - DCN 3.2.1 fix
         - DP MST fix
         - Cursor fixes
         - JPEG fixes
         - Context ops validation
         - MES 12 fixes
         - VCN 5.0 fix
         - HDP fix
      
        panel:
         - dt bindings style fix
         - orientation quirks
      
        rockchip:
         - inno-hdmi: fix infoframe upload
      
        v3d:
         - fix OOB access in v3d_csd_job_run()
      
        xe:
         - Validate user fence during creation
         - Fix use after free when client stats are captured
         - SRIOV fixes
         - Runtime PM fixes"
      
      * tag 'drm-fixes-2024-08-16' of https://gitlab.freedesktop.org/drm/kernel: (37 commits)
        drm/xe: Hold a PM ref when GT TLB invalidations are inflight
        drm/xe: Drop xe_gt_tlb_invalidation_wait
        drm/xe: Add xe_gt_tlb_invalidation_fence_init helper
        drm/xe/pf: Fix VF config validation on multi-GT platforms
        drm/xe: Build PM into GuC CT layer
        drm/xe/vf: Fix register value lookup
        drm/xe: Fix use after free when client stats are captured
        drm/xe: Take a ref to xe file when user creates a VM
        drm/xe: Add ref counting for xe_file
        drm/xe: Move part of xe_file cleanup to a helper
        drm/xe: Validate user fence during creation
        drm/rockchip: inno-hdmi: Fix infoframe upload
        drm/amd/amdgpu: add HDP_SD support on gc 12.0.0/1
        drm/amdgpu: Update kmd_fw_shared for VCN5
        drm/amd/amdgpu: command submission parser for JPEG
        drm/amdgpu/mes12: fix suspend issue
        drm/amdgpu/mes12: sw/hw fini for unified mes
        drm/amdgpu/mes12: configure two pipes hardware resources
        drm/amdgpu/mes12: adjust mes12 sw/hw init for multiple pipes
        drm/amdgpu/mes12: add mes pipe switch support
        ...
      37b20e9a
    • Rafael J. Wysocki's avatar
      thermal: gov_bang_bang: Use governor_data to reduce overhead · 6e6f58a1
      Rafael J. Wysocki authored
      After running once, the for_each_trip_desc() loop in
      bang_bang_manage() is pure needless overhead because it is not going to
      make any changes unless a new cooling device has been bound to one of
      the trips in the thermal zone or the system is resuming from sleep.
      
      For this reason, make bang_bang_manage() set governor_data for the
      thermal zone and check it upfront to decide whether or not it needs to
      do anything.
      
      However, governor_data needs to be reset in some cases to let
      bang_bang_manage() know that it should walk the trips again, so add an
      .update_tz() callback to the governor and make the core additionally
      invoke it during system resume.
      
      To avoid affecting the other users of that callback unnecessarily, add
      a special notification reason for system resume, THERMAL_TZ_RESUME, and
      also pass it to __thermal_zone_device_update() called during system
      resume for consistency.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarPeter Kästle <peter@piie.net>
      Reviewed-by: default avatarZhang Rui <rui.zhang@intel.com>
      Cc: 6.10+ <stable@vger.kernel.org> # 6.10+
      Link: https://patch.msgid.link/2285575.iZASKD2KPV@rjwysocki.net
      6e6f58a1
    • Rafael J. Wysocki's avatar
      thermal: gov_bang_bang: Add .manage() callback · 5f64b4a1
      Rafael J. Wysocki authored
      After recent changes, the Bang-bang governor may not adjust the
      initial configuration of cooling devices to the actual situation.
      
      Namely, if a cooling device bound to a certain trip point starts in
      the "on" state and the thermal zone temperature is below the threshold
      of that trip point, the trip point may never be crossed on the way up
      in which case the state of the cooling device will never be adjusted
      because the thermal core will never invoke the governor's
      .trip_crossed() callback.  [Note that there is no issue if the zone
      temperature is at the trip threshold or above it to start with because
      .trip_crossed() will be invoked then to indicate the start of thermal
      mitigation for the given trip.]
      
      To address this, add a .manage() callback to the Bang-bang governor
      and use it to ensure that all of the thermal instances managed by the
      governor have been initialized properly and the states of all of the
      cooling devices involved have been adjusted to the current zone
      temperature as appropriate.
      
      Fixes: 530c932b ("thermal: gov_bang_bang: Use .trip_crossed() instead of .throttle()")
      Link: https://lore.kernel.org/linux-pm/1bfbbae5-42b0-4c7d-9544-e98855715294@piie.net/
      Cc: 6.10+ <stable@vger.kernel.org> # 6.10+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarPeter Kästle <peter@piie.net>
      Reviewed-by: default avatarZhang Rui <rui.zhang@intel.com>
      Link: https://patch.msgid.link/8419356.T7Z3S40VBb@rjwysocki.net
      5f64b4a1
    • Rafael J. Wysocki's avatar
      thermal: gov_bang_bang: Split bang_bang_control() · 84248e35
      Rafael J. Wysocki authored
      Move the setting of the thermal instance target state from
      bang_bang_control() into a separate function that will be also called
      in a different place going forward.
      
      No intentional functional impact.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarPeter Kästle <peter@piie.net>
      Reviewed-by: default avatarZhang Rui <rui.zhang@intel.com>
      Cc: 6.10+ <stable@vger.kernel.org> # 6.10+
      Link: https://patch.msgid.link/3313587.aeNJFYEL58@rjwysocki.net
      84248e35
    • Rafael J. Wysocki's avatar
      thermal: gov_bang_bang: Call __thermal_cdev_update() directly · b9b6ee6f
      Rafael J. Wysocki authored
      Instead of clearing the "updated" flag for each cooling device
      affected by the trip point crossing in bang_bang_control() and
      walking all thermal instances to run thermal_cdev_update() for all
      of the affected cooling devices, call __thermal_cdev_update()
      directly for each of them.
      
      No intentional functional impact.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarPeter Kästle <peter@piie.net>
      Reviewed-by: default avatarZhang Rui <rui.zhang@intel.com>
      Cc: 6.10+ <stable@vger.kernel.org> # 6.10+
      Link: https://patch.msgid.link/13583081.uLZWGnKmhe@rjwysocki.net
      b9b6ee6f
    • Dave Airlie's avatar
      Merge tag 'mediatek-drm-fixes-20240805' of... · fee9d135
      Dave Airlie authored
      Merge tag 'mediatek-drm-fixes-20240805' of https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux into drm-fixes
      
      Mediatek DRM Fixes - 20240805
      
      1. Set sensible cursor width/height values to fix crash
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Chun-Kuang Hu <chunkuang.hu@kernel.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240810084605.3435-1-chunkuang.hu@kernel.org
      fee9d135
    • Dave Airlie's avatar
      Merge tag 'drm-xe-fixes-2024-08-15' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes · f8e170a3
      Dave Airlie authored
      - Validate user fence during creation (Brost)
      - Fix use after free when client stats are captured (Umesh)
      - SRIOV fixes (Michal)
      - Runtime PM fixes (Brost)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/Zr4KWF5nM1YvnT8H@intel.com
      f8e170a3
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2024-08-15' of... · 75eac7e8
      Dave Airlie authored
      Merge tag 'drm-misc-fixes-2024-08-15' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes
      
      Short summary of fixes pull:
      
      panel:
      - dt-bindings style fixes
      
      panel-orientation:
      - add quirk for Any Loki Max
      - add quirk for Any Loki Zero
      
      rockchip:
      - inno-hdmi: fix infoframe upload
      
      v3d:
      - fix OOB access in v3d_csd_job_run()
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240815131751.GA151031@linux.fritz.box
      75eac7e8
    • Li Lingfeng's avatar
      block: Fix lockdep warning in blk_mq_mark_tag_wait · b313a8c8
      Li Lingfeng authored
      Lockdep reported a warning in Linux version 6.6:
      
      [  414.344659] ================================
      [  414.345155] WARNING: inconsistent lock state
      [  414.345658] 6.6.0-07439-gba2303cacfda #6 Not tainted
      [  414.346221] --------------------------------
      [  414.346712] inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
      [  414.347545] kworker/u10:3/1152 [HC0[0]:SC0[0]:HE0:SE1] takes:
      [  414.349245] ffff88810edd1098 (&sbq->ws[i].wait){+.?.}-{2:2}, at: blk_mq_dispatch_rq_list+0x131c/0x1ee0
      [  414.351204] {IN-SOFTIRQ-W} state was registered at:
      [  414.351751]   lock_acquire+0x18d/0x460
      [  414.352218]   _raw_spin_lock_irqsave+0x39/0x60
      [  414.352769]   __wake_up_common_lock+0x22/0x60
      [  414.353289]   sbitmap_queue_wake_up+0x375/0x4f0
      [  414.353829]   sbitmap_queue_clear+0xdd/0x270
      [  414.354338]   blk_mq_put_tag+0xdf/0x170
      [  414.354807]   __blk_mq_free_request+0x381/0x4d0
      [  414.355335]   blk_mq_free_request+0x28b/0x3e0
      [  414.355847]   __blk_mq_end_request+0x242/0xc30
      [  414.356367]   scsi_end_request+0x2c1/0x830
      [  414.345155] WARNING: inconsistent lock state
      [  414.345658] 6.6.0-07439-gba2303cacfda #6 Not tainted
      [  414.346221] --------------------------------
      [  414.346712] inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
      [  414.347545] kworker/u10:3/1152 [HC0[0]:SC0[0]:HE0:SE1] takes:
      [  414.349245] ffff88810edd1098 (&sbq->ws[i].wait){+.?.}-{2:2}, at: blk_mq_dispatch_rq_list+0x131c/0x1ee0
      [  414.351204] {IN-SOFTIRQ-W} state was registered at:
      [  414.351751]   lock_acquire+0x18d/0x460
      [  414.352218]   _raw_spin_lock_irqsave+0x39/0x60
      [  414.352769]   __wake_up_common_lock+0x22/0x60
      [  414.353289]   sbitmap_queue_wake_up+0x375/0x4f0
      [  414.353829]   sbitmap_queue_clear+0xdd/0x270
      [  414.354338]   blk_mq_put_tag+0xdf/0x170
      [  414.354807]   __blk_mq_free_request+0x381/0x4d0
      [  414.355335]   blk_mq_free_request+0x28b/0x3e0
      [  414.355847]   __blk_mq_end_request+0x242/0xc30
      [  414.356367]   scsi_end_request+0x2c1/0x830
      [  414.356863]   scsi_io_completion+0x177/0x1610
      [  414.357379]   scsi_complete+0x12f/0x260
      [  414.357856]   blk_complete_reqs+0xba/0xf0
      [  414.358338]   __do_softirq+0x1b0/0x7a2
      [  414.358796]   irq_exit_rcu+0x14b/0x1a0
      [  414.359262]   sysvec_call_function_single+0xaf/0xc0
      [  414.359828]   asm_sysvec_call_function_single+0x1a/0x20
      [  414.360426]   default_idle+0x1e/0x30
      [  414.360873]   default_idle_call+0x9b/0x1f0
      [  414.361390]   do_idle+0x2d2/0x3e0
      [  414.361819]   cpu_startup_entry+0x55/0x60
      [  414.362314]   start_secondary+0x235/0x2b0
      [  414.362809]   secondary_startup_64_no_verify+0x18f/0x19b
      [  414.363413] irq event stamp: 428794
      [  414.363825] hardirqs last  enabled at (428793): [<ffffffff816bfd1c>] ktime_get+0x1dc/0x200
      [  414.364694] hardirqs last disabled at (428794): [<ffffffff85470177>] _raw_spin_lock_irq+0x47/0x50
      [  414.365629] softirqs last  enabled at (428444): [<ffffffff85474780>] __do_softirq+0x540/0x7a2
      [  414.366522] softirqs last disabled at (428419): [<ffffffff813f65ab>] irq_exit_rcu+0x14b/0x1a0
      [  414.367425]
                     other info that might help us debug this:
      [  414.368194]  Possible unsafe locking scenario:
      [  414.368900]        CPU0
      [  414.369225]        ----
      [  414.369548]   lock(&sbq->ws[i].wait);
      [  414.370000]   <Interrupt>
      [  414.370342]     lock(&sbq->ws[i].wait);
      [  414.370802]
                      *** DEADLOCK ***
      [  414.371569] 5 locks held by kworker/u10:3/1152:
      [  414.372088]  #0: ffff88810130e938 ((wq_completion)writeback){+.+.}-{0:0}, at: process_scheduled_works+0x357/0x13f0
      [  414.373180]  #1: ffff88810201fdb8 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x3a3/0x13f0
      [  414.374384]  #2: ffffffff86ffbdc0 (rcu_read_lock){....}-{1:2}, at: blk_mq_run_hw_queue+0x637/0xa00
      [  414.375342]  #3: ffff88810edd1098 (&sbq->ws[i].wait){+.?.}-{2:2}, at: blk_mq_dispatch_rq_list+0x131c/0x1ee0
      [  414.376377]  #4: ffff888106205a08 (&hctx->dispatch_wait_lock){+.-.}-{2:2}, at: blk_mq_dispatch_rq_list+0x1337/0x1ee0
      [  414.378607]
                     stack backtrace:
      [  414.379177] CPU: 0 PID: 1152 Comm: kworker/u10:3 Not tainted 6.6.0-07439-gba2303cacfda #6
      [  414.380032] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
      [  414.381177] Workqueue: writeback wb_workfn (flush-253:0)
      [  414.381805] Call Trace:
      [  414.382136]  <TASK>
      [  414.382429]  dump_stack_lvl+0x91/0xf0
      [  414.382884]  mark_lock_irq+0xb3b/0x1260
      [  414.383367]  ? __pfx_mark_lock_irq+0x10/0x10
      [  414.383889]  ? stack_trace_save+0x8e/0xc0
      [  414.384373]  ? __pfx_stack_trace_save+0x10/0x10
      [  414.384903]  ? graph_lock+0xcf/0x410
      [  414.385350]  ? save_trace+0x3d/0xc70
      [  414.385808]  mark_lock.part.20+0x56d/0xa90
      [  414.386317]  mark_held_locks+0xb0/0x110
      [  414.386791]  ? __pfx_do_raw_spin_lock+0x10/0x10
      [  414.387320]  lockdep_hardirqs_on_prepare+0x297/0x3f0
      [  414.387901]  ? _raw_spin_unlock_irq+0x28/0x50
      [  414.388422]  trace_hardirqs_on+0x58/0x100
      [  414.388917]  _raw_spin_unlock_irq+0x28/0x50
      [  414.389422]  __blk_mq_tag_busy+0x1d6/0x2a0
      [  414.389920]  __blk_mq_get_driver_tag+0x761/0x9f0
      [  414.390899]  blk_mq_dispatch_rq_list+0x1780/0x1ee0
      [  414.391473]  ? __pfx_blk_mq_dispatch_rq_list+0x10/0x10
      [  414.392070]  ? sbitmap_get+0x2b8/0x450
      [  414.392533]  ? __blk_mq_get_driver_tag+0x210/0x9f0
      [  414.393095]  __blk_mq_sched_dispatch_requests+0xd99/0x1690
      [  414.393730]  ? elv_attempt_insert_merge+0x1b1/0x420
      [  414.394302]  ? __pfx___blk_mq_sched_dispatch_requests+0x10/0x10
      [  414.394970]  ? lock_acquire+0x18d/0x460
      [  414.395456]  ? blk_mq_run_hw_queue+0x637/0xa00
      [  414.395986]  ? __pfx_lock_acquire+0x10/0x10
      [  414.396499]  blk_mq_sched_dispatch_requests+0x109/0x190
      [  414.397100]  blk_mq_run_hw_queue+0x66e/0xa00
      [  414.397616]  blk_mq_flush_plug_list.part.17+0x614/0x2030
      [  414.398244]  ? __pfx_blk_mq_flush_plug_list.part.17+0x10/0x10
      [  414.398897]  ? writeback_sb_inodes+0x241/0xcc0
      [  414.399429]  blk_mq_flush_plug_list+0x65/0x80
      [  414.399957]  __blk_flush_plug+0x2f1/0x530
      [  414.400458]  ? __pfx___blk_flush_plug+0x10/0x10
      [  414.400999]  blk_finish_plug+0x59/0xa0
      [  414.401467]  wb_writeback+0x7cc/0x920
      [  414.401935]  ? __pfx_wb_writeback+0x10/0x10
      [  414.402442]  ? mark_held_locks+0xb0/0x110
      [  414.402931]  ? __pfx_do_raw_spin_lock+0x10/0x10
      [  414.403462]  ? lockdep_hardirqs_on_prepare+0x297/0x3f0
      [  414.404062]  wb_workfn+0x2b3/0xcf0
      [  414.404500]  ? __pfx_wb_workfn+0x10/0x10
      [  414.404989]  process_scheduled_works+0x432/0x13f0
      [  414.405546]  ? __pfx_process_scheduled_works+0x10/0x10
      [  414.406139]  ? do_raw_spin_lock+0x101/0x2a0
      [  414.406641]  ? assign_work+0x19b/0x240
      [  414.407106]  ? lock_is_held_type+0x9d/0x110
      [  414.407604]  worker_thread+0x6f2/0x1160
      [  414.408075]  ? __kthread_parkme+0x62/0x210
      [  414.408572]  ? lockdep_hardirqs_on_prepare+0x297/0x3f0
      [  414.409168]  ? __kthread_parkme+0x13c/0x210
      [  414.409678]  ? __pfx_worker_thread+0x10/0x10
      [  414.410191]  kthread+0x33c/0x440
      [  414.410602]  ? __pfx_kthread+0x10/0x10
      [  414.411068]  ret_from_fork+0x4d/0x80
      [  414.411526]  ? __pfx_kthread+0x10/0x10
      [  414.411993]  ret_from_fork_asm+0x1b/0x30
      [  414.412489]  </TASK>
      
      When interrupt is turned on while a lock holding by spin_lock_irq it
      throws a warning because of potential deadlock.
      
      blk_mq_prep_dispatch_rq
       blk_mq_get_driver_tag
        __blk_mq_get_driver_tag
         __blk_mq_alloc_driver_tag
          blk_mq_tag_busy -> tag is already busy
          // failed to get driver tag
       blk_mq_mark_tag_wait
        spin_lock_irq(&wq->lock) -> lock A (&sbq->ws[i].wait)
        __add_wait_queue(wq, wait) -> wait queue active
        blk_mq_get_driver_tag
        __blk_mq_tag_busy
      -> 1) tag must be idle, which means there can't be inflight IO
         spin_lock_irq(&tags->lock) -> lock B (hctx->tags)
         spin_unlock_irq(&tags->lock) -> unlock B, turn on interrupt accidentally
      -> 2) context must be preempt by IO interrupt to trigger deadlock.
      
      As shown above, the deadlock is not possible in theory, but the warning
      still need to be fixed.
      
      Fix it by using spin_lock_irqsave to get lockB instead of spin_lock_irq.
      
      Fixes: 4f1731df ("blk-mq: fix potential io hang by wrong 'wake_batch'")
      Signed-off-by: default avatarLi Lingfeng <lilingfeng3@huawei.com>
      Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
      Reviewed-by: default avatarYu Kuai <yukuai3@huawei.com>
      Reviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
      Link: https://lore.kernel.org/r/20240815024736.2040971-1-lilingfeng@huaweicloud.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b313a8c8
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.11-2024-08-14' of... · 9370e430
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-6.11-2024-08-14' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-6.11-2024-08-14:
      
      amdgpu:
      - Fix MES ring buffer overflow
      - DCN 3.5 fix
      - DCN 3.2.1 fix
      - DP MST fix
      - Cursor fixes
      - JPEG fixes
      - Context ops validation
      - MES 12 fixes
      - VCN 5.0 fix
      - HDP fix
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240814213846.1331827-1-alexander.deucher@amd.com
      9370e430
  3. 15 Aug, 2024 5 commits
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.11-2024-08-15' of... · d7a5aa4b
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.11-2024-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
      
      Pull perf tools fixes from Namhyung Kim:
       "The usual header file sync-ups and one more build fix:
      
         - Add README file to explain why we copy the headers
      
         - Sync UAPI and other header files with kernel source
      
         - Fix build on MIPS 32-bit"
      
      * tag 'perf-tools-fixes-for-v6.11-2024-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools:
        perf daemon: Fix the build on 32-bit architectures
        tools/include: Sync arm64 headers with the kernel sources
        tools/include: Sync x86 headers with the kernel sources
        tools/include: Sync filesystem headers with the kernel sources
        tools/include: Sync network socket headers with the kernel sources
        tools/include: Sync uapi/asm-generic/unistd.h with the kernel sources
        tools/include: Sync uapi/sound/asound.h with the kernel sources
        tools/include: Sync uapi/linux/perf.h with the kernel sources
        tools/include: Sync uapi/linux/kvm.h with the kernel sources
        tools/include: Sync uapi/drm/i915_drm.h with the kernel sources
        perf tools: Add tools/include/uapi/README
      d7a5aa4b
    • Jens Axboe's avatar
      Merge tag 'md-6.11-20240815' of... · 50faba77
      Jens Axboe authored
      Merge tag 'md-6.11-20240815' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into block-6.11
      
      Pull MD fix from Song:
      
      "This patch fixes a potential data corruption in degraded raid0 array
       with slow (WriteMostly) drives. This issue was introduced in upstream
       6.9 kernel."
      
      * tag 'md-6.11-20240815' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md:
        md/raid1: Fix data corruption for degraded array with slow disk
      50faba77
    • Yu Kuai's avatar
      md/raid1: Fix data corruption for degraded array with slow disk · c916ca35
      Yu Kuai authored
      read_balance() will avoid reading from slow disks as much as possible,
      however, if valid data only lands in slow disks, and a new normal disk
      is still in recovery, unrecovered data can be read:
      
      raid1_read_request
       read_balance
        raid1_should_read_first
        -> return false
        choose_best_rdev
        -> normal disk is not recovered, return -1
        choose_bb_rdev
        -> missing the checking of recovery, return the normal disk
       -> read unrecovered data
      
      Root cause is that the checking of recovery is missing in
      choose_bb_rdev(). Hence add such checking to fix the problem.
      
      Also fix similar problem in choose_slow_rdev().
      
      Cc: stable@vger.kernel.org
      Fixes: 9f3ced79 ("md/raid1: factor out choose_bb_rdev() from read_balance()")
      Fixes: dfa8ecd1 ("md/raid1: factor out choose_slow_rdev() from read_balance()")
      Reported-and-tested-by: default avatarMateusz Jończyk <mat.jonczyk@o2.pl>
      Closes: https://lore.kernel.org/all/9952f532-2554-44bf-b906-4880b2e88e3a@o2.pl/Signed-off-by: default avatarYu Kuai <yukuai3@huawei.com>
      Link: https://lore.kernel.org/r/20240803091137.3197008-1-yukuai1@huaweicloud.comSigned-off-by: default avatarSong Liu <song@kernel.org>
      c916ca35
    • Palmer Dabbelt's avatar
      Merge patch series "RISC-V: hwprobe: Misaligned scalar perf fix and rename" · 32d5f7ad
      Palmer Dabbelt authored
      Evan Green <evan@rivosinc.com> says:
      
      The CPUPERF0 hwprobe key was documented and identified in code as
      a bitmask value, but its contents were an enum. This produced
      incorrect behavior in conjunction with the WHICH_CPUS hwprobe flag.
      The first patch in this series fixes the bitmask/enum problem by
      creating a new hwprobe key that returns the same data, but is
      properly described as a value instead of a bitmask. The second patch
      renames the value definitions in preparation for adding vector misaligned
      access info. As of this version, the old defines are kept in place to
      maintain source compatibility with older userspace programs.
      
      * b4-shazam-merge:
        RISC-V: hwprobe: Add SCALAR to misaligned perf defines
        RISC-V: hwprobe: Add MISALIGNED_PERF key
      
      Link: https://lore.kernel.org/r/20240809214444.3257596-1-evan@rivosinc.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      32d5f7ad
    • Alexandre Ghiti's avatar
      riscv: Fix out-of-bounds when accessing Andes per hart vendor extension array · e01d48c6
      Alexandre Ghiti authored
      The out-of-bounds access is reported by UBSAN:
      
      [    0.000000] UBSAN: array-index-out-of-bounds in ../arch/riscv/kernel/vendor_extensions.c:41:66
      [    0.000000] index -1 is out of range for type 'riscv_isavendorinfo [32]'
      [    0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 6.11.0-rc2ubuntu-defconfig #2
      [    0.000000] Hardware name: riscv-virtio,qemu (DT)
      [    0.000000] Call Trace:
      [    0.000000] [<ffffffff94e078ba>] dump_backtrace+0x32/0x40
      [    0.000000] [<ffffffff95c83c1a>] show_stack+0x38/0x44
      [    0.000000] [<ffffffff95c94614>] dump_stack_lvl+0x70/0x9c
      [    0.000000] [<ffffffff95c94658>] dump_stack+0x18/0x20
      [    0.000000] [<ffffffff95c8bbb2>] ubsan_epilogue+0x10/0x46
      [    0.000000] [<ffffffff95485a82>] __ubsan_handle_out_of_bounds+0x94/0x9c
      [    0.000000] [<ffffffff94e09442>] __riscv_isa_vendor_extension_available+0x90/0x92
      [    0.000000] [<ffffffff94e043b6>] riscv_cpufeature_patch_func+0xc4/0x148
      [    0.000000] [<ffffffff94e035f8>] _apply_alternatives+0x42/0x50
      [    0.000000] [<ffffffff95e04196>] apply_boot_alternatives+0x3c/0x100
      [    0.000000] [<ffffffff95e05b52>] setup_arch+0x85a/0x8bc
      [    0.000000] [<ffffffff95e00ca0>] start_kernel+0xa4/0xfb6
      
      The dereferencing using cpu should actually not happen, so remove it.
      
      Fixes: 23c996fc ("riscv: Extend cpufeature.c to detect vendor extensions")
      Signed-off-by: default avatarAlexandre Ghiti <alexghiti@rivosinc.com>
      Link: https://lore.kernel.org/r/20240814192619.276794-1-alexghiti@rivosinc.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      e01d48c6