1. 15 Jun, 2024 1 commit
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.10-rc4' of https://github.com/awilliam/linux-vfio · 68132b35
      Linus Torvalds authored
      Pull VFIO fixes from Alex Williamson:
       "Fix long standing lockdep issue of using remap_pfn_range() from the
        vfio-pci fault handler for mapping device MMIO. Commit ba168b52
        ("mm: use rwsem assertion macros for mmap_lock") now exposes this as a
        warning forcing this to be addressed.
      
        remap_pfn_range() was used here to efficiently map the entire vma, but
        it really never should have been used in the fault handler and doesn't
        handle concurrency, which introduced complex locking. We also needed
        to track vmas mapping the device memory in order to zap those vmas
        when the memory is disabled resulting in a vma list.
      
        Instead of all that mess, setup an address space on the device fd
        such that we can use unmap_mapping_range() for zapping to avoid the
        tracking overhead and use the standard vmf_insert_pfn() to insert
        mappings on fault.
      
        For now we'll iterate the vma and opportunistically try to insert
        mappings for the entire vma. This aligns with typical use cases, but
        hopefully in the future we can drop the iterative approach and make
        use of huge_fault instead, once vmf_insert_pfn{pud,pmd}() learn to
        handle pfnmaps"
      
      * tag 'vfio-v6.10-rc4' of https://github.com/awilliam/linux-vfio:
        vfio/pci: Insert full vma on mmap'd MMIO fault
        vfio/pci: Use unmap_mapping_range()
        vfio: Create vfio_fs_type with inode per device
      68132b35
  2. 14 Jun, 2024 10 commits
    • Linus Torvalds's avatar
      Merge tag 'block-6.10-20240614' of git://git.kernel.dk/linux · c286c21f
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
           - Discard double free on error conditions (Chunguang)
           - Target Fixes (Daniel)
           - Namespace detachment regression fix (Keith)
      
       - Fix for an issue with flush requests and queuelist reuse (Chengming)
      
       - nbd sparse annotation fixes (Christoph)
      
       - unmap and free bio mapped data via submitter (Anuj)
      
       - loop discard/fallocate unsupported fix (Cyril)
      
       - Fix for the zoned write plugging added in this release (Damien)
      
       - sed-opal wrong address fix (Su)
      
      * tag 'block-6.10-20240614' of git://git.kernel.dk/linux:
        loop: Disable fallocate() zero and discard if not supported
        nvme: fix namespace removal list
        nbd: Remove __force casts
        nvmet: always initialize cqe.result
        nvmet-passthru: propagate status from id override functions
        nvme: avoid double free special payload
        block: unmap and free user mapped integrity via submitter
        block: fix request.queuelist usage in flush
        block: Optimize disk zone resource cleanup
        block: sed-opal: avoid possible wrong address reference in read_sed_opal_key()
      c286c21f
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.10-20240614' of git://git.kernel.dk/linux · ac3cb72a
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Two fixes from Pavel headed to stable:
      
         - Ensure that the task state is correct before attempting to grab a
           mutex
      
         - Split cancel sequence flag into a separate variable, as it can get
           set by someone not owning the request (but holding the ctx lock)"
      
      * tag 'io_uring-6.10-20240614' of git://git.kernel.dk/linux:
        io_uring: fix cancellation overwriting req->flags
        io_uring/rsrc: don't lock while !TASK_RUNNING
      ac3cb72a
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 0b320c86
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Three obvious driver fixes and two core fixes.
      
        The two core fixes are to disable Command Duration Limits by default
        to fix an inconsistency in SATA and some USB devices. The other is to
        change the default read size for block zero to follow the device
        preference (some USB bridges preferring 16 byte commands don't have a
        translation for READ(10) and thus don't scan properly)"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: mpi3mr: Fix ATA NCQ priority support
        scsi: ufs: core: Quiesce request queues before checking pending cmds
        scsi: core: Disable CDL by default
        scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory
        scsi: sd: Use READ(16) when reading block zero on large capacity disks
      0b320c86
    • Linus Torvalds's avatar
      Merge tag 'iommu-fix-v6.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 11100273
      Linus Torvalds authored
      Pull iommu fix from Joerg Roedel:
       "A single patch that fixes a regression which several people reported:
      
         - AMD-Vi: Fix regression causing panics"
      
      * tag 'iommu-fix-v6.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix panic accessing amd_iommu_enable_faulting
      11100273
    • Linus Torvalds's avatar
      Merge tag 'pm-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0cac73eb
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "Restore the behavior of the no_turbo sysfs attribute in the
        intel_pstate driver which allowed users to make the driver start using
        turbo P-states if they have been enabled on the fly by the firmware
        after OS initialization (Rafael Wysocki)"
      
      * tag 'pm-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: intel_pstate: Check turbo_is_disabled() in store_no_turbo()
      0cac73eb
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 94df82fe
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These fix a recent regression in the ACPI EC driver and make system
        suspend work on multiple platforms where StorageD3Enable _DSD is
        missing in the ACPI tables.
      
        Specifics:
      
         - Make the ACPI EC driver directly evaluate an "orphan" _REG method
           under the EC device, if present, which stopped being evaluated
           after the driver had started to install its EC address space
           handler at the root of the ACPI namespace (Rafael Wysocki)
      
         - Make more devices put NVMe storage devices into D3 at suspend to
           work around missing StorageD3Enable _DSD in the BIOS (Mario
           Limonciello)"
      
      * tag 'acpi-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: EC: Evaluate orphan _REG under EC device
        ACPI: x86: Force StorageD3Enable on more products
      94df82fe
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · cee84c0b
      Linus Torvalds authored
      Pull thermal control fixes from Rafael Wysocki:
       "These fix three issues introduced recently, two related to defects in
        ACPI tables supplied by the platform firmware and one cause by a
        thermal core change that went too far:
      
         - Prevent the thermal core from failing the registration of a cooling
           device if its .get_cur_state() reports an incorrect state to start
           with which may happen for fans handled through firmware-supplied
           AML in ACPI tables (Rafael Wysocki)
      
         - Make the ACPI thermal zone driver initialize all trip points with
           temperature of 0 centigrade and below as invalid because such trip
           point temperatures do not make sense on systems with ACPI thermal
           control and they cause performance regressions due to permanent
           thermal mitigations to occur (Rafael Wysocki)
      
         - Restore passive polling management in the Step-Wise thermal
           governor that uses it to ensure that all cooling devices used for
           thermal mitigation will go back to their initial states eventually
           (Rafael Wysocki)"
      
      * tag 'thermal-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: gov_step_wise: Restore passive polling management
        thermal: ACPI: Invalidate trip points with temperature of 0 or below
        thermal: core: Do not fail cdev registration because of invalid initial state
      cee84c0b
    • Rafael J. Wysocki's avatar
      Merge branch acpi-x86 · 04f82fbb
      Rafael J. Wysocki authored
      Merge a fix for a suspend issue related to storage handling on multiple
      systems based on AMD hardware:
      
       - Make more devices put NVMe storage devices into D3 at suspend to work
         around missing StorageD3Enable _DSD in the BIOS (Mario Limonciello).
      
      * branch acpi-x86:
        ACPI: x86: Force StorageD3Enable on more products
      04f82fbb
    • Cyril Hrubis's avatar
      loop: Disable fallocate() zero and discard if not supported · 5f75e081
      Cyril Hrubis authored
      If fallcate is implemented but zero and discard operations are not
      supported by the filesystem the backing file is on we continue to fill
      dmesg with errors from the blk_mq_end_request() since each time we call
      fallocate() on the loop device the EOPNOTSUPP error from lo_fallocate()
      ends up propagated into the block layer. In the end syscall succeeds
      since the blkdev_issue_zeroout() falls back to writing zeroes which
      makes the errors even more misleading and confusing.
      
      How to reproduce:
      
      1. make sure /tmp is mounted as tmpfs
      2. dd if=/dev/zero of=/tmp/disk.img bs=1M count=100
      3. losetup /dev/loop0 /tmp/disk.img
      4. mkfs.ext2 /dev/loop0
      5. dmesg |tail
      
      [710690.898214] operation not supported error, dev loop0, sector 204672 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.898279] operation not supported error, dev loop0, sector 522 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.898603] operation not supported error, dev loop0, sector 16906 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.898917] operation not supported error, dev loop0, sector 32774 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.899218] operation not supported error, dev loop0, sector 49674 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.899484] operation not supported error, dev loop0, sector 65542 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.899743] operation not supported error, dev loop0, sector 82442 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.900015] operation not supported error, dev loop0, sector 98310 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.900276] operation not supported error, dev loop0, sector 115210 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      [710690.900546] operation not supported error, dev loop0, sector 131078 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
      
      This patch changes the lo_fallocate() to clear the flags for zero and
      discard operations if we get EOPNOTSUPP from the backing file fallocate
      callback, that way we at least stop spewing errors after the first
      unsuccessful try.
      
      CC: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarCyril Hrubis <chrubis@suse.cz>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Link: https://lore.kernel.org/r/20240613163817.22640-1-chrubis@suse.czSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      5f75e081
    • Pavel Begunkov's avatar
      io_uring: fix cancellation overwriting req->flags · f4a1254f
      Pavel Begunkov authored
      Only the current owner of a request is allowed to write into req->flags.
      Hence, the cancellation path should never touch it. Add a new field
      instead of the flag, move it into the 3rd cache line because it should
      always be initialised. poll_refs can move further as polling is an
      involved process anyway.
      
      It's a minimal patch, in the future we can and should find a better
      place for it and remove now unused REQ_F_CANCEL_SEQ.
      
      Fixes: 521223d7 ("io_uring/cancel: don't default to setting req->work.cancel_seq")
      Cc: stable@vger.kernel.org
      Reported-by: default avatarLi Shi <sl1589472800@gmail.com>
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Link: https://lore.kernel.org/r/6827b129f8f0ad76fa9d1f0a773de938b240ffab.1718323430.git.asml.silence@gmail.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      f4a1254f
  3. 13 Jun, 2024 17 commits
  4. 12 Jun, 2024 12 commits