1. 23 May, 2023 4 commits
    • Takashi Iwai's avatar
      ALSA: rawmidi: Skip UMP devices at SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE · 127ae6f6
      Takashi Iwai authored
      Applications may look for rawmidi devices with the ioctl
      SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE.  Returning a UMP device from this
      ioctl may confuse the existing applications that support only the
      legacy rawmidi.
      
      This patch changes the code to skip the UMP devices from the lookup
      for avoiding the confusion, and introduces a new ioctl to look for the
      UMP devices instead.
      
      Along with this change, bump the CTL protocol version to 2.0.9.
      Reviewed-by: default avatarJaroslav Kysela <perex@perex.cz>
      Link: https://lore.kernel.org/r/20230523075358.9672-5-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      127ae6f6
    • Takashi Iwai's avatar
      ALSA: rawmidi: UMP support · e3a8a5b7
      Takashi Iwai authored
      This patch adds the support helpers for UMP (Universal MIDI Packet) in
      ALSA core.
      
      The basic design is that a rawmidi instance is assigned to each UMP
      Endpoint.  A UMP Endpoint provides a UMP stream, typically
      bidirectional (but can be also uni-directional, too), which may hold
      up to 16 UMP Groups, where each UMP (input/output) Group corresponds
      to the traditional MIDI I/O Endpoint.
      
      Additionally, the ALSA UMP abstraction provides the multiple UMP
      Blocks that can be assigned to each UMP Endpoint.  A UMP Block is a
      metadata to hold the UMP Group clusters, and can represent the
      functions assigned to each UMP Group.  A typical implementation of UMP
      Block is the Group Terminal Blocks of USB MIDI 2.0 specification.
      
      For distinguishing from the legacy byte-stream MIDI device, a new
      device "umpC*D*" will be created, instead of the standard (MIDI 1.0)
      devices "midiC*D*".  The UMP instance can be identified by the new
      rawmidi info bit SNDRV_RAWMIDI_INFO_UMP, too.
      
      A UMP rawmidi device reads/writes only in 4-bytes words alignment,
      stored in CPU native endianness.
      
      The transmit and receive functions take care of the input/out data
      alignment, and may return zero or aligned size, and the params ioctl
      may return -EINVAL when the given input/output buffer size isn't
      aligned.
      
      A few new UMP-specific ioctls are added for obtaining the new UMP
      endpoint and block information.
      
      As of this commit, no ALSA sequencer instance is attached to UMP
      devices yet.  They will be supported by later patches.
      
      Along with those changes, the protocol version for rawmidi is bumped
      to 2.0.3.
      Reviewed-by: default avatarJaroslav Kysela <perex@perex.cz>
      Link: https://lore.kernel.org/r/20230523075358.9672-4-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e3a8a5b7
    • Takashi Iwai's avatar
      ALSA: rawmidi: Add ioctl callback to snd_rawmidi_global_ops · fb3bd121
      Takashi Iwai authored
      A new callback, ioctl, is added to snd_rawmidi_global_ops for allowing
      the driver to deal with the own ioctls.  This is another preparation
      patch for the upcoming UMP support.
      Reviewed-by: default avatarJaroslav Kysela <perex@perex.cz>
      Link: https://lore.kernel.org/r/20230523075358.9672-3-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fb3bd121
    • Takashi Iwai's avatar
      ALSA: rawmidi: Pass rawmidi directly to snd_rawmidi_kernel_open() · 09b62892
      Takashi Iwai authored
      snd_rawmidi_kernel_open() is used only internally from ALSA sequencer,
      so far, and parsing the card / device matching table at each open is
      redundant, as each sequencer client already gets the rawmidi object
      beforehand.
      
      This patch optimizes the path by passing the rawmidi object directly
      at snd_rawmidi_kernel_open().  This is also a preparation for the
      upcoming UMP rawmidi I/O support.
      Reviewed-by: default avatarJaroslav Kysela <perex@perex.cz>
      Link: https://lore.kernel.org/r/20230523075358.9672-2-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      09b62892
  2. 14 May, 2023 13 commits
  3. 13 May, 2023 17 commits
  4. 12 May, 2023 6 commits
    • Borislav Petkov (AMD)'s avatar
      x86/retbleed: Fix return thunk alignment · 9a48d604
      Borislav Petkov (AMD) authored
      SYM_FUNC_START_LOCAL_NOALIGN() adds an endbr leading to this layout
      (leaving only the last 2 bytes of the address):
      
        3bff <zen_untrain_ret>:
        3bff:       f3 0f 1e fa             endbr64
        3c03:       f6                      test   $0xcc,%bl
      
        3c04 <__x86_return_thunk>:
        3c04:       c3                      ret
        3c05:       cc                      int3
        3c06:       0f ae e8                lfence
      
      However, "the RET at __x86_return_thunk must be on a 64 byte boundary,
      for alignment within the BTB."
      
      Use SYM_START instead.
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9a48d604
    • Linus Torvalds's avatar
      Merge tag 'for-6.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 76c7f887
      Linus Torvalds authored
      Pull more btrfs fixes from David Sterba:
      
       - fix incorrect number of bitmap entries for space cache if loading is
         interrupted by some error
      
       - fix backref walking, this breaks a mode of LOGICAL_INO_V2 ioctl that
         is used in deduplication tools
      
       - zoned mode fixes:
            - properly finish zone reserved for relocation
            - correctly calculate super block zone end on ZNS
            - properly initialize new extent buffer for redirty
      
       - make mount option clear_cache work with block-group-tree, to rebuild
         free-space-tree instead of temporarily disabling it that would lead
         to a forced read-only mount
      
       - fix alignment check for offset when printing extent item
      
      * tag 'for-6.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: make clear_cache mount option to rebuild FST without disabling it
        btrfs: zero the buffer before marking it dirty in btrfs_redirty_list_add
        btrfs: zoned: fix full zone super block reading on ZNS
        btrfs: zoned: zone finish data relocation BG with last IO
        btrfs: fix backref walking not returning all inode refs
        btrfs: fix space cache inconsistency after error loading it from disk
        btrfs: print-tree: parent bytenr must be aligned to sector size
      76c7f887
    • Linus Torvalds's avatar
      Merge tag '6.4-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · fd88f147
      Linus Torvalds authored
      Pull cifs client fixes from Steve French:
      
       - fix for copy_file_range bug for very large files that are multiples
         of rsize
      
       - do not ignore "isolated transport" flag if set on share
      
       - set rasize default better
      
       - three fixes related to shutdown and freezing (fixes 4 xfstests, and
         closes deferred handles faster in some places that were missed)
      
      * tag '6.4-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: release leases for deferred close handles when freezing
        smb3: fix problem remounting a share after shutdown
        SMB3: force unmount was failing to close deferred close files
        smb3: improve parallel reads of large files
        do not reuse connection if share marked as isolated
        cifs: fix pcchunk length type in smb2_copychunk_range
      fd88f147
    • Linus Torvalds's avatar
      Merge tag 'vfs/v6.4-rc1/pipe' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs · df8c2d13
      Linus Torvalds authored
      Pull vfs fix from Christian Brauner:
       "During the pipe nonblock rework the check for both O_NONBLOCK and
        IOCB_NOWAIT was dropped. Both checks need to be performed to ensure
        that files without O_NONBLOCK but IOCB_NOWAIT don't block when writing
        to or reading from a pipe.
      
        This just contains the fix adding the check for IOCB_NOWAIT back in"
      
      * tag 'vfs/v6.4-rc1/pipe' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs:
        pipe: check for IOCB_NOWAIT alongside O_NONBLOCK
      df8c2d13
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.4-2023-05-12' of git://git.kernel.dk/linux · 584dc5db
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "Just a single fix making io_uring_sqe_cmd() available regardless of
        CONFIG_IO_URING, fixing a regression introduced during the merge
        window if nvme was selected but io_uring was not"
      
      * tag 'io_uring-6.4-2023-05-12' of git://git.kernel.dk/linux:
        io_uring: make io_uring_sqe_cmd() unconditionally available
      584dc5db
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · ed6a75e3
      Linus Torvalds authored
      Pull RISC-V fix from Palmer Dabbelt:
       "Just a single fix this week for a build issue. That'd usually be a
        good sign, but we've started to get some reports of boot failures on
        some hardware/bootloader configurations. Nothing concrete yet, but
        I've got a funny feeling that's where much of the bug hunting is going
        right now.
      
        Nothing's reproducing on my end, though, and this fixes some pretty
        concrete issues so I figured there's no reason to delay it:
      
         - a fix to the linker script to avoid orpahaned sections in
           kernel/pi"
      
      * tag 'riscv-for-linus-6.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: Fix orphan section warnings caused by kernel/pi
      ed6a75e3