1. 19 May, 2022 7 commits
    • Dai Ngo's avatar
      NFSD: add courteous server support for thread with only delegation · 66af2579
      Dai Ngo authored
      This patch provides courteous server support for delegation only.
      Only expired client with delegation but no conflict and no open
      or lock state is allowed to be in COURTESY state.
      
      Delegation conflict with COURTESY/EXPIRABLE client is resolved by
      setting it to EXPIRABLE, queue work for the laundromat and return
      delay to the caller. Conflict is resolved when the laudromat runs
      and expires the EXIRABLE client while the NFS client retries the
      OPEN request. Local thread request that gets conflict is doing the
      retry in _break_lease.
      
      Client in COURTESY or EXPIRABLE state is allowed to reconnect and
      continues to have access to its state. Access to the nfs4_client by
      the reconnecting thread and the laundromat is serialized via the
      client_lock.
      Reviewed-by: default avatarJ. Bruce Fields <bfields@fieldses.org>
      Signed-off-by: default avatarDai Ngo <dai.ngo@oracle.com>
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      66af2579
    • Chuck Lever's avatar
      SUNRPC: Remove svc_rqst::rq_xprt_hlen · 983084b2
      Chuck Lever authored
      Clean up: This field is now always set to zero.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      983084b2
    • Chuck Lever's avatar
      SUNRPC: Remove dead code in svc_tcp_release_rqst() · 4af8b42e
      Chuck Lever authored
      Clean up: svc_tcp_sendto() always sets rq_xprt_ctxt to NULL.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      4af8b42e
    • Chuck Lever's avatar
      SUNRPC: Make cache_req::thread_wait an unsigned long · 0b6c14bd
      Chuck Lever authored
      The second parameter of wait_for_completion_interruptible_timeout()
      is a jiffies value whose type is "unsigned long". Avoid an
      unnecessary and potentially fraught implicit type conversion at the
      wait_for_completion_interruptible_timeout() call site in
      cache_wait_req().
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      0b6c14bd
    • Chuck Lever's avatar
      SUNRPC: Cache deferral injection · 37324e6b
      Chuck Lever authored
      Cache deferral injection stress-tests the cache deferral logic as
      well as upper layer protocol deferred request handlers. This
      facility is for developers and professional testers to ensure
      coverage of the rqst deferral code paths. To date, we haven't
      had an adequate way to ensure these code paths are covered
      during testing, short of temporary code changes to force their
      use.
      
      A file called /sys/kernel/debug/fail_sunrpc/ignore-cache-wait
      enables administrators to disable cache deferral injection while
      allowing other types of sunrpc errors to be injected. The default
      setting is that cache deferral injection is enabled (ignore=false).
      
      To enable support for cache deferral injection,
      CONFIG_FAULT_INJECTION, CONFIG_FAULT_INJECTION_DEBUG_FS, and
      CONFIG_SUNRPC_DEBUG must all be set to "Y".
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      37324e6b
    • Chuck Lever's avatar
      SUNRPC: Clean up svc_deferred_class trace events · 45cb7955
      Chuck Lever authored
      Replace the temporary fix from commit 4d500445 ("SUNRPC: Fix the
      svc_deferred_event trace class") with the use of __sockaddr and
      friends, which is the preferred solution (but only available in 5.18
      and newer).
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      45cb7955
    • Chuck Lever's avatar
      NFSD: Clean up nfsd_splice_actor() · 91e23b1c
      Chuck Lever authored
      nfsd_splice_actor() checks that the page being spliced does not
      match the previous element in the svc_rqst::rq_pages array. We
      believe this is to prevent a double put_page() in cases where the
      READ payload is partially contained in the xdr_buf's head buffer.
      
      However, the NFSD READ proc functions no longer place any part of
      the READ payload in the head buffer, in order to properly support
      NFS/RDMA READ with Write chunks. Therefore, simplify the logic in
      nfsd_splice_actor() to remove this unnecessary check.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      91e23b1c
  2. 16 May, 2022 1 commit
  3. 15 May, 2022 8 commits
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.18-rc7' of... · 0cdd776e
      Linus Torvalds authored
      Merge tag 'driver-core-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg KH:
       "Here is one fix, and three documentation updates for 5.18-rc7.
      
        The fix is for the firmware loader which resolves a long-reported
        problem where the credentials of the firmware loader could be set to a
        userspace process without enough permissions to actually load the
        firmware image. Many Android vendors have been reporting this for
        quite some time.
      
        The documentation updates are for the embargoed-hardware-issues.rst
        file to add a new entry, change an existing one, and sort the list to
        make changes easier in the future.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'driver-core-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        Documentation/process: Update ARM contact for embargoed hardware issues
        Documentation/process: Add embargoed HW contact for Ampere Computing
        Documentation/process: Make groups alphabetical and use tabs consistently
        firmware_loader: use kernel credentials when reading firmware
      0cdd776e
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 5becde60
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are two small driver fixes for 5.18-rc7 that resolve reported
        problems:
      
         - slimbus driver irq bugfix
      
         - interconnect sync state bugfix
      
        Both of these have been in linux-next with no reported problems"
      
      * tag 'char-misc-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        slimbus: qcom: Fix IRQ check in qcom_slim_probe
        interconnect: Restore sync state by ignoring ipa-virt in provider count
      5becde60
    • Linus Torvalds's avatar
      Merge tag 'tty-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 6811a466
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small tty n_gsm and serial driver fixes for 5.18-rc7
        that resolve reported problems. They include:
      
         - n_gsm fixes for reported issues
      
         - 8250_mtk driver fixes for some platforms
      
         - fsl_lpuart driver fix for reported problem.
      
         - digicolor driver fix for reported problem.
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'tty-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        fsl_lpuart: Don't enable interrupts too early
        tty: n_gsm: fix invalid gsmtty_write_room() result
        tty: n_gsm: fix mux activation issues in gsm_config()
        tty: n_gsm: fix buffer over-read in gsm_dlci_data()
        serial: 8250_mtk: Fix register address for XON/XOFF character
        serial: 8250_mtk: Make sure to select the right FEATURE_SEL
        serial: 8250_mtk: Fix UART_EFR register address
        tty/serial: digicolor: fix possible null-ptr-deref in digicolor_uart_probe()
      6811a466
    • Linus Torvalds's avatar
      Merge tag 'usb-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · fc49583c
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small fixes for reported issues with some USB drivers.
        They include:
      
         - xhci fixes for xhci-mtk platform driver
      
         - typec driver fixes for reported problems.
      
         - cdc-wdm read-stuck fix
      
         - gadget driver fix for reported race condition
      
         - new usb-serial driver ids
      
        All of these have been in linux-next with no reported problems"
      
      * tag 'usb-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: xhci-mtk: remove bandwidth budget table
        usb: xhci-mtk: fix fs isoc's transfer error
        usb: gadget: fix race when gadget driver register via ioctl
        usb: typec: tcpci_mt6360: Update for BMC PHY setting
        usb: gadget: uvc: allow for application to cleanly shutdown
        usb: typec: tcpci: Don't skip cleanup in .remove() on error
        usb: cdc-wdm: fix reading stuck on device close
        USB: serial: qcserial: add support for Sierra Wireless EM7590
        USB: serial: option: add Fibocom MA510 modem
        USB: serial: option: add Fibocom L610 modem
        USB: serial: pl2303: add device id for HP LM930 Display
      fc49583c
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.18-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · bc403203
      Linus Torvalds authored
      Pull powerpc fix from Michael Ellerman:
      
       - Fix KVM PR on 32-bit, which was broken by some MMU code refactoring.
      
      Thanks to: Alexander Graf, and Matt Evans.
      
      * tag 'powerpc-5.18-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        KVM: PPC: Book3S PR: Enable MSR_DR for switch_mmu_context()
      bc403203
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 79dc4fc2
      Linus Torvalds authored
      Pull x86 fix from Thomas Gleixner:
       "A single fix for the handling of unpopulated sub-pmd spaces.
      
        The copy & pasta from the corresponding s390 code screwed up the
        address calculation for marking the sub-pmd ranges via memset by
        omitting the ALIGN_DOWN() to calculate the proper start address.
      
        It's a mystery why this code is not generic and shared because there
        is nothing architecture specific in there, but that's too intrusive
        for a backportable fix"
      
      * tag 'x86-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Fix marking of unused sub-pmd ranges
      79dc4fc2
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 990e798d
      Linus Torvalds authored
      Pull scheduler fix from Thomas Gleixner:
       "The recent expansion of the sched switch tracepoint inserted a new
        argument in the middle of the arguments. This reordering broke BPF
        programs which relied on the old argument list.
      
        While tracepoints are not considered stable ABI, it's not trivial to
        make BPF cope with such a change, but it's being worked on. For now
        restore the original argument order and move the new argument to the
        end of the argument list"
      
      * tag 'sched-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/tracing: Append prev_state to tp args instead
      990e798d
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fb756280
      Linus Torvalds authored
      Pull irq fix from Thomas Gleixner:
       "A single fix for a recent (introduced in 5.16) regression in the core
        interrupt code.
      
        The consolidation of the interrupt handler invocation code added an
        unconditional warning when generic_handle_domain_irq() is invoked from
        outside hard interrupt context. That's overbroad as the requirement
        for invoking these handlers in hard interrupt context is only required
        for certain interrupt types. The subsequently called code already
        contains a warning which triggers conditionally for interrupt chips
        which indicate this requirement in their properties.
      
        Remove the overbroad one"
      
      * tag 'irq-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Remove WARN_ON_ONCE() in generic_handle_domain_irq()
      fb756280
  4. 14 May, 2022 1 commit
  5. 13 May, 2022 23 commits