1. 27 Sep, 2022 9 commits
    • Ard Biesheuvel's avatar
      efi: libstub: fix up the last remaining open coded boot service call · 04419e8a
      Ard Biesheuvel authored
      We use a macro efi_bs_call() to call boot services, which is more
      concise, and on x86, it encapsulates the mixed mode handling. This code
      does not run in mixed mode, but let's switch to the macro for general
      tidiness.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      04419e8a
    • Ard Biesheuvel's avatar
      efi/arm: libstub: move ARM specific code out of generic routines · 69e377b2
      Ard Biesheuvel authored
      Move some code that is only reachable when IS_ENABLED(CONFIG_ARM) into
      the ARM EFI arch code.
      
      Cc: Russell King <linux@armlinux.org.uk>
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      69e377b2
    • Ilias Apalodimas's avatar
      efi/libstub: measure EFI LoadOptions · 71c7adc9
      Ilias Apalodimas authored
      The EFI TCG spec, in §10.2.6 "Measuring UEFI Variables and UEFI GPT
      Data", only reasons about the load options passed to a loaded image in
      the context of boot options booted directly from the BDS, which are
      measured into PCR #5 along with the rest of the Boot#### EFI variable.
      
      However, the UEFI spec mentions the following in the documentation of
      the LoadImage() boot service and the EFI_LOADED_IMAGE protocol:
      
        The caller may fill in the image’s "load options" data, or add
        additional protocol support to the handle before passing control to
        the newly loaded image by calling EFI_BOOT_SERVICES.StartImage().
      
      The typical boot sequence for Linux EFI systems is to load GRUB via a
      boot option from the BDS, which [hopefully] calls LoadImage to load the
      kernel image, passing the kernel command line via the mechanism
      described above. This means that we cannot rely on the firmware
      implementing TCG measured boot to ensure that the kernel command line
      gets measured before the image is started, so the EFI stub will have to
      take care of this itself.
      
      Given that PCR #5 has an official use in the TCG measured boot spec,
      let's avoid it in this case. Instead, add a measurement in PCR #9 (which
      we already use for our initrd) and extend it with the LoadOptions
      measurements
      Co-developed-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
      Signed-off-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      71c7adc9
    • Ilias Apalodimas's avatar
      efi/libstub: refactor the initrd measuring functions · 56633169
      Ilias Apalodimas authored
      Currently, from the efi-stub, we are only measuring the loaded initrd,
      using the TCG2 measured boot protocols.  A following patch is
      introducing measurements of additional components, such as the kernel
      command line. On top of that, we will shortly have to support other
      types of measured boot that don't expose the TCG2 protocols.
      
      So let's prepare for that, by rejigging the efi_measure_initrd() routine
      into something that we should be able to reuse for measuring other
      assets, and which can be extended later to support other measured boot
      protocols.
      Co-developed-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
      Signed-off-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      56633169
    • Ard Biesheuvel's avatar
      Merge tag 'efi-loongarch-for-v6.1-2' into HEAD · 24e88ab0
      Ard Biesheuvel authored
      Second shared stable tag between EFI and LoongArch trees
      
      This is necessary because the EFI libstub refactoring patches are mostly
      directed at enabling LoongArch to wire up generic EFI boot support
      without being forced to consume DT properties that conflict with
      information that EFI also provides, e.g., memory map and reservations,
      etc.
      24e88ab0
    • Ard Biesheuvel's avatar
      efi/loongarch: libstub: remove dependency on flattened DT · 40cd01a9
      Ard Biesheuvel authored
      LoongArch does not use FDT or DT natively [yet], and the only reason it
      currently uses it is so that it can reuse the existing EFI stub code.
      
      Overloading the DT with data passed between the EFI stub and the core
      kernel has been a source of problems: there is the overlap between
      information provided by EFI which DT can also provide (initrd base/size,
      command line, memory descriptions), requiring us to reason about which
      is which and what to prioritize. It has also resulted in ABI leaks,
      i.e., internal ABI being promoted to external ABI inadvertently because
      the bootloader can set the EFI stub's DT properties as well (e.g.,
      "kaslr-seed"). This has become especially problematic with boot
      environments that want to pretend that EFI boot is being done (to access
      ACPI and SMBIOS tables, for instance) but have no ability to execute the
      EFI stub, and so the environment that the EFI stub creates is emulated
      [poorly, in some cases].
      
      Another downside of treating DT like this is that the DT binary that the
      kernel receives is different from the one created by the firmware, which
      is undesirable in the context of secure and measured boot.
      
      Given that LoongArch support in Linux is brand new, we can avoid these
      pitfalls, and treat the DT strictly as a hardware description, and use a
      separate handover method between the EFI stub and the kernel. Now that
      initrd loading and passing the EFI memory map have been refactored into
      pure EFI routines that use EFI configuration tables, the only thing we
      need to pass directly is the kernel command line (even if we could pass
      this via a config table as well, it is used extremely early, so passing
      it directly is preferred in this case.)
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Acked-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      40cd01a9
    • Ard Biesheuvel's avatar
      efi: libstub: install boot-time memory map as config table · 171539f5
      Ard Biesheuvel authored
      Expose the EFI boot time memory map to the kernel via a configuration
      table. This is arch agnostic and enables future changes that remove the
      dependency on DT on architectures that don't otherwise rely on it.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      171539f5
    • Ard Biesheuvel's avatar
      efi: libstub: remove DT dependency from generic stub · 4fc8e738
      Ard Biesheuvel authored
      Refactor the generic EFI stub entry code so that all the dependencies on
      device tree are abstracted and hidden behind a generic efi_boot_kernel()
      routine that can also be implemented in other ways. This allows users of
      the generic stub to avoid using FDT for passing information to the core
      kernel.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      4fc8e738
    • Ard Biesheuvel's avatar
      efi: libstub: unify initrd loading between architectures · f4dc7fff
      Ard Biesheuvel authored
      Use a EFI configuration table to pass the initrd to the core kernel,
      instead of per-arch methods. This cleans up the code considerably, and
      should make it easier for architectures to get rid of their reliance on
      DT for doing EFI boot in the future.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      f4dc7fff
  2. 26 Sep, 2022 3 commits
    • Ard Biesheuvel's avatar
      efi: libstub: remove pointless goto kludge · a12b78b5
      Ard Biesheuvel authored
      Remove some goto cruft that serves no purpose and obfuscates the code.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      a12b78b5
    • Ard Biesheuvel's avatar
      efi: libstub: simplify efi_get_memory_map() and struct efi_boot_memmap · eab31265
      Ard Biesheuvel authored
      Currently, struct efi_boot_memmap is a struct that is passed around
      between callers of efi_get_memory_map() and the users of the resulting
      data, and which carries pointers to various variables whose values are
      provided by the EFI GetMemoryMap() boot service.
      
      This is overly complex, and it is much easier to carry these values in
      the struct itself. So turn the struct into one that carries these data
      items directly, including a flex array for the variable number of EFI
      memory descriptors that the boot service may return.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      eab31265
    • Ard Biesheuvel's avatar
      efi: libstub: avoid efi_get_memory_map() for allocating the virt map · f80d2604
      Ard Biesheuvel authored
      The virt map is a set of efi_memory_desc_t descriptors that are passed
      to SetVirtualAddressMap() to inform the firmware about the desired
      virtual mapping of the regions marked as EFI_MEMORY_RUNTIME. The only
      reason we currently call the efi_get_memory_map() helper is that it
      gives us an allocation that is guaranteed to be of sufficient size.
      However, efi_get_memory_map() has grown some additional complexity over
      the years, and today, we're actually better off calling the EFI boot
      service directly with a zero size, which tells us how much memory should
      be enough for the virt map.
      
      While at it, avoid creating the VA map allocation if we will not be
      using it anyway, i.e., if efi_novamap is true.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      f80d2604
  3. 20 Sep, 2022 6 commits
  4. 19 Sep, 2022 1 commit
  5. 17 Sep, 2022 2 commits
    • Ard Biesheuvel's avatar
      efi/libstub: use EFI provided memcpy/memset routines · c82ceb44
      Ard Biesheuvel authored
      The stub is used in different execution environments, but on arm64,
      RISC-V and LoongArch, we still use the core kernel's implementation of
      memcpy and memset, as they are just a branch instruction away, and can
      generally be reused even from code such as the EFI stub that runs in a
      completely different address space.
      
      KAsan complicates this slightly, resulting in the need for some hacks to
      expose the uninstrumented, __ prefixed versions as the normal ones, as
      the latter are instrumented to include the KAsan checks, which only work
      in the core kernel.
      
      Unfortunately, #define'ing memcpy to __memcpy when building C code does
      not guarantee that no explicit memcpy() calls will be emitted. And with
      the upcoming zboot support, which consists of a separate binary which
      therefore needs its own implementation of memcpy/memset anyway, it's
      better to provide one explicitly instead of linking to the existing one.
      
      Given that EFI exposes implementations of memmove() and memset() via the
      boot services table, let's wire those up in the appropriate way, and
      drop the references to the core kernel ones.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      c82ceb44
    • Ard Biesheuvel's avatar
      efi/libstub: add some missing EFI prototypes · c7007d9f
      Ard Biesheuvel authored
      Define the correct prototypes for the load_image, start_image and
      unload_image boot service pointers so we can call them from the EFI
      zboot code.
      
      Also add some prototypes related to installation and deinstallation of
      protocols in to the EFI protocol database, including some definitions
      related to device paths.
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      c7007d9f
  6. 06 Sep, 2022 2 commits
  7. 16 Aug, 2022 1 commit
    • Ard Biesheuvel's avatar
      efi/x86-mixed: move unmitigated RET into .rodata · 6c3a9c9a
      Ard Biesheuvel authored
      Move the EFI mixed mode return trampoline RET into .rodata, so it is
      normally mapped without executable permissions.  And given that this
      snippet of code is really the only kernel code that we ever execute via
      this 1:1 mapping, let's unmap the 1:1 mapping of the kernel .text, and
      only map the page that covers the return trampoline with executable
      permissions.
      
      Note that the remainder of .rodata needs to remain mapped into the 1:1
      mapping with RO/NX permissions, as literal GUIDs and strings may be
      passed to the variable routines.
      Acked-by: default avatarBorislav Petkov <bp@suse.de>
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      6c3a9c9a
  8. 14 Aug, 2022 10 commits
    • Linus Torvalds's avatar
      Linux 6.0-rc1 · 568035b0
      Linus Torvalds authored
      568035b0
    • Yury Norov's avatar
      radix-tree: replace gfp.h inclusion with gfp_types.h · 9f162193
      Yury Norov authored
      Radix tree header includes gfp.h for __GFP_BITS_SHIFT only. Now we
      have gfp_types.h for this.
      
      Fixes powerpc allmodconfig build:
      
         In file included from include/linux/nodemask.h:97,
                          from include/linux/mmzone.h:17,
                          from include/linux/gfp.h:7,
                          from include/linux/radix-tree.h:12,
                          from include/linux/idr.h:15,
                          from include/linux/kernfs.h:12,
                          from include/linux/sysfs.h:16,
                          from include/linux/kobject.h:20,
                          from include/linux/pci.h:35,
                          from arch/powerpc/kernel/prom_init.c:24:
         include/linux/random.h: In function 'add_latent_entropy':
      >> include/linux/random.h:25:46: error: 'latent_entropy' undeclared (first use in this function); did you mean 'add_latent_entropy'?
            25 |         add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy));
               |                                              ^~~~~~~~~~~~~~
               |                                              add_latent_entropy
         include/linux/random.h:25:46: note: each undeclared identifier is reported only once for each function it appears in
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      CC: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: Jason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9f162193
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 74cbb480
      Linus Torvalds authored
      Pull vfs lseek fix from Al Viro:
       "Fix proc_reg_llseek() breakage. Always had been possible if somebody
        left NULL ->proc_lseek, became a practical issue now"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        take care to handle NULL ->proc_lseek()
      74cbb480
    • Al Viro's avatar
      take care to handle NULL ->proc_lseek() · 3f61631d
      Al Viro authored
      Easily done now, just by clearing FMODE_LSEEK in ->f_mode
      during proc_reg_open() for such entries.
      
      Fixes: 868941b1 "fs: remove no_llseek"
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      3f61631d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.0-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 5d6a0f4d
      Linus Torvalds authored
      Pull more xen updates from Juergen Gross:
      
       - fix the handling of the "persistent grants" feature negotiation
         between Xen blkfront and Xen blkback drivers
      
       - a cleanup of xen.config and adding xen.config to Xen section in
         MAINTAINERS
      
       - support HVMOP_set_evtchn_upcall_vector, which is more compliant to
         "normal" interrupt handling than the global callback used up to now
      
       - further small cleanups
      
      * tag 'for-linus-6.0-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        MAINTAINERS: add xen config fragments to XEN HYPERVISOR sections
        xen: remove XEN_SCRUB_PAGES in xen.config
        xen/pciback: Fix comment typo
        xen/xenbus: fix return type in xenbus_file_read()
        xen-blkfront: Apply 'feature_persistent' parameter when connect
        xen-blkback: Apply 'feature_persistent' parameter when connect
        xen-blkback: fix persistent grants negotiation
        x86/xen: Add support for HVMOP_set_evtchn_upcall_vector
      5d6a0f4d
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of... · 96f86ff0
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tool updates from Arnaldo Carvalho de Melo:
      
       - 'perf c2c' now supports ARM64, adjust its output to cope with
         differences with what is in x86_64. Now go find false sharing on
         ARM64 (at least Neoverse) as well!
      
       - Refactor the JSON processing, making the output more compact and thus
         reducing the size of the resulting perf binary
      
       - Improvements for 'perf offcpu' profiling, including tracking child
         processes
      
       - Update Intel JSON metrics and events files for broadwellde,
         broadwellx, cascadelakex, haswellx, icelakex, ivytown, jaketown,
         knightslanding, sapphirerapids, skylakex and snowridgex
      
       - Add 'perf stat' JSON output and a 'perf test' entry for it
      
       - Ignore memfd and anonymous mmap events if jitdump present
      
       - Refactor 'perf test' shell tests allowing subdirs
      
       - Fix an error handling path in 'parse_perf_probe_command()'
      
       - Fixes for the guest Intel PT tracing patchkit in the 1st batch of
         this merge window
      
       - Print debuginfod queries if -v option is used, to explain delays in
         processing when debuginfo servers are enabled to fetch DSOs with
         richer symbol tables
      
       - Improve error message for 'perf record -p not_existing_pid'
      
       - Fix openssl and libbpf feature detection
      
       - Add PMU pai_crypto event description for IBM z16 on 'perf list'
      
       - Fix typos and duplicated words on comments in various places
      
      * tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (81 commits)
        perf test: Refactor shell tests allowing subdirs
        perf vendor events: Update events for snowridgex
        perf vendor events: Update events and metrics for skylakex
        perf vendor events: Update metrics for sapphirerapids
        perf vendor events: Update events for knightslanding
        perf vendor events: Update metrics for jaketown
        perf vendor events: Update metrics for ivytown
        perf vendor events: Update events and metrics for icelakex
        perf vendor events: Update events and metrics for haswellx
        perf vendor events: Update events and metrics for cascadelakex
        perf vendor events: Update events and metrics for broadwellx
        perf vendor events: Update metrics for broadwellde
        perf jevents: Fold strings optimization
        perf jevents: Compress the pmu_events_table
        perf metrics: Copy entire pmu_event in find metric
        perf pmu-events: Hide the pmu_events
        perf pmu-events: Don't assume pmu_event is an array
        perf pmu-events: Move test events/metrics to JSON
        perf test: Use full metric resolution
        perf pmu-events: Hide pmu_events_map
        ...
      96f86ff0
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d785610f
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Ensure we never emit lwarx with EH=1 on 32-bit, because some 32-bit
         CPUs trap on it rather than ignoring it as they should.
      
       - Fix ftrace when building with clang, which was broken by some
         refactoring.
      
       - A couple of other minor fixes.
      
      Thanks to Christophe Leroy, Naveen N.  Rao, Nick Desaulniers, Ondrej
      Mosnacek, Pali Rohár, Russell Currey, and Segher Boessenkool.
      
      * tag 'powerpc-6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/kexec: Fix build failure from uninitialised variable
        powerpc/ppc-opcode: Fix PPC_RAW_TW()
        powerpc64/ftrace: Fix ftrace for clang builds
        powerpc: Make eh value more explicit when using lwarx
        powerpc: Don't hide eh field of lwarx behind a macro
        powerpc: Fix eh field when calling lwarx on PPC32
      d785610f
    • Linus Torvalds's avatar
      Merge tag 'pull-work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · aea23e7c
      Linus Torvalds authored
      Pull /proc/mounts fix from Al Viro:
       "Fix for /proc/mounts escaping - escape the '#' character too"
      
      * tag 'pull-work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: escape hash as well
      aea23e7c
    • Linus Torvalds's avatar
      Merge tag '5.20-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · 332019e2
      Linus Torvalds authored
      Pull more cifs updates from Steve French:
      
       - two fixes for stable, one for a lock length miscalculation, and
         another fixes a lease break timeout bug
      
       - improvement to handle leases, allows the close timeout to be
         configured more safely
      
       - five restructuring/cleanup patches
      
      * tag '5.20-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Do not access tcon->cfids->cfid directly from is_path_accessible
        cifs: Add constructor/destructors for tcon->cfid
        SMB3: fix lease break timeout when multiple deferred close handles for the same file.
        smb3: allow deferred close timeout to be configurable
        cifs: Do not use tcon->cfid directly, use the cfid we get from open_cached_dir
        cifs: Move cached-dir functions into a separate file
        cifs: Remove {cifs,nfs}_fscache_release_page()
        cifs: fix lock length calculation
      332019e2
    • David Howells's avatar
      afs: Enable multipage folio support · 8549a263
      David Howells authored
      Enable multipage folio support for the afs filesystem.
      
      Support has already been implemented in netfslib, fscache and cachefiles
      and in most of afs, but I've waited for Matthew Wilcox's latest folio
      changes.
      
      Note that it does require a change to afs_write_begin() to return the
      correct subpage.  This is a "temporary" change as we're working on
      getting rid of the need for ->write_begin() and ->write_end()
      completely, at least as far as network filesystems are concerned - but
      it doesn't prevent afs from making use of the capability.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Tested-by: kafs-testing@auristor.com
      Cc: Marc Dionne <marc.dionne@auristor.com>
      Cc: linux-afs@lists.infradead.org
      Link: https://lore.kernel.org/lkml/2274528.1645833226@warthog.procyon.org.uk/Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8549a263
  9. 13 Aug, 2022 6 commits
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f6eb0fed
      Linus Torvalds authored
      Pull timer fixes from Ingo Molnar:
       "Misc timer fixes:
      
         - fix a potential use-after-free bug in posix timers
      
         - correct a prototype
      
         - address a build warning"
      
      * tag 'timers-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        posix-cpu-timers: Cleanup CPU timers before freeing them during exec
        time: Correct the prototype of ns_to_kernel_old_timeval and ns_to_timespec64
        posix-timers: Make do_clock_gettime() static
      f6eb0fed
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c5f1e32e
      Linus Torvalds authored
      Pull x86 fix from Ingo Molnar:
       "Fix the 'IBPB mitigated RETBleed' mode of operation on AMD CPUs (not
        turned on by default), which also need STIBP enabled (if available) to
        be '100% safe' on even the shortest speculation windows"
      
      * tag 'x86-urgent-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/bugs: Enable STIBP for IBPB mitigated RETBleed
      c5f1e32e
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-5.20-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 04734361
      Linus Torvalds authored
      Pull more i2c updates from Wolfram Sang:
      
       - two driver fixes for issues introduced this cycle
      
       - one trivial driver improvement regarding ACPI
      
       - more DTS conversion and additions
      
       - documentation updates
      
       - subsystem-wide move from strlcpy to strscpy
      
      * tag 'i2c-for-5.20-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        docs: i2c: i2c-sysfs: fix hyperlinks
        docs: i2c: i2c-sysfs: improve wording
        docs: i2c: instantiating-devices: add syntax coloring to dts and C blocks
        docs: i2c: smbus-protocol: improve DataLow/DataHigh definition
        docs: i2c: i2c-protocol: remove unused legend items
        docs: i2c: i2c-protocol,smbus-protocol: remove nonsense words
        docs: i2c: i2c-protocol: update introductory paragraph
        i2c: move core from strlcpy to strscpy
        i2c: move drivers from strlcpy to strscpy
        i2c: kempld: Support ACPI I2C device declaration
        i2c: mediatek: add i2c compatible for MT8188
        dt-bindings: i2c: update bindings for mt8188 soc
        i2c: microchip-corei2c: fix erroneous late ack send
        dt-bindings: i2c: qcom,i2c-cci: convert to dtschema
        i2c: qcom-geni: Fix GPI DMA buffer sync-back
      04734361
    • Linus Torvalds's avatar
      Merge tag 'ntb-5.20' of https://github.com/jonmason/ntb · a976835f
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "Non-Transparent Bridge updates.
      
        Fix of heap data and clang warnings, support for a new Intel NTB
        device, and NTB EndPoint Function (EPF) support and the various fixes
        for that"
      
      * tag 'ntb-5.20' of https://github.com/jonmason/ntb:
        MAINTAINERS: add PCI Endpoint NTB drivers to NTB files
        NTB: EPF: Tidy up some bounds checks
        NTB: EPF: Fix error code in epf_ntb_bind()
        PCI: endpoint: pci-epf-vntb: reduce several globals to statics
        PCI: endpoint: pci-epf-vntb: fix error handle in epf_ntb_mw_bar_init()
        PCI: endpoint: Fix Kconfig dependency
        NTB: EPF: set pointer addr to null using NULL rather than 0
        Documentation: PCI: extend subheading underline for "lspci output" section
        Documentation: PCI: Use code-block block for scratchpad registers diagram
        Documentation: PCI: Add specification for the PCI vNTB function device
        PCI: endpoint: Support NTB transfer between RC and EP
        NTB: epf: Allow more flexibility in the memory BAR map method
        PCI: designware-ep: Allow pci_epc_set_bar() update inbound map address
        ntb: intel: add GNR support for Intel PCIe gen5 NTB
        NTB: ntb_tool: uninitialized heap data in tool_fn_write()
        ntb: idt: fix clang -Wformat warnings
      a976835f
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.20-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 9872e4a8
      Linus Torvalds authored
      Pull more xfs updates from Darrick Wong:
       "There's not a lot this time around, just the usual bug fixes and
        corrections for missing error returns.
      
         - Return error codes from block device flushes to userspace
      
         - Fix a deadlock between reclaim and mount time quotacheck
      
         - Fix an unnecessary ENOSPC return when doing COW on a filesystem
           with severe free space fragmentation
      
         - Fix a miscalculation in the transaction reservation computations
           for file removal operations"
      
      * tag 'xfs-5.20-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: fix inode reservation space for removing transaction
        xfs: Fix false ENOSPC when performing direct write on a delalloc extent in cow fork
        xfs: fix intermittent hang during quotacheck
        xfs: check return codes when flushing block devices
      9872e4a8
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · e140f731
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "Mostly small bug fixes and trivial updates.
      
        The major new core update is a change to the way device, target and
        host reference counting is done to try to make it more robust (this
        change has soaked for a while to try to winkle out any bugs)"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: pm8001: Fix typo 'the the' in comment
        scsi: megaraid_sas: Remove redundant variable cmd_type
        scsi: FlashPoint: Remove redundant variable bm_int_st
        scsi: zfcp: Fix missing auto port scan and thus missing target ports
        scsi: core: Call blk_mq_free_tag_set() earlier
        scsi: core: Simplify LLD module reference counting
        scsi: core: Make sure that hosts outlive targets
        scsi: core: Make sure that targets outlive devices
        scsi: ufs: ufs-pci: Correct check for RESET DSM
        scsi: target: core: De-RCU of se_lun and se_lun acl
        scsi: target: core: Fix race during ACL removal
        scsi: ufs: core: Correct ufshcd_shutdown() flow
        scsi: ufs: core: Increase the maximum data buffer size
        scsi: lpfc: Check the return value of alloc_workqueue()
      e140f731