1. 12 Jun, 2022 1 commit
    • Linus Torvalds's avatar
      Merge tag 'random-5.19-rc2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · 3cae0d84
      Linus Torvalds authored
      Pull random number generator fixes from Jason Donenfeld:
      
       - A fix for a 5.19 regression for a case in which early device tree
         initializes the RNG, which flips a static branch.
      
         On most plaforms, jump labels aren't initialized until much later, so
         this caused splats. On a few mailing list threads, we cooked up easy
         fixes for arm64, arm32, and risc-v. But then things looked slightly
         more involved for xtensa, powerpc, arc, and mips. And at that point,
         when we're patching 7 architectures in a place before the console is
         even available, it seems like the cost/risk just wasn't worth it.
      
         So random.c works around it now by checking the already exported
         `static_key_initialized` boolean, as though somebody already ran into
         this issue in the past. I'm not super jazzed about that; it'd be
         prettier to not have to complicate downstream code. But I suppose
         it's practical.
      
       - A few small code nits and adding a missing __init annotation.
      
       - A change to the default config values to use the cpu and bootloader's
         seeds for initializing the RNG earlier.
      
         This brings them into line with what all the distros do (Fedora/RHEL,
         Debian, Ubuntu, Gentoo, Arch, NixOS, Alpine, SUSE, and Void... at
         least), and moreover will now give us test coverage in various test
         beds that might have caught the above device tree bug earlier.
      
       - A change to WireGuard CI's configuration to increase test coverage
         around the RNG.
      
       - A documentation comment fix to unrelated maintainerless CRC code that
         I was asked to take, I guess because it has to do with polynomials
         (which the RNG thankfully no longer uses).
      
      * tag 'random-5.19-rc2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        wireguard: selftests: use maximum cpu features and allow rng seeding
        random: remove rng_has_arch_random()
        random: credit cpu and bootloader seeds by default
        random: do not use jump labels before they are initialized
        random: account for arch randomness in bits
        random: mark bootloader randomness code as __init
        random: avoid checking crng_ready() twice in random_init()
        crc-itu-t: fix typo in CRC ITU-T polynomial comment
      3cae0d84
  2. 11 Jun, 2022 8 commits
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 7a68065e
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "A set of fixes. Most address the new warning we emit at build time
        when irq chips are not immutable with some additional tweaks to
        gpio-crystalcove from Andy and a small tweak to gpio-dwapd.
      
         - make irq_chip structs immutable in several Diolan and intel drivers
           to get rid of the new warning we emit when fiddling with irq chips
      
         - don't print error messages on probe deferral in gpio-dwapb"
      
      * tag 'gpio-fixes-for-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: dwapb: Don't print error on -EPROBE_DEFER
        gpio: dln2: make irq_chip immutable
        gpio: sch: make irq_chip immutable
        gpio: merrifield: make irq_chip immutable
        gpio: wcove: make irq_chip immutable
        gpio: crystalcove: Join function declarations and long lines
        gpio: crystalcove: Use specific type and API for IRQ number
        gpio: crystalcove: make irq_chip immutable
      7a68065e
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · cecb3540
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Driver fixes and and one core patch.
      
        Nine of the driver patches are minor fixes and reworks to lpfc and the
        rest are trivial and minor fixes elsewhere"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: pmcraid: Fix missing resource cleanup in error case
        scsi: ipr: Fix missing/incorrect resource cleanup in error case
        scsi: mpt3sas: Fix out-of-bounds compiler warning
        scsi: lpfc: Update lpfc version to 14.2.0.4
        scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion
        scsi: lpfc: Add more logging of cmd and cqe information for aborted NVMe cmds
        scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
        scsi: lpfc: Resolve NULL ptr dereference after an ELS LOGO is aborted
        scsi: lpfc: Address NULL pointer dereference after starget_to_rport()
        scsi: lpfc: Resolve some cleanup issues following SLI path refactoring
        scsi: lpfc: Resolve some cleanup issues following abort path refactoring
        scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_event()
        scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
        scsi: sd: Fix interpretation of VPD B9h length
      cecb3540
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · abe71eb3
      Linus Torvalds authored
      Pull virtio fixes from Michael Tsirkin:
       "Fixes all over the place, most notably fixes for latent bugs in
        drivers that got exposed by suppressing interrupts before DRIVER_OK,
        which in turn has been done by 8b4ec69d ("virtio: harden vring
        IRQ")"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        um: virt-pci: set device ready in probe()
        vdpa: make get_vq_group and set_group_asid optional
        virtio: Fix all occurences of the "the the" typo
        vduse: Fix NULL pointer dereference on sysfs access
        vringh: Fix loop descriptors check in the indirect cases
        vdpa/mlx5: clean up indenting in handle_ctrl_vlan()
        vdpa/mlx5: fix error code for deleting vlan
        virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
        vdpa/mlx5: Fix syntax errors in comments
        virtio-rng: make device ready before making request
      abe71eb3
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-5.19-1' of... · 0678afa6
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen.
       "Fix build errors and a stale comment"
      
      * tag 'loongarch-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: Remove MIPS comment about cycle counter
        LoongArch: Fix copy_thread() build errors
        LoongArch: Fix the !CONFIG_SMP build
      0678afa6
    • Linus Torvalds's avatar
      iov_iter: fix build issue due to possible type mis-match · 1c27f1fc
      Linus Torvalds authored
      Commit 6c776766 ("iov_iter: Fix iter_xarray_get_pages{,_alloc}()")
      introduced a problem on some 32-bit architectures (at least arm, xtensa,
      csky,sparc and mips), that have a 'size_t' that is 'unsigned int'.
      
      The reason is that we now do
      
          min(nr * PAGE_SIZE - offset, maxsize);
      
      where 'nr' and 'offset' and both 'unsigned int', and PAGE_SIZE is
      'unsigned long'.  As a result, the normal C type rules means that the
      first argument to 'min()' ends up being 'unsigned long'.
      
      In contrast, 'maxsize' is of type 'size_t'.
      
      Now, 'size_t' and 'unsigned long' are always the same physical type in
      the kernel, so you'd think this doesn't matter, and from an actual
      arithmetic standpoint it doesn't.
      
      But on 32-bit architectures 'size_t' is commonly 'unsigned int', even if
      it could also be 'unsigned long'.  In that situation, both are unsigned
      32-bit types, but they are not the *same* type.
      
      And as a result 'min()' will complain about the distinct types (ignore
      the "pointer types" part of the error message: that's an artifact of the
      way we have made 'min()' check types for being the same):
      
        lib/iov_iter.c: In function 'iter_xarray_get_pages':
        include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast [-Werror]
           20 |         (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
              |                                   ^~
        lib/iov_iter.c:1464:16: note: in expansion of macro 'min'
         1464 |         return min(nr * PAGE_SIZE - offset, maxsize);
              |                ^~~
      
      This was not visible on 64-bit architectures (where we always define
      'size_t' to be 'unsigned long').
      
      Force these cases to use 'min_t(size_t, x, y)' to make the type explicit
      and avoid the issue.
      
      [ Nit-picky note: technically 'size_t' doesn't have to match 'unsigned
        long' arithmetically. We've certainly historically seen environments
        with 16-bit address spaces and 32-bit 'unsigned long'.
      
        Similarly, even in 64-bit modern environments, 'size_t' could be its
        own type distinct from 'unsigned long', even if it were arithmetically
        identical.
      
        So the above type commentary is only really descriptive of the kernel
        environment, not some kind of universal truth for the kinds of wild
        and crazy situations that are allowed by the C standard ]
      Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Link: https://lore.kernel.org/all/YqRyL2sIqQNDfky2@debian/
      Cc: Jeff Layton <jlayton@kernel.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c27f1fc
    • Jason A. Donenfeld's avatar
      wireguard: selftests: use maximum cpu features and allow rng seeding · 17b0128a
      Jason A. Donenfeld authored
      By forcing the maximum CPU that QEMU has available, we expose additional
      capabilities, such as the RNDR instruction, which increases test
      coverage. This then allows the CI to skip the fake seeding step in some
      cases. Also enable STRICT_KERNEL_RWX to catch issues related to early
      jump labels when the RNG is initialized at boot.
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      17b0128a
    • Vincent Whitchurch's avatar
      um: virt-pci: set device ready in probe() · eacea844
      Vincent Whitchurch authored
      Call virtio_device_ready() to make this driver work after commit
      b4ec69d7e09 ("virtio: harden vring IRQ"), since the driver uses the
      virtqueues in the probe function.  (The virtio core sets the device
      ready when probe returns.)
      
      Fixes: 8b4ec69d ("virtio: harden vring IRQ")
      Fixes: 68f5d3f3 ("um: add PCI over virtio emulation driver")
      Signed-off-by: default avatarVincent Whitchurch <vincent.whitchurch@axis.com>
      Message-Id: <20220610151203.3492541-1-vincent.whitchurch@axis.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Tested-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      eacea844
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 0885eacd
      Linus Torvalds authored
      Pull nfsd fixes from Chuck Lever:
       "Notable changes:
      
         - There is now a backup maintainer for NFSD
      
        Notable fixes:
      
         - Prevent array overruns in svc_rdma_build_writes()
      
         - Prevent buffer overruns when encoding NFSv3 READDIR results
      
         - Fix a potential UAF in nfsd_file_put()"
      
      * tag 'nfsd-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        SUNRPC: Remove pointer type casts from xdr_get_next_encode_buffer()
        SUNRPC: Clean up xdr_get_next_encode_buffer()
        SUNRPC: Clean up xdr_commit_encode()
        SUNRPC: Optimize xdr_reserve_space()
        SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()
        SUNRPC: Trap RDMA segment overflows
        NFSD: Fix potential use-after-free in nfsd_file_put()
        MAINTAINERS: reciprocal co-maintainership for file locking and nfsd
      0885eacd
  3. 10 Jun, 2022 31 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/dm-fixes-2' of... · 90add6d4
      Linus Torvalds authored
      Merge tag 'for-5.19/dm-fixes-2' 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 bioset initialization so that blk integrity pool is
         properly setup. Remove now unused bioset_init_from_src.
      
       - Fix DM zoned hang from locking imbalance due to needless check in
         clone_endio().
      
      * tag 'for-5.19/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: fix zoned locking imbalance due to needless check in clone_endio
        block: remove bioset_init_from_src
        dm: fix bio_set allocation
      90add6d4
    • Linus Torvalds's avatar
      Merge branch 'fscache-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 045fb9c2
      Linus Torvalds authored
      Pull fscache cleanups from David Howells:
      
       - fix checker complaint in afs
      
       - two netfs cleanups:
      
          - netfs_inode calling convention cleanup plus the requisite
            documentation changes
      
          -  replace the ->cleanup op with a ->free_request op.
      
             This is possible as the I/O request is now always available at
             the cleanup point as the stuff to be cleaned up is no longer
             passed into the API functions, but rather obtained by ->init_request.
      
      * 'fscache-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        netfs: Rename the netfs_io_request cleanup op and give it an op pointer
        netfs: Further cleanups after struct netfs_inode wrapper introduced
        afs: Fix some checker issues
      045fb9c2
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · b0989159
      Linus Torvalds authored
      Pull iov_iter fix from Al Viro:
       "ITER_XARRAY get_pages fix; now the return value is a lot saner (and
        more similar to logics for other flavours)"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        iov_iter: Fix iter_xarray_get_pages{,_alloc}()
      b0989159
    • David Howells's avatar
      iov_iter: Fix iter_xarray_get_pages{,_alloc}() · 6c776766
      David Howells authored
      The maths at the end of iter_xarray_get_pages() to calculate the actual
      size doesn't work under some circumstances, such as when it's been asked to
      extract a partial single page.  Various terms of the equation cancel out
      and you end up with actual == offset.  The same issue exists in
      iter_xarray_get_pages_alloc().
      
      Fix these to just use min() to select the lesser amount from between the
      amount of page content transcribed into the buffer, minus the offset, and
      the size limit specified.
      
      This doesn't appear to have caused a problem yet upstream because network
      filesystems aren't getting the pages from an xarray iterator, but rather
      passing it directly to the socket, which just iterates over it.  Cachefiles
      *does* do DIO from one to/from ext4/xfs/btrfs/etc. but it always asks for
      whole pages to be written or read.
      
      Fixes: 7ff50620 ("iov_iter: Add ITER_XARRAY")
      Reported-by: default avatarJeff Layton <jlayton@kernel.org>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Alexander Viro <viro@zeniv.linux.org.uk>
      cc: Dominique Martinet <asmadeus@codewreck.org>
      cc: Mike Marshall <hubcap@omnibond.com>
      cc: Gao Xiang <xiang@kernel.org>
      cc: linux-afs@lists.infradead.org
      cc: v9fs-developer@lists.sourceforge.net
      cc: devel@lists.orangefs.org
      cc: linux-erofs@lists.ozlabs.org
      cc: linux-cachefs@redhat.com
      cc: linux-fsdevel@vger.kernel.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      6c776766
    • David Howells's avatar
      netfs: Rename the netfs_io_request cleanup op and give it an op pointer · 40a81101
      David Howells authored
      The netfs_io_request cleanup op is now always in a position to be given a
      pointer to a netfs_io_request struct, so this can be passed in instead of
      the mapping and private data arguments (both of which are included in the
      struct).
      
      So rename the ->cleanup op to ->free_request (to match ->init_request) and
      pass in the I/O pointer.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      cc: linux-cachefs@redhat.com
      40a81101
    • Linus Torvalds's avatar
      netfs: Further cleanups after struct netfs_inode wrapper introduced · e81fb419
      Linus Torvalds authored
      Change the signature of netfs helper functions to take a struct netfs_inode
      pointer rather than a struct inode pointer where appropriate, thereby
      relieving the need for the network filesystem to convert its internal inode
      format down to the VFS inode only for netfslib to bounce it back up.  For
      type safety, it's better not to do that (and it's less typing too).
      
      Give netfs_write_begin() an extra argument to pass in a pointer to the
      netfs_inode struct rather than deriving it internally from the file
      pointer.  Note that the ->write_begin() and ->write_end() ops are intended
      to be replaced in the future by netfslib code that manages this without the
      need to call in twice for each page.
      
      netfs_readpage() and similar are intended to be pointed at directly by the
      address_space_operations table, so must stick to the signature dictated by
      the function pointers there.
      
      Changes
      =======
      - Updated the kerneldoc comments and documentation [DH].
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: linux-cachefs@redhat.com
      Link: https://lore.kernel.org/r/CAHk-=wgkwKyNmNdKpQkqZ6DnmUL-x9hp0YBnUGjaPFEAdxDTbw@mail.gmail.com/
      e81fb419
    • David Howells's avatar
      afs: Fix some checker issues · 102d8410
      David Howells authored
      Remove an unused global variable and make another static as reported by
      make C=1.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: linux-afs@lists.infradead.org
      102d8410
    • Linus Torvalds's avatar
      Merge tag 'folio-5.19a' of git://git.infradead.org/users/willy/pagecache · a32e7ea3
      Linus Torvalds authored
      Pull folio fixes from Matthew Wilcox:
       "Four folio-related fixes:
      
         - Don't release a folio while it's still locked
      
         - Fix a use-after-free after dropping the mmap_lock
      
         - Fix a memory leak when splitting a page
      
         - Fix a kernel-doc warning for struct folio"
      
      * tag 'folio-5.19a' of git://git.infradead.org/users/willy/pagecache:
        mm: Add kernel-doc for folio->mlock_count
        mm/huge_memory: Fix xarray node memory leak
        filemap: Cache the value of vm_flags
        filemap: Don't release a locked folio
      a32e7ea3
    • Mike Snitzer's avatar
      dm: fix zoned locking imbalance due to needless check in clone_endio · dddf3056
      Mike Snitzer authored
      After the commit ca522482 ("dm: pass NULL bdev to bio_alloc_clone"),
      clone_endio() only calls dm_zone_endio() when DM targets remap the
      clone bio's bdev to something other than the md->disk->part0 default.
      
      However, if a DM target (e.g. dm-crypt) stacked ontop of a dm-zoned
      does not remap the clone bio using bio_set_dev() then dm_zone_endio()
      is not called at completion of the bios and zone locks are not
      properly unlocked. This triggers a hang, in dm_zone_map_bio(), when
      blktests block/004 is run for dm-crypt on zoned block devices. To
      avoid the hang, simply remove the clone_endio() check that verifies
      the target remapped the clone bio to a device other than the default.
      
      Fixes: ca522482 ("dm: pass NULL bdev to bio_alloc_clone")
      Reported-by: default avatarShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      dddf3056
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · aa3398fb
      Linus Torvalds authored
      Pull more devicetree fixes from Rob Herring:
      
       - More DT meta-schema check fixes from new bindings in merge window
      
       - Fix stale DT binding references from Mauro
      
       - Update various binding maintainers
      
       - Fix in arm,malidp properties to match reality
      
       - Add deprecated 'atheros' vendor prefix
      
      * tag 'devicetree-fixes-for-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: display: arm,malidp: remove bogus RQOS property
        dt-bindings: pinctrl: ralink: Fix 'enum' lists with duplicate entries
        dt-bindings: Drop more redundant 'maxItems/minItems' in if/then schemas
        dt-bindings: nvme: apple,nvme-ans: Drop 'maxItems' from 'apple,sart'
        MAINTAINERS: rectify entries for ARM DRM DRIVERS after dt conversion
        MAINTAINERS: update snps,axs10x-reset.yaml reference
        MAINTAINERS: update dongwoon,dw9807-vcm.yaml reference
        MAINTAINERS: update cortina,gemini-ethernet.yaml reference
        dt-bindings: mfd: rk808: update rockchip,rk808.yaml reference
        dt-bindings: reset: update st,stih407-powerdown.yaml references
        dt-bindings: arm: update vexpress-config.yaml references
        dt-bindings: interrupt-controller: update brcm,l2-intc.yaml reference
        dt-bindings: mfd: bd9571mwv: update rohm,bd9571mwv.yaml reference
        dt-bindings: update Luca Ceresoli's e-mail address
        dt-bindings: msm: update maintainers list with proper id
        dt-bindings: vendor-prefixes: document deprecated Atheros
        dt-bindings: Update QCOM USB subsystem maintainer information
      aa3398fb
    • Linus Torvalds's avatar
      Merge tag 'pm-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1bc27dec
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix an intel_idle issue introduced during the 5.16 development
        cycle and two recent regressions in the system reboot/poweroff code.
      
        Specifics:
      
         - Fix CPUIDLE_FLAG_IRQ_ENABLE handling in intel_idle (Peter Zijlstra)
      
         - Allow all platforms to use the global poweroff handler and make
           non-syscall poweroff code paths work again (Dmitry Osipenko)"
      
      * tag 'pm-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE
        kernel/reboot: Fix powering off using a non-syscall code paths
        kernel/reboot: Use static handler for register_platform_power_off()
      1bc27dec
    • David Howells's avatar
      certs: Convert spaces in certs/Makefile to a tab · d56fd986
      David Howells authored
      There's a rule in certs/Makefile for which the command begins with eight
      spaces.  This results in:
      
              ../certs/Makefile:21: FORCE prerequisite is missing
              ../certs/Makefile:21: *** missing separator.  Stop.
      
      Fix this by turning the spaces into a tab.
      
      Fixes: addf4663 ("certs: Check that builtin blacklist hashes are valid")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Reviewed-by: default avatarMickaël Salaün <mic@linux.microsoft.com>
      cc: keyrings@vger.kernel.org
      Link: https://lore.kernel.org/r/486b1b80-9932-aab6-138d-434c541c934a@digikod.net/ # v1
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d56fd986
    • Andre Przywara's avatar
      dt-bindings: display: arm,malidp: remove bogus RQOS property · 0b9431c8
      Andre Przywara authored
      As Liviu pointed out, the arm,malidp-arqos-high-level property
      mentioned in the original .txt binding was a mistake, and
      arm,malidp-arqos-value needs to take its place.
      
      The binding commit ce6eb025 ("dt/bindings: display: Add optional
      property node define for Mali DP500") mentions the right name in the
      commit message, but has the wrong name in the diff.
      Commit d298e6a2 ("drm/arm/mali-dp: Add display QoS interface
      configuration for Mali DP500") uses the property in the driver, but uses
      the shorter name.
      
      Remove the wrong property from the binding, and use the proper name in
      the example. The actual property was already documented properly.
      
      Fixes: 2c8b082a ("dt-bindings: display: convert Arm Mali-DP to DT schema")
      Link: https://lore.kernel.org/linux-arm-kernel/YnumGEilUblhBx8E@e110455-lin.cambridge.arm.com/Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      Reported-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220609162729.1441760-1-andre.przywara@arm.com
      0b9431c8
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sysoff' · 67e59f8d
      Rafael J. Wysocki authored
      Merge fixes for regressions introduced by the recent rework of the
      system reboot/poweroff code.
      
      * pm-sysoff:
        kernel/reboot: Fix powering off using a non-syscall code paths
        kernel/reboot: Use static handler for register_platform_power_off()
      67e59f8d
    • Rob Herring's avatar
      dt-bindings: pinctrl: ralink: Fix 'enum' lists with duplicate entries · 01aa6cbf
      Rob Herring authored
      There's no reason to list the same value twice in an 'enum'. This was fixed
      treewide in commit c3b00681 ("dt-bindings: Fix 'enum' lists with
      duplicate entries"), but this one got added in the merge window.
      
      A meta-schema change will catch future cases.
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarSergio Paracuellos <sergio.paracuellos@gmail.com>
      Link: https://lore.kernel.org/r/20220606212239.1360877-1-robh@kernel.org
      01aa6cbf
    • Linus Torvalds's avatar
      Merge tag 'docs-5.19-3' of git://git.lwn.net/linux · fe43c018
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A few documentation fixes for 5.19, including moving the new HTE docs
        to a more suitable location, adding loongarch to the features lists,
        and a couple of typo fixes"
      
      * tag 'docs-5.19-3' of git://git.lwn.net/linux:
        docs: arm: tcm: Fix typo in description of TCM and MMU usage
        docs: Move the HTE documentation to driver-api/
        docs: usb: fix literal block marker in usbmon verification example
        Documentation/features: Update the arch support status files
      fe43c018
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 36a23663
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - SME save/restore for EFI fix - incorrect logic for detecting the need
         for saving/restoring the FFR state.
      
       - SME fix for a CPU ID field value.
      
       - Sysreg generation awk script fix (comparison operator).
      
       - Some typos in documentation or comments and silence a sparse warning
         (missing prototype).
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Add kasan_hw_tags_enable() prototype to silence sparse
        arm64/sme: Fix EFI save/restore
        arm64/fpsimd: Fix typo in comment
        arm64/sysreg: Fix typo in Enum element regex
        arm64/sme: Fix SVE/SME typo in ABI documentation
        arm64/sme: Fix tests for 0b1111 value ID registers
      36a23663
    • Linus Torvalds's avatar
      Merge tag 'zonefs-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · ad6e0764
      Linus Torvalds authored
      Pull zonefs fixes from Damien Le Moal:
      
       - Fix handling of the explicit-open mount option, and in particular the
         conditions under which this option can be ignored.
      
       - Fix a problem with zonefs iomap_begin method, causing a hang in
         iomap_readahead() when a readahead request reaches the end of a file.
      
      * tag 'zonefs-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: fix zonefs_iomap_begin() for reads
        zonefs: Do not ignore explicit_open with active zone limit
        zonefs: fix handling of explicit_open option on mount
      ad6e0764
    • Linus Torvalds's avatar
      Merge tag 'ata-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · f7a1d00e
      Linus Torvalds authored
      Pull ATA fixes from Damien Le Moal:
       "Several small fixes for rc2:
      
         - Remove unused field in struct ata_port (Hannes)
      
         - Fix a potential (very unlikely) NULL pointer dereference in
           ata_host_alloc_pinfo() (Sergey)
      
         - Fix a device reference leak in the pata_octeon_cf driver (Miaoqian)
      
         - Fixes for handling access to the concurrent positioning ranges log
           page used with multi-actuator HDDs (Tyler)
      
         - Fix the values shown by the pio_mode and dma_mode sysfs device
           attributes (Sergey)
      
         - Update the MAINTAINERS file to add libata sysfs ABI documentation
           file (Sergey)"
      
      * tag 'ata-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        MAINTAINERS: add ATA sysfs file documentation to libata entry
        ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files
        libata: fix translation of concurrent positioning ranges
        libata: fix reading concurrent positioning ranges log
        ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
        ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
        ata: libata: drop 'sas_last_tag'
      f7a1d00e
    • Linus Torvalds's avatar
      Merge tag 'sound-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 8f7ac50c
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of fixes; almost all changes are device-specific small
        fixes over ASoC, HD-audio and USB-audio. No sign of serious breakage,
        so far"
      
      * tag 'sound-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
        ALSA: hda/realtek: Add quirk for HP Dev One
        ALSA: hda/realtek - Add HW8326 support
        ALSA: hda/conexant - Fix loopback issue with CX20632
        ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID
        ALSA: usb-audio: Set up (implicit) sync for Saffire 6
        ALSA: usb-audio: Skip generic sync EP parse for secondary EP
        ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()
        ASoC: es8328: Fix event generation for deemphasis control
        ASoC: wm8962: Fix suspend while playing music
        ASoC: SOF: ipc-msg-injector: Fix reversed if statement
        ASoC: SOF: ipc-msg-injector: Propagate write errors correctly
        ASoC: fsl_sai: Add support for i.MX8MN
        ASoC: SOF: Fix potential NULL pointer dereference
        ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021
        ASoC: cs42l51: Correct minimum value for SX volume control
        ASoC: cs42l56: Correct typo in minimum level for SX volume controls
        ASoC: cs42l52: Correct TLV for Bypass Volume
        ASoC: cs53l30: Correct number of volume levels on SX controls
        ASoC: cs35l36: Update digital volume TLV
        ASoC: cs42l52: Fix TLV scales for mixer controls
        ...
      8f7ac50c
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-06-10' of git://anongit.freedesktop.org/drm/drm · 8dd77d44
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Not a huge amount here, mainly a bunch of scattered amdgpu fixes, and
        then some misc panfrost, bridge/panel ones, and one ast fix for
        multi-monitors. Probably pick up a bit more next week like rc3 often
        does.
      
        amdgpu:
         - DCN 3.1 golden settings fix
         - eDP fixes
         - DMCUB fixes
         - GFX11 fixes and cleanups
         - VCN fix for yellow carp
         - GMC11 fixes
         - RAS fixes
         - GPUVM TLB flush fixes
         - SMU13 fixes
         - VCN3 AV1 regression fix
         - VCN2 JPEG fix
         - Other misc fixes
      
        amdkfd:
         - MMU notifier fix
         - Support for more GC 10.3.x families
         - Pinned BO handling fix
         - Partial migration bug fix
      
        panfrost:
         - fix a use after free
      
        ti-sn65dsi83:
         - fix invalid DT configuration
      
        panel:
         - two self refresh fixes
      
        ast:
         - multiple output fix"
      
      * tag 'drm-fixes-2022-06-10' of git://anongit.freedesktop.org/drm/drm: (37 commits)
        drm/ast: Support multiple outputs
        drm/amdgpu/mes: only invalid/prime icache when finish loading both pipe MES FWs.
        drm/amdgpu/jpeg2: Add jpeg vmid update under IB submit
        drm/amdgpu: always flush the TLB on gfx8
        drm/amdgpu: fix limiting AV1 to the first instance on VCN3
        drm/amdkfd:Fix fw version for 10.3.6
        drm/amdgpu: Add MODE register to wave debug info in gfx11
        Revert "drm/amd/display: Pass the new context into disable OTG WA"
        Revert "drm/amdgpu: Ensure the DMA engine is deactivated during set ups"
        drm/atomic: Force bridge self-refresh-exit on CRTC switch
        drm/bridge: analogix_dp: Support PSR-exit to disable transition
        drm/amdgpu: suppress the compile warning about 64 bit type
        drm/amd/pm: suppress compile warnings about possible unaligned accesses
        drm/amdkfd: Fix partial migration bugs
        drm/amdkfd: add pinned BOs to kfd_bo_list
        drm/amdgpu: Update PDEs flush TLB if PTB/PDB moved
        drm/amdgpu: enable tmz by default for GC 10.3.7
        drm/amdkfd: Add GC 10.3.6 and 10.3.7 KFD definitions
        drm/amdkfd: Use mmget_not_zero in MMU notifier
        drm/amdgpu: Resolve RAS GFX error count issue after cold boot on Arcturus
        ...
      8dd77d44
    • Linus Torvalds's avatar
      Merge tag 'net-5.19-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 68171bbd
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Quick follow up, to cleanly fast-forward net again.
      
        Current release - new code bugs:
      
         - Revert "net/mlx5e: Allow relaxed ordering over VFs"
      
        Previous releases - regressions:
      
         - seg6: fix seg6_lookup_any_nexthop() to handle VRFs using
           flowi_l3mdev
      
        Misc:
      
         - rename TLS_INFO_ZC_SENDFILE to better express the meaning"
      
      * tag 'net-5.19-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net:
        net: seg6: fix seg6_lookup_any_nexthop() to handle VRFs using flowi_l3mdev
        nfp: flower: restructure flow-key for gre+vlan combination
        nfp: avoid unnecessary check warnings in nfp_app_get_vf_config
        tls: Rename TLS_INFO_ZC_SENDFILE to TLS_INFO_ZC_TX
        net/mlx5: fs, fail conflicting actions
        net/mlx5: Rearm the FW tracer after each tracer event
        net/mlx5: E-Switch, pair only capable devices
        net/mlx5e: CT: Fix cleanup of CT before cleanup of TC ct rules
        Revert "net/mlx5e: Allow relaxed ordering over VFs"
        MAINTAINERS: adjust MELLANOX ETHERNET INNOVA DRIVERS to TLS support removal
      68171bbd
    • Catalin Marinas's avatar
      arm64: Add kasan_hw_tags_enable() prototype to silence sparse · 78cdaf3f
      Catalin Marinas authored
      This function is only called from assembly, no need for a prototype
      declaration in a header file. In addition, add #ifdef around the
      function since it is only used when CONFIG_KASAN_HW_TAGS.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      78cdaf3f
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.19a-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · f2ecc964
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - a small cleanup removing "export" of an __init function
      
       - a small series adding a new infrastructure for platform flags
      
       - a series adding generic virtio support for Xen guests (frontend side)
      
      * tag 'for-linus-5.19a-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
        arm/xen: Assign xen-grant DMA ops for xen-grant DMA devices
        xen/grant-dma-ops: Retrieve the ID of backend's domain for DT devices
        xen/grant-dma-iommu: Introduce stub IOMMU driver
        dt-bindings: Add xen,grant-dma IOMMU description for xen-grant DMA ops
        xen/virtio: Enable restricted memory access using Xen grant mappings
        xen/grant-dma-ops: Add option to restrict memory access under Xen
        xen/grants: support allocating consecutive grants
        arm/xen: Introduce xen_setup_dma_ops()
        virtio: replace arch_has_restricted_virtio_memory_access()
        kernel: add platform_has() infrastructure
      f2ecc964
    • Linus Torvalds's avatar
      Merge tag 'mips-fixes_5.19_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 7d78b7eb
      Linus Torvalds authored
      Pull MIPS fix from Thomas Bogendoerfer:
       "Build fix for Loongson-3"
      
      * tag 'mips-fixes_5.19_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: Loongson-3: fix compile mips cpu_hwmon as module build error.
      7d78b7eb
    • Mark Brown's avatar
      arm64/sme: Fix EFI save/restore · 2e990e63
      Mark Brown authored
      The EFI save/restore code is confused. When saving the check for saving
      FFR is inverted due to confusion with the streaming mode check, and when
      restoring we check if we need to restore FFR by checking the percpu
      efi_sm_state without the required wrapper rather than based on the
      combination of FA64 support and streaming mode.
      
      Fixes: e0838f63 ("arm64/sme: Save and restore streaming mode over EFI runtime calls")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Link: https://lore.kernel.org/r/20220602124132.3528951-1-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      2e990e63
    • Xiang wangx's avatar
      bb314511
    • Alejandro Tafalla's avatar
      arm64/sysreg: Fix typo in Enum element regex · ce253b85
      Alejandro Tafalla authored
      In the awk script, there was a typo with the comparison operator when
      checking if the matched pattern is inside an Enum block.
      This prevented the generation of the whole sysreg-defs.h header.
      
      Fixes: 66847e06 ("arm64: Add sysreg header generation scripting")
      Signed-off-by: default avatarAlejandro Tafalla <atafalla@dnyon.com>
      Reviewed-by: default avatarMark Brown <broonie@kernel.org>
      Link: https://lore.kernel.org/r/20220609204220.12112-1-atafalla@dnyon.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      ce253b85
    • Serge Semin's avatar
      gpio: dwapb: Don't print error on -EPROBE_DEFER · 77006f6e
      Serge Semin authored
      Currently if the APB or Debounce clocks aren't yet ready to be requested
      the DW GPIO driver will correctly handle that by deferring the probe
      procedure, but the error is still printed to the system log. It needlessly
      pollutes the log since there was no real error but a request to postpone
      the clock request procedure since the clocks subsystem hasn't been fully
      initialized yet. Let's fix that by using the dev_err_probe method to print
      the APB/clock request error status. It will correctly handle the deferred
      probe situation and print the error if it actually happens.
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      77006f6e
    • Jason A. Donenfeld's avatar
      random: remove rng_has_arch_random() · e052a478
      Jason A. Donenfeld authored
      With arch randomness being used by every distro and enabled in
      defconfigs, the distinction between rng_has_arch_random() and
      rng_is_initialized() is now rather small. In fact, the places where they
      differ are now places where paranoid users and system builders really
      don't want arch randomness to be used, in which case we should respect
      that choice, or places where arch randomness is known to be broken, in
      which case that choice is all the more important. So this commit just
      removes the function and its one user.
      
      Reviewed-by: Petr Mladek <pmladek@suse.com> # for vsprintf.c
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      e052a478
    • Jason A. Donenfeld's avatar
      random: credit cpu and bootloader seeds by default · 846bb97e
      Jason A. Donenfeld authored
      This commit changes the default Kconfig values of RANDOM_TRUST_CPU and
      RANDOM_TRUST_BOOTLOADER to be Y by default. It does not change any
      existing configs or change any kernel behavior. The reason for this is
      several fold.
      
      As background, I recently had an email thread with the kernel
      maintainers of Fedora/RHEL, Debian, Ubuntu, Gentoo, Arch, NixOS, Alpine,
      SUSE, and Void as recipients. I noted that some distros trust RDRAND,
      some trust EFI, and some trust both, and I asked why or why not. There
      wasn't really much of a "debate" but rather an interesting discussion of
      what the historical reasons have been for this, and it came up that some
      distros just missed the introduction of the bootloader Kconfig knob,
      while another didn't want to enable it until there was a boot time
      switch to turn it off for more concerned users (which has since been
      added). The result of the rather uneventful discussion is that every
      major Linux distro enables these two options by default.
      
      While I didn't have really too strong of an opinion going into this
      thread -- and I mostly wanted to learn what the distros' thinking was
      one way or another -- ultimately I think their choice was a decent
      enough one for a default option (which can be disabled at boot time).
      I'll try to summarize the pros and cons:
      
      Pros:
      
      - The RNG machinery gets initialized super quickly, and there's no
        messing around with subsequent blocking behavior.
      
      - The bootloader mechanism is used by kexec in order for the prior
        kernel to initialize the RNG of the next kernel, which increases
        the entropy available to early boot daemons of the next kernel.
      
      - Previous objections related to backdoors centered around
        Dual_EC_DRBG-like kleptographic systems, in which observing some
        amount of the output stream enables an adversary holding the right key
        to determine the entire output stream.
      
        This used to be a partially justified concern, because RDRAND output
        was mixed into the output stream in varying ways, some of which may
        have lacked pre-image resistance (e.g. XOR or an LFSR).
      
        But this is no longer the case. Now, all usage of RDRAND and
        bootloader seeds go through a cryptographic hash function. This means
        that the CPU would have to compute a hash pre-image, which is not
        considered to be feasible (otherwise the hash function would be
        terribly broken).
      
      - More generally, if the CPU is backdoored, the RNG is probably not the
        realistic vector of choice for an attacker.
      
      - These CPU or bootloader seeds are far from being the only source of
        entropy. Rather, there is generally a pretty huge amount of entropy,
        not all of which is credited, especially on CPUs that support
        instructions like RDRAND. In other words, assuming RDRAND outputs all
        zeros, an attacker would *still* have to accurately model every single
        other entropy source also in use.
      
      - The RNG now reseeds itself quite rapidly during boot, starting at 2
        seconds, then 4, then 8, then 16, and so forth, so that other sources
        of entropy get used without much delay.
      
      - Paranoid users can set random.trust_{cpu,bootloader}=no in the kernel
        command line, and paranoid system builders can set the Kconfig options
        to N, so there's no reduction or restriction of optionality.
      
      - It's a practical default.
      
      - All the distros have it set this way. Microsoft and Apple trust it
        too. Bandwagon.
      
      Cons:
      
      - RDRAND *could* still be backdoored with something like a fixed key or
        limited space serial number seed or another indexable scheme like
        that. (However, it's hard to imagine threat models where the CPU is
        backdoored like this, yet people are still okay making *any*
        computations with it or connecting it to networks, etc.)
      
      - RDRAND *could* be defective, rather than backdoored, and produce
        garbage that is in one way or another insufficient for crypto.
      
      - Suggesting a *reduction* in paranoia, as this commit effectively does,
        may cause some to question my personal integrity as a "security
        person".
      
      - Bootloader seeds and RDRAND are generally very difficult if not all
        together impossible to audit.
      
      Keep in mind that this doesn't actually change any behavior. This
      is just a change in the default Kconfig value. The distros already are
      shipping kernels that set things this way.
      
      Ard made an additional argument in [1]:
      
          We're at the mercy of firmware and micro-architecture anyway, given
          that we are also relying on it to ensure that every instruction in
          the kernel's executable image has been faithfully copied to memory,
          and that the CPU implements those instructions as documented. So I
          don't think firmware or ISA bugs related to RNGs deserve special
          treatment - if they are broken, we should quirk around them like we
          usually do. So enabling these by default is a step in the right
          direction IMHO.
      
      In [2], Phil pointed out that having this disabled masked a bug that CI
      otherwise would have caught:
      
          A clean 5.15.45 boots cleanly, whereas a downstream kernel shows the
          static key warning (but it does go on to boot). The significant
          difference is that our defconfigs set CONFIG_RANDOM_TRUST_BOOTLOADER=y
          defining that on top of multi_v7_defconfig demonstrates the issue on
          a clean 5.15.45. Conversely, not setting that option in a
          downstream kernel build avoids the warning
      
      [1] https://lore.kernel.org/lkml/CAMj1kXGi+ieviFjXv9zQBSaGyyzeGW_VpMpTLJK8PJb2QHEQ-w@mail.gmail.com/
      [2] https://lore.kernel.org/lkml/c47c42e3-1d56-5859-a6ad-976a1a3381c6@raspberrypi.com/
      
      Cc: Theodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      846bb97e