Skip to content
  1. Mar 19, 2024
    • Conrad Kostecki's avatar
      ahci: asm1064: asm1166: don't limit reported ports · 6cd8adc3
      Conrad Kostecki authored
      
      
      Previously, patches have been added to limit the reported count of SATA
      ports for asm1064 and asm1166 SATA controllers, as those controllers do
      report more ports than physically having.
      
      While it is allowed to report more ports than physically having in CAP.NP,
      it is not allowed to report more ports than physically having in the PI
      (Ports Implemented) register, which is what these HBAs do.
      (This is a AHCI spec violation.)
      
      Unfortunately, it seems that the PMP implementation in these ASMedia HBAs
      is also violating the AHCI and SATA-IO PMP specification.
      
      What these HBAs do is that they do not report that they support PMP
      (CAP.SPM (Supports Port Multiplier) is not set).
      
      Instead, they have decided to add extra "virtual" ports in the PI register
      that is used if a port multiplier is connected to any of the physical
      ports of the HBA.
      
      Enumerating the devices behind the PMP as specified in the AHCI and
      SATA-IO specifications, by using PMP READ and PMP WRITE commands to the
      physical ports of the HBA is not possible, you have to use the "virtual"
      ports.
      
      This is of course bad, because this gives us no way to detect the device
      and vendor ID of the PMP actually connected to the HBA, which means that
      we can not apply the proper PMP quirks for the PMP that is connected to
      the HBA.
      
      Limiting the port map will thus stop these controllers from working with
      SATA Port Multipliers.
      
      This patch reverts both patches for asm1064 and asm1166, so old behavior
      is restored and SATA PMP will work again, but it will also reintroduce the
      (minutes long) extra boot time for the ASMedia controllers that do not
      have a PMP connected (either on the PCIe card itself, or an external PMP).
      
      However, a longer boot time for some, is the lesser evil compared to some
      other users not being able to detect their drives at all.
      
      Fixes: 0077a504 ("ahci: asm1166: correct count of reported ports")
      Fixes: 9815e396 ("ahci: asm1064: correct count of reported ports")
      Cc: stable@vger.kernel.org
      Reported-by: default avatarMatt <cryptearth@googlemail.com>
      Signed-off-by: default avatarConrad Kostecki <conikost@gentoo.org>
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      [cassel: rewrote commit message]
      Signed-off-by: default avatarNiklas Cassel <cassel@kernel.org>
      6cd8adc3
    • Linus Torvalds's avatar
      Merge tag 'dlm-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · b3603fcb
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
      
       - Fix mistaken variable assignment that caused a refcounting problem
      
       - Revert a recent change that began using atomic counters where they
         were not needed (for lkb wait_count)
      
       - Add comments around forced state reset for waiting lock operations
         during recovery
      
      * tag 'dlm-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: add comments about forced waiters reset
        dlm: revert atomic_t lkb_wait_count
        dlm: fix user space lkb refcounting
      b3603fcb
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 6207b37e
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Very small update this cycle:
      
         - Minor code improvements in fi, rxe, ipoib, mana, cxgb4, mlx5,
           irdma, rxe, rtrs, mana
      
         - Simplify the hns hem mechanism
      
         - Fix EFA's MSI-X allocation in resource constrained configurations
      
         - Fix a KASN splat in srpt
      
         - Narrow hns's congestion control selection to QPs granularity and
           allow userspace to select it
      
         - Solve a parallel module loading race between the CM module and a
           driver module
      
         - Flexible array cleanup
      
         - Dump hns's SCC Conext to 'rdma res' for debugging
      
         - Make mana build page lists for HW objects that require a 0 offset
           correctly
      
         - Stuck CM ID debugging"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (29 commits)
        RDMA/cm: add timeout to cm_destroy_id wait
        RDMA/mana_ib: Use virtual address in dma regions for MRs
        RDMA/mana_ib: Fix bug in creation of dma regions
        RDMA/hns: Append SCC context to the raw dump of QPC
        RDMA/uverbs: Avoid -Wflex-array-member-not-at-end warnings
        RDMA/hns: Support userspace configuring congestion control algorithm with QP granularity
        RDMA/rtrs-clt: Check strnlen return len in sysfs mpath_policy_store()
        RDMA/uverbs: Remove flexible arrays from struct *_filter
        RDMA/device: Fix a race between mad_client and cm_client init
        RDMA/hns: Fix mis-modifying default congestion control algorithm
        RDMA/rxe: Remove unused 'iova' parameter from rxe_mr_init_user
        RDMA/srpt: Do not register event handler until srpt device is fully setup
        RDMA/irdma: Remove duplicate assignment
        RDMA/efa: Limit EQs to available MSI-X vectors
        RDMA/mlx5: Delete unused mlx5_ib_copy_pas prototype
        RDMA/cxgb4: Delete unused c4iw_ep_redirect prototype
        RDMA/mana_ib: Introduce mana_ib_install_cq_cb helper function
        RDMA/mana_ib: Introduce mana_ib_get_netdev helper function
        RDMA/mana_ib: Introduce mdev_to_gc helper function
        RDMA/hns: Simplify 'struct hns_roce_hem' allocation
        ...
      6207b37e
    • Linus Torvalds's avatar
      Merge tag 'ktest-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 65b64246
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
      
       - Allow variables to contain variables. This makes the shell commands
         have a bit more flexibility to reuse existing variables.
      
       - Have make_warnings_file in build-only mode require limited variables
      
         The make_warnings_file test will create a file with all existing
         warnings (which can be used to compare against in builds with new
         commits). Add it to the build-only list that doesn't require other
         variables (like how to reset a machine), as the make_warnings_file
         makes the most sense on build only tests.
      
      * tag 'ktest-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: force $buildonly = 1 for 'make_warnings_file' test type
        ktest.pl: Process variables within variables
      65b64246
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · ad584d73
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "Main user visible change:
      
         - User events can now have "multi formats"
      
           The current user events have a single format. If another event is
           created with a different format, it will fail to be created. That
           is, once an event name is used, it cannot be used again with a
           different format. This can cause issues if a library is using an
           event and updates its format. An application using the older format
           will prevent an application using the new library from registering
           its event.
      
           A task could also DOS another application if it knows the event
           names, and it creates events with different formats.
      
           The multi-format event is in a different name space from the single
           format. Both the event name and its format are the unique
           identifier. This will allow two different applications to use the
           same user event name but with different payloads.
      
         - Added support to have ftrace_dump_on_oops dump out instances and
           not just the main top level tracing buffer.
      
        Other changes:
      
         - Add eventfs_root_inode
      
           Only the root inode has a dentry that is static (never goes away)
           and stores it upon creation. There's no reason that the thousands
           of other eventfs inodes should have a pointer that never gets set
           in its descriptor. Create a eventfs_root_inode desciptor that has a
           eventfs_inode descriptor and a dentry pointer, and only the root
           inode will use this.
      
         - Added WARN_ON()s in eventfs
      
           There's some conditionals remaining in eventfs that should never be
           hit, but instead of removing them, add WARN_ON() around them to
           make sure that they are never hit.
      
         - Have saved_cmdlines allocation also include the map_cmdline_to_pid
           array
      
           The saved_cmdlines structure allocates a large amount of data to
           hold its mappings. Within it, it has three arrays. Two are already
           apart of it: map_pid_to_cmdline[] and saved_cmdlines[]. More memory
           can be saved by also including the map_cmdline_to_pid[] array as
           well.
      
         - Restructure __string() and __assign_str() macros used in
           TRACE_EVENT()
      
           Dynamic strings in TRACE_EVENT() are declared with:
      
               __string(name, source)
      
           And assigned with:
      
              __assign_str(name, source)
      
           In the tracepoint callback of the event, the __string() is used to
           get the size needed to allocate on the ring buffer and
           __assign_str() is used to copy the string into the ring buffer.
           There's a helper structure that is created in the TRACE_EVENT()
           macro logic that will hold the string length and its position in
           the ring buffer which is created by __string().
      
           There are several trace events that have a function to create the
           string to save. This function is executed twice. Once for
           __string() and again for __assign_str(). There's no reason for
           this. The helper structure could also save the string it used in
           __string() and simply copy that into __assign_str() (it also
           already has its length).
      
           By using the structure to store the source string for the
           assignment, it means that the second argument to __assign_str() is
           no longer needed.
      
           It will be removed in the next merge window, but for now add a
           warning if the source string given to __string() is different than
           the source string given to __assign_str(), as the source to
           __assign_str() isn't even used and will be going away.
      
         - Added checks to make sure that the source of __string() is also the
           source of __assign_str() so that it can be safely removed in the
           next merge window.
      
           Included fixes that the above check found.
      
         - Other minor clean ups and fixes"
      
      * tag 'trace-v6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (34 commits)
        tracing: Add __string_src() helper to help compilers not to get confused
        tracing: Use strcmp() in __assign_str() WARN_ON() check
        tracepoints: Use WARN() and not WARN_ON() for warnings
        tracing: Use div64_u64() instead of do_div()
        tracing: Support to dump instance traces by ftrace_dump_on_oops
        tracing: Remove second parameter to __assign_rel_str()
        tracing: Add warning if string in __assign_str() does not match __string()
        tracing: Add __string_len() example
        tracing: Remove __assign_str_len()
        ftrace: Fix most kernel-doc warnings
        tracing: Decrement the snapshot if the snapshot trigger fails to register
        tracing: Fix snapshot counter going between two tracers that use it
        tracing: Use EVENT_NULL_STR macro instead of open coding "(null)"
        tracing: Use ? : shortcut in trace macros
        tracing: Do not calculate strlen() twice for __string() fields
        tracing: Rework __assign_str() and __string() to not duplicate getting the string
        cxl/trace: Properly initialize cxl_poison region name
        net: hns3: tracing: fix hclgevf trace event strings
        drm/i915: Add missing ; to __assign_str() macros in tracepoint code
        NFSD: Fix nfsd_clid_class use of __string_len() macro
        ...
      ad584d73
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl · 2cb5c868
      Linus Torvalds authored
      Pull sysctl updates from Joel Granados:
       "No functional changes - additional testing is required for the rest of
        the pending changes.
      
         - New shared repo for sysctl maintenance
      
         - check-sysctl-docs adjustment for API changes by Thomas Weißschuh"
      
      * tag 'sysctl-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl:
        scripts: check-sysctl-docs: handle per-namespace sysctls
        ipc: remove linebreaks from arguments of __register_sysctl_table
        scripts: check-sysctl-docs: adapt to new API
        MAINTAINERS: Update sysctl tree location
      2cb5c868
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.9-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · bf3a69c6
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "One fix, one cleanup...
      
        Fix: Julia Lawall pointed out a null pointer dereference.
      
        Cleanup: Vlastimil Babka sent me a patch to remove some SLAB related
        code"
      
      * tag 'for-linus-6.9-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        Julia Lawall reported this null pointer dereference, this should fix it.
        fs/orangefs: remove ORANGEFS_CACHE_CREATE_FLAGS
      bf3a69c6
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · c5d9ab85
      Linus Torvalds authored
      Pull f2fs update from Jaegeuk Kim:
       "In this round, there are a number of updates on mainly two areas:
        Zoned block device support and Per-file compression. For example,
        we've found several issues to support Zoned block device especially
        having large sections regarding to GC and file pinning used for
        Android devices. In compression side, we've fixed many corner race
        conditions that had broken the design assumption.
      
        Enhancements:
         - Support file pinning for Zoned block device having large section
         - Enhance the data recovery after sudden power cut on Zoned block
           device
         - Add more error injection cases to easily detect the kernel panics
         - add a proc entry show the entire disk layout
         - Improve various error paths paniced by BUG_ON in block allocation
           and GC
         - support SEEK_DATA and SEEK_HOLE for compression files
      
        Bug fixes:
         - avoid use-after-free issue in f2fs_filemap_fault
         - fix some race conditions to break the atomic write design
           assumption
         - fix to truncate meta inode pages forcely
         - resolve various per-file compression issues wrt the space
           management and compression policies
         - fix some swap-related bugs
      
        In addition, we removed deprecated codes such as io_bits and
        heap_allocation, and also fixed minor error handling routines with
        neat debugging messages"
      
      * tag 'f2fs-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (60 commits)
        f2fs: fix to avoid use-after-free issue in f2fs_filemap_fault
        f2fs: truncate page cache before clearing flags when aborting atomic write
        f2fs: mark inode dirty for FI_ATOMIC_COMMITTED flag
        f2fs: prevent atomic write on pinned file
        f2fs: fix to handle error paths of {new,change}_curseg()
        f2fs: unify the error handling of f2fs_is_valid_blkaddr
        f2fs: zone: fix to remove pow2 check condition for zoned block device
        f2fs: fix to truncate meta inode pages forcely
        f2fs: compress: fix reserve_cblocks counting error when out of space
        f2fs: compress: relocate some judgments in f2fs_reserve_compress_blocks
        f2fs: add a proc entry show disk layout
        f2fs: introduce SEGS_TO_BLKS/BLKS_TO_SEGS for cleanup
        f2fs: fix to check return value of f2fs_gc_range
        f2fs: fix to check return value __allocate_new_segment
        f2fs: fix to do sanity check in update_sit_entry
        f2fs: fix to reset fields for unloaded curseg
        f2fs: clean up new_curseg()
        f2fs: relocate f2fs_precache_extents() in f2fs_swap_activate()
        f2fs: fix blkofs_end correctly in f2fs_migrate_blocks()
        f2fs: ro: don't start discard thread for readonly image
        ...
      c5d9ab85
    • Linus Torvalds's avatar
      Merge tag 'ovl-fixes-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs · 0d7ca657
      Linus Torvalds authored
      Pull overlayfs fixes from Amir Goldstein:
       "Only minor fixes:
      
         - Fix uncalled for WARN_ON from v6.8-rc1
      
         - Fix the overlayfs MAINTAINERS entry"
      
      * tag 'ovl-fixes-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs:
        ovl: relax WARN_ON in ovl_verify_area()
        MAINTAINERS: update overlayfs git tree
      0d7ca657
    • Linus Torvalds's avatar
      Merge tag 'vfs-6.9-rc1.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 0a7b0ace
      Linus Torvalds authored
      Pull vfs fixes from Christian Brauner:
       "This contains a few small fixes for this merge window:
      
         - Undo the hiding of silly-rename files in afs. If they're hidden
           they can't be deleted by rm manually anymore causing regressions
      
         - Avoid caching the preferred address for an afs server to avoid
           accidently overriding an explicitly specified preferred server
           address
      
         - Fix bad stat() and rmdir() interaction in afs
      
         - Take a passive reference on the superblock when opening a block
           device so the holder is available to concurrent callers from the
           block layer
      
         - Clear private data pointer in fscache_begin_operation() to avoid it
           being falsely treated as valid"
      
      * tag 'vfs-6.9-rc1.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        fscache: Fix error handling in fscache_begin_operation()
        fs,block: get holder during claim
        afs: Fix occasional rmdir-then-VNOVNODE with generic/011
        afs: Don't cache preferred address
        afs: Revert "afs: Hide silly-rename files from userspace"
      0a7b0ace
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2024-03-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4ae3dc83
      Linus Torvalds authored
      Pull irq fix from Ingo Molnar:
       "A RISC-V irqchip driver fix"
      
      * tag 'irq-urgent-2024-03-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/riscv-intc: Fix use of AIA interrupts 32-63 on riscv32
      4ae3dc83
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 5574aaa3
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Two regression fixes that had been introduced in this merge window,
        additional HD-audio quirks, and a further enhancement for the new
        kunit"
      
      * tag 'sound-fix-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: core: add kunitconfig
        ALSA: hda/realtek: add in quirk for Acer Swift Go 16 - SFG16-71
        Revert "ALSA: usb-audio: Name feature ctl using output if input is PCM"
        ALSA: timer: Fix missing irq-disable at closing
        ALSA: hda/realtek: Add quirk for Lenovo Yoga 9 14IMH9
      5574aaa3
  2. Mar 18, 2024