1. 15 Jun, 2022 1 commit
    • Joe Lawrence's avatar
      selftests/livepatch: better synchronize test_klp_callbacks_busy · 55eb9a6c
      Joe Lawrence authored
      The test_klp_callbacks_busy module conditionally blocks a future
      livepatch transition by busy waiting inside its workqueue function,
      busymod_work_func().  After scheduling this work, a test livepatch is
      loaded, introducing the transition under test.
      
      Both events are marked in the kernel log for later verification, but
      there is no synchronization to ensure that busymod_work_func() logs its
      function entry message before subsequent selftest commands log their own
      messages.  This can lead to a rare test failure due to unexpected
      ordering like:
      
        --- expected
        +++ result
        @@ -1,7 +1,7 @@
         % modprobe test_klp_callbacks_busy block_transition=Y
         test_klp_callbacks_busy: test_klp_callbacks_busy_init
        -test_klp_callbacks_busy: busymod_work_func enter
         % modprobe test_klp_callbacks_demo
        +test_klp_callbacks_busy: busymod_work_func enter
         livepatch: enabling patch 'test_klp_callbacks_demo'
         livepatch: 'test_klp_callbacks_demo': initializing patching transition
         test_klp_callbacks_demo: pre_patch_callback: vmlinux
      
      Force the module init function to wait until busymod_work_func() has
      started (and logged its message), before exiting to the next selftest
      steps.
      
      Fixes: 547840bd ("selftests/livepatch: simplify test-klp-callbacks busy target tests")
      Signed-off-by: default avatarJoe Lawrence <joe.lawrence@redhat.com>
      Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
      Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Link: https://lore.kernel.org/r/20220602203233.979681-1-joe.lawrence@redhat.com
      55eb9a6c
  2. 02 Jun, 2022 6 commits
    • Linus Torvalds's avatar
      Merge tag 'livepatching-for-5.19' of... · 7c9e960c
      Linus Torvalds authored
      Merge tag 'livepatching-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching
      
      Pull livepatching cleanup from Petr Mladek:
      
       - Remove duplicated livepatch code [Christophe]
      
      * tag 'livepatching-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        livepatch: Remove klp_arch_set_pc() and asm/livepatch.h
      7c9e960c
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.19-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · 12831f64
      Linus Torvalds authored
      Pull printk fixup from Petr Mladek:
      
       - Revert inappropriate use of wake_up_interruptible_all() in printk()
      
      * tag 'printk-for-5.19-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        Revert "printk: wake up all waiters"
      12831f64
    • Linus Torvalds's avatar
      Merge tag 'memblock-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · ca1dcc6d
      Linus Torvalds authored
      Pull memblock test suite updates from Mike Rapoport:
       "Comment updates for memblock test suite
      
        Update comments in the memblock tests so that they will have
        consistent style"
      
      * tag 'memblock-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        memblock tests: remove completed TODO item
        memblock tests: update style of comments for memblock_free_*() functions
        memblock tests: update style of comments for memblock_remove_*() functions
        memblock tests: update style of comments for memblock_reserve_*() functions
        memblock tests: update style of comments for memblock_add_*() functions
      ca1dcc6d
    • Dan Carpenter's avatar
      i2c: ismt: prevent memory corruption in ismt_access() · 690b2549
      Dan Carpenter authored
      The "data->block[0]" variable comes from the user and is a number
      between 0-255.  It needs to be capped to prevent writing beyond the end
      of dma_buffer[].
      
      Fixes: 5e9a97b1 ("i2c: ismt: Adding support for I2C_SMBUS_BLOCK_PROC_CALL")
      Reported-and-tested-by: default avatarZheyu Ma <zheyuma97@gmail.com>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      690b2549
    • Stephen Brennan's avatar
      assoc_array: Fix BUG_ON during garbage collect · d1dc8776
      Stephen Brennan authored
      A rare BUG_ON triggered in assoc_array_gc:
      
          [3430308.818153] kernel BUG at lib/assoc_array.c:1609!
      
      Which corresponded to the statement currently at line 1593 upstream:
      
          BUG_ON(assoc_array_ptr_is_meta(p));
      
      Using the data from the core dump, I was able to generate a userspace
      reproducer[1] and determine the cause of the bug.
      
      [1]: https://github.com/brenns10/kernel_stuff/tree/master/assoc_array_gc
      
      After running the iterator on the entire branch, an internal tree node
      looked like the following:
      
          NODE (nr_leaves_on_branch: 3)
            SLOT [0] NODE (2 leaves)
            SLOT [1] NODE (1 leaf)
            SLOT [2..f] NODE (empty)
      
      In the userspace reproducer, the pr_devel output when compressing this
      node was:
      
          -- compress node 0x5607cc089380 --
          free=0, leaves=0
          [0] retain node 2/1 [nx 0]
          [1] fold node 1/1 [nx 0]
          [2] fold node 0/1 [nx 2]
          [3] fold node 0/2 [nx 2]
          [4] fold node 0/3 [nx 2]
          [5] fold node 0/4 [nx 2]
          [6] fold node 0/5 [nx 2]
          [7] fold node 0/6 [nx 2]
          [8] fold node 0/7 [nx 2]
          [9] fold node 0/8 [nx 2]
          [10] fold node 0/9 [nx 2]
          [11] fold node 0/10 [nx 2]
          [12] fold node 0/11 [nx 2]
          [13] fold node 0/12 [nx 2]
          [14] fold node 0/13 [nx 2]
          [15] fold node 0/14 [nx 2]
          after: 3
      
      At slot 0, an internal node with 2 leaves could not be folded into the
      node, because there was only one available slot (slot 0). Thus, the
      internal node was retained. At slot 1, the node had one leaf, and was
      able to be folded in successfully. The remaining nodes had no leaves,
      and so were removed. By the end of the compression stage, there were 14
      free slots, and only 3 leaf nodes. The tree was ascended and then its
      parent node was compressed. When this node was seen, it could not be
      folded, due to the internal node it contained.
      
      The invariant for compression in this function is: whenever
      nr_leaves_on_branch < ASSOC_ARRAY_FAN_OUT, the node should contain all
      leaf nodes. The compression step currently cannot guarantee this, given
      the corner case shown above.
      
      To fix this issue, retry compression whenever we have retained a node,
      and yet nr_leaves_on_branch < ASSOC_ARRAY_FAN_OUT. This second
      compression will then allow the node in slot 1 to be folded in,
      satisfying the invariant. Below is the output of the reproducer once the
      fix is applied:
      
          -- compress node 0x560e9c562380 --
          free=0, leaves=0
          [0] retain node 2/1 [nx 0]
          [1] fold node 1/1 [nx 0]
          [2] fold node 0/1 [nx 2]
          [3] fold node 0/2 [nx 2]
          [4] fold node 0/3 [nx 2]
          [5] fold node 0/4 [nx 2]
          [6] fold node 0/5 [nx 2]
          [7] fold node 0/6 [nx 2]
          [8] fold node 0/7 [nx 2]
          [9] fold node 0/8 [nx 2]
          [10] fold node 0/9 [nx 2]
          [11] fold node 0/10 [nx 2]
          [12] fold node 0/11 [nx 2]
          [13] fold node 0/12 [nx 2]
          [14] fold node 0/13 [nx 2]
          [15] fold node 0/14 [nx 2]
          internal nodes remain despite enough space, retrying
          -- compress node 0x560e9c562380 --
          free=14, leaves=1
          [0] fold node 2/15 [nx 0]
          after: 3
      
      Changes
      =======
      DH:
       - Use false instead of 0.
       - Reorder the inserted lines in a couple of places to put retained before
         next_slot.
      
      ver #2)
       - Fix typo in pr_devel, correct comparison to "<="
      
      Fixes: 3cb98950 ("Add a generic associative array implementation.")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarStephen Brennan <stephen.s.brennan@oracle.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Andrew Morton <akpm@linux-foundation.org>
      cc: keyrings@vger.kernel.org
      Link: https://lore.kernel.org/r/20220511225517.407935-1-stephen.s.brennan@oracle.com/ # v1
      Link: https://lore.kernel.org/r/20220512215045.489140-1-stephen.s.brennan@oracle.com/ # v2
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d1dc8776
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.19-for-linus-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 0e5ab8dd
      Linus Torvalds authored
      Pull more xfs updates from Dave Chinner:
       "This update is largely bug fixes and cleanups for all the code merged
        in the first pull request. The majority of them are to the new logged
        attribute code, but there are also a couple of fixes for other log
        recovery and memory leaks that have recently been found.
      
        Summary:
      
         - fix refcount leak in xfs_ifree()
      
         - fix xfs_buf_cancel structure leaks in log recovery
      
         - fix dquot leak after failed quota check
      
         - fix a couple of problematic ASSERTS
      
         - fix small aim7 perf regression in from new btree sibling validation
      
         - clean up log incompat feature marking for new logged attribute
           feature
      
         - disallow logged attributes on legacy V4 filesystem formats.
      
         - fix da state leak when freeing attr intents
      
         - improve validation of the attr log items in recovery
      
         - use slab caches for commonly used attr structures
      
         - fix leaks of attr name/value buffer and reduce copying overhead
           during intent logging
      
         - remove some dead debug code from log recovery"
      
      * tag 'xfs-5.19-for-linus-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (33 commits)
        xfs: fix xfs_ifree() error handling to not leak perag ref
        xfs: move xfs_attr_use_log_assist usage out of libxfs
        xfs: move xfs_attr_use_log_assist out of xfs_log.c
        xfs: warn about LARP once per mount
        xfs: implement per-mount warnings for scrub and shrink usage
        xfs: don't log every time we clear the log incompat flags
        xfs: convert buf_cancel_table allocation to kmalloc_array
        xfs: don't leak xfs_buf_cancel structures when recovery fails
        xfs: refactor buffer cancellation table allocation
        xfs: don't leak btree cursor when insrec fails after a split
        xfs: purge dquots after inode walk fails during quotacheck
        xfs: assert in xfs_btree_del_cursor should take into account error
        xfs: don't assert fail on perag references on teardown
        xfs: avoid unnecessary runtime sibling pointer endian conversions
        xfs: share xattr name and value buffers when logging xattr updates
        xfs: do not use logged xattr updates on V4 filesystems
        xfs: Remove duplicate include
        xfs: reduce IOCB_NOWAIT judgment for retry exclusive unaligned DIO
        xfs: Remove dead code
        xfs: fix typo in comment
        ...
      0e5ab8dd
  3. 01 Jun, 2022 16 commits
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 54eb8462
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "A new driver represents the bulk of the changes and then we get the
        usual small fixes.
      
        New driver:
      
         - Renesas RZN1 rtc
      
        Drivers:
      
         - sun6i: Add nvmem support"
      
      * tag 'rtc-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
        rtc: mxc: Silence a clang warning
        rtc: rzn1: Fix a variable type
        rtc: rzn1: Fix error code in probe
        rtc: rzn1: Avoid mixing variables
        rtc: ftrtc010: Fix error handling in ftrtc010_rtc_probe
        rtc: mt6397: check return value after calling platform_get_resource()
        rtc: rzn1: fix platform_no_drv_owner.cocci warning
        rtc: gamecube: Add missing iounmap in gamecube_rtc_read_offset_from_sram
        rtc: meson: Fix email address in MODULE_AUTHOR
        rtc: simplify the return expression of rx8025_set_offset()
        rtc: pcf85063: Add a compatible entry for pca85073a
        dt-binding: pcf85063: Add an entry for pca85073a
        MAINTAINERS: Add myself as maintainer of the RZN1 RTC driver
        rtc: rzn1: Add oscillator offset support
        rtc: rzn1: Add alarm support
        rtc: rzn1: Add new RTC driver
        dt-bindings: rtc: rzn1: Describe the RZN1 RTC
        rtc: sun6i: Add NVMEM provider
      54eb8462
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · 55fe9217
      Linus Torvalds authored
      Pull i3c updates from Alexandre Belloni:
       "Only clean ups and no functional change this cycle. A couple of yaml
        conversions of the DT bindings, and a couple of code cleanups"
      
      * tag 'i3c/for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        MAINTAINERS: rectify entries for some i3c drivers after dt conversion
        i3c: master: svc: fix returnvar.cocci warning
        i3c/master: simplify the return expression of i3c_hci_remove()
        dt-bindings: i3c: Convert snps,dw-i3c-master to DT schema
        dt-bindings: i3c: Convert cdns,i3c-master to DT schema
      55fe9217
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/dm-fixes' of... · fa78526a
      Linus Torvalds authored
      Merge tag 'for-5.19/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix DM core's dm_table_supports_poll to return false if target has no
         data devices.
      
       - Fix DM verity target so that it cannot be switched to a different DM
         target type (e.g. dm-linear) via DM table reload.
      
      * tag 'for-5.19/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm verity: set DM_TARGET_IMMUTABLE feature flag
        dm table: fix dm_table_supports_poll to return false if no data devices
      fa78526a
    • Fabio Estevam's avatar
      rtc: mxc: Silence a clang warning · f78e3d40
      Fabio Estevam authored
      Change the of_device_get_match_data() cast to (uintptr_t)
      to silence the following clang warning:
      
      drivers/rtc/rtc-mxc.c:315:19: warning: cast to smaller integer type 'enum imx_rtc_type' from 'const void *' [-Wvoid-pointer-to-enum-cast]
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Fixes: ba7aa630 ("rtc: mxc: use of_device_get_match_data")
      Signed-off-by: default avatarFabio Estevam <festevam@gmail.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
      Link: https://lore.kernel.org/r/20220526011459.1167197-1-festevam@gmail.com
      f78e3d40
    • Linus Torvalds's avatar
      Merge tag 'for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · c7993147
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Not much from the power-supply subsystem this time around, since I was
        busy most of the cycle. This also contains some fixes that I
        originally planned to send for 5.18. Apart from this there is nothing
        noteworthy.
      
        Power-supply core:
      
         - init power_supply_info struct to zero
      
        Drivers:
      
         - bq27xxx: expose data for uncalibrated battery
      
         - bq24190-charger: use pm_runtime_resume_and_get
      
         - ab8500_fg: allocate wq in probe
      
         - axp288_fuel_gauge: drop BIOS version from 'T3 MRD' quirk
      
         - axp288_fuel_gauge: modify 'T3 MRD' quirk to also fix 'One Mix 1'"
      
      * tag 'for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        power: supply: bq24190_charger: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
        power: supply: bq27xxx: expose battery data when CI=1
        power: supply: ab8500_fg: Allocate wq in probe
        power: supply: axp288_fuel_gauge: Drop BIOS version check from "T3 MRD" DMI quirk
        power: supply: axp288_fuel_gauge: Fix battery reporting on the One Mix 1
        power: supply: core: Initialize struct to zero
      c7993147
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.19-rc1' of git://www.linux-watchdog.org/linux-watchdog · 96752be4
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - Add MediaTek MT8186 support
      
       - Add Mediatek MT7986 reset-controller support
      
       - Add i.MX93 support
      
       - Add watchdog driver for Sunplus SP7021
      
       - Add SC8180X and SC8280XP compatibles
      
       - Add Renesas RZ/N1 Watchdog driver and support for RZ/N1
      
       - rzg2l_wdt improvements and fixes
      
       - Several other improvements and fixes
      
      * tag 'linux-watchdog-5.19-rc1' of git://www.linux-watchdog.org/linux-watchdog: (38 commits)
        watchdog: ts4800_wdt: Fix refcount leak in ts4800_wdt_probe
        dt-bindings: watchdog: renesas,wdt: R-Car V3U is R-Car Gen4
        watchdog: Add Renesas RZ/N1 Watchdog driver
        dt-bindings: watchdog: renesas,wdt: Add support for RZ/N1
        watchdog: wdat_wdt: Stop watchdog when uninstalling module
        watchdog: wdat_wdt: Stop watchdog when rebooting the system
        watchdog: wdat_wdt: Using the existing function to check parameter timeout
        dt-bindings: watchdog: da9062: add watchdog timeout mode
        dt-bindings: watchdog: renesas,wdt: Document RZ/G2UL SoC
        watchdog: iTCO_wdt: Using existing macro define covers more scenarios
        watchdog: rti-wdt: Fix pm_runtime_get_sync() error checking
        dt-bindings: watchdog: Add SC8180X and SC8280XP compatibles
        watchdog: rti_wdt: Fix calculation and evaluation of preset heartbeat
        dt-bindings: watchdog: uniphier: Use unevaluatedProperties
        watchdog: sp805: disable watchdog on remove
        watchdog: da9063: optionally disable watchdog during suspend
        dt-bindings: mfd: da9063: watchdog: add suspend disable option
        dt-bindings: watchdog: sunxi: clarify clock support
        dt-bindings: watchdog: sunxi: fix F1C100s compatible
        watchdog: Add watchdog driver for Sunplus SP7021
        ...
      96752be4
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.19-rc1' of https://github.com/awilliam/linux-vfio · 17688215
      Linus Torvalds authored
      Pull vfio updates from Alex Williamson:
      
       - Improvements to mlx5 vfio-pci variant driver, including support for
         parallel migration per PF (Yishai Hadas)
      
       - Remove redundant iommu_present() check (Robin Murphy)
      
       - Ongoing refactoring to consolidate the VFIO driver facing API to use
         vfio_device (Jason Gunthorpe)
      
       - Use drvdata to store vfio_device among all vfio-pci and variant
         drivers (Jason Gunthorpe)
      
       - Remove redundant code now that IOMMU core manages group DMA ownership
         (Jason Gunthorpe)
      
       - Remove vfio_group from external API handling struct file ownership
         (Jason Gunthorpe)
      
       - Correct typo in uapi comments (Thomas Huth)
      
       - Fix coccicheck detected deadlock (Wan Jiabing)
      
       - Use rwsem to remove races and simplify code around container and kvm
         association to groups (Jason Gunthorpe)
      
       - Harden access to devices in low power states and use runtime PM to
         enable d3cold support for unused devices (Abhishek Sahu)
      
       - Fix dma_owner handling of fake IOMMU groups (Jason Gunthorpe)
      
       - Set driver_managed_dma on vfio-pci variant drivers (Jason Gunthorpe)
      
       - Pass KVM pointer directly rather than via notifier (Matthew Rosato)
      
      * tag 'vfio-v5.19-rc1' of https://github.com/awilliam/linux-vfio: (38 commits)
        vfio: remove VFIO_GROUP_NOTIFY_SET_KVM
        vfio/pci: Add driver_managed_dma to the new vfio_pci drivers
        vfio: Do not manipulate iommu dma_owner for fake iommu groups
        vfio/pci: Move the unused device into low power state with runtime PM
        vfio/pci: Virtualize PME related registers bits and initialize to zero
        vfio/pci: Change the PF power state to D0 before enabling VFs
        vfio/pci: Invalidate mmaps and block the access in D3hot power state
        vfio: Change struct vfio_group::container_users to a non-atomic int
        vfio: Simplify the life cycle of the group FD
        vfio: Fully lock struct vfio_group::container
        vfio: Split up vfio_group_get_device_fd()
        vfio: Change struct vfio_group::opened from an atomic to bool
        vfio: Add missing locking for struct vfio_group::kvm
        kvm/vfio: Fix potential deadlock problem in vfio
        include/uapi/linux/vfio.h: Fix trivial typo - _IORW should be _IOWR instead
        vfio/pci: Use the struct file as the handle not the vfio_group
        kvm/vfio: Remove vfio_group from kvm
        vfio: Change vfio_group_set_kvm() to vfio_file_set_kvm()
        vfio: Change vfio_external_check_extension() to vfio_file_enforced_coherent()
        vfio: Remove vfio_external_group_match_file()
        ...
      17688215
    • Lukas Bulwahn's avatar
      MAINTAINERS: rectify entries for some i3c drivers after dt conversion · 66ed42ca
      Lukas Bulwahn authored
      Commit 4bd69ecf ("dt-bindings: i3c: Convert cdns,i3c-master to DT
      schema") and commit 6742ca62 ("dt-bindings: i3c: Convert
      snps,dw-i3c-master to DT schema") convert some i3c dt-bindings to yaml,
      but miss to adjust its reference in MAINTAINERS.
      
      Hence, ./scripts/get_maintainer.pl --self-test=patterns complains about
      broken references.
      
      Repair these file references in I3C DRIVER FOR CADENCE I3C MASTER IP and
      I3C DRIVER FOR SYNOPSYS DESIGNWARE.
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
      Link: https://lore.kernel.org/r/20220601074212.19984-1-lukas.bulwahn@gmail.com
      66ed42ca
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-5.19-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · 8171acb8
      Linus Torvalds authored
      Pull more erofs updates from Gao Xiang:
       "This is a follow-up to the main updates, including some fixes of
        fscache mode related to compressed inodes and a cachefiles tracepoint.
        There is also a patch to fix an unexpected decompression strategy
        change due to a cleanup in the past. All the fixes are quite small.
      
        Apart from these, documentation is also updated for a better
        description of recent new features.
      
        In addition, this has some trivial cleanups without actual code logic
        changes, so I could have a more recent codebase to work on folios and
        avoiding the PG_error page flag for the next cycle.
      
        Summary:
      
         - Leave compressed inodes unsupported in fscache mode for now
      
         - Avoid crash when using tracepoint cachefiles_prep_read
      
         - Fix `backmost' behavior due to a recent cleanup
      
         - Update documentation for better description of recent new features
      
         - Several decompression cleanups w/o logical change"
      
      * tag 'erofs-for-5.19-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: fix 'backmost' member of z_erofs_decompress_frontend
        erofs: simplify z_erofs_pcluster_readmore()
        erofs: get rid of label `restart_now'
        erofs: get rid of `struct z_erofs_collection'
        erofs: update documentation
        erofs: fix crash when enable tracepoint cachefiles_prep_read
        erofs: leave compressed inodes unsupported in fscache mode for now
      8171acb8
    • Linus Torvalds's avatar
      Merge tag '5.19-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd · e5b02087
      Linus Torvalds authored
      Pull ksmbd server updates from Steve French:
      
       - rdma (smbdirect) fixes, cleanup and optimizations
      
       - crediting (flow control) fix for mounts from Windows client
      
       - ACL fix
      
       - Windows client query dir fix
      
       - write validation fix
      
       - cleanups
      
      * tag '5.19-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: smbd: relax the count of sges required
        ksmbd: fix outstanding credits related bugs
        ksmbd: smbd: fix connection dropped issue
        ksmbd: Fix some kernel-doc comments
        ksmbd: fix wrong smbd max read/write size check
        ksmbd: add smbd max io size parameter
        ksmbd: handle smb2 query dir request for OutputBufferLength that is too small
        ksmbd: smbd: handle multiple Buffer descriptors
        ksmbd: smbd: change the return value of get_sg_list
        ksmbd: smbd: simplify tracking pending packets
        ksmbd: smbd: introduce read/write credits for RDMA read/write
        ksmbd: smbd: change prototypes of RDMA read/write related functions
        ksmbd: validate length in smb2_write()
        ksmbd: fix reference count leak in smb_check_perm_dacl()
      e5b02087
    • David Howells's avatar
      afs: Fix infinite loop found by xfstest generic/676 · 17eabd42
      David Howells authored
      In AFS, a directory is handled as a file that the client downloads and
      parses locally for the purposes of performing lookup and getdents
      operations.  The in-kernel afs filesystem has a number of functions that
      do this.
      
      A directory file is arranged as a series of 2K blocks divided into
      32-byte slots, where a directory entry occupies one or more slots, plus
      each block starts with one or more metadata blocks.
      
      When parsing a block, if the last slots are occupied by a dirent that
      occupies more than a single slot and the file position points at a slot
      that's not the initial one, the logic in afs_dir_iterate_block() that
      skips over it won't advance the file pointer to the end of it.  This
      will cause an infinite loop in getdents() as it will keep retrying that
      block and failing to advance beyond the final entry.
      
      Fix this by advancing the file pointer if the next entry will be beyond
      it when we skip a block.
      
      This was found by the generic/676 xfstest but can also be triggered with
      something like:
      
      	~/xfstests-dev/src/t_readdir_3 /xfstest.test/z 4000 1
      
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reviewed-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      Tested-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      cc: linux-afs@lists.infradead.org
      Link: http://lore.kernel.org/r/165391973497.110268.2939296942213894166.stgit@warthog.procyon.org.uk/Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      17eabd42
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-5.19-rc1' of... · 8eca6b0a
      Linus Torvalds authored
      Merge tag 'pwm/for-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "Quite a large number of conversions this time around, courtesy of Uwe
        who has been working tirelessly on these. No drivers of the legacy API
        are left at this point, so as a next step the old API can be removed.
      
        Support is added for a few new devices such as the Xilinx AXI timer-
        based PWMs and the PWM IP found on Sunplus SoCs.
      
        Other than that, there's a number of fixes, cleanups and optimizations"
      
      * tag 'pwm/for-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (43 commits)
        pwm: pwm-cros-ec: Add channel type support
        dt-bindings: google,cros-ec-pwm: Add the new -type compatible
        dt-bindings: Add mfd/cros_ec definitions
        pwm: Document that the pinstate of a disabled PWM isn't reliable
        pwm: twl-led: Implement .apply() callback
        pwm: lpc18xx: Implement .apply() callback
        pwm: mediatek: Implement .apply() callback
        pwm: lpc32xx: Implement .apply() callback
        pwm: tegra: Implement .apply() callback
        pwm: stmpe: Implement .apply() callback
        pwm: sti: Implement .apply() callback
        pwm: pwm-mediatek: Add support for MediaTek Helio X10 MT6795
        dt-bindings: pwm: pwm-mediatek: Add documentation for MT6795 SoC
        pwm: tegra: Optimize period calculation
        pwm: renesas-tpu: Improve precision of period and duty_cycle calculation
        pwm: renesas-tpu: Improve maths to compute register settings
        pwm: renesas-tpu: Rename variables to match the usual naming
        pwm: renesas-tpu: Implement .apply() callback
        pwm: renesas-tpu: Make use of devm functions
        pwm: renesas-tpu: Make use of dev_err_probe()
        ...
      8eca6b0a
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 68e6134b
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This corrects the check for irq_of_parse_and_map() failures in the
        Qualcomm SMD driver and fixes unregistration and a couple of double
        free in the virtio rpmsg driver"
      
      * tag 'rpmsg-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails
        rpmsg: virtio: Fix the unregistration of the device rpmsg_ctrl
        rpmsg: virtio: Fix possible double free in rpmsg_virtio_add_ctrl_dev()
        rpmsg: virtio: Fix possible double free in rpmsg_probe()
        rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
      68e6134b
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · f634b63d
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This fixes a race condition in the user space interface for starting
        and stopping remote processors, it makes the ELF loader properly skip
        zero memsz segments and it cleans up the debugfs tracefile code a bit
        by not checking for errors.
      
        It introduces support for controlling the audio DSP on Qualcomm
        MSM8226, as well as audio and compute DSPs on Qualcomm SC8280XP.
      
        It makes it possible to specify the firmware path for Mediatek's
        remote processors, fixes a double free in the SCP driver and addresses
        an issue with the SRAM initialization on MT8195.
      
        Lastly it deprecates the custom ELF loader in the iMX remoteproc
        driver, in favor of using the shared one"
      
      * tag 'rproc-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (21 commits)
        dt-bindings: remoteproc: mediatek: Add optional memory-region to mtk,scp
        dt-bindings: remoteproc: mediatek: Make l1tcm reg exclusive to mt819x
        dt-bindings: remoteproc: st,stm32-rproc: Fix phandle-array parameters description
        remoteproc: imx_rproc: Support i.MX93
        dt-bindings: remoteproc: imx_rproc: Support i.MX93
        remoteproc: qcom: pas: Add MSM8226 ADSP support
        dt-bindings: remoteproc: qcom: pas: Add MSM8226 adsp
        remoteproc: mediatek: Allow reading firmware-name from DT
        dt-bindings: remoteproc: mediatek: Add firmware-name property
        remoteproc: qcom: pas: Add sc8280xp remoteprocs
        dt-bindings: remoteproc: qcom: pas: Add sc8280xp adsp and nsp pair
        dt-bindings: remoteproc: mediatek: Add interrupts property to mtk,scp
        remoteproc: imx_rproc: Ignore create mem entry for resource table
        remoteproc: core: Move state checking to remoteproc_core
        remoteproc: core: Remove state checking before calling rproc_boot()
        remoteproc: imx_dsp_rproc: Make rsc_table optional
        remoteproc: imx_dsp_rproc: use common rproc_elf_load_segments
        remoteproc: elf_loader: skip segment with memsz as zero
        remoteproc: mtk_scp: Fix a potential double free
        remoteproc: Don't bother checking the return value of debugfs_create*
        ...
      f634b63d
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v5.19-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 129bdb30
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A couple of fixes that came in during the merge window: a driver fix
        for spurious timeouts in the fsi driver and an improvement to make the
        core display error messages for transfer_one_message() to help people
        debug things"
      
      * tag 'spi-fix-v5.19-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: core: Display return code when failing to transfer message
        spi: fsi: Fix spurious timeout
      129bdb30
    • Linus Torvalds's avatar
      Merge branch 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux · 2380dd69
      Linus Torvalds authored
      Pull pcmcia updates from Dominik Brodowski:
       "A few odd cleanups and fixes, including a Kconfig fix to add a
        required dependency on MIPS"
      
      * 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux:
        pcmcia: Use platform_get_irq() to get the interrupt
        pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards
        drivers/pcmcia: Fix typo in comment
      2380dd69
  4. 31 May, 2022 16 commits
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.19-1' of git://git.linux-nfs.org/projects/anna/linux-nfs · 700170bf
      Linus Torvalds authored
      Pull NFS client updates from Anna Schumaker:
       "New Features:
         - Add support for 'dacl' and 'sacl' attributes
      
        Bugfixes and Cleanups:
         - Fixes for reporting mapping errors
         - Fixes for memory allocation errors
         - Improve warning message when locks are lost
         - Update documentation for the nfs4_unique_id parameter
         - Add an explanation of NFSv4 client identifiers
         - Ensure the i_size attribute is written to the fscache storage
         - Fix freeing uninitialized nfs4_labels
         - Better handling when xprtrdma bc_serv is NULL
         - Mark qualified async operations as MOVEABLE tasks"
      
      * tag 'nfs-for-5.19-1' of git://git.linux-nfs.org/projects/anna/linux-nfs:
        NFSv4.1 mark qualified async operations as MOVEABLE tasks
        xprtrdma: treat all calls not a bcall when bc_serv is NULL
        NFSv4: Fix free of uninitialized nfs4_label on referral lookup.
        NFS: Pass i_size to fscache_unuse_cookie() when a file is released
        Documentation: Add an explanation of NFSv4 client identifiers
        NFS: update documentation for the nfs4_unique_id parameter
        NFS: Improve warning message when locks are lost.
        NFSv4.1: Enable access to the NFSv4.1 'dacl' and 'sacl' attributes
        NFSv4: Add encoders/decoders for the NFSv4.1 dacl and sacl attributes
        NFSv4: Specify the type of ACL to cache
        NFSv4: Don't hold the layoutget locks across multiple RPC calls
        pNFS/files: Fall back to I/O through the MDS on non-fatal layout errors
        NFS: Further fixes to the writeback error handling
        NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
        NFS: Memory allocation failures are not server fatal errors
        NFS: Don't report errors from nfs_pageio_complete() more than once
        NFS: Do not report flush errors in nfs_write_end()
        NFS: Don't report ENOSPC write errors twice
        NFS: fsync() should report filesystem errors over EINTR/ERESTARTSYS
        NFS: Do not report EINTR/ERESTARTSYS as mapping errors
      700170bf
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 1501f707
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've refactored the existing atomic write support
        implemented by in-memory operations to have storing data in disk
        temporarily, which can give us a benefit to accept more atomic writes.
      
        At the same time, we removed the existing volatile write support.
      
        We've also revisited the file pinning and GC flows and found some
        corner cases which contributeed abnormal system behaviours.
      
        As usual, there're several minor code refactoring for readability,
        sanity check, and clean ups.
      
        Enhancements:
      
         - allow compression for mmap files in compress_mode=user
      
         - kill volatile write support
      
         - change the current atomic write way
      
         - give priority to select unpinned section for foreground GC
      
         - introduce data read/write showing path info
      
         - remove unnecessary f2fs_lock_op in f2fs_new_inode
      
        Bug fixes:
      
         - fix the file pinning flow during checkpoint=disable and GCs
      
         - fix foreground and background GCs to select the right victims and
           get free sections on time
      
         - fix GC flags on defragmenting pages
      
         - avoid an infinite loop to flush node pages
      
         - fix fallocate to use file_modified to update permissions
           consistently"
      
      * tag 'f2fs-for-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (40 commits)
        f2fs: fix to tag gcing flag on page during file defragment
        f2fs: replace F2FS_I(inode) and sbi by the local variable
        f2fs: add f2fs_init_write_merge_io function
        f2fs: avoid unneeded error handling for revoke_entry_slab allocation
        f2fs: allow compression for mmap files in compress_mode=user
        f2fs: fix typo in comment
        f2fs: make f2fs_read_inline_data() more readable
        f2fs: fix to do sanity check for inline inode
        f2fs: fix fallocate to use file_modified to update permissions consistently
        f2fs: don't use casefolded comparison for "." and ".."
        f2fs: do not stop GC when requiring a free section
        f2fs: keep wait_ms if EAGAIN happens
        f2fs: introduce f2fs_gc_control to consolidate f2fs_gc parameters
        f2fs: reject test_dummy_encryption when !CONFIG_FS_ENCRYPTION
        f2fs: kill volatile write support
        f2fs: change the current atomic write way
        f2fs: don't need inode lock for system hidden quota
        f2fs: stop allocating pinned sections if EAGAIN happens
        f2fs: skip GC if possible when checkpoint disabling
        f2fs: give priority to select unpinned section for foreground GC
        ...
      1501f707
    • Linus Torvalds's avatar
      Merge tag 'leds-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 2a5699b0
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Most significant here is the driver for Qualcomm LPG. Apparently it
        drives backlight on some boards, so it is quite important for some
        people"
      
      * tag 'leds-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: qcom-lpg: Require pattern to follow documentation
        leds: lp50xx: Remove duplicated error reporting in .remove()
        leds: qcom-lpg: add missing PWM dependency
        leds: ktd2692: Make aux-gpios optional
        dt-bindings: leds: convert ktd2692 bindings to yaml
        leds: ktd2692: Avoid duplicate error messages on probe deferral
        leds: is31fl32xx: Improve error reporting in .remove()
        leds: Move pwm-multicolor driver into rgb directory
        leds: Add PWM multicolor driver
        dt-bindings: leds: Add multicolor PWM LED bindings
        dt-bindings: leds: Optional multi-led unit address
        leds: regulator: Make probeable from device tree
        leds: regulator: Add dev helper variable
        dt-bindings: leds: Add regulator-led binding
        leds: pca9532: Make pca9532_destroy_devices() return void
        leds: Add pm8350c support to Qualcomm LPG driver
        dt-bindings: leds: Add pm8350c pmic support
        leds: Add driver for Qualcomm LPG
        dt-bindings: leds: Add Qualcomm Light Pulse Generator binding
      2a5699b0
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · f8a52af9
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Only driver updates for 5.19.
      
        Bigger changes are for Meson, NPCM, and R-Car, but there are also
        changes all over the place"
      
      * tag 'i2c-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (34 commits)
        i2c: meson: fix typo in comment
        i2c: rcar: use flags instead of atomic_xfer
        i2c: rcar: REP_AFTER_RD is not a persistent flag
        i2c: rcar: use BIT macro consistently
        i2c: qcom-geni: remove unnecessary conditions
        i2c: mt7621: Use devm_platform_get_and_ioremap_resource()
        i2c: rcar: refactor handling of first message
        i2c: rcar: avoid race condition with SMIs
        i2c: xiic: Correct the datatype for rx_watermark
        i2c: rcar: fix PM ref counts in probe error paths
        i2c: npcm: Handle spurious interrupts
        i2c: npcm: Correct register access width
        i2c: npcm: Add tx complete counter
        i2c: npcm: Fix timeout calculation
        i2c: npcm: Remove unused variable clk_regmap
        i2c: npcm: Change the way of getting GCR regmap
        i2c: xiic: Fix Tx Interrupt path for grouped messages
        i2c: xiic: Fix coding style issues
        i2c: xiic: return value of xiic_reinit
        i2c: cadence: Increase timeout per message if necessary
        ...
      f8a52af9
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.19-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 35b51afd
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for the Svpbmt extension, which allows memory attributes to
         be encoded in pages
      
       - Support for the Allwinner D1's implementation of page-based memory
         attributes
      
       - Support for running rv32 binaries on rv64 systems, via the compat
         subsystem
      
       - Support for kexec_file()
      
       - Support for the new generic ticket-based spinlocks, which allows us
         to also move to qrwlock. These should have already gone in through
         the asm-geneic tree as well
      
       - A handful of cleanups and fixes, include some larger ones around
         atomics and XIP
      
      * tag 'riscv-for-linus-5.19-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (51 commits)
        RISC-V: Prepare dropping week attribute from arch_kexec_apply_relocations[_add]
        riscv: compat: Using seperated vdso_maps for compat_vdso_info
        RISC-V: Fix the XIP build
        RISC-V: Split out the XIP fixups into their own file
        RISC-V: ignore xipImage
        RISC-V: Avoid empty create_*_mapping definitions
        riscv: Don't output a bogus mmu-type on a no MMU kernel
        riscv: atomic: Add custom conditional atomic operation implementation
        riscv: atomic: Optimize dec_if_positive functions
        riscv: atomic: Cleanup unnecessary definition
        RISC-V: Load purgatory in kexec_file
        RISC-V: Add purgatory
        RISC-V: Support for kexec_file on panic
        RISC-V: Add kexec_file support
        RISC-V: use memcpy for kexec_file mode
        kexec_file: Fix kexec_file.c build error for riscv platform
        riscv: compat: Add COMPAT Kbuild skeletal support
        riscv: compat: ptrace: Add compat_arch_ptrace implement
        riscv: compat: signal: Add rt_frame implementation
        riscv: add memory-type errata for T-Head
        ...
      35b51afd
    • Olga Kornievskaia's avatar
      NFSv4.1 mark qualified async operations as MOVEABLE tasks · 118f09ed
      Olga Kornievskaia authored
      Mark async operations such as RENAME, REMOVE, COMMIT MOVEABLE
      for the nfsv4.1+ sessions.
      
      Fixes: 85e39fee ("NFSv4.1 identify and mark RPC tasks that can move between transports")
      Signed-off-by: default avatarOlga Kornievskaia <kolga@netapp.com>
      Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      118f09ed
    • Kinglong Mee's avatar
      xprtrdma: treat all calls not a bcall when bc_serv is NULL · 11270e7c
      Kinglong Mee authored
      When a rdma server returns a fault format reply, nfs v3 client may
      treats it as a bcall when bc service is not exist.
      
      The debug message at rpcrdma_bc_receive_call are,
      
      [56579.837169] RPC:       rpcrdma_bc_receive_call: callback XID
      00000001, length=20
      [56579.837174] RPC:       rpcrdma_bc_receive_call: 00 00 00 01 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 00 04
      
      After that, rpcrdma_bc_receive_call will meets NULL pointer as,
      
      [  226.057890] BUG: unable to handle kernel NULL pointer dereference at
      00000000000000c8
      ...
      [  226.058704] RIP: 0010:_raw_spin_lock+0xc/0x20
      ...
      [  226.059732] Call Trace:
      [  226.059878]  rpcrdma_bc_receive_call+0x138/0x327 [rpcrdma]
      [  226.060011]  __ib_process_cq+0x89/0x170 [ib_core]
      [  226.060092]  ib_cq_poll_work+0x26/0x80 [ib_core]
      [  226.060257]  process_one_work+0x1a7/0x360
      [  226.060367]  ? create_worker+0x1a0/0x1a0
      [  226.060440]  worker_thread+0x30/0x390
      [  226.060500]  ? create_worker+0x1a0/0x1a0
      [  226.060574]  kthread+0x116/0x130
      [  226.060661]  ? kthread_flush_work_fn+0x10/0x10
      [  226.060724]  ret_from_fork+0x35/0x40
      ...
      Signed-off-by: default avatarKinglong Mee <kinglongmee@gmail.com>
      Reviewed-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      11270e7c
    • Benjamin Coddington's avatar
      NFSv4: Fix free of uninitialized nfs4_label on referral lookup. · c3ed2227
      Benjamin Coddington authored
      Send along the already-allocated fattr along with nfs4_fs_locations, and
      drop the memcpy of fattr.  We end up growing two more allocations, but this
      fixes up a crash as:
      
      PID: 790    TASK: ffff88811b43c000  CPU: 0   COMMAND: "ls"
       #0 [ffffc90000857920] panic at ffffffff81b9bfde
       #1 [ffffc900008579c0] do_trap at ffffffff81023a9b
       #2 [ffffc90000857a10] do_error_trap at ffffffff81023b78
       #3 [ffffc90000857a58] exc_stack_segment at ffffffff81be1f45
       #4 [ffffc90000857a80] asm_exc_stack_segment at ffffffff81c009de
       #5 [ffffc90000857b08] nfs_lookup at ffffffffa0302322 [nfs]
       #6 [ffffc90000857b70] __lookup_slow at ffffffff813a4a5f
       #7 [ffffc90000857c60] walk_component at ffffffff813a86c4
       #8 [ffffc90000857cb8] path_lookupat at ffffffff813a9553
       #9 [ffffc90000857cf0] filename_lookup at ffffffff813ab86b
      Suggested-by: default avatarTrond Myklebust <trondmy@hammerspace.com>
      Fixes: 9558a007 ("NFS: Remove the label from the nfs4_lookup_res struct")
      Signed-off-by: default avatarBenjamin Coddington <bcodding@redhat.com>
      Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      c3ed2227
    • Sarthak Kukreti's avatar
      dm verity: set DM_TARGET_IMMUTABLE feature flag · 4caae584
      Sarthak Kukreti authored
      The device-mapper framework provides a mechanism to mark targets as
      immutable (and hence fail table reloads that try to change the target
      type). Add the DM_TARGET_IMMUTABLE flag to the dm-verity target's
      feature flags to prevent switching the verity target with a different
      target type.
      
      Fixes: a4ffc152 ("dm: add verity target")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarSarthak Kukreti <sarthakkukreti@google.com>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      4caae584
    • Mike Snitzer's avatar
      dm table: fix dm_table_supports_poll to return false if no data devices · 9571f829
      Mike Snitzer authored
      It was reported that the "generic/250" test in xfstests (which uses
      the dm-error target) demonstrates a regression where the kernel
      crashes in bioset_exit().
      
      Since commit cfc97abc ("dm: conditionally enable
      BIOSET_PERCPU_CACHE for dm_io bioset") the bioset_init() for the dm_io
      bioset will setup the bioset's per-cpu alloc cache if all devices have
      QUEUE_FLAG_POLL set.
      
      But there was an bug where a target that doesn't have any data devices
      (and that doesn't even set the .iterate_devices dm target callback)
      will incorrectly return true from dm_table_supports_poll().
      
      Fix this by updating dm_table_supports_poll() to follow dm-table.c's
      well-worn pattern for testing that _all_ targets in a DM table do in
      fact have underlying devices that set QUEUE_FLAG_POLL.
      
      NOTE: An additional block fix is still needed so that
      bio_alloc_cache_destroy() clears the bioset's ->cache member.
      Otherwise, a DM device's table reload that transitions the DM device's
      bioset from using a per-cpu alloc cache to _not_ using one will result
      in bioset_exit() crashing in bio_alloc_cache_destroy() because dm's
      dm_io bioset ("io_bs") was left with a stale ->cache member.
      
      Fixes: cfc97abc ("dm: conditionally enable BIOSET_PERCPU_CACHE for dm_io bioset")
      Reported-by: default avatarMatthew Wilcox <willy@infradead.org>
      Reported-by: default avatarDave Chinner <david@fromorbit.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      9571f829
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · e1cbc3b9
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - Intel VT-d driver updates:
           - Domain force snooping improvement.
           - Cleanups, no intentional functional changes.
      
       - ARM SMMU driver updates:
           - Add new Qualcomm device-tree compatible strings
           - Add new Nvidia device-tree compatible string for Tegra234
           - Fix UAF in SMMUv3 shared virtual addressing code
           - Force identity-mapped domains for users of ye olde SMMU legacy
             binding
           - Minor cleanups
      
       - Fix a BUG_ON in the vfio_iommu_group_notifier:
           - Groundwork for upcoming iommufd framework
           - Introduction of DMA ownership so that an entire IOMMU group is
             either controlled by the kernel or by user-space
      
       - MT8195 and MT8186 support in the Mediatek IOMMU driver
      
       - Make forcing of cache-coherent DMA more coherent between IOMMU
         drivers
      
       - Fixes for thunderbolt device DMA protection
      
       - Various smaller fixes and cleanups
      
      * tag 'iommu-updates-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (88 commits)
        iommu/amd: Increase timeout waiting for GA log enablement
        iommu/s390: Tolerate repeat attach_dev calls
        iommu/vt-d: Remove hard coding PGSNP bit in PASID entries
        iommu/vt-d: Remove domain_update_iommu_snooping()
        iommu/vt-d: Check domain force_snooping against attached devices
        iommu/vt-d: Block force-snoop domain attaching if no SC support
        iommu/vt-d: Size Page Request Queue to avoid overflow condition
        iommu/vt-d: Fold dmar_insert_one_dev_info() into its caller
        iommu/vt-d: Change return type of dmar_insert_one_dev_info()
        iommu/vt-d: Remove unneeded validity check on dev
        iommu/dma: Explicitly sort PCI DMA windows
        iommu/dma: Fix iova map result check bug
        iommu/mediatek: Fix NULL pointer dereference when printing dev_name
        iommu: iommu_group_claim_dma_owner() must always assign a domain
        iommu/arm-smmu: Force identity domains for legacy binding
        iommu/arm-smmu: Support Tegra234 SMMU
        dt-bindings: arm-smmu: Add compatible for Tegra234 SOC
        dt-bindings: arm-smmu: Document nvidia,memory-controller property
        iommu/arm-smmu-qcom: Add SC8280XP support
        dt-bindings: arm-smmu: Add compatible for Qualcomm SC8280XP
        ...
      e1cbc3b9
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v5.19' of git://git.monstr.eu/linux-2.6-microblaze · 3335d555
      Linus Torvalds authored
      Pull microblaze updates from Michal Simek:
      
       - Fix issues with freestanding
      
       - Wire memblock_dump_all()
      
       - Add support for memory reservation from DT
      
      * tag 'microblaze-v5.19' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: fix typos in comments
        microblaze: Add support for reserved memory defined by DT
        microblaze: Wire memblock_dump_all()
        microblaze: Use simple memmove/memcpy implementation from lib/string.c
        microblaze: Do loop unrolling for optimized memset implementation
        microblaze: Use simple memset implementation from lib/string.c
      3335d555
    • Weizhao Ouyang's avatar
      erofs: fix 'backmost' member of z_erofs_decompress_frontend · 4398d3c3
      Weizhao Ouyang authored
      Initialize 'backmost' to true in DECOMPRESS_FRONTEND_INIT.
      
      Fixes: 5c6dcc57 ("erofs: get rid of `struct z_erofs_collector'")
      Signed-off-by: default avatarWeizhao Ouyang <o451686892@gmail.com>
      Reviewed-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      Reviewed-by: default avatarYue Hu <huyue2@coolpad.com>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Link: https://lore.kernel.org/r/20220530075114.918874-1-o451686892@gmail.comSigned-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      4398d3c3
    • Gao Xiang's avatar
      erofs: simplify z_erofs_pcluster_readmore() · aa793b46
      Gao Xiang authored
      Get rid of unnecessary label `skip'. No logic changes.
      
      Link: https://lore.kernel.org/r/20220529055425.226363-4-xiang@kernel.orgAcked-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      aa793b46
    • Gao Xiang's avatar
      erofs: get rid of label `restart_now' · 39397a46
      Gao Xiang authored
      Simplify this part of code. No logic changes.
      
      Link: https://lore.kernel.org/r/20220529055425.226363-3-xiang@kernel.orgAcked-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      39397a46
    • Gao Xiang's avatar
      erofs: get rid of `struct z_erofs_collection' · 87ca34a7
      Gao Xiang authored
      It was incompletely introduced for deduplication between different
      logical extents backed with the same pcluster.
      
      We will have a better in-memory representation in the next release
      cycle for this, as well as partial memory folios support. So get rid
      of it instead.
      
      No logic changes.
      
      Link: https://lore.kernel.org/r/20220529055425.226363-2-xiang@kernel.orgAcked-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      87ca34a7
  5. 30 May, 2022 1 commit