1. 22 Feb, 2023 2 commits
  2. 31 Jan, 2023 13 commits
    • Andreas Gruenbacher's avatar
      gfs2: Improve gfs2_make_fs_rw error handling · b66f723b
      Andreas Gruenbacher authored
      In gfs2_make_fs_rw(), make sure to call gfs2_consist() to report an
      inconsistency and mark the filesystem as withdrawn when
      gfs2_find_jhead() fails.
      
      At the end of gfs2_make_fs_rw(), when we discover that the filesystem
      has been withdrawn, make sure we report an error.  This also replaces
      the gfs2_withdrawn() check after gfs2_find_jhead().
      Reported-by: default avatarTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      Cc: syzbot+f51cb4b9afbd87ec06f2@syzkaller.appspotmail.com
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      b66f723b
    • Bob Peterson's avatar
      Revert "GFS2: free disk inode which is deleted by remote node -V2" · 445cb127
      Bob Peterson authored
      This reverts commit 970343cd ("GFS2: free disk inode which is
      deleted by remote node -V2").
      
      The original intent behind commit 970343cd was to cull dentries when a
      remote node requests to demote an iopen glock, which happens when the
      remote node tries to delete the inode.  This is now handled by
      gfs2_try_evict(), which is called via iopen_go_callback() ->
      gfs2_queue_try_to_evict().
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      445cb127
    • Andreas Gruenbacher's avatar
      gfs2: Evict inodes cooperatively · b88beb9a
      Andreas Gruenbacher authored
      Add a gfs2_evict_inodes() helper that evicts inodes cooperatively across
      the cluster.  This avoids running into timeouts during unmount
      unnecessarily.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      b88beb9a
    • Andreas Gruenbacher's avatar
      gfs2: Flush delete work before shrinking inode cache · 6b388abc
      Andreas Gruenbacher authored
      In gfs2_kill_sb(), flush the delete work queue after setting the
      SDF_DEACTIVATING flag.  This ensures that no new inodes will be
      instantiated anymore, and the inode cache will be empty after the
      following kill_block_super() -> generic_shutdown_super() ->
      evict_inodes() call.
      
      With that, function gfs2_make_fs_ro() now calls gfs2_flush_delete_work()
      after the workqueue has been destroyed.  Skip that by checking for the
      presence of the SDF_DEACTIVATING flag.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      6b388abc
    • Bob Peterson's avatar
      gfs2: Cease delete work during unmount · 6c0246a9
      Bob Peterson authored
      Add a check to delete_work_func() so that it quits when it finds that
      the filesystem is deactivating.  This speeds up the delete workqueue
      draining in gfs2_kill_sb().
      
      In addition, make sure that iopen_go_callback() won't queue any new
      delete work while the filesystem is deactivating.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      6c0246a9
    • Bob Peterson's avatar
      gfs2: Add SDF_DEACTIVATING super block flag · 1c900151
      Bob Peterson authored
      Add a new SDF_DEACTIVATING super block flag that is set when the
      filesystem has started to deactivate. This will be used in the next
      patch to stop and drain the delete work during unmount.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      1c900151
    • Bob Peterson's avatar
      gfs2: check gl_object in rgrp glops · fd5f446f
      Bob Peterson authored
      Function gfs2_clear_rgrpd() is called during unmount to free all rgrps
      and their sub-objects. If the rgrp glock is held (e.g. in SH) it calls
      gfs2_glock_cb() to unlock, then calls flush_delayed_work() to make
      sure any glock work is finished. However, there is a race with other
      cluster nodes who may request the rgrp glock in another mode (say, EX).
      
      Func gfs2_clear_rgrpd() calls glock_clear_object() which sets gl_object
      to NULL but that's done without holding the gl_lockref spin_lock.
      While the lock is not held Another node's demote request can cause the
      state machine to run again, and since the gl_lockref is released in
      do_xmote, the second process's call to do_xmote can call go_inval
      (rgrp_go_inval) after the gl_object has been cleared, which results in
      NULL pointer reference of the rgrp glock's gl_object.
      
      Other go_inval glops functions don't require the gl_object to exist, as
      evidenced by function inode_go_inval() which explicitly checks for if
      (ip) before referencing gl_object. This patch does the same thing
      for rgrp glocks. Both the go_inval and go_sync ops are patched to check
      the existence of gl_object (rgd) before trying to dereference it.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      fd5f446f
    • Andreas Gruenbacher's avatar
      gfs2: Split the two kinds of glock "delete" work · f0e56edc
      Andreas Gruenbacher authored
      Function delete_work_func() is used for two purposes:
      
       * to immediately try to evict the glock's inode, and
      
       * to verify after a little while that the inode has been deleted as
         expected, and didn't just get skipped.
      
      These two operations are not separated very well, so introduce two new
      glock flags to improved that.  Split gfs2_queue_delete_work() into
      gfs2_queue_try_to_evict and gfs2_queue_verify_evict().
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      f0e56edc
    • Andreas Gruenbacher's avatar
      gfs2: Move delete workqueue into super block · 0247f4e9
      Andreas Gruenbacher authored
      Move the global delete workqueue into struct gfs2_sbd so that we can
      flush / drain it without interfering with other filesystems.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      0247f4e9
    • Andreas Gruenbacher's avatar
      gfs2: Get rid of GLF_PENDING_DELETE flag · 3056dc46
      Andreas Gruenbacher authored
      Get rid of the GLF_PENDING_DELETE glock flag introduced by commit
      a0e3cc65 ("gfs2: Turn gl_delete into a delayed work").  The only use
      of that flag is to prevent the iopen glock from being demoted (i.e.,
      unlocked) while delete work is pending.  It turns out that demoting the
      iopen glock while delete work is pending is perfectly fine; we only need
      to make sure that the glock isn't being freed while still in use.  This
      is ensured by the previous patch because delete_work_func() owns a
      reference while the work is queued or running.
      
      With these changes, gfs2_queue_delete_work() no longer takes the glock
      spin lock, so we can use it in iopen_go_callback() instead of
      open-coding it there.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      3056dc46
    • Andreas Gruenbacher's avatar
      gfs2: Make glock lru list scanning safer · 228804a3
      Andreas Gruenbacher authored
      In __gfs2_glock_put(), remove the glock from the lru list *after*
      dropping the glock lock.  This prevents deadlocks against
      gfs2_scan_glock_lru().
      
      In gfs2_scan_glock_lru(), make sure that the glock's reference count is
      zero before moving the glock to the dispose list.  This skips glocks
      that are marked dead as well as glocks that are still in use.
      Additionally, switch to spin_trylock() as we already do in
      gfs2_dispose_glock_lru(); this alone would also be enough to prevent
      deadlocks against __gfs2_glock_put().
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      228804a3
    • Andreas Gruenbacher's avatar
      gfs2: Clean up gfs2_scan_glock_lru · 8fb8f70e
      Andreas Gruenbacher authored
      Switch to list_for_each_entry_safe() and eliminate the "skipped" list in
      gfs2_scan_glock_lru().
      
      At the same time, scan the requested number of items to scan, not one
      more than that number.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      8fb8f70e
    • Andreas Gruenbacher's avatar
      gfs2: Improve gfs2_upgrade_iopen_glock comment · 2d143955
      Andreas Gruenbacher authored
      Improve the comment describing the inode and iopen glock interactions
      and the glock poking related to inode evict.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      2d143955
  3. 27 Jan, 2023 1 commit
    • Andreas Gruenbacher's avatar
      gfs2: gl_object races fix · 9ffa1888
      Andreas Gruenbacher authored
      Function glock_clear_object() checks if the specified glock is still
      pointing at the right object and clears the gl_object pointer.  To
      handle the case of incompletely constructed inodes, glock_clear_object()
      also allows gl_object to be NULL.
      
      However, in the teardown case, when iget_failed() is called and the
      inode is removed from the inode hash, by the time we get to the
      glock_clear_object() calls in gfs2_put_super() and its helpers, we don't
      have exclusion against concurrent gfs2_inode_lookup() and
      gfs2_create_inode() calls, and the inode and iopen glocks may already be
      pointing at another inode, so the checks in glock_clear_object() are
      incorrect.
      
      To better handle this case, always completely disassociate an inode from
      its glocks before tearing it down.  In addition, get rid of a duplicate
      glock_clear_object() call in gfs2_evict_inode().  That way,
      glock_clear_object() will only ever be called when the glock points at
      the current inode, and the NULL check in glock_clear_object() can be
      removed.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      9ffa1888
  4. 24 Jan, 2023 1 commit
  5. 22 Jan, 2023 4 commits
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v6.2-rc4-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 3c006ad7
      Linus Torvalds authored
      Pull gfs2 writepage fix from Andreas Gruenbacher:
      
       - Fix a regression introduced by commit "gfs2: stop using
         generic_writepages in gfs2_ail1_start_one".
      
      * tag 'gfs2-v6.2-rc4-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        Revert "gfs2: stop using generic_writepages in gfs2_ail1_start_one"
      3c006ad7
    • Andreas Gruenbacher's avatar
      Revert "gfs2: stop using generic_writepages in gfs2_ail1_start_one" · 95ecbd0f
      Andreas Gruenbacher authored
      Commit b2b0a5e9 switched from generic_writepages() to
      filemap_fdatawrite_wbc() in gfs2_ail1_start_one() on the path to
      replacing ->writepage() with ->writepages() and eventually eliminating
      the former.  Function gfs2_ail1_start_one() is called from
      gfs2_log_flush(), our main function for flushing the filesystem log.
      
      Unfortunately, at least as implemented today, ->writepage() and
      ->writepages() are entirely different operations for journaled data
      inodes: while the former creates and submits transactions covering the
      data to be written, the latter flushes dirty buffers out to disk.
      
      With gfs2_ail1_start_one() now calling ->writepages(), we end up
      creating filesystem transactions while we are in the course of a log
      flush, which immediately deadlocks on the sdp->sd_log_flush_lock
      semaphore.
      
      Work around that by going back to how things used to work before commit
      b2b0a5e9 for now; figuring out a superior solution will take time we
      don't have available right now.  However ...
      
      Since the removal of generic_writepages() is imminent, open-code it
      here.  We're already inside a blk_start_plug() ...  blk_finish_plug()
      section here, so skip that part of the original generic_writepages().
      
      This reverts commit b2b0a5e9.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Acked-by: default avatarChristoph Hellwig <hch@lst.de>
      95ecbd0f
    • Linus Torvalds's avatar
      Linux 6.2-rc5 · 2241ab53
      Linus Torvalds authored
      2241ab53
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.2-2023-01-21' of git://git.kernel.dk/linux · 95f184d0
      Linus Torvalds authored
      Pull another io_uring fix from Jens Axboe:
       "Just a single fix for a regression that happened in this release due
        to a poll change. Normally I would've just deferred it to next week,
        but since the original fix got picked up by stable, I think it's
        better to just send this one off separately.
      
        The issue is around the poll race fix, and how it mistakenly also got
        applied to multishot polling. Those don't need the race fix, and we
        should not be doing any reissues for that case. Exhaustive test cases
        were written and committed to the liburing regression suite for the
        reported issue, and additions for similar issues"
      
      * tag 'io_uring-6.2-2023-01-21' of git://git.kernel.dk/linux:
        io_uring/poll: don't reissue in case of poll race on multishot request
      95f184d0
  6. 21 Jan, 2023 9 commits
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f6714402
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small char/misc and other subsystem driver fixes for
        6.2-rc5 to resolve a few reported issues. They include:
      
         - long time pending fastrpc fixes (should have gone into 6.1, my
           fault)
      
         - mei driver/bus fixes and new device ids
      
         - interconnect driver fixes for reported problems
      
         - vmci bugfix
      
         - w1 driver bugfixes for reported problems
      
        Almost all of these have been in linux-next with no reported problems,
        the rest have all passed 0-day bot testing in my tree and on the
        mailing lists where they have sat too long due to me taking a long
        time to catch up on my pending patch queue"
      
      * tag 'char-misc-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        VMCI: Use threaded irqs instead of tasklets
        misc: fastrpc: Pass bitfield into qcom_scm_assign_mem
        gsmi: fix null-deref in gsmi_get_variable
        misc: fastrpc: Fix use-after-free race condition for maps
        misc: fastrpc: Don't remove map on creater_process and device_release
        misc: fastrpc: Fix use-after-free and race in fastrpc_map_find
        misc: fastrpc: fix error code in fastrpc_req_mmap()
        mei: me: add meteor lake point M DID
        mei: bus: fix unlink on bus in error path
        w1: fix WARNING after calling w1_process()
        w1: fix deadloop in __w1_remove_master_device()
        comedi: adv_pci1760: Fix PWM instruction handling
        interconnect: qcom: rpm: Use _optional func for provider clocks
        interconnect: qcom: msm8996: Fix regmap max_register values
        interconnect: qcom: msm8996: Provide UFS clocks to A2NoC
        dt-bindings: interconnect: Add UFS clocks to MSM8996 A2NoC
      f6714402
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · c88a3114
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are three small driver and kernel core fixes for 6.2-rc5. They
        include:
      
         - potential gadget fixup in do_prlimit
      
         - device property refcount leak fix
      
         - test_async_probe bugfix for reported problem"
      
      * tag 'driver-core-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        prlimit: do_prlimit needs to have a speculation check
        driver core: Fix test_async_probe_init saves device in wrong array
        device property: fix of node refcount leak in fwnode_graph_get_next_endpoint()
      c88a3114
    • Linus Torvalds's avatar
      Merge tag 'staging-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · bb86d657
      Linus Torvalds authored
      Pull staging driver fix from Greg KH:
       "Here is a single staging driver fix for 6.2-rc5. It resolves a build
        issue reported and Fixed by Arnd in the vc04_services driver. It's
        been in linux-next this week with no reported problems"
      
      * tag 'staging-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: vchiq_arm: fix enum vchiq_status return types
      bb86d657
    • Linus Torvalds's avatar
      Merge tag 'tty-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · bd5cc6ee
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small tty and serial driver fixes for 6.2-rc5 that
        resolve a number of tiny reported issues and some new device ids. They
        include:
      
         - new device id for the exar serial driver
      
         - speakup tty driver bugfix
      
         - atmel serial driver baudrate fixup
      
         - stm32 serial driver bugfix and then revert as the bugfix broke the
           build. That will come back in a later pull request once it is all
           worked out properly.
      
         - amba-pl011 serial driver rs486 mode bugfix
      
         - qcom_geni serial driver bugfix
      
        Most of these have been in linux-next with no reported problems (well,
        other than the build breakage which generated the revert), the new
        device id passed 0-day testing"
      
      * tag 'tty-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: exar: Add support for Sealevel 7xxxC serial cards
        Revert "serial: stm32: Merge hard IRQ and threaded IRQ handling into single IRQ handler"
        tty: serial: qcom_geni: avoid duplicate struct member init
        serial: atmel: fix incorrect baudrate setup
        tty: fix possible null-ptr-defer in spk_ttyio_release
        serial: stm32: Merge hard IRQ and threaded IRQ handling into single IRQ handler
        serial: amba-pl011: fix high priority character transmission in rs486 mode
        serial: pch_uart: Pass correct sg to dma_unmap_sg()
        tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer
      bd5cc6ee
    • Linus Torvalds's avatar
      Merge tag 'usb-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e67da288
      Linus Torvalds authored
      Pull USB / Thunderbolt fixes from Greg KH:
       "Here are a number of small USB and Thunderbolt driver fixes and new
        device id changes for 6.2-rc5. Included in here are:
      
         - thunderbolt bugfixes for reported problems
      
         - new usb-serial driver ids added
      
         - onboard_hub usb driver fixes for much-reported problems
      
         - xhci bugfixes
      
         - typec bugfixes
      
         - ehci-fsl driver module alias fix
      
         - iowarrior header size fix
      
         - usb gadget driver fixes
      
        All of these, except for the iowarrior fix, have been in linux-next
        with no reported issues. The iowarrior fix passed the 0-day testing
        and is a one digit change based on a reported problem in the driver
        (which was written to a spec, not the real device that is now
        available)"
      
      * tag 'usb-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (40 commits)
        USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100
        usb: host: ehci-fsl: Fix module alias
        usb: dwc3: fix extcon dependency
        usb: core: hub: disable autosuspend for TI TUSB8041
        USB: fix misleading usb_set_intfdata() kernel doc
        usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
        USB: gadget: Add ID numbers to configfs-gadget driver names
        usb: typec: tcpm: Fix altmode re-registration causes sysfs create fail
        usb: gadget: g_webcam: Send color matching descriptor per frame
        usb: typec: altmodes/displayport: Use proper macro for pin assignment check
        usb: typec: altmodes/displayport: Fix pin assignment calculation
        usb: typec: altmodes/displayport: Add pin assignment helper
        usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
        usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
        usb: misc: onboard_hub: Move 'attach' work to the driver
        usb: misc: onboard_hub: Invert driver registration order
        usb: ucsi: Ensure connector delayed work items are flushed
        usb: musb: fix error return code in omap2430_probe()
        usb: chipidea: core: fix possible constant 0 if use IS_ERR(ci->role_switch)
        xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables
        ...
      e67da288
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.2-3' of... · 83cd5fd0
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Hide LDFLAGS_vmlinux from decompressor Makefiles to fix error
         messages when GNU Make 4.4 is used.
      
       - Fix 'make modules' build error when CONFIG_DEBUG_INFO_BTF_MODULES=y.
      
       - Fix warnings emitted by GNU Make 4.4 in scripts/kconfig/Makefile.
      
       - Support GNU Make 4.4 for scripts/jobserver-exec.
      
       - Show clearer error message when kernel/gen_kheaders.sh fails due to
         missing cpio.
      
      * tag 'kbuild-fixes-v6.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kheaders: explicitly validate existence of cpio command
        scripts: support GNU make 4.4 in jobserver-exec
        kconfig: Update all declared targets
        scripts: rpm: make clear that mkspec script contains 4.13 feature
        init/Kconfig: fix LOCALVERSION_AUTO help text
        kbuild: fix 'make modules' error when CONFIG_DEBUG_INFO_BTF_MODULES=y
        kbuild: export top-level LDFLAGS_vmlinux only to scripts/Makefile.vmlinux
        init/version-timestamp.c: remove unneeded #include <linux/version.h>
        docs: kbuild: remove mention to dropped $(objtree) feature
      83cd5fd0
    • Linus Torvalds's avatar
      ext4: deal with legacy signed xattr name hash values · f3bbac32
      Linus Torvalds authored
      We potentially have old hashes of the xattr names generated on systems
      with signed 'char' types.  Now that everybody uses '-funsigned-char',
      those hashes will no longer match.
      
      This only happens if you use xattrs names that have the high bit set,
      which probably doesn't happen in practice, but the xfstest generic/454
      shows it.
      
      Instead of adding a new "signed xattr hash filesystem" bit and having to
      deal with all the possible combinations, just calculate the hash both
      ways if the first one fails, and always generate new hashes with the
      proper unsigned char version.
      Reported-by: default avatarkernel test robot <oliver.sang@intel.com>
      Link: https://lore.kernel.org/oe-lkp/202212291509.704a11c9-oliver.sang@intel.com
      Link: https://lore.kernel.org/all/CAHk-=whUNjwqZXa-MH9KMmc_CpQpoFKFjAB9ZKHuu=TbsouT4A@mail.gmail.com/
      Exposed-by: 3bc753c0 ("kbuild: treat char as always unsigned")
      Cc: Eric Biggers <ebiggers@kernel.org>
      Cc: Andreas Dilger <adilger@dilger.ca>
      Cc: Theodore Ts'o <tytso@mit.edu>,
      Cc: Jason Donenfeld <Jason@zx2c4.com>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f3bbac32
    • Greg Kroah-Hartman's avatar
      prlimit: do_prlimit needs to have a speculation check · 73979060
      Greg Kroah-Hartman authored
      do_prlimit() adds the user-controlled resource value to a pointer that
      will subsequently be dereferenced.  In order to help prevent this
      codepath from being used as a spectre "gadget" a barrier needs to be
      added after checking the range.
      Reported-by: default avatarJordy Zomer <jordyzomer@google.com>
      Tested-by: default avatarJordy Zomer <jordyzomer@google.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linuxfoundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      73979060
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · f883675b
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix a potential race condition and always set GPIOs used as interrupt
         source to input in gpio-mxc
      
       - fix a GPIO ACPI-related issue with system suspend on Clevo NL5xRU
      
      * tag 'gpio-fixes-for-v6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xRU
        gpiolib: acpi: Allow ignoring wake capability on pins that aren't in _AEI
        gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode
        gpio: mxc: Protect GPIO irqchip RMW with bgpio spinlock
      f883675b
  7. 20 Jan, 2023 10 commits
    • Linus Torvalds's avatar
      Merge tag '6.2-rc4-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 4e31bada
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
      
       - important fix for packet signature calculation error
      
       - three fixes to correct DFS deadlock, and DFS refresh problem
      
       - remove an unused DFS function, and duplicate tcon refresh code
      
       - DFS cache lookup fix
      
       - uninitialized rc fix
      
      * tag '6.2-rc4-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: remove unused function
        cifs: do not include page data when checking signature
        cifs: fix return of uninitialized rc in dfs_cache_update_tgthint()
        cifs: handle cache lookup errors different than -ENOENT
        cifs: remove duplicate code in __refresh_tcon()
        cifs: don't take exclusive lock for updating target hints
        cifs: avoid re-lookups in dfs_cache_find()
        cifs: fix potential deadlock in cache_refresh_path()
      4e31bada
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 8440ffcd
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
      
       - Compilation fix for Sunplus sp7021
      
       - Add some missing headers after a cleanup to the Nomadik driver
      
       - Fix pull type and mux routes on Rockchip RK3568
      
      * tag 'pinctrl-v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: rockchip: fix mux route data for rk3568
        pinctrl: rockchip: fix reading pull type on rk3568
        pinctrl: nomadik: Add missing header(s)
        pinctrl: sp7021: fix unused function warning
      8440ffcd
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 8974efaa
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
      
       - Several hfi1 patches fixing some long standing driver bugs
      
       - Overflow when working with sg lists with elements greater than 4G
      
       - An rxe regression with object numbering after the mrs reach their
         limit
      
       - A theoretical problem with the scatterlist merging code
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        lib/scatterlist: Fix to calculate the last_pg properly
        IB/hfi1: Remove user expected buffer invalidate race
        IB/hfi1: Immediately remove invalid memory from hardware
        IB/hfi1: Fix expected receive setup error exit issues
        IB/hfi1: Reserve user expected TIDs
        IB/hfi1: Reject a zero-length user expected buffer
        RDMA/core: Fix ib block iterator counter overflow
        RDMA/rxe: Prevent faulty rkey generation
        RDMA/rxe: Fix inaccurate constants in rxe_type_info
      8974efaa
    • Jens Axboe's avatar
      io_uring/poll: don't reissue in case of poll race on multishot request · 8caa03f1
      Jens Axboe authored
      A previous commit fixed a poll race that can occur, but it's only
      applicable for multishot requests. For a multishot request, we can safely
      ignore a spurious wakeup, as we never leave the waitqueue to begin with.
      
      A blunt reissue of a multishot armed request can cause us to leak a
      buffer, if they are ring provided. While this seems like a bug in itself,
      it's not really defined behavior to reissue a multishot request directly.
      It's less efficient to do so as well, and not required to rearm anything
      like it is for singleshot poll requests.
      
      Cc: stable@vger.kernel.org
      Fixes: 6e5aedb9 ("io_uring/poll: attempt request issue after racy poll wakeup")
      Reported-and-tested-by: default avatarOlivier Langlois <olivier@trillion01.com>
      Link: https://github.com/axboe/liburing/issues/778Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      8caa03f1
    • Linus Torvalds's avatar
      Merge tag 'block-6.2-2023-01-20' of git://git.kernel.dk/linux · edc00350
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Various little tweaks all over the place:
      
         - NVMe pull request via Christoph:
             - fix controller shutdown regression in nvme-apple (Janne Grunau)
             - fix a polling on timeout regression in nvme-pci (Keith Busch)
      
         - Fix a bug in the read request side request allocation caching
           (Pavel)
      
         - pktcdvd was brought back after we configured a NULL return on bio
           splits, make it consistent with the others (me)
      
         - BFQ refcount fix (Yu)
      
         - Block cgroup policy activation fix (Yu)
      
         - Fix for an md regression introduced in the 6.2 cycle (Adrian)"
      
      * tag 'block-6.2-2023-01-20' of git://git.kernel.dk/linux:
        nvme-pci: fix timeout request state check
        nvme-apple: only reset the controller when RTKit is running
        nvme-apple: reset controller during shutdown
        block: fix hctx checks for batch allocation
        block/rnbd-clt: fix wrong max ID in ida_alloc_max
        blk-cgroup: fix missing pd_online_fn() while activating policy
        pktcdvd: check for NULL returna fter calling bio_split_to_limits()
        block, bfq: switch 'bfqg->ref' to use atomic refcount apis
        md: fix incorrect declaration about claim_rdev in md_import_device
      edc00350
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.2-2023-01-20' of git://git.kernel.dk/linux · 9c38747f
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Fixes for the MSG_RING opcode. Nothing really major:
      
         - Fix an overflow missing serialization around posting CQEs to the
           target ring (me)
      
         - Disable MSG_RING on a ring that isn't enabled yet. There's nothing
           really wrong with allowing it, but 1) it's somewhat odd as nobody
           can receive them yet, and 2) it means that using the right delivery
           mechanism might change. As nobody should be sending CQEs to a ring
           that isn't enabled yet, let's just disable it (Pavel)
      
         - Tweak to when we decide to post remotely or not for MSG_RING
           (Pavel)"
      
      * tag 'io_uring-6.2-2023-01-20' of git://git.kernel.dk/linux:
        io_uring/msg_ring: fix remote queue to disabled ring
        io_uring/msg_ring: fix flagging remote execution
        io_uring/msg_ring: fix missing lock on overflow for IOPOLL
        io_uring/msg_ring: move double lock/unlock helpers higher up
      9c38747f
    • Linus Torvalds's avatar
      Merge tag 'for-6.2-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 26e57507
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - fix potential out-of-bounds access to leaf data when seeking in an
         inline file
      
       - fix potential crash in quota when rescan races with disable
      
       - reimplement super block signature scratching by marking page/folio
         dirty and syncing block device, allow removing write_one_page
      
      * tag 'for-6.2-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix race between quota rescan and disable leading to NULL pointer deref
        btrfs: fix invalid leaf access due to inline extent during lseek
        btrfs: stop using write_one_page in btrfs_scratch_superblock
        btrfs: factor out scratching of one regular super block
      26e57507
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-fixes-6.2-rc5' of... · d9166cb3
      Linus Torvalds authored
      Merge tag 'linux-kselftest-fixes-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest fix from Shuah Khan:
       "Fix an error seen during unconfigured LLVM builds"
      
      * tag 'linux-kselftest-fixes-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kselftest: Fix error message for unconfigured LLVM builds
      d9166cb3
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · dc181759
      Linus Torvalds authored
      Pull thermal control fix from Rafael Wysocki:
       "Modify __thermal_cooling_device_register() to make it call
        put_device() after invoking device_register() and fix up a few error
        paths calling thermal_cooling_device_destroy_sysfs() unnecessarily
        (Viresh Kumar)"
      
      * tag 'thermal-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: core: call put_device() only after device_register() fails
      dc181759
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fe563a2c
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These update the ACPICA entry in MAINTAINERS, add a backlight handling
        quirk and fix the ACPI PRM (platform runtime) mechanism support.
      
        Specifics:
      
         - Update the ACPICA development list address in MAINTAINERS to the
           new one that does not bounce (Rafael Wysocki)
      
         - Check whether EFI runtime is available when registering the ACPI
           PRM address space handler and when running it (Ard Biesheuvel)
      
         - Add backlight=native DMI quirk for Acer Aspire 4810T to the ACPI
           video driver (Hans de Goede)"
      
      * tag 'acpi-6.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: PRM: Check whether EFI runtime is available
        ACPI: video: Add backlight=native DMI quirk for Acer Aspire 4810T
        MAINTAINERS: Update the ACPICA development list address
      fe563a2c