1. 12 Nov, 2021 8 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2021-11-12' of git://anongit.freedesktop.org/drm/drm · 304ac803
      Linus Torvalds authored
      Pull more drm updates from Dave Airlie:
       "I missed a drm-misc-next pull for the main pull last week. It wasn't
        that major and isn't the bulk of this at all. This has a bunch of
        fixes all over, a lot for amdgpu and i915.
      
        bridge:
         - HPD improvments for lt9611uxc
         - eDP aux-bus support for ps8640
         - LVDS data-mapping selection support
      
        ttm:
         - remove huge page functionality (needs reworking)
         - fix a race condition during BO eviction
      
        panels:
         - add some new panels
      
        fbdev:
         - fix double-free
         - remove unused scrolling acceleration
         - CONFIG_FB dep improvements
      
        locking:
         - improve contended locking logging
         - naming collision fix
      
        dma-buf:
         - add dma_resv_for_each_fence iterator
         - fix fence refcounting bug
         - name locking fixesA
      
        prime:
         - fix object references during mmap
      
        nouveau:
         - various code style changes
         - refcount fix
         - device removal fixes
         - protect client list with a mutex
         - fix CE0 address calculation
      
        i915:
         - DP rates related fixes
         - Revert disabling dual eDP that was causing state readout problems
         - put the cdclk vtables in const data
         - Fix DVO port type for older platforms
         - Fix blankscreen by turning DP++ TMDS output buffers on encoder->shutdown
         - CCS FBs related fixes
         - Fix recursive lock in GuC submission
         - Revert guc_id from i915_request tracepoint
         - Build fix around dmabuf
      
        amdgpu:
         - GPU reset fix
         - Aldebaran fix
         - Yellow Carp fixes
         - DCN2.1 DMCUB fix
         - IOMMU regression fix for Picasso
         - DSC display fixes
         - BPC display calculation fixes
         - Other misc display fixes
         - Don't allow partial copy from user for DC debugfs
         - SRIOV fixes
         - GFX9 CSB pin count fix
         - Various IP version check fixes
         - DP 2.0 fixes
         - Limit DCN1 MPO fix to DCN1
      
        amdkfd:
         - SVM fixes
         - Fix gfx version for renoir
         - Reset fixes
      
        udl:
         - timeout fix
      
        imx:
         - circular locking fix
      
        virtio:
         - NULL ptr deref fix"
      
      * tag 'drm-next-2021-11-12' of git://anongit.freedesktop.org/drm/drm: (126 commits)
        drm/ttm: Double check mem_type of BO while eviction
        drm/amdgpu: add missed support for UVD IP_VERSION(3, 0, 64)
        drm/amdgpu: drop jpeg IP initialization in SRIOV case
        drm/amd/display: reject both non-zero src_x and src_y only for DCN1x
        drm/amd/display: Add callbacks for DMUB HPD IRQ notifications
        drm/amd/display: Don't lock connection_mutex for DMUB HPD
        drm/amd/display: Add comment where CONFIG_DRM_AMD_DC_DCN macro ends
        drm/amdkfd: Fix retry fault drain race conditions
        drm/amdkfd: lower the VAs base offset to 8KB
        drm/amd/display: fix exit from amdgpu_dm_atomic_check() abruptly
        drm/amd/amdgpu: fix the kfd pre_reset sequence in sriov
        drm/amdgpu: fix uvd crash on Polaris12 during driver unloading
        drm/i915/adlp/fb: Prevent the mapping of redundant trailing padding NULL pages
        drm/i915/fb: Fix rounding error in subsampled plane size calculation
        drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown()
        drm/locking: fix __stack_depot_* name conflict
        drm/virtio: Fix NULL dereference error in virtio_gpu_poll
        drm/amdgpu: fix SI handling in amdgpu_device_asic_has_dc_support()
        drm/amdgpu: Fix dangling kfd_bo pointer for shared BOs
        drm/amd/amdkfd: Don't sent command to HWS on kfd reset
        ...
      304ac803
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · f78e9de8
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "Just one new driver (Cypress StreetFighter touchkey), and no input
        core changes this time.
      
        Plus various fixes and enhancements to existing drivers"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (54 commits)
        Input: iforce - fix control-message timeout
        Input: wacom_i2c - use macros for the bit masks
        Input: ili210x - reduce sample period to 15ms
        Input: ili210x - improve polled sample spacing
        Input: ili210x - special case ili251x sample read out
        Input: elantench - fix misreporting trackpoint coordinates
        Input: synaptics-rmi4 - Fix device hierarchy
        Input: i8042 - Add quirk for Fujitsu Lifebook T725
        Input: cap11xx - add support for cap1206
        Input: remove unused header <linux/input/cy8ctmg110_pdata.h>
        Input: ili210x - add ili251x firmware update support
        Input: ili210x - export ili251x version details via sysfs
        Input: ili210x - use resolution from ili251x firmware
        Input: pm8941-pwrkey - respect reboot_mode for warm reset
        reboot: export symbol 'reboot_mode'
        Input: max77693-haptic - drop unneeded MODULE_ALIAS
        Input: cpcap-pwrbutton - do not set input parent explicitly
        Input: max8925_onkey - don't mark comment as kernel-doc
        Input: ads7846 - do not attempt IRQ workaround when deferring probe
        Input: ads7846 - use input_set_capability()
        ...
      f78e9de8
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 3b81bf78
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "This includes new ioctls to get and set parameters and in particular
        the backup switch mode that is needed for some RTCs to actually enable
        the backup voltage (and have a useful RTC).
      
        The same interface can also be used to get the actual features
        supported by the RTC so userspace has a better way than trying and
        failing.
      
        Summary:
      
        Subsystem:
         - Add new ioctl to get and set extra RTC parameters, this includes
           backup switch mode
         - Expose available features to userspace, in particular, when alarmas
           have a resolution of one minute instead of a second.
         - Let the core handle those alarms with a minute resolution
      
        New driver:
         - MSTAR MSC313 RTC
      
        Drivers:
         - Add SPI ID table where necessary
         - Add BSM support for rv3028, rv3032 and pcf8523
         - s3c: set RTC range
         - rx8025: set range, implement .set_offset and .read_offset"
      
      * tag 'rtc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (50 commits)
        rtc: rx8025: use .set_offset/.read_offset
        rtc: rx8025: use rtc_add_group
        rtc: rx8025: clear RTC_FEATURE_ALARM when alarm are not supported
        rtc: rx8025: set range
        rtc: rx8025: let the core handle the alarm resolution
        rtc: rx8025: switch to devm_rtc_allocate_device
        rtc: ab8500: let the core handle the alarm resolution
        rtc: ab-eoz9: support UIE when available
        rtc: ab-eoz9: use RTC_FEATURE_UPDATE_INTERRUPT
        rtc: rv3032: let the core handle the alarm resolution
        rtc: s35390a: let the core handle the alarm resolution
        rtc: handle alarms with a minute resolution
        rtc: pcf85063: silence cppcheck warning
        rtc: rv8803: fix writing back ctrl in flag register
        rtc: s3c: Add time range
        rtc: s3c: Extract read/write IO into separate functions
        rtc: s3c: Remove usage of devm_rtc_device_register()
        rtc: tps80031: Remove driver
        rtc: sun6i: Allow probing without an early clock provider
        rtc: pcf8523: add BSM support
        ...
      3b81bf78
    • Linus Torvalds's avatar
      Merge tag 'libata-5.16-rc1-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 204d32ef
      Linus Torvalds authored
      Pull more libata updates from Damien Le Moal:
       "Second round of updates for libata for 5.16:
      
         - Fix READ LOG EXT and READ LOG DMA EXT command timeouts during disk
           revalidation after a resume or a modprobe of the LLDD (me)
      
         - Remove unnecessary error message in sata_highbank driver (Xu)
      
         - Better handling of accesses to the IDENTIFY DEVICE data log for
           drives that do not support this log page (me)
      
         - Fix ahci_shost_attr_group declaration in ahci driver (me)"
      
      * tag 'libata-5.16-rc1-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        libata: libahci: declare ahci_shost_attr_group as static
        libata: add horkage for missing Identify Device log
        ata: sata_highbank: Remove unnecessary print function dev_err()
        libata: fix read log timeout value
      204d32ef
    • Sasha Levin's avatar
      tools/lib/lockdep: drop liblockdep · 7246f4dc
      Sasha Levin authored
      TL;DR: While a tool like liblockdep is useful, it probably doesn't
      belong within the kernel tree.
      
      liblockdep attempts to reuse kernel code both directly (by directly
      building the kernel's lockdep code) as well as indirectly (by using
      sanitized headers). This makes liblockdep an integral part of the
      kernel.
      
      It also makes liblockdep quite unique: while other userspace code might
      use sanitized headers, it generally doesn't attempt to use kernel code
      directly which means that changes on the kernel side of things don't
      affect (and break) it directly.
      
      All our workflows and tooling around liblockdep don't support this
      uniqueness. Changes that go into the kernel code aren't validated to not
      break in-tree userspace code.
      
      liblockdep ended up being very fragile, breaking over and over, to the
      point that living in the same tree as the lockdep code lost most of it's
      value.
      
      liblockdep should continue living in an external tree, syncing with
      the kernel often, in a controllable way.
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7246f4dc
    • Linus Torvalds's avatar
      thermal: int340x: fix build on 32-bit targets · d9c8e52f
      Linus Torvalds authored
      Commit aeb58c86 ("thermal/drivers/int340x: processor_thermal: Suppot
      64 bit RFIM responses") started using 'readq()' to read 64-bit status
      responses from the int340x hardware.
      
      That's all fine and good, but on 32-bit targets a 64-bit 'readq()' is
      ambiguous, since it's no longer an atomic access.  Some hardware might
      require 64-bit accesses, and other hardware might want low word first or
      high word first.
      
      It's quite likely that the driver isn't relevant in a 32-bit environment
      any more, and there's a patch floating around to just make it depend on
      X86_64, but let's make it buildable on x86-32 anyway.
      
      The driver previously just read the low 32 bits, so the hardware
      certainly is ok with 32-bit reads, and in a little-endian environment
      the low word first model is the natural one.
      
      So just add the include for the 'io-64-nonatomic-lo-hi.h' version.
      
      Fixes: aeb58c86 ("thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses")
      Reported-by: default avatarJakub Kicinski <kuba@kernel.org>
      Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d9c8e52f
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · efe6f16c
      Dmitry Torokhov authored
      Prepare input updates for 5.16 merge window.
      efe6f16c
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2021-11-11' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · b6c24725
      Dave Airlie authored
       * dma-buf: name_lock fixes
       * prime: Keep object ref during mmap
       * nouveau: Fix a refcount issue; Fix device removal; Protect client
         list with dedicated mutex; Fix address CE0 address calculation
       * ttm: Fix race condition during BO eviction
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/YYzY6jeox9EeI15i@linux-uq9g.fritz.box
      b6c24725
  2. 11 Nov, 2021 32 commits
    • Dave Airlie's avatar
      BackMerge tag 'v5.15' into drm-next · 447212bb
      Dave Airlie authored
      I got a drm-fixes which had some 5.15 stuff in it, so to avoid
      the mess just backmerge here.
      
      Linux 5.15
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      447212bb
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 5833291a
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
       "Revert conversion to struct device.driver instead of struct
        pci_dev.driver.
      
        The device.driver is set earlier, and using it caused the PCI core to
        call driver PM entry points before .probe() and after .remove(), when
        the driver isn't prepared.
      
        This caused NULL pointer dereferences in i2c_designware_pci and
        probably other driver issues"
      
      * tag 'pci-v5.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        Revert "PCI: Use to_pci_driver() instead of pci_dev->driver"
        Revert "PCI: Remove struct pci_dev->driver"
      5833291a
    • Damien Le Moal's avatar
      libata: libahci: declare ahci_shost_attr_group as static · 1b87bda1
      Damien Le Moal authored
      ahci_shost_attr_group is referenced only in drivers/ata/libahci.c.
      Declare it as static.
      
      Fixes: c3f69c7f ("scsi: ata: Switch to attribute groups")
      Cc: Bart Van Assche <bvanassche@acm.org>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      1b87bda1
    • Damien Le Moal's avatar
      libata: add horkage for missing Identify Device log · 636f6e2a
      Damien Le Moal authored
      ACS-3 introduced the ATA Identify Device Data log as mandatory. A
      warning message currently signals to the user if a device does not
      report supporting this log page in the log directory page, regardless
      of the ATA version of the device. Furthermore, this warning will appear
      for all attempts at accessing this missing log page during device
      revalidation.
      
      Since it is useless to constantly access the log directory and warn
      about this lack of support once we have discovered that the device
      does not support this log page, introduce the horkage flag
      ATA_HORKAGE_NO_ID_DEV_LOG to mark a device as lacking support for
      the Identify Device Data log page. Set this flag when
      ata_log_supported() returns false in ata_identify_page_supported().
      The warning is printed only if the device ATA level is 10 or above
      (ACS-3 or above), and only once on device scan. With this flag set, the
      log directory page is not accessed again to test for Identify Device
      Data log page support.
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      636f6e2a
    • Linus Torvalds's avatar
      Merge tag 'kcsan.2021.11.11a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · ca2ef2d9
      Linus Torvalds authored
      Pull KCSAN updates from Paul McKenney:
       "This contains initialization fixups, testing improvements, addition of
        instruction pointer to data-race reports, and scoped data-race checks"
      
      * tag 'kcsan.2021.11.11a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        kcsan: selftest: Cleanup and add missing __init
        kcsan: Move ctx to start of argument list
        kcsan: Support reporting scoped read-write access type
        kcsan: Start stack trace with explicit location if provided
        kcsan: Save instruction pointer for scoped accesses
        kcsan: Add ability to pass instruction pointer of access to reporting
        kcsan: test: Fix flaky test case
        kcsan: test: Use kunit_skip() to skip tests
        kcsan: test: Defer kcsan_test_init() after kunit initialization
      ca2ef2d9
    • Linus Torvalds's avatar
      Merge tag 'apparmor-pr-2021-11-10' of... · 5593a733
      Linus Torvalds authored
      Merge tag 'apparmor-pr-2021-11-10' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
      
      Pull apparmor updates from John Johansen:
       "Features
         - use per file locks for transactional queries
         - update policy management capability checks to work with LSM stacking
      
        Bug Fixes:
         - check/put label on apparmor_sk_clone_security()
         - fix error check on update of label hname
         - fix introspection of of task mode for unconfined tasks
      
        Cleanups:
         - avoid -Wempty-body warning
         - remove duplicated 'Returns:' comments
         - fix doc warning
         - remove unneeded one-line hook wrappers
         - use struct_size() helper in kzalloc()
         - fix zero-length compiler warning in AA_BUG()
         - file.h: delete duplicated word
         - delete repeated words in comments
         - remove repeated declaration"
      
      * tag 'apparmor-pr-2021-11-10' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor:
        apparmor: remove duplicated 'Returns:' comments
        apparmor: remove unneeded one-line hook wrappers
        apparmor: Use struct_size() helper in kzalloc()
        apparmor: fix zero-length compiler warning in AA_BUG()
        apparmor: use per file locks for transactional queries
        apparmor: fix doc warning
        apparmor: Remove the repeated declaration
        apparmor: avoid -Wempty-body warning
        apparmor: Fix internal policy capable check for policy management
        apparmor: fix error check
        security: apparmor: delete repeated words in comments
        security: apparmor: file.h: delete duplicated word
        apparmor: switch to apparmor to internal capable check for policy management
        apparmor: update policy capable checks to use a label
        apparmor: fix introspection of of task mode for unconfined tasks
        apparmor: check/put label on apparmor_sk_clone_security()
      5593a733
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · dbf49896
      Linus Torvalds authored
      Merge more updates from Andrew Morton:
       "The post-linux-next material.
      
        7 patches.
      
        Subsystems affected by this patch series (all mm): debug,
        slab-generic, migration, memcg, and kasan"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        kasan: add kasan mode messages when kasan init
        mm: unexport {,un}lock_page_memcg
        mm: unexport folio_memcg_{,un}lock
        mm/migrate.c: remove MIGRATE_PFN_LOCKED
        mm: migrate: simplify the file-backed pages validation when migrating its mapping
        mm: allow only SLUB on PREEMPT_RT
        mm/page_owner.c: modify the type of argument "order" in some functions
      dbf49896
    • Linus Torvalds's avatar
      Merge tag 'm68knommu-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 6d76f6eb
      Linus Torvalds authored
      Pull m68knommu updates from Greg Ungerer:
       "Only two changes.
      
        One removes the now unused CONFIG_MCPU32 symbol. The other sets a
        default for the CONFIG_MEMORY_RESERVE config symbol (this aids
        scripting and other automation) so you don't interactively get asked
        for a value at configure time.
      
        Summary:
      
         - remove unused CONFIG_MCPU32 symbol
      
         - default CONFIG_MEMORY_RESERVE value (for scripting)"
      
      * tag 'm68knommu-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68knommu: Remove MCPU32 config symbol
        m68k: set a default value for MEMORY_RESERVE
      6d76f6eb
    • Bjorn Helgaas's avatar
      Revert "PCI: Use to_pci_driver() instead of pci_dev->driver" · e0217c5b
      Bjorn Helgaas authored
      This reverts commit 2a4d9408.
      
      Robert reported a NULL pointer dereference caused by the PCI core
      (local_pci_probe()) calling the i2c_designware_pci driver's
      .runtime_resume() method before the .probe() method.  i2c_dw_pci_resume()
      depends on initialization done by i2c_dw_pci_probe().
      
      Prior to 2a4d9408 ("PCI: Use to_pci_driver() instead of
      pci_dev->driver"), pci_pm_runtime_resume() avoided calling the
      .runtime_resume() method because pci_dev->driver had not been set yet.
      
      2a4d9408 and b5f9c644 ("PCI: Remove struct pci_dev->driver"),
      removed pci_dev->driver, replacing it by device->driver, which *has* been
      set by this time, so pci_pm_runtime_resume() called the .runtime_resume()
      method when it previously had not.
      
      Fixes: 2a4d9408 ("PCI: Use to_pci_driver() instead of pci_dev->driver")
      Link: https://lore.kernel.org/linux-i2c/CAP145pgdrdiMAT7=-iB1DMgA7t_bMqTcJL4N0=6u8kNY3EU0dw@mail.gmail.com/Reported-by: default avatarRobert Święcki <robert@swiecki.net>
      Tested-by: default avatarRobert Święcki <robert@swiecki.net>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      e0217c5b
    • Bjorn Helgaas's avatar
      Revert "PCI: Remove struct pci_dev->driver" · 68da4e0e
      Bjorn Helgaas authored
      This reverts commit b5f9c644.
      
      Revert b5f9c644 ("PCI: Remove struct pci_dev->driver"), which is needed
      to revert 2a4d9408 ("PCI: Use to_pci_driver() instead of
      pci_dev->driver").
      
      2a4d9408 caused a NULL pointer dereference reported by Robert Święcki.
      Details in the revert of that commit.
      
      Fixes: 2a4d9408 ("PCI: Use to_pci_driver() instead of pci_dev->driver")
      Link: https://lore.kernel.org/linux-i2c/CAP145pgdrdiMAT7=-iB1DMgA7t_bMqTcJL4N0=6u8kNY3EU0dw@mail.gmail.com/Reported-by: default avatarRobert Święcki <robert@swiecki.net>
      Tested-by: default avatarRobert Święcki <robert@swiecki.net>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      68da4e0e
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 600b18f8
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Two locking fixes:
      
         - Add mutex protection to ring_buffer_reset()
      
         - Fix deadlock in modify_ftrace_direct_multi()"
      
      * tag 'trace-v5.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace/direct: Fix lockup in modify_ftrace_direct_multi
        ring-buffer: Protect ring_buffer_reset() from reentrancy
      600b18f8
    • Linus Torvalds's avatar
      Merge tag 'net-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · f54ca91f
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bpf, can and netfilter.
      
        Current release - regressions:
      
         - bpf: do not reject when the stack read size is different from the
           tracked scalar size
      
         - net: fix premature exit from NAPI state polling in napi_disable()
      
         - riscv, bpf: fix RV32 broken build, and silence RV64 warning
      
        Current release - new code bugs:
      
         - net: fix possible NULL deref in sock_reserve_memory
      
         - amt: fix error return code in amt_init(); fix stopping the
           workqueue
      
         - ax88796c: use the correct ioctl callback
      
        Previous releases - always broken:
      
         - bpf: stop caching subprog index in the bpf_pseudo_func insn
      
         - security: fixups for the security hooks in sctp
      
         - nfc: add necessary privilege flags in netlink layer, limit
           operations to admin only
      
         - vsock: prevent unnecessary refcnt inc for non-blocking connect
      
         - net/smc: fix sk_refcnt underflow on link down and fallback
      
         - nfnetlink_queue: fix OOB when mac header was cleared
      
         - can: j1939: ignore invalid messages per standard
      
         - bpf, sockmap:
            - fix race in ingress receive verdict with redirect to self
            - fix incorrect sk_skb data_end access when src_reg = dst_reg
            - strparser, and tls are reusing qdisc_skb_cb and colliding
      
         - ethtool: fix ethtool msg len calculation for pause stats
      
         - vlan: fix a UAF in vlan_dev_real_dev() when ref-holder tries to
           access an unregistering real_dev
      
         - udp6: make encap_rcv() bump the v6 not v4 stats
      
         - drv: prestera: add explicit padding to fix m68k build
      
         - drv: felix: fix broken VLAN-tagged PTP under VLAN-aware bridge
      
         - drv: mvpp2: fix wrong SerDes reconfiguration order
      
        Misc & small latecomers:
      
         - ipvs: auto-load ipvs on genl access
      
         - mctp: sanity check the struct sockaddr_mctp padding fields
      
         - libfs: support RENAME_EXCHANGE in simple_rename()
      
         - avoid double accounting for pure zerocopy skbs"
      
      * tag 'net-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (123 commits)
        selftests/net: udpgso_bench_rx: fix port argument
        net: wwan: iosm: fix compilation warning
        cxgb4: fix eeprom len when diagnostics not implemented
        net: fix premature exit from NAPI state polling in napi_disable()
        net/smc: fix sk_refcnt underflow on linkdown and fallback
        net/mlx5: Lag, fix a potential Oops with mlx5_lag_create_definer()
        gve: fix unmatched u64_stats_update_end()
        net: ethernet: lantiq_etop: Fix compilation error
        selftests: forwarding: Fix packet matching in mirroring selftests
        vsock: prevent unnecessary refcnt inc for nonblocking connect
        net: marvell: mvpp2: Fix wrong SerDes reconfiguration order
        net: ethernet: ti: cpsw_ale: Fix access to un-initialized memory
        net: stmmac: allow a tc-taprio base-time of zero
        selftests: net: test_vxlan_under_vrf: fix HV connectivity test
        net: hns3: allow configure ETS bandwidth of all TCs
        net: hns3: remove check VF uc mac exist when set by PF
        net: hns3: fix some mac statistics is always 0 in device version V2
        net: hns3: fix kernel crash when unload VF while it is being reset
        net: hns3: sync rx ring head in echo common pull
        net: hns3: fix pfc packet number incorrect after querying pfc parameters
        ...
      f54ca91f
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · c55a0417
      Linus Torvalds authored
      Pull char/misc fix from Greg KH:
       "Here is a single fix for 5.16-rc1 to resolve a build problem that came
        in through the coresight tree (and as such came in through the
        char/misc tree merge in the 5.16-rc1 merge window).
      
        It resolves a build problem with 'allmodconfig' on arm64 and is acked
        by the proper subsystem maintainers. It has been in linux-next all
        week with no reported problems"
      
      * tag 'char-misc-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        arm64: cpufeature: Export this_cpu_has_cap helper
      c55a0417
    • Linus Torvalds's avatar
      Merge tag 'usb-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 5625207d
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small reverts and fixes for USB drivers for issues that
        came up during the 5.16-rc1 merge window.
      
        These include:
      
         - two reverts of xhci and USB core patches that are causing problems
           in many systems.
      
         - xhci 3.1 enumeration delay fix for systems that were having
           problems.
      
        All three of these have been in linux-next all week with no reported
        issues"
      
      * tag 'usb-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay
        Revert "usb: core: hcd: Add support for deferring roothub registration"
        Revert "xhci: Set HCD flag to defer primary roothub registration"
      5625207d
    • Kuan-Ying Lee's avatar
      kasan: add kasan mode messages when kasan init · b873e986
      Kuan-Ying Lee authored
      There are multiple kasan modes.  It makes sense that we add some
      messages to know which kasan mode is active when booting up [1].
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=212195 [1]
      Link: https://lkml.kernel.org/r/20211020094850.4113-1-Kuan-Ying.Lee@mediatek.comSigned-off-by: default avatarKuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
      Reviewed-by: default avatarMarco Elver <elver@google.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@gmail.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Chinwen Chang <chinwen.chang@mediatek.com>
      Cc: Yee Lee <yee.lee@mediatek.com>
      Cc: Nicholas Tang <nicholas.tang@mediatek.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b873e986
    • Christoph Hellwig's avatar
      mm: unexport {,un}lock_page_memcg · ab2f9d2d
      Christoph Hellwig authored
      These are only used in built-in core mm code.
      
      Link: https://lkml.kernel.org/r/20210820095815.445392-3-hch@lst.deSigned-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ab2f9d2d
    • Christoph Hellwig's avatar
      mm: unexport folio_memcg_{,un}lock · 913ffbdd
      Christoph Hellwig authored
      Patch series "unexport memcg locking helpers".
      
      Neither the old page-based nor the new folio-based memcg locking helpers
      are used in modular code at all, so drop the exports.
      
      This patch (of 2):
      
      folio_memcg_{,un}lock are only used in built-in core mm code.
      
      Link: https://lkml.kernel.org/r/20210820095815.445392-1-hch@lst.de
      Link: https://lkml.kernel.org/r/20210820095815.445392-2-hch@lst.deSigned-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      913ffbdd
    • Alistair Popple's avatar
      mm/migrate.c: remove MIGRATE_PFN_LOCKED · ab09243a
      Alistair Popple authored
      MIGRATE_PFN_LOCKED is used to indicate to migrate_vma_prepare() that a
      source page was already locked during migrate_vma_collect().  If it
      wasn't then the a second attempt is made to lock the page.  However if
      the first attempt failed it's unlikely a second attempt will succeed,
      and the retry adds complexity.  So clean this up by removing the retry
      and MIGRATE_PFN_LOCKED flag.
      
      Destination pages are also meant to have the MIGRATE_PFN_LOCKED flag
      set, but nothing actually checks that.
      
      Link: https://lkml.kernel.org/r/20211025041608.289017-1-apopple@nvidia.comSigned-off-by: default avatarAlistair Popple <apopple@nvidia.com>
      Reviewed-by: default avatarRalph Campbell <rcampbell@nvidia.com>
      Acked-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Jerome Glisse <jglisse@redhat.com>
      Cc: John Hubbard <jhubbard@nvidia.com>
      Cc: Zi Yan <ziy@nvidia.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ab09243a
    • Baolin Wang's avatar
      mm: migrate: simplify the file-backed pages validation when migrating its mapping · 0ef02462
      Baolin Wang authored
      There is no need to validate the file-backed page's refcount before
      trying to freeze the page's expected refcount, instead we can rely on
      the folio_ref_freeze() to validate if the page has the expected refcount
      before migrating its mapping.
      
      Moreover we are always under the page lock when migrating the page
      mapping, which means nowhere else can remove it from the page cache, so
      we can remove the xas_load() validation under the i_pages lock.
      
      Link: https://lkml.kernel.org/r/cover.1629447552.git.baolin.wang@linux.alibaba.com
      Link: https://lkml.kernel.org/r/df4c129fd8e86a95dbc55f4663d77441cc0d3bd1.1629447552.git.baolin.wang@linux.alibaba.comSigned-off-by: default avatarBaolin Wang <baolin.wang@linux.alibaba.com>
      Suggested-by: default avatarMatthew Wilcox <willy@infradead.org>
      Cc: Yang Shi <shy828301@gmail.com>
      Cc: Alistair Popple <apopple@nvidia.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0ef02462
    • Ingo Molnar's avatar
      mm: allow only SLUB on PREEMPT_RT · 252220da
      Ingo Molnar authored
      Memory allocators may disable interrupts or preemption as part of the
      allocation and freeing process.  For PREEMPT_RT it is important that
      these sections remain deterministic and short and therefore don't depend
      on the size of the memory to allocate/ free or the inner state of the
      algorithm.
      
      Until v3.12-RT the SLAB allocator was an option but involved several
      changes to meet all the requirements.  The SLUB design fits better with
      PREEMPT_RT model and so the SLAB patches were dropped in the 3.12-RT
      patchset.  Comparing the two allocator, SLUB outperformed SLAB in both
      throughput (time needed to allocate and free memory) and the maximal
      latency of the system measured with cyclictest during hackbench.
      
      SLOB was never evaluated since it was unlikely that it preforms better
      than SLAB.  During a quick test, the kernel crashed with SLOB enabled
      during boot.
      
      Disable SLAB and SLOB on PREEMPT_RT.
      
      [bigeasy@linutronix.de: commit description]
      
      Link: https://lkml.kernel.org/r/20211015210336.gen3tib33ig5q2md@linutronix.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      252220da
    • Yixuan Cao's avatar
      mm/page_owner.c: modify the type of argument "order" in some functions · 0093de69
      Yixuan Cao authored
      The type of "order" in struct page_owner is unsigned short.
      However, it is unsigned int in the following 3 functions:
      
        __reset_page_owner
        __set_page_owner_handle
        __set_page_owner_handle
      
      The type of "order" in argument list is unsigned int, which is
      inconsistent.
      
      [akpm@linux-foundation.org: update include/linux/page_owner.h]
      
      Link: https://lkml.kernel.org/r/20211020125945.47792-1-caoyixuan2019@email.szu.edu.cnSigned-off-by: default avatarYixuan Cao <caoyixuan2019@email.szu.edu.cn>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0093de69
    • Willem de Bruijn's avatar
      selftests/net: udpgso_bench_rx: fix port argument · d336509c
      Willem de Bruijn authored
      The below commit added optional support for passing a bind address.
      It configures the sockaddr bind arguments before parsing options and
      reconfigures on options -b and -4.
      
      This broke support for passing port (-p) on its own.
      
      Configure sockaddr after parsing all arguments.
      
      Fixes: 3327a9c4 ("selftests: add functionals test for UDP GRO")
      Reported-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d336509c
    • M Chetan Kumar's avatar
      net: wwan: iosm: fix compilation warning · 29cd3867
      M Chetan Kumar authored
      curr_phase is unused. Removed the dead code.
      
      Fixes: 8d9be063 ("net: wwan: iosm: transport layer support for fw flashing/cd")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarM Chetan Kumar <m.chetan.kumar@linux.intel.com>
      Reviewed-by: default avatarLoic Poulain <loic.poulain@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      29cd3867
    • Rahul Lakkireddy's avatar
      cxgb4: fix eeprom len when diagnostics not implemented · 4ca110bf
      Rahul Lakkireddy authored
      Ensure diagnostics monitoring support is implemented for the SFF 8472
      compliant port module and set the correct length for ethtool port
      module eeprom read.
      
      Fixes: f56ec676 ("cxgb4: Add support for ethtool i2c dump")
      Signed-off-by: default avatarManoj Malviya <manojmalviya@chelsio.com>
      Signed-off-by: default avatarRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4ca110bf
    • xinhui pan's avatar
      drm/ttm: Double check mem_type of BO while eviction · 7120a447
      xinhui pan authored
      BO might sit in a wrong lru list as there is a small period of memory
      moving and lru list updating.
      
      Lets skip eviction if we hit such mismatch.
      Suggested-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarxinhui pan <xinhui.pan@amd.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211110043149.57554-2-xinhui.pan@amd.comSigned-off-by: default avatarChristian König <christian.koenig@amd.com>
      7120a447
    • Xu Wang's avatar
      ata: sata_highbank: Remove unnecessary print function dev_err() · 51839e25
      Xu Wang authored
      The print function dev_err() is redundant because
      platform_get_irq() already prints an error.
      Signed-off-by: default avatarXu Wang <vulab@iscas.ac.cn>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      51839e25
    • Damien Le Moal's avatar
      libata: fix read log timeout value · 68dbbe7d
      Damien Le Moal authored
      Some ATA drives are very slow to respond to READ_LOG_EXT and
      READ_LOG_DMA_EXT commands issued from ata_dev_configure() when the
      device is revalidated right after resuming a system or inserting the
      ATA adapter driver (e.g. ahci). The default 5s timeout
      (ATA_EH_CMD_DFL_TIMEOUT) used for these commands is too short, causing
      errors during the device configuration. Ex:
      
      ...
      ata9: SATA max UDMA/133 abar m524288@0x9d200000 port 0x9d200400 irq 209
      ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
      ata9.00: ATA-9: XXX  XXXXXXXXXXXXXXX, XXXXXXXX, max UDMA/133
      ata9.00: qc timeout (cmd 0x2f)
      ata9.00: Read log page 0x00 failed, Emask 0x4
      ata9.00: Read log page 0x00 failed, Emask 0x40
      ata9.00: NCQ Send/Recv Log not supported
      ata9.00: Read log page 0x08 failed, Emask 0x40
      ata9.00: 27344764928 sectors, multi 16: LBA48 NCQ (depth 32), AA
      ata9.00: Read log page 0x00 failed, Emask 0x40
      ata9.00: ATA Identify Device Log not supported
      ata9.00: failed to set xfermode (err_mask=0x40)
      ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
      ata9.00: configured for UDMA/133
      ...
      
      The timeout error causes a soft reset of the drive link, followed in
      most cases by a successful revalidation as that give enough time to the
      drive to become fully ready to quickly process the read log commands.
      However, in some cases, this also fails resulting in the device being
      dropped.
      
      Fix this by using adding the ata_eh_revalidate_timeouts entries for the
      READ_LOG_EXT and READ_LOG_DMA_EXT commands. This defines a timeout
      increased to 15s, retriable one time.
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      68dbbe7d
    • Alexander Lobakin's avatar
      net: fix premature exit from NAPI state polling in napi_disable() · 0315a075
      Alexander Lobakin authored
      Commit 719c5719 ("net: make napi_disable() symmetric with
      enable") accidentally introduced a bug sometimes leading to a kernel
      BUG when bringing an iface up/down under heavy traffic load.
      
      Prior to this commit, napi_disable() was polling n->state until
      none of (NAPIF_STATE_SCHED | NAPIF_STATE_NPSVC) is set and then
      always flip them. Now there's a possibility to get away with the
      NAPIF_STATE_SCHE unset as 'continue' drops us to the cmpxchg()
      call with an uninitialized variable, rather than straight to
      another round of the state check.
      
      Error path looks like:
      
      napi_disable():
      unsigned long val, new; /* new is uninitialized */
      
      do {
      	val = READ_ONCE(n->state); /* NAPIF_STATE_NPSVC and/or
      				      NAPIF_STATE_SCHED is set */
      	if (val & (NAPIF_STATE_SCHED | NAPIF_STATE_NPSVC)) { /* true */
      		usleep_range(20, 200);
      		continue; /* go straight to the condition check */
      	}
      	new = val | <...>
      } while (cmpxchg(&n->state, val, new) != val); /* state == val, cmpxchg()
      						  writes garbage */
      
      napi_enable():
      do {
      	val = READ_ONCE(n->state);
      	BUG_ON(!test_bit(NAPI_STATE_SCHED, &val)); /* 50/50 boom */
      <...>
      
      while the typical BUG splat is like:
      
      [  172.652461] ------------[ cut here ]------------
      [  172.652462] kernel BUG at net/core/dev.c:6937!
      [  172.656914] invalid opcode: 0000 [#1] PREEMPT SMP PTI
      [  172.661966] CPU: 36 PID: 2829 Comm: xdp_redirect_cp Tainted: G          I       5.15.0 #42
      [  172.670222] Hardware name: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0014.082620210524 08/26/2021
      [  172.680646] RIP: 0010:napi_enable+0x5a/0xd0
      [  172.684832] Code: 07 49 81 cc 00 01 00 00 4c 89 e2 48 89 d8 80 e6 fb f0 48 0f b1 55 10 48 39 c3 74 10 48 8b 5d 10 f6 c7 04 75 3d f6 c3 01 75 b4 <0f> 0b 5b 5d 41 5c c3 65 ff 05 b8 e5 61 53 48 c7 c6 c0 f3 34 ad 48
      [  172.703578] RSP: 0018:ffffa3c9497477a8 EFLAGS: 00010246
      [  172.708803] RAX: ffffa3c96615a014 RBX: 0000000000000000 RCX: ffff8a4b575301a0
      < snip >
      [  172.782403] Call Trace:
      [  172.784857]  <TASK>
      [  172.786963]  ice_up_complete+0x6f/0x210 [ice]
      [  172.791349]  ice_xdp+0x136/0x320 [ice]
      [  172.795108]  ? ice_change_mtu+0x180/0x180 [ice]
      [  172.799648]  dev_xdp_install+0x61/0xe0
      [  172.803401]  dev_xdp_attach+0x1e0/0x550
      [  172.807240]  dev_change_xdp_fd+0x1e6/0x220
      [  172.811338]  do_setlink+0xee8/0x1010
      [  172.814917]  rtnl_setlink+0xe5/0x170
      [  172.818499]  ? bpf_lsm_binder_set_context_mgr+0x10/0x10
      [  172.823732]  ? security_capable+0x36/0x50
      < snip >
      
      Fix this by replacing 'do { } while (cmpxchg())' with an "infinite"
      for-loop with an explicit break.
      
      From v1 [0]:
       - just use a for-loop to simplify both the fix and the existing
         code (Eric).
      
      [0] https://lore.kernel.org/netdev/20211110191126.1214-1-alexandr.lobakin@intel.com
      
      Fixes: 719c5719 ("net: make napi_disable() symmetric with enable")
      Suggested-by: Eric Dumazet <edumazet@google.com> # for-loop
      Signed-off-by: default avatarAlexander Lobakin <alexandr.lobakin@intel.com>
      Reviewed-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/20211110195605.1304-1-alexandr.lobakin@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0315a075
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · debe436e
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Only bug fixes and cleanups for ext4 this merge window.
      
        Of note are fixes for the combination of the inline_data and
        fast_commit fixes, and more accurately calculating when to schedule
        additional lazy inode table init, especially when CONFIG_HZ is 100HZ"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix error code saved on super block during file system abort
        ext4: inline data inode fast commit replay fixes
        ext4: commit inline data during fast commit
        ext4: scope ret locally in ext4_try_to_trim_range()
        ext4: remove an unused variable warning with CONFIG_QUOTA=n
        ext4: fix boolreturn.cocci warnings in fs/ext4/name.c
        ext4: prevent getting empty inode buffer
        ext4: move ext4_fill_raw_inode() related functions
        ext4: factor out ext4_fill_raw_inode()
        ext4: prevent partial update of the extent blocks
        ext4: check for inconsistent extents between index and leaf block
        ext4: check for out-of-order index extents in ext4_valid_extent_entries()
        ext4: convert from atomic_t to refcount_t on ext4_io_end->count
        ext4: refresh the ext4_ext_path struct after dropping i_data_sem.
        ext4: ensure enough credits in ext4_ext_shift_path_extents
        ext4: correct the left/middle/right debug message for binsearch
        ext4: fix lazy initialization next schedule time computation in more granular unit
        Revert "ext4: enforce buffer head state assertion in ext4_da_map_blocks"
      debe436e
    • Linus Torvalds's avatar
      Merge tag 'for-5.16-deadlock-fix-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 6070dcc8
      Linus Torvalds authored
      Pull btrfs fix from David Sterba:
       "Fix for a deadlock when direct/buffered IO is done on a mmaped file
        and a fault happens (details in the patch). There's a fstest
        generic/647 that triggers the problem and makes testing hard"
      
      * tag 'for-5.16-deadlock-fix-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix deadlock due to page faults during direct IO reads and writes
      6070dcc8
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.16' of git://linux-nfs.org/~bfields/linux · 38764c73
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "A slow cycle for nfsd: mainly cleanup, including Neil's patch dropping
        support for a filehandle format deprecated 20 years ago, and further
        xdr-related cleanup from Chuck"
      
      * tag 'nfsd-5.16' of git://linux-nfs.org/~bfields/linux: (26 commits)
        nfsd4: remove obselete comment
        nfsd: document server-to-server-copy parameters
        NFSD:fix boolreturn.cocci warning
        nfsd: update create verifier comment
        SUNRPC: Change return value type of .pc_encode
        SUNRPC: Replace the "__be32 *p" parameter to .pc_encode
        NFSD: Save location of NFSv4 COMPOUND status
        SUNRPC: Change return value type of .pc_decode
        SUNRPC: Replace the "__be32 *p" parameter to .pc_decode
        SUNRPC: De-duplicate .pc_release() call sites
        SUNRPC: Simplify the SVC dispatch code path
        SUNRPC: Capture value of xdr_buf::page_base
        SUNRPC: Add trace event when alloc_pages_bulk() makes no progress
        svcrdma: Split svcrmda_wc_{read,write} tracepoints
        svcrdma: Split the svcrdma_wc_send() tracepoint
        svcrdma: Split the svcrdma_wc_receive() tracepoint
        NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
        SUNRPC: xdr_stream_subsegment() must handle non-zero page_bases
        NFSD: Initialize pointer ni with NULL and not plain integer 0
        NFSD: simplify struct nfsfh
        ...
      38764c73
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 2ec20f48
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Features:
         - NFSv4.1 can always retrieve and cache the ACCESS mode on OPEN
         - Optimisations for READDIR and the 'ls -l' style workload
         - Further replacements of dprintk() with tracepoints and other
           tracing improvements
         - Ensure we re-probe NFSv4 server capabilities when the user does a
           "mount -o remount"
      
        Bugfixes:
         - Fix an Oops in pnfs_mark_request_commit()
         - Fix up deadlocks in the commit code
         - Fix regressions in NFSv2/v3 attribute revalidation due to the
           change_attr_type optimisations
         - Fix some dentry verifier races
         - Fix some missing dentry verifier settings
         - Fix a performance regression in nfs_set_open_stateid_locked()
         - SUNRPC was sending multiple SYN calls when re-establishing a TCP
           connection.
         - Fix multiple NFSv4 issues due to missing sanity checking of server
           return values
         - Fix a potential Oops when FREE_STATEID races with an unmount
      
        Cleanups:
         - Clean up the labelled NFS code
         - Remove unused header <linux/pnfs_osd_xdr.h>"
      
      * tag 'nfs-for-5.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (84 commits)
        NFSv4: Sanity check the parameters in nfs41_update_target_slotid()
        NFS: Remove the nfs4_label argument from decode_getattr_*() functions
        NFS: Remove the nfs4_label argument from nfs_setsecurity
        NFS: Remove the nfs4_label argument from nfs_fhget()
        NFS: Remove the nfs4_label argument from nfs_add_or_obtain()
        NFS: Remove the nfs4_label argument from nfs_instantiate()
        NFS: Remove the nfs4_label from the nfs_setattrres
        NFS: Remove the nfs4_label from the nfs4_getattr_res
        NFS: Remove the f_label from the nfs4_opendata and nfs_openres
        NFS: Remove the nfs4_label from the nfs4_lookupp_res struct
        NFS: Remove the label from the nfs4_lookup_res struct
        NFS: Remove the nfs4_label from the nfs4_link_res struct
        NFS: Remove the nfs4_label from the nfs4_create_res struct
        NFS: Remove the nfs4_label from the nfs_entry struct
        NFS: Create a new nfs_alloc_fattr_with_label() function
        NFS: Always initialise fattr->label in nfs_fattr_alloc()
        NFSv4.2: alloc_file_pseudo() takes an open flag, not an f_mode
        NFS: Don't allocate nfs_fattr on the stack in __nfs42_ssc_open()
        NFSv4: Remove unnecessary 'minor version' check
        NFSv4: Fix potential Oops in decode_op_map()
        ...
      2ec20f48