1. 19 Jan, 2022 6 commits
    • Jisheng Zhang's avatar
      riscv: mm: init: try best to use IS_ENABLED(CONFIG_64BIT) instead of #ifdef · 07aabe8f
      Jisheng Zhang authored
      Try our best to replace the conditional compilation using
      "#ifdef CONFIG_64BIT" by a check for "IS_ENABLED(CONFIG_64BIT)", to
      simplify the code and to increase compile coverage.
      
      Now we can also remove the __maybe_unused used in max_mapped_addr
      declaration.
      
      We also remove the BUG_ON check of mapping the last 4K bytes of the
      addressable memory since this is always true for every kernel actually.
      Signed-off-by: default avatarJisheng Zhang <jszhang@kernel.org>
      Reviewed-by: default avatarAlexandre Ghiti <alex@ghiti.fr>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      07aabe8f
    • Jisheng Zhang's avatar
      riscv: mm: init: remove unnecessary "#ifdef CONFIG_CRASH_DUMP" · 902d6364
      Jisheng Zhang authored
      The is_kdump_kernel() returns false for !CRASH_DUMP case, so we don't
      need the #ifdef CONFIG_CRASH_DUMP for is_kdump_kernel() checking.
      Signed-off-by: default avatarJisheng Zhang <jszhang@kernel.org>
      Reviewed-by: default avatarAlexandre Ghiti <alex@ghiti.fr>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      902d6364
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.17-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · f1b744f6
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for the DA9063 as used on the HiFive Unmatched.
      
       - Support for relative extables, which puts us in line with other
         architectures and save some space in vmlinux.
      
       - A handful of kexec fixes/improvements, including the ability to run
         crash kernels from PCI-addressable memory on the HiFive Unmatched.
      
       - Support for the SBI SRST extension, which allows systems that do not
         have an explicit driver in Linux to reboot.
      
       - A handful of fixes and cleanups, including to the defconfigs and
         device trees.
      
      * tag 'riscv-for-linus-5.17-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (52 commits)
        RISC-V: Use SBI SRST extension when available
        riscv: mm: fix wrong phys_ram_base value for RV64
        RISC-V: Use common riscv_cpuid_to_hartid_mask() for both SMP=y and SMP=n
        riscv: head: remove useless __PAGE_ALIGNED_BSS and .balign
        riscv: errata: alternative: mark vendor_patch_func __initdata
        riscv: head: make secondary_start_common() static
        riscv: remove cpu_stop()
        riscv: try to allocate crashkern region from 32bit addressible memory
        riscv: use hart id instead of cpu id on machine_kexec
        riscv: Don't use va_pa_offset on kdump
        riscv: dts: sifive: fu540-c000: Fix PLIC node
        riscv: dts: sifive: fu540-c000: Drop bogus soc node compatible values
        riscv: dts: sifive: Group tuples in register properties
        riscv: dts: sifive: Group tuples in interrupt properties
        riscv: dts: microchip: mpfs: Group tuples in interrupt properties
        riscv: dts: microchip: mpfs: Fix clock controller node
        riscv: dts: microchip: mpfs: Fix reference clock node
        riscv: dts: microchip: mpfs: Fix PLIC node
        riscv: dts: microchip: mpfs: Drop empty chosen node
        riscv: dts: canaan: Group tuples in interrupt properties
        ...
      f1b744f6
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · fd6f57bf
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Add new kconfig target 'make mod2noconfig', which will be useful to
         speed up the build and test iteration.
      
       - Raise the minimum supported version of LLVM to 11.0.0
      
       - Refactor certs/Makefile
      
       - Change the format of include/config/auto.conf to stop double-quoting
         string type CONFIG options.
      
       - Fix ARCH=sh builds in dash
      
       - Separate compression macros for general purposes (cmd_bzip2 etc.) and
         the ones for decompressors (cmd_bzip2_with_size etc.)
      
       - Misc Makefile cleanups
      
      * tag 'kbuild-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (34 commits)
        kbuild: add cmd_file_size
        arch: decompressor: remove useless vmlinux.bin.all-y
        kbuild: rename cmd_{bzip2,lzma,lzo,lz4,xzkern,zstd22}
        kbuild: drop $(size_append) from cmd_zstd
        sh: rename suffix-y to suffix_y
        doc: kbuild: fix default in `imply` table
        microblaze: use built-in function to get CPU_{MAJOR,MINOR,REV}
        certs: move scripts/extract-cert to certs/
        kbuild: do not quote string values in include/config/auto.conf
        kbuild: do not include include/config/auto.conf from shell scripts
        certs: simplify $(srctree)/ handling and remove config_filename macro
        kbuild: stop using config_filename in scripts/Makefile.modsign
        certs: remove misleading comments about GCC PR
        certs: refactor file cleaning
        certs: remove unneeded -I$(srctree) option for system_certificates.o
        certs: unify duplicated cmd_extract_certs and improve the log
        certs: use $< and $@ to simplify the key generation rule
        kbuild: remove headers_check stub
        kbuild: move headers_check.pl to usr/include/
        certs: use if_changed to re-generate the key when the key type is changed
        ...
      fd6f57bf
    • Linus Torvalds's avatar
      Merge branch 'random-5.17-rc1-for-linus' of... · 0ed90597
      Linus Torvalds authored
      Merge branch 'random-5.17-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random
      
      Pull random number generator fixes from Jason Donenfeld:
      
       - Some Kconfig changes resulted in BIG_KEYS being unselectable, which
         Justin sent a patch to fix.
      
       - Geert pointed out that moving to BLAKE2s bloated vmlinux on little
         machines, like m68k, so we now compensate for this.
      
       - Numerous style and house cleaning fixes, meant to have a cleaner base
         for future changes.
      
      * 'random-5.17-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        random: simplify arithmetic function flow in account()
        random: selectively clang-format where it makes sense
        random: access input_pool_data directly rather than through pointer
        random: cleanup fractional entropy shift constants
        random: prepend remaining pool constants with POOL_
        random: de-duplicate INPUT_POOL constants
        random: remove unused OUTPUT_POOL constants
        random: rather than entropy_store abstraction, use global
        random: remove unused extract_entropy() reserved argument
        random: remove incomplete last_data logic
        random: cleanup integer types
        random: cleanup poolinfo abstraction
        random: fix typo in comments
        lib/crypto: sha1: re-roll loops to reduce code size
        lib/crypto: blake2s: move hmac construction into wireguard
        lib/crypto: add prompts back to crypto libraries
      0ed90597
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 39b419ea
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "This contains a change to the stm32 hwspinlock driver to ensure that
        the hardware is operational even without CONFIG_PM"
      
      * tag 'hwlock-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        hwspinlock: stm32: enable clock at probe
      39b419ea
  2. 18 Jan, 2022 28 commits
    • Jason A. Donenfeld's avatar
      random: simplify arithmetic function flow in account() · a254a0e4
      Jason A. Donenfeld authored
      Now that have_bytes is never modified, we can simplify this function.
      First, we move the check for negative entropy_count to be first. That
      ensures that subsequent reads of this will be non-negative. Then,
      have_bytes and ibytes can be folded into their one use site in the
      min_t() function.
      Suggested-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      a254a0e4
    • Jason A. Donenfeld's avatar
      random: selectively clang-format where it makes sense · 248045b8
      Jason A. Donenfeld authored
      This is an old driver that has seen a lot of different eras of kernel
      coding style. In an effort to make it easier to code for, unify the
      coding style around the current norm, by accepting some of -- but
      certainly not all of -- the suggestions from clang-format. This should
      remove ambiguity in coding style, especially with regards to spacing,
      when code is being changed or amended. Consequently it also makes code
      review easier on the eyes, following one uniform style rather than
      several.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      248045b8
    • Jason A. Donenfeld's avatar
      random: access input_pool_data directly rather than through pointer · 6c0eace6
      Jason A. Donenfeld authored
      This gets rid of another abstraction we no longer need. It would be nice
      if we could instead make pool an array rather than a pointer, but the
      latent entropy plugin won't be able to do its magic in that case. So
      instead we put all accesses to the input pool's actual data through the
      input_pool_data array directly.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      6c0eace6
    • Jason A. Donenfeld's avatar
      random: cleanup fractional entropy shift constants · 18263c4e
      Jason A. Donenfeld authored
      The entropy estimator is calculated in terms of 1/8 bits, which means
      there are various constants where things are shifted by 3. Move these
      into our pool info enum with the other relevant constants. While we're
      at it, move an English assertion about sizes into a proper BUILD_BUG_ON
      so that the compiler can ensure this invariant.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      18263c4e
    • Jason A. Donenfeld's avatar
      random: prepend remaining pool constants with POOL_ · b3d51c1f
      Jason A. Donenfeld authored
      The other pool constants are prepended with POOL_, but not these last
      ones. Rename them. This will then let us move them into the enum in the
      following commit.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      b3d51c1f
    • Jason A. Donenfeld's avatar
      random: de-duplicate INPUT_POOL constants · 5b87adf3
      Jason A. Donenfeld authored
      We already had the POOL_* constants, so deduplicate the older INPUT_POOL
      ones. As well, fold EXTRACT_SIZE into the poolinfo enum, since it's
      related.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      5b87adf3
    • Jason A. Donenfeld's avatar
      random: remove unused OUTPUT_POOL constants · 0f637027
      Jason A. Donenfeld authored
      We no longer have an output pool. Rather, we have just a wakeup bits
      threshold for /dev/random reads, presumably so that processes don't
      hang. This value, random_write_wakeup_bits, is configurable anyway. So
      all the no longer usefully named OUTPUT_POOL constants were doing was
      setting a reasonable default for random_write_wakeup_bits. This commit
      gets rid of the constants and just puts it all in the default value of
      random_write_wakeup_bits.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      0f637027
    • Jason A. Donenfeld's avatar
      random: rather than entropy_store abstraction, use global · 90ed1e67
      Jason A. Donenfeld authored
      Originally, the RNG used several pools, so having things abstracted out
      over a generic entropy_store object made sense. These days, there's only
      one input pool, and then an uneven mix of usage via the abstraction and
      usage via &input_pool. Rather than this uneasy mixture, just get rid of
      the abstraction entirely and have things always use the global. This
      simplifies the code and makes reading it a bit easier.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      90ed1e67
    • Jason A. Donenfeld's avatar
      random: remove unused extract_entropy() reserved argument · 8b2d953b
      Jason A. Donenfeld authored
      This argument is always set to zero, as a result of us not caring about
      keeping a certain amount reserved in the pool these days. So just remove
      it and cleanup the function signatures.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      8b2d953b
    • Jason A. Donenfeld's avatar
      random: remove incomplete last_data logic · a4bfa9b3
      Jason A. Donenfeld authored
      There were a few things added under the "if (fips_enabled)" banner,
      which never really got completed, and the FIPS people anyway are
      choosing a different direction. Rather than keep around this halfbaked
      code, get rid of it so that we can focus on a single design of the RNG
      rather than two designs.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      a4bfa9b3
    • Jason A. Donenfeld's avatar
      random: cleanup integer types · d38bb085
      Jason A. Donenfeld authored
      Rather than using the userspace type, __uXX, switch to using uXX. And
      rather than using variously chosen `char *` or `unsigned char *`, use
      `u8 *` uniformly for things that aren't strings, in the case where we
      are doing byte-by-byte traversal.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      d38bb085
    • Jason A. Donenfeld's avatar
      random: cleanup poolinfo abstraction · 91ec0fe1
      Jason A. Donenfeld authored
      Now that we're only using one polynomial, we can cleanup its
      representation into constants, instead of passing around pointers
      dynamically to select different polynomials. This improves the codegen
      and makes the code a bit more straightforward.
      Reviewed-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      91ec0fe1
    • Schspa Shi's avatar
      random: fix typo in comments · c0a8a61e
      Schspa Shi authored
      s/or/for
      Signed-off-by: default avatarSchspa Shi <schspa@gmail.com>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      c0a8a61e
    • Jason A. Donenfeld's avatar
      lib/crypto: sha1: re-roll loops to reduce code size · 9a1536b0
      Jason A. Donenfeld authored
      With SHA-1 no longer being used for anything performance oriented, and
      also soon to be phased out entirely, we can make up for the space added
      by unrolled BLAKE2s by simply re-rolling SHA-1. Since SHA-1 is so much
      more complex, re-rolling it more or less takes care of the code size
      added by BLAKE2s. And eventually, hopefully we'll see SHA-1 removed
      entirely from most small kernel builds.
      
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Ard Biesheuvel <ardb@kernel.org>
      Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      9a1536b0
    • Jason A. Donenfeld's avatar
      lib/crypto: blake2s: move hmac construction into wireguard · d8d83d8a
      Jason A. Donenfeld authored
      Basically nobody should use blake2s in an HMAC construction; it already
      has a keyed variant. But unfortunately for historical reasons, Noise,
      used by WireGuard, uses HKDF quite strictly, which means we have to use
      this. Because this really shouldn't be used by others, this commit moves
      it into wireguard's noise.c locally, so that kernels that aren't using
      WireGuard don't get this superfluous code baked in. On m68k systems,
      this shaves off ~314 bytes.
      
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      d8d83d8a
    • Justin M. Forbes's avatar
      lib/crypto: add prompts back to crypto libraries · e56e1898
      Justin M. Forbes authored
      Commit 6048fdcc ("lib/crypto: blake2s: include as built-in") took
      away a number of prompt texts from other crypto libraries. This makes
      values flip from built-in to module when oldconfig runs, and causes
      problems when these crypto libs need to be built in for thingslike
      BIG_KEYS.
      
      Fixes: 6048fdcc ("lib/crypto: blake2s: include as built-in")
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: linux-crypto@vger.kernel.org
      Signed-off-by: default avatarJustin M. Forbes <jforbes@fedoraproject.org>
      [Jason: - moved menu into submenu of lib/ instead of root menu
              - fixed chacha sub-dependencies for CONFIG_CRYPTO]
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      e56e1898
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 99613159
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "A bunch of new support and few updates to drivers:
      
        New support:
         - DMA_MEMCPY_SG support is bought back as we have a user in Xilinx
           driver
         - Support for TI J721S2 SoC in k3-udma driver
         - Support for Ingenic MDMA and BDMA in the JZ4760
         - Support for Renesas r8a779f0 dmac
      
        Updates:
         - We are finally getting rid of slave_id, so this brings in the
           changes across tree for that
         - updates for idxd driver
         - at_xdmac driver cleanup"
      
      * tag 'dmaengine-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (60 commits)
        dt-bindings: dma-controller: Split interrupt fields in example
        dmaengine: pch_dma: Remove usage of the deprecated "pci-dma-compat.h" API
        dmaengine: at_xdmac: Fix race over irq_status
        dmaengine: at_xdmac: Remove a level of indentation in at_xdmac_tasklet()
        dmaengine: at_xdmac: Fix at_xdmac_lld struct definition
        dmaengine: at_xdmac: Fix lld view setting
        dmaengine: at_xdmac: Remove a level of indentation in at_xdmac_advance_work()
        dmaengine: at_xdmac: Fix concurrency over xfers_list
        dmaengine: at_xdmac: Move the free desc to the tail of the desc list
        dmaengine: at_xdmac: Fix race for the tx desc callback
        dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie
        dmaengine: at_xdmac: Print debug message after realeasing the lock
        dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending
        dmaengine: at_xdmac: Don't start transactions at tx_submit level
        dmaengine: idxd: deprecate token sysfs attributes for read buffers
        dmaengine: idxd: change bandwidth token to read buffers
        dmaengine: idxd: fix wq settings post wq disable
        dmaengine: idxd: change MSIX allocation based on per wq activation
        dmaengine: idxd: fix descriptor flushing locking
        dmaengine: idxd: embed irq_entry in idxd_wq struct
        ...
      99613159
    • Linus Torvalds's avatar
      Merge tag 'ata-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · fe81ba13
      Linus Torvalds authored
      Pull ATA updates from Damien Le Moal:
       "A larger than usual set of changes for this cycle. The bulk of the
        changes are part of a rework of libata messages and debugging features
        from Hannes. In more detail, the changes are as follows.
      
         - Small code cleanups in the pata_ali driver (unnecessary variable
           initialization and simplified return statement, from Jason and
           Colin.
      
         - Switch to using struct_group() in the sata_fsl driver, from Kees.
      
         - Convert many sysfs attribute show functions to use sysfs_emit()
           instead of snprintf(), from me.
      
         - sata_dwc_460ex driver code cleanups, from Andy.
      
         - Improve DMA setup and remove superfluous error message in
           libahci_platform, from Andy
      
         - A small code cleanup in libata to use min() instead of open coding
           test, from Changcheng.
      
         - Rework of libata messages from Hannes. This is especially focused
           on replacing compile time defined debugging messages (DPRINTK() and
           VPRINTK()) with regular dynamic debugging messages (pr_debug()) and
           traceipoint events. Both libata-core and many drivers are updated
           to have a consistent debugging level control for all drivers.
      
         - Extend compile test support to as many drivers as possible in ATA
           Kconfig to improve compile test coverage, from me.
      
         - Fixes to avoid compile time warnings (W=1) and sparse warnings in
           sata_fsl and ahci_xgene drivers, from me.
      
         - Fix the interface of the read_id() port operation method to clarify
           that the data buffer passed as an argument is little endian. This
           avoids sparse warnings in the pata_netcell, pata_it821x,
           ahci_xgene, ahci_cevaxi and ahci_brcm drivers. From me.
      
         - Small code cleanup in the pata_octeon_cf driver, from Minghao.
      
         - Improved IRQ configuration code in pata_of_platform, from Lad.
      
         - Simplified implementation of __ata_scsi_queuecmd(), from Wenchao.
      
         - Debounce delay flag renaming, from Paul.
      
         - Add support for AMD A85 FCH (Hudson D4) AHCI adapters, from Paul"
      
      * tag 'ata-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (106 commits)
        ata: pata_ali: remove redundant return statement
        ata: ahci: Add support for AMD A85 FCH (Hudson D4)
        ata: libata: Rename link flag ATA_LFLAG_NO_DB_DELAY
        ata: libata-scsi: simplify __ata_scsi_queuecmd()
        ata: pata_of_platform: Use platform_get_irq_optional() to get the interrupt
        ata: pata_samsung_cf: add compile test support
        ata: pata_pxa: add compile test support
        ata: pata_imx: add compile test support
        ata: pata_ftide010: add compile test support
        ata: pata_cs5535: add compile test support
        ata: pata_octeon_cf: remove redundant val variable
        ata: fix read_id() ata port operation interface
        ata: ahci_xgene: use correct type for port mmio address
        ata: sata_fsl: fix cmdhdr_tbl_entry and prde struct definitions
        ata: sata_fsl: fix scsi host initialization
        ata: pata_bk3710: add compile test support
        ata: ahci_seattle: add compile test support
        ata: ahci_xgene: add compile test support
        ata: ahci_tegra: add compile test support
        ata: ahci_sunxi: add compile test support
        ...
      fe81ba13
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 3bf6a9e3
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "virtio,vdpa,qemu_fw_cfg: features, cleanups, and fixes.
      
         - partial support for < MAX_ORDER - 1 granularity for virtio-mem
      
         - driver_override for vdpa
      
         - sysfs ABI documentation for vdpa
      
         - multiqueue config support for mlx5 vdpa
      
         - and misc fixes, cleanups"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (42 commits)
        vdpa/mlx5: Fix tracking of current number of VQs
        vdpa/mlx5: Fix is_index_valid() to refer to features
        vdpa: Protect vdpa reset with cf_mutex
        vdpa: Avoid taking cf_mutex lock on get status
        vdpa/vdpa_sim_net: Report max device capabilities
        vdpa: Use BIT_ULL for bit operations
        vdpa/vdpa_sim: Configure max supported virtqueues
        vdpa/mlx5: Report max device capabilities
        vdpa: Support reporting max device capabilities
        vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps()
        vdpa: Add support for returning device configuration information
        vdpa/mlx5: Support configuring max data virtqueue
        vdpa/mlx5: Fix config_attr_mask assignment
        vdpa: Allow to configure max data virtqueues
        vdpa: Read device configuration only if FEATURES_OK
        vdpa: Sync calls set/get config/status with cf_mutex
        vdpa/mlx5: Distribute RX virtqueues in RQT object
        vdpa: Provide interface to read driver features
        vdpa: clean up get_config_size ret value handling
        virtio_ring: mark ring unused on error
        ...
      3bf6a9e3
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 46a10fc3
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This introduces support for controlling the Cortex R7 co-processor in
        Renesas Gen3, support for R5F clusters and C71x DSPs on TI J721S2 and
        compute, audio and modem subsystems on Qualcomm SM6350.
      
        It fixes a couple of sparse errors related to memcpy_to/fromio and
        corrects the kerneldoc spelling of "Return:".
      
        The stm32 driver no longer attempts to communicate with the remote
        after the firmware has crashed"
      
      * tag 'rproc-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (22 commits)
        remoteproc: stm32: Improve crash recovery time
        remoteproc: rcar_rproc: Remove trailing semicolon
        remoteproc: rcar_rproc: Fix pm_runtime_get_sync error check
        remoteproc: qcom: pas: Add SM6350 CDSP support
        remoteproc: qcom: pas: Add SM6350 ADSP support
        remoteproc: qcom: pas: Add SM6350 MPSS support
        dt-bindings: remoteproc: qcom: pas: Add SM6350 adsp, cdsp & mpss
        remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP
        remoteproc: imx_rproc: correct firmware reload
        remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided
        remoteproc: Add Renesas rcar driver
        dt-bindings: remoteproc: Add Renesas R-Car
        remoteproc: Fix remaining wrong return formatting in documentation
        MAINTAINERS: Removing Ohad from remoteproc/rpmsg maintenance
        remoteproc: ingenic: Request IRQ disabled
        remoteproc: k3-r5: Extend support for R5F clusters on J721S2 SoCs
        remoteproc: k3-dsp: Extend support for C71x DSPs on J721S2 SoCs
        dt-bindings: remoteproc: k3-dsp: Update bindings for J721S2 SoCs
        dt-bindings: remoteproc: k3-r5f: Update bindings for J721S2 SoCs
        remoteproc: coredump: Correct argument 2 type for memcpy_fromio
        ...
      46a10fc3
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · fc9d6952
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This adds pr_fmt for the rpmsg_char driver, fixes error handling in
        rpmsg_dev_probe() and corrects the spelling of "Return:" in various
        places, in order to fix kerneldoc"
      
      * tag 'rpmsg-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        rpmsg: core: Clean up resources on announce_create failure.
        rpmsg: Fix documentation return formatting
        rpmsg: char: Add pr_fmt() to prefix messages
      fc9d6952
    • Jamie Hill-Daniel's avatar
      vfs: fs_context: fix up param length parsing in legacy_parse_param · 722d9484
      Jamie Hill-Daniel authored
      The "PAGE_SIZE - 2 - size" calculation in legacy_parse_param() is an
      unsigned type so a large value of "size" results in a high positive
      value instead of a negative value as expected.  Fix this by getting rid
      of the subtraction.
      Signed-off-by: default avatarJamie Hill-Daniel <jamie@hill-daniel.co.uk>
      Signed-off-by: default avatarWilliam Liu <willsroot@protonmail.com>
      Tested-by: default avatarSalvatore Bonaccorso <carnil@debian.org>
      Tested-by: default avatarThadeu Lima de Souza Cascardo <cascardo@canonical.com>
      Acked-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Acked-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      722d9484
    • Linus Torvalds's avatar
      Merge tag 'pm-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8357f6fb
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "This is a continuation of the rework of device power management macros
        used for declaring device power management callbacks (Paul Cercueil)"
      
      * tag 'pm-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        iio: pressure: bmp280: Use new PM macros
        PM: runtime: Add EXPORT[_GPL]_RUNTIME_DEV_PM_OPS macros
        PM: runtime: Add DEFINE_RUNTIME_DEV_PM_OPS() macro
        PM: core: Add EXPORT[_GPL]_SIMPLE_DEV_PM_OPS macros
        PM: core: Remove static qualifier in DEFINE_SIMPLE_DEV_PM_OPS macro
        PM: core: Remove DEFINE_UNIVERSAL_DEV_PM_OPS() macro
      8357f6fb
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6a8d7fbf
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "The most significant item here is the Platform Firmware Runtime Update
        and Telemetry (PFRUT) support designed to allow certain pieces of the
        platform firmware to be updated on the fly, among other things.
      
        Also important is the e820 handling change on x86 that should work
        around PCI BAR allocation issues on some systems shipping since 2019.
      
        The rest is just a handful of assorted fixes and cleanups on top of
        the ACPI material merged previously.
      
        Specifics:
      
         - Add support for the the Platform Firmware Runtime Update and
           Telemetry (PFRUT) interface based on ACPI to allow certain pieces
           of the platform firmware to be updated without restarting the
           system and to provide a mechanism for collecting platform firmware
           telemetry data (Chen Yu, Dan Carpenter, Yang Yingliang).
      
         - Ignore E820 reservations covering PCI host bridge windows on
           sufficiently recent x86 systems to avoid issues with allocating PCI
           BARs on systems where the E820 reservations cover the entire PCI
           host bridge memory window returned by the _CRS object in the
           system's ACPI tables (Hans de Goede).
      
         - Fix and clean up acpi_scan_init() (Rafael Wysocki).
      
         - Add more sanity checking to ACPI SPCR tables parsing (Mark
           Langsdorf).
      
         - Fix up ACPI APD (AMD Soc) driver initialization (Jiasheng Jiang).
      
         - Drop unnecessary "static" from the ACPI PCC address space handling
           driver added recently (kernel test robot)"
      
      * tag 'acpi-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: PCC: pcc_ctx can be static
        ACPI: scan: Rename label in acpi_scan_init()
        ACPI: scan: Simplify initialization of power and sleep buttons
        ACPI: scan: Change acpi_scan_init() return value type to void
        ACPI: SPCR: check if table->serial_port.access_width is too wide
        ACPI: APD: Check for NULL pointer after calling devm_ioremap()
        x86/PCI: Ignore E820 reservations for bridge windows on newer systems
        ACPI: pfr_telemetry: Fix info leak in pfrt_log_ioctl()
        ACPI: pfr_update: Fix return value check in pfru_write()
        ACPI: tools: Introduce utility for firmware updates/telemetry
        ACPI: Introduce Platform Firmware Runtime Telemetry driver
        ACPI: Introduce Platform Firmware Runtime Update device driver
        efi: Introduce EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER and corresponding structures
      6a8d7fbf
    • Linus Torvalds's avatar
      Merge tag 'slab-for-5.17-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · e3a8b6a1
      Linus Torvalds authored
      Pull more slab updates from Vlastimil Babka:
       "Finish the conversion to struct slab by removing slab-specific fields
        from struct page.
      
        The first slab update (see merge commit ca1a46d6) did most of the
        conversion, but there was also series in iommu tree removing the
        iommu's usage of struct page 'freelist' field, blocking the final
        struct page cleanup.
      
        Now that the iommu changes have been merged, we can finish the job"
      
      * tag 'slab-for-5.17-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        mm: Remove slab from struct page
      e3a8b6a1
    • Linus Torvalds's avatar
      Merge tag 'arc-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 62b48887
      Linus Torvalds authored
      Pull ARC fixes from Vineet Gupta:
       "Nothing too exciting for now"
      
      * tag 'arc-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        arc: use swap() to make code cleaner
        arc: perf: Move static structs to where they're really used
        ARC: perf: fix misleading comment about pmu vs counter stop
        arc: Replace lkml.org links with lore
        ARC: perf: Remove redundant initialization of variable idx
        ARC: thread_info.h: correct two typos in a comment
      62b48887
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.17-2022-01-16' of... · 57d17378
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.17-2022-01-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tool updates from Arnaldo Carvalho de Melo:
       "New features:
      
         - Add 'trace' subcommand for 'perf ftrace', setting the stage for
           more 'perf ftrace' subcommands. Not using a subcommand yields the
           previous behaviour of 'perf ftrace'.
      
         - Add 'latency' subcommand to 'perf ftrace', that can use the
           function graph tracer or a BPF optimized one, via the -b/--use-bpf
           option.
      
           E.g.:
      
      	$ sudo perf ftrace latency -a -T mutex_lock sleep 1
      	#   DURATION     |      COUNT | GRAPH                          |
      	     0 - 1    us |       4596 | ########################       |
      	     1 - 2    us |       1680 | #########                      |
      	     2 - 4    us |       1106 | #####                          |
      	     4 - 8    us |        546 | ##                             |
      	     8 - 16   us |        562 | ###                            |
      	    16 - 32   us |          1 |                                |
      	    32 - 64   us |          0 |                                |
      	    64 - 128  us |          0 |                                |
      	   128 - 256  us |          0 |                                |
      	   256 - 512  us |          0 |                                |
      	   512 - 1024 us |          0 |                                |
      	     1 - 2    ms |          0 |                                |
      	     2 - 4    ms |          0 |                                |
      	     4 - 8    ms |          0 |                                |
      	     8 - 16   ms |          0 |                                |
      	    16 - 32   ms |          0 |                                |
      	    32 - 64   ms |          0 |                                |
      	    64 - 128  ms |          0 |                                |
      	   128 - 256  ms |          0 |                                |
      	   256 - 512  ms |          0 |                                |
      	   512 - 1024 ms |          0 |                                |
      	     1 - ...   s |          0 |                                |
      
           The original implementation of this command was in the bcc tool.
      
         - Support --cputype option for hybrid events in 'perf stat'.
      
        Improvements:
      
         - Call chain improvements for ARM64.
      
         - No need to do any affinity setup when profiling pids.
      
         - Reduce multiplexing with duration_time in 'perf stat' metrics.
      
         - Improve error message for uncore events, stating that some event
           groups are can only be used in system wide (-a) mode.
      
         - perf stat metric group leader fixes/improvements, including arch
           specific changes to better support Intel topdown events.
      
         - Probe non-deprecated sysfs path first, i.e. try the path
           /sys/devices/system/cpu/cpuN/topology/thread_siblings first, then
           the old /sys/devices/system/cpu/cpuN/topology/core_cpus.
      
         - Disable debuginfod by default in 'perf record', to avoid stalls on
           distros such as Fedora 35.
      
         - Use unbuffered output in 'perf bench' when pipe/tee'ing to a file.
      
         - Enable ignore_missing_thread in 'perf trace'
      
        Fixes:
      
         - Avoid TUI crash when navigating in the annotation of recursive
           functions.
      
         - Fix hex dump character output in 'perf script'.
      
         - Fix JSON indentation to 4 spaces standard in the ARM vendor event
           files.
      
         - Fix use after free in metric__new().
      
         - Fix IS_ERR_OR_NULL() usage in the perf BPF loader.
      
         - Fix up cross-arch register support, i.e. when printing register
           names take into account the architecture where the perf.data file
           was collected.
      
         - Fix SMT fallback with large core counts.
      
         - Don't lower case MetricExpr when parsing JSON files so as not to
           lose info such as the ":G" event modifier in metrics.
      
        perf test:
      
         - Add basic stress test for sigtrap handling to 'perf test'.
      
         - Fix 'perf test' failures on s/390
      
         - Enable system wide for metricgroups test in 'perf test´.
      
         - Use 3 digits for test numbering now we can have more tests.
      
        Arch specific:
      
         - Add events for Arm Neoverse N2 in the ARM JSON vendor event files
      
         - Support PERF_MEM_LVLNUM encodings in powerpc, that came from a
           single patch series, where I incorrectly merged the kernel bits,
           that were then reverted after coordination with Michael Ellerman
           and Stephen Rothwell.
      
         - Add ARM SPE total latency as PERF_SAMPLE_WEIGHT.
      
         - Update AMD documentation, with info on raw event encoding.
      
         - Add support for global and local variants of the "p_stage_cyc" sort
           key, applicable to perf.data files collected on powerpc.
      
         - Remove duplicate and incorrect aux size checks in the ARM CoreSight
           ETM code.
      
        Refactorings:
      
         - Add a perf_cpu abstraction to disambiguate CPUs and CPU map
           indexes, fixing problems along the way.
      
         - Document CPU map methods.
      
        UAPI sync:
      
         - Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench
           mem memcpy'
      
         - Sync UAPI files with the kernel sources: drm, msr-index,
           cpufeatures.
      
        Build system
      
         - Enable warnings through HOSTCFLAGS.
      
         - Drop requirement for libstdc++.so for libopencsd check
      
        libperf:
      
         - Make libperf adopt perf_counts_values__scale() from tools/perf/util/.
      
         - Add a stat multiplexing test to libperf"
      
      * tag 'perf-tools-for-v5.17-2022-01-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (115 commits)
        perf record: Disable debuginfod by default
        perf evlist: No need to do any affinity setup when profiling pids
        perf cpumap: Add is_dummy() method
        perf metric: Fix metric_leader
        perf cputopo: Fix CPU topology reading on s/390
        perf metricgroup: Fix use after free in metric__new()
        libperf tests: Update a use of the new cpumap API
        perf arm: Fix off-by-one directory path
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        tools headers cpufeatures: Sync with the kernel sources
        tools headers UAPI: Update tools's copy of drm.h header
        tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy'
        perf pmu-events: Don't lower case MetricExpr
        perf expr: Add debug logging for literals
        perf tools: Probe non-deprecated sysfs path 1st
        perf tools: Fix SMT fallback with large core counts
        perf cpumap: Give CPUs their own type
        perf stat: Correct first_shadow_cpu to return index
        perf script: Fix flipped index and cpu
        perf c2c: Use more intention revealing iterator
        ...
      57d17378
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.17-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · f0033681
      Linus Torvalds authored
      Pull orangefs fixes from Mike Marshall:
       "Two fixes:
      
         - Fix the size of a memory allocation in orangefs_bufmap_alloc()
           (Christophe JAILLET)
      
         - Use default_groups in kobj_type (Greg KH)"
      
      * tag 'for-linus-5.17-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc()
        orangefs: use default_groups in kobj_type
      f0033681
  3. 17 Jan, 2022 6 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-pfrut' · e3daa260
      Rafael J. Wysocki authored
      Merge support for the Platform Firmware Runtime Update and Telemetry
      interface based on ACPI.
      
      The interface provided here allows updating certain pieces of the
      platform firmware without restarting the system and collecting
      platform firmware telemetry data.
      
      This also includes a utility for accesing the new interface from user
      space.
      
      * acpi-pfrut:
        ACPI: pfr_telemetry: Fix info leak in pfrt_log_ioctl()
        ACPI: pfr_update: Fix return value check in pfru_write()
        ACPI: tools: Introduce utility for firmware updates/telemetry
        ACPI: Introduce Platform Firmware Runtime Telemetry driver
        ACPI: Introduce Platform Firmware Runtime Update device driver
        efi: Introduce EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER and corresponding structures
      e3daa260
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-x86', 'acpi-tables', 'acpi-soc' and 'acpi-pcc' · ebf8b135
      Rafael J. Wysocki authored
      Merge additional ACPI-related updates for 5.17-rc1:
      
       - Ignore E820 reservations covering PCI host bridge windows on
         sufficiently recent x86 systems to avoid issues with allocating
         PCI BARs on systems where the E820 reservations cover the entire
         PCI host bridge memory window returned by the _CRS object in the
         system's ACPI tables (Hans de Goede).
      
       - Add more sanity checking to ACPI SPCR tables parsing (Mark
         Langsdorf).
      
       - Fix up ACPI APD (AMD Soc) driver initialization (Jiasheng Jiang).
      
       - Drop unnecessary "static" from the ACPI PCC address space handling
         driver added recently (kernel test robot).
      
      * acpi-x86:
        x86/PCI: Ignore E820 reservations for bridge windows on newer systems
      
      * acpi-tables:
        ACPI: SPCR: check if table->serial_port.access_width is too wide
      
      * acpi-soc:
        ACPI: APD: Check for NULL pointer after calling devm_ioremap()
      
      * acpi-pcc:
        ACPI: PCC: pcc_ctx can be static
      ebf8b135
    • Linus Torvalds's avatar
      Merge tag '5.17-rc-part1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 0c947b89
      Linus Torvalds authored
      Pull cifs updates from Steve French:
      
       - multichannel patches mostly related to improving reconnect behavior
      
       - minor cleanup patches
      
      * tag '5.17-rc-part1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix FILE_BOTH_DIRECTORY_INFO definition
        cifs: move superblock magic defitions to magic.h
        cifs: Fix smb311_update_preauth_hash() kernel-doc comment
        cifs: avoid race during socket reconnect between send and recv
        cifs: maintain a state machine for tcp/smb/tcon sessions
        cifs: fix hang on cifs_get_next_mid()
        cifs: take cifs_tcp_ses_lock for status checks
        cifs: reconnect only the connection and not smb session where possible
        cifs: add WARN_ON for when chan_count goes below minimum
        cifs: adjust DebugData to use chans_need_reconnect for conn status
        cifs: use the chans_need_reconnect bitmap for reconnect status
        cifs: track individual channel status using chans_need_reconnect
        cifs: remove redundant assignment to pointer p
      0c947b89
    • NeilBrown's avatar
      devtmpfs regression fix: reconfigure on each mount · a6097180
      NeilBrown authored
      Prior to Linux v5.4 devtmpfs used mount_single() which treats the given
      mount options as "remount" options, so it updates the configuration of
      the single super_block on each mount.
      
      Since that was changed, the mount options used for devtmpfs are ignored.
      This is a regression which affect systemd - which mounts devtmpfs with
      "-o mode=755,size=4m,nr_inodes=1m".
      
      This patch restores the "remount" effect by calling reconfigure_single()
      
      Fixes: d401727e ("devtmpfs: don't mix {ramfs,shmem}_fill_super() with mount_single()")
      Acked-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a6097180
    • Linus Torvalds's avatar
      Merge tag 'fbdev-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 3c750c7b
      Linus Torvalds authored
      Pull fbdev maintainership update from Helge Deller:
       "The fbdev layer is orphaned, but seems to need some care. So I'd like
        to step up as new maintainer"
      
      * tag 'fbdev-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        MAINTAINERS: Add Helge as fbdev maintainer
      3c750c7b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · b520085c
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "Updates to Goodix touchscreen driver (addition of pen support) and
        Silead touchscreen driver (also addition of pen support and parsing of
        embedded firmware to determine screen size), along with assorted fixes
        for other drivers"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: ti_am335x_tsc - fix a typo in a comment
        Input: zinitix - add compatible for bt532
        Input: zinitix - handle proper supply names
        dt-bindings: input/ts/zinitix: Convert to YAML, fix and extend
        Input: axp20x-pek - revert "always register interrupt handlers" change
        Input: gpio-keys - avoid clearing twice some memory
        Input: byd - fix typo in a comment
        Input: ucb1400_ts - remove redundant variable penup
        Input: ti_am335x_tsc - lower the X and Y sampling time
        Input: ti_am335x_tsc - fix STEPCONFIG setup for Z2
        Input: ti_am335x_tsc - set ADCREFM for X configuration
        Input: silead - add pen support
        Input: silead - add support for EFI-embedded fw using different min/max coordinates
        Input: goodix - 2 small fixes for pen support
        Input: goodix - improve gpiod_get() error logging
        Input: goodix - add pen support
        Input: ff-core - correct magnitude setting for rumble compatibility
        Input: palmas-pwrbutton - make a couple of arrays static const
        Input: wacom_i2c - clean up the query device fields
        Input: palmas-pwrbutton - use bitfield helpers
      b520085c