18 Jun, 2020

16 commits

  • - Correctly compare the algorithm name in crc_t10dif_notify().

    - Use proper NOTIFY_* status codes instead of 0.

    - Consistently use CRC_T10DIF_STRING instead of "crct10dif" directly.

    - Use a proper type for the shash_desc context.

    - Use crypto_shash_driver_name() instead of open-coding it.

    - Make crc_t10dif_transform_show() use snprintf() rather than sprintf().
    This isn't actually necessary since the buffer has size PAGE_SIZE
    and CRYPTO_MAX_ALG_NAME < PAGE_SIZE, but it's good practice.

    - Give the "transform" sysfs file mode 0444 rather than 0644,
    since it doesn't implement a setter method.

    - Adjust the module description to not be the same as crct10dif-generic.

    Cc: Martin K. Petersen
    Signed-off-by: Eric Biggers
    Signed-off-by: Herbert Xu

    Eric Biggers
     
  • Currently the crc-t10dif module starts out with the fallback disabled
    and crct10dif_tfm == NULL. crc_t10dif_mod_init() tries to allocate
    crct10dif_tfm, and if it fails it enables the fallback.

    This is backwards because it means that any call to crc_t10dif() prior
    to module_init (which could theoretically happen from built-in code)
    will crash rather than use the fallback as expected. Also, it means
    that if the initial tfm allocation fails, then the fallback stays
    permanently enabled even if a crct10dif implementation is loaded later.

    Change it to use the more logical solution of starting with the fallback
    enabled, and disabling the fallback when a tfm gets allocated for the
    first time. This change also ends up simplifying the code.

    Also take the opportunity to convert the code to use the new static_key
    API, which is much less confusing than the old and deprecated one.

    Cc: Martin K. Petersen
    Signed-off-by: Eric Biggers
    Signed-off-by: Herbert Xu

    Eric Biggers
     
  • As stress-ng running SEC engine on the Ubuntu OS,
    we found that SEC only supports two threads each with one TFM
    based on the default module parameter 'ctx_q_num'.
    If running more threads, stress-ng will fail since it cannot
    get more TFMs.

    In order to fix this, we adjusted the default values
    of the module parameters to support more TFMs.

    Signed-off-by: Longfang Liu
    Signed-off-by: Zaibo Xu
    Signed-off-by: Herbert Xu

    Longfang Liu
     
  • The crypto notify call occurs with a read mutex held so you must
    not do any substantial work directly. In particular, you cannot
    call crypto_alloc_* as they may trigger further notifications
    which may dead-lock in the presence of another writer.

    This patch fixes this by postponing the work into a work queue and
    taking the same lock in the module init function.

    While we're at it this patch also ensures that all RCU accesses are
    marked appropriately (tested with sparse).

    Finally this also reveals a race condition in module param show
    function as it may be called prior to the module init function.
    It's fixed by testing whether crct10dif_tfm is NULL (this is true
    iff the init function has not completed assuming fallback is false).

    Fixes: 11dcb1037f40 ("crc-t10dif: Allow current transform to be...")
    Fixes: b76377543b73 ("crc-t10dif: Pick better transform if one...")
    Signed-off-by: Herbert Xu
    Reviewed-by: Martin K. Petersen
    Reviewed-by: Eric Biggers
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Remove packed attribute in adf_etr_bank_data and adf_etr_ring_data.
    Fields in these structures are reordered in order to avoid holes.

    Signed-off-by: Giovanni Cabiddu
    Signed-off-by: Herbert Xu

    Giovanni Cabiddu
     
  • Kernel source code should not contain stdint.h types.
    This patch replaces uintXX_t types with kernel space ABI types.

    Signed-off-by: Wojciech Ziemba
    Signed-off-by: Giovanni Cabiddu
    Signed-off-by: Herbert Xu

    Wojciech Ziemba
     
  • Kernel source code should not include stdint.h types.
    This patch replaces uintXX_t types with respective ones defined in kernel
    headers.

    Signed-off-by: Wojciech Ziemba
    Signed-off-by: Giovanni Cabiddu
    Signed-off-by: Herbert Xu

    Wojciech Ziemba
     
  • Add support for dpseci_reset() command for DPSECI objects.
    For DPSECI DPAA2 objects with version lower than v5.4 reset command
    was broken in MC f/w.

    Signed-off-by: Andrei Botila
    Reviewed-by: Horia Geantă
    Signed-off-by: Herbert Xu

    Andrei Botila
     
  • Originally this code rejected any read less than 256 bytes. There
    is no need for this artificial limit. We should just use the normal
    helper functions to read a string from the kernel.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Herbert Xu

    Dan Carpenter
     
  • Add a small bit of plumbing necessary to use CAAM on VFxxx SoCs.

    Signed-off-by: Andrey Smirnov
    Cc: Chris Healy
    Cc: Fabio Estevam
    Cc: linux-imx@nxp.com
    Cc: linux-kernel@vger.kernel.org
    Reviewed-by: Horia Geantă
    Signed-off-by: Herbert Xu

    Andrey Smirnov
     
  • Silex insight BA431 is an IP designed to generate random numbers that
    can be integrated in various FPGA.
    This driver adds support for it through the hwrng interface.

    This driver is used in Silex Insight Viper OEM boards.

    Signed-off-by: Olivier Sobrie
    Signed-off-by: Waleed Ziad
    Acked-by: Arnd Bergmann
    Signed-off-by: Herbert Xu

    Olivier Sobrie
     
  • This patch documents the device tree bindings of the BA431 hardware
    random number generator.

    This IP is for instance present in the Viper OEM boards sold by Silex
    Insight.

    Signed-off-by: Olivier Sobrie
    Reviewed-by: Rob Herring
    Signed-off-by: Herbert Xu

    Olivier Sobrie
     
  • AEAD does not support partial requests so we must not wake up
    while ctx->more is set. In order to distinguish between the
    case of no data sent yet and a zero-length request, a new init
    flag has been added to ctx.

    SKCIPHER has also been modified to ensure that at least a block
    of data is available if there is more data to come.

    Fixes: 2d97591ef43d ("crypto: af_alg - consolidation of...")
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Replace License Headers with SPDX License Identifiers.

    Signed-off-by: Giovanni Cabiddu
    Signed-off-by: Herbert Xu

    Giovanni Cabiddu
     
  • A 5.7 kernel hangs during a tcrypt test of padata that waits for an AEAD
    request to finish. This is only seen on large machines running many
    concurrent requests.

    The issue is that padata never serializes the request. The removal of
    the reorder_objects atomic missed that the memory barrier in
    padata_do_serial() depends on it.

    Upgrade the barrier from smp_mb__after_atomic to smp_mb to get correct
    ordering again.

    Fixes: 3facced7aeed1 ("padata: remove reorder_objects")
    Signed-off-by: Daniel Jordan
    Cc: Steffen Klassert
    Cc: linux-kernel@vger.kernel.org
    Cc:
    Signed-off-by: Herbert Xu

    Daniel Jordan
     
  • The locking in af_alg_release_parent is broken as the BH socket
    lock can only be taken if there is a code-path to handle the case
    where the lock is owned by process-context. Instead of adding
    such handling, we can fix this by changing the ref counts to
    atomic_t.

    This patch also modifies the main refcnt to include both normal
    and nokey sockets. This way we don't have to fudge the nokey
    ref count when a socket changes from nokey to normal.

    Credits go to Mauricio Faria de Oliveira who diagnosed this bug
    and sent a patch for it:

    https://lore.kernel.org/linux-crypto/20200605161657.535043-1-mfo@canonical.com/

    Reported-by: Brian Moyles
    Reported-by: Mauricio Faria de Oliveira
    Fixes: 37f96694cf73 ("crypto: af_alg - Use bh_lock_sock in...")
    Cc:
    Signed-off-by: Herbert Xu

    Herbert Xu
     

15 Jun, 2020

12 commits

  • The Jitter RNG is unconditionally allocated as a seed source follwoing
    the patch 97f2650e5040. Thus, the instance must always be deallocated.

    Reported-by: syzbot+2e635807decef724a1fa@syzkaller.appspotmail.com
    Fixes: 97f2650e5040 ("crypto: drbg - always seeded with SP800-90B ...")
    Signed-off-by: Stephan Mueller
    Signed-off-by: Herbert Xu

    Stephan Müller
     
  • Smatch reports that:

    drivers/crypto/marvell/octeontx/otx_cptvf_algs.c:132 otx_cpt_aead_callback()
    warn: variable dereferenced before check 'cpt_info' (see line 121)

    This function is called from process_pending_queue() as:

    drivers/crypto/marvell/octeontx/otx_cptvf_reqmgr.c
    599 /*
    600 * Call callback after current pending entry has been
    601 * processed, we don't do it if the callback pointer is
    602 * invalid.
    603 */
    604 if (callback)
    605 callback(res_code, areq, cpt_info);

    It does appear to me that "cpt_info" can be NULL so this could lead to
    a NULL dereference.

    Fixes: 10b4f09491bf ("crypto: marvell - add the Virtual Function driver for CPT")
    Signed-off-by: Dan Carpenter
    Signed-off-by: Herbert Xu

    Dan Carpenter
     
  • When a crypto template needs to be instantiated, CRYPTO_MSG_ALG_REQUEST
    is sent to crypto_chain. cryptomgr_schedule_probe() handles this by
    starting a thread to instantiate the template, then waiting for this
    thread to complete via crypto_larval::completion.

    This can deadlock because instantiating the template may require loading
    modules, and this (apparently depending on userspace) may need to wait
    for the crc-t10dif module (lib/crc-t10dif.c) to be loaded. But
    crc-t10dif's module_init function uses crypto_register_notifier() and
    therefore takes crypto_chain.rwsem for write. That can't proceed until
    the notifier callback has finished, as it holds this semaphore for read.

    Fix this by removing the wait on crypto_larval::completion from within
    cryptomgr_schedule_probe(). It's actually unnecessary because
    crypto_alg_mod_lookup() calls crypto_larval_wait() itself after sending
    CRYPTO_MSG_ALG_REQUEST.

    This only actually became a problem in v4.20 due to commit b76377543b73
    ("crc-t10dif: Pick better transform if one becomes available"), but the
    unnecessary wait was much older.

    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207159
    Reported-by: Mike Gerow
    Fixes: 398710379f51 ("crypto: algapi - Move larval completion into algboss")
    Cc: # v3.6+
    Cc: Martin K. Petersen
    Signed-off-by: Eric Biggers
    Reported-by: Kai Lüke
    Signed-off-by: Herbert Xu

    Eric Biggers
     
  • Fix CAAM related typos.

    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Horia Geantă
    Signed-off-by: Herbert Xu

    Heinrich Schuchardt
     
  • This patch fixes a bunch of sparse warnings in sev-dev where the
    __user marking is incorrectly handled.

    Reported-by: kbuild test robot
    Fixes: 7360e4b14350 ("crypto: ccp: Implement SEV_PEK_CERT_IMPORT...")
    Fixes: e799035609e1 ("crypto: ccp: Implement SEV_PEK_CSR ioctl...")
    Fixes: 76a2b524a4b1 ("crypto: ccp: Implement SEV_PDH_CERT_EXPORT...")
    Fixes: d6112ea0cb34 ("crypto: ccp - introduce SEV_GET_ID2 command")
    Signed-off-by: Herbert Xu
    Reviewed-by: Brijesh Singh
    Acked-by: Tom Lendacky
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • The function hisi_acc_create_sg_pool may allocate a block of
    memory of size PAGE_SIZE * 2^(MAX_ORDER - 1). This value may
    exceed 2^31 on ia64, which would overflow the u32.

    This patch caps it at 2^31.

    Reported-by: kernel test robot
    Fixes: d8ac7b85236b ("crypto: hisilicon - fix large sgl memory...")
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Somewhere along the line the cap on the SG list length for receive
    was lost. This patch restores it and removes the subsequent test
    which is now redundant.

    Fixes: 2d97591ef43d ("crypto: af_alg - consolidation of...")
    Cc:
    Signed-off-by: Herbert Xu
    Reviewed-by: Stephan Mueller
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • pm_runtime_get_sync() increments the runtime PM usage counter even
    the call returns an error code. Thus a pairing decrement is needed
    on the error handling path to keep the counter balanced.

    Signed-off-by: Dinghao Liu
    Reviewed-by: Alexander Sverdlin
    Signed-off-by: Herbert Xu

    Dinghao Liu
     
  • Linus Torvalds
     
  • Pull SafeSetID update from Micah Morton:
    "Add additional LSM hooks for SafeSetID

    SafeSetID is capable of making allow/deny decisions for set*uid calls
    on a system, and we want to add similar functionality for set*gid
    calls.

    The work to do that is not yet complete, so probably won't make it in
    for v5.8, but we are looking to get this simple patch in for v5.8
    since we have it ready.

    We are planning on the rest of the work for extending the SafeSetID
    LSM being merged during the v5.9 merge window"

    * tag 'LSM-add-setgid-hook-5.8-author-fix' of git://github.com/micah-morton/linux:
    security: Add LSM hooks to set*gid syscalls

    Linus Torvalds
     
  • The SafeSetID LSM uses the security_task_fix_setuid hook to filter
    set*uid() syscalls according to its configured security policy. In
    preparation for adding analagous support in the LSM for set*gid()
    syscalls, we add the requisite hook here. Tested by putting print
    statements in the security_task_fix_setgid hook and seeing them get hit
    during kernel boot.

    Signed-off-by: Thomas Cedeno
    Signed-off-by: Micah Morton

    Thomas Cedeno
     
  • Pull btrfs updates from David Sterba:
    "This reverts the direct io port to iomap infrastructure of btrfs
    merged in the first pull request. We found problems in invalidate page
    that don't seem to be fixable as regressions or without changing iomap
    code that would not affect other filesystems.

    There are four reverts in total, but three of them are followup
    cleanups needed to revert a43a67a2d715 cleanly. The result is the
    buffer head based implementation of direct io.

    Reverts are not great, but under current circumstances I don't see
    better options"

    * tag 'for-5.8-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
    Revert "btrfs: switch to iomap_dio_rw() for dio"
    Revert "fs: remove dio_end_io()"
    Revert "btrfs: remove BTRFS_INODE_READDIO_NEED_LOCK"
    Revert "btrfs: split btrfs_direct_IO to read and write part"

    Linus Torvalds
     

14 Jun, 2020

12 commits

  • Pull networking fixes from David Miller:

    1) Fix cfg80211 deadlock, from Johannes Berg.

    2) RXRPC fails to send norigications, from David Howells.

    3) MPTCP RM_ADDR parsing has an off by one pointer error, fix from
    Geliang Tang.

    4) Fix crash when using MSG_PEEK with sockmap, from Anny Hu.

    5) The ucc_geth driver needs __netdev_watchdog_up exported, from
    Valentin Longchamp.

    6) Fix hashtable memory leak in dccp, from Wang Hai.

    7) Fix how nexthops are marked as FDB nexthops, from David Ahern.

    8) Fix mptcp races between shutdown and recvmsg, from Paolo Abeni.

    9) Fix crashes in tipc_disc_rcv(), from Tuong Lien.

    10) Fix link speed reporting in iavf driver, from Brett Creeley.

    11) When a channel is used for XSK and then reused again later for XSK,
    we forget to clear out the relevant data structures in mlx5 which
    causes all kinds of problems. Fix from Maxim Mikityanskiy.

    12) Fix memory leak in genetlink, from Cong Wang.

    13) Disallow sockmap attachments to UDP sockets, it simply won't work.
    From Lorenz Bauer.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (83 commits)
    net: ethernet: ti: ale: fix allmulti for nu type ale
    net: ethernet: ti: am65-cpsw-nuss: fix ale parameters init
    net: atm: Remove the error message according to the atomic context
    bpf: Undo internal BPF_PROBE_MEM in BPF insns dump
    libbpf: Support pre-initializing .bss global variables
    tools/bpftool: Fix skeleton codegen
    bpf: Fix memlock accounting for sock_hash
    bpf: sockmap: Don't attach programs to UDP sockets
    bpf: tcp: Recv() should return 0 when the peer socket is closed
    ibmvnic: Flush existing work items before device removal
    genetlink: clean up family attributes allocations
    net: ipa: header pad field only valid for AP->modem endpoint
    net: ipa: program upper nibbles of sequencer type
    net: ipa: fix modem LAN RX endpoint id
    net: ipa: program metadata mask differently
    ionic: add pcie_print_link_status
    rxrpc: Fix race between incoming ACK parser and retransmitter
    net/mlx5: E-Switch, Fix some error pointer dereferences
    net/mlx5: Don't fail driver on failure to create debugfs
    net/mlx5e: CT: Fix ipv6 nat header rewrite actions
    ...

    Linus Torvalds
     
  • This reverts commit a43a67a2d715540c1368b9501a22b0373b5874c0.

    This patch reverts the main part of switching direct io implementation
    to iomap infrastructure. There's a problem in invalidate page that
    couldn't be solved as regression in this development cycle.

    The problem occurs when buffered and direct io are mixed, and the ranges
    overlap. Although this is not recommended, filesystems implement
    measures or fallbacks to make it somehow work. In this case, fallback to
    buffered IO would be an option for btrfs (this already happens when
    direct io is done on compressed data), but the change would be needed in
    the iomap code, bringing new semantics to other filesystems.

    Another problem arises when again the buffered and direct ios are mixed,
    invalidation fails, then -EIO is set on the mapping and fsync will fail,
    though there's no real error.

    There have been discussions how to fix that, but revert seems to be the
    least intrusive option.

    Link: https://lore.kernel.org/linux-btrfs/20200528192103.xm45qoxqmkw7i5yl@fiona/
    Signed-off-by: David Sterba

    David Sterba
     
  • On AM65xx MCU CPSW2G NUSS and 66AK2E/L NUSS allmulti setting does not allow
    unregistered mcast packets to pass.

    This happens, because ALE VLAN entries on these SoCs do not contain port
    masks for reg/unreg mcast packets, but instead store indexes of
    ALE_VLAN_MASK_MUXx_REG registers which intended for store port masks for
    reg/unreg mcast packets.
    This path was missed by commit 9d1f6447274f ("net: ethernet: ti: ale: fix
    seeing unreg mcast packets with promisc and allmulti disabled").

    Hence, fix it by taking into account ALE type in cpsw_ale_set_allmulti().

    Fixes: 9d1f6447274f ("net: ethernet: ti: ale: fix seeing unreg mcast packets with promisc and allmulti disabled")
    Signed-off-by: Grygorii Strashko
    Signed-off-by: David S. Miller

    Grygorii Strashko
     
  • The ALE parameters structure is created on stack, so it has to be reset
    before passing to cpsw_ale_create() to avoid garbage values.

    Fixes: 93a76530316a ("net: ethernet: ti: introduce am65x/j721e gigabit eth subsystem driver")
    Signed-off-by: Grygorii Strashko
    Signed-off-by: David S. Miller

    Grygorii Strashko
     
  • Alexei Starovoitov says:

    ====================
    pull-request: bpf 2020-06-12

    The following pull-request contains BPF updates for your *net* tree.

    We've added 26 non-merge commits during the last 10 day(s) which contain
    a total of 27 files changed, 348 insertions(+), 93 deletions(-).

    The main changes are:

    1) sock_hash accounting fix, from Andrey.

    2) libbpf fix and probe_mem sanitizing, from Andrii.

    3) sock_hash fixes, from Jakub.

    4) devmap_val fix, from Jesper.

    5) load_bytes_relative fix, from YiFei.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Looking into the context (atomic!) and the error message should be dropped.

    Signed-off-by: Liao Pingfang
    Signed-off-by: David S. Miller

    Liao Pingfang
     
  • Pull more cifs updates from Steve French:
    "12 cifs/smb3 fixes, 2 for stable.

    - add support for idsfromsid on create and chgrp/chown allowing
    ability to save owner information more naturally for some workloads

    - improve query info (getattr) when SMB3.1.1 posix extensions are
    negotiated by using new query info level"

    * tag '5.8-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
    smb3: Add debug message for new file creation with idsfromsid mount option
    cifs: fix chown and chgrp when idsfromsid mount option enabled
    smb3: allow uid and gid owners to be set on create with idsfromsid mount option
    smb311: Add tracepoints for new compound posix query info
    smb311: add support for using info level for posix extensions query
    smb311: Add support for lookup with posix extensions query info
    smb311: Add support for SMB311 query info (non-compounded)
    SMB311: Add support for query info using posix extensions (level 100)
    smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl
    smb3: fix typo in mount options displayed in /proc/mounts
    cifs: Add get_security_type_str function to return sec type.
    smb3: extend fscache mount volume coherency check

    Linus Torvalds
     
  • Let's keep "git status" happy and quiet.

    Fixes: 9762dc1432e1 ("samples: add binderfs sample program
    Fixes: fca5e94921d5 ("samples: binderfs: really compile this sample and fix build issues")
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • I'm not convinced the script makes useful automaed help lines anyway,
    but since we're trying to deprecate the use of "---help---" in Kconfig
    files, let's fix the doc example code too.

    See commit a7f7f6248d97 ("treewide: replace '---help---' in Kconfig
    files with 'help'")

    Cc: Masahiro Yamada
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull more Kbuild updates from Masahiro Yamada:

    - fix build rules in binderfs sample

    - fix build errors when Kbuild recurses to the top Makefile

    - covert '---help---' in Kconfig to 'help'

    * tag 'kbuild-v5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    treewide: replace '---help---' in Kconfig files with 'help'
    kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
    samples: binderfs: really compile this sample and fix build issues

    Linus Torvalds
     
  • Pull more SCSI updates from James Bottomley:
    "This is the set of changes collected since just before the merge
    window opened. It's mostly minor fixes in drivers.

    The one non-driver set is the three optical disk (sr) changes where
    two are error path fixes and one is a helper conversion.

    The big driver change is the hpsa compat_alloc_userspace rework by Al
    so he can kill the remaining user. This has been tested and acked by
    the maintainer"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (21 commits)
    scsi: acornscsi: Fix an error handling path in acornscsi_probe()
    scsi: storvsc: Remove memset before memory freeing in storvsc_suspend()
    scsi: cxlflash: Remove an unnecessary NULL check
    scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM
    scsi: sr: Fix sr_probe() missing deallocate of device minor
    scsi: sr: Fix sr_probe() missing mutex_destroy
    scsi: st: Convert convert get_user_pages() --> pin_user_pages()
    scsi: target: Rename target_setup_cmd_from_cdb() to target_cmd_parse_cdb()
    scsi: target: Fix NULL pointer dereference
    scsi: target: Initialize LUN in transport_init_se_cmd()
    scsi: target: Factor out a new helper, target_cmd_init_cdb()
    scsi: hpsa: hpsa_ioctl(): Tidy up a bit
    scsi: hpsa: Get rid of compat_alloc_user_space()
    scsi: hpsa: Don't bother with vmalloc for BIG_IOCTL_Command_struct
    scsi: hpsa: Lift {BIG_,}IOCTL_Command_struct copy{in,out} into hpsa_ioctl()
    scsi: ufs: Remove redundant urgent_bkop_lvl initialization
    scsi: ufs: Don't update urgent bkops level when toggling auto bkops
    scsi: qedf: Remove redundant initialization of variable rc
    scsi: mpt3sas: Fix memset() in non-RDPQ mode
    scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
    ...

    Linus Torvalds
     
  • Pull i2c updates from Wolfram Sang:
    "I2C has quite some patches for you this time. I hope it is the move to
    per-driver-maintainers which is now showing results. We will see.

    The big news is two new drivers (Nuvoton NPCM and Qualcomm CCI),
    larger refactoring of the Designware, Tegra, and PXA drivers, the
    Cadence driver supports being a slave now, and there is support to
    instanciate SPD eeproms for well-known cases (which will be
    user-visible because the i801 driver supports it), and some
    devm_platform_ioremap_resource() conversions which blow up the
    diffstat.

    Note that I applied the Nuvoton driver quite late, so some minor fixup
    patches arrived during the merge window. I chose to apply them right
    away because they were trivial"

    * 'i2c/for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (109 commits)
    i2c: Drop stray comma in MODULE_AUTHOR statements
    i2c: npcm7xx: npcm_i2caddr[] can be static
    MAINTAINERS: npcm7xx: Add maintainer for Nuvoton NPCM BMC
    i2c: npcm7xx: Fix a couple of error codes in probe
    i2c: icy: Fix build with CONFIG_AMIGA_PCMCIA=n
    i2c: npcm7xx: Remove unnecessary parentheses
    i2c: npcm7xx: Add support for slave mode for Nuvoton
    i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver
    dt-bindings: i2c: npcm7xx: add NPCM I2C controller
    i2c: pxa: don't error out if there's no pinctrl
    i2c: add 'single-master' property to generic bindings
    i2c: designware: Add Baikal-T1 System I2C support
    i2c: designware: Move reg-space remapping into a dedicated function
    i2c: designware: Retrieve quirk flags as early as possible
    i2c: designware: Convert driver to using regmap API
    i2c: designware: Discard Cherry Trail model flag
    i2c: designware: Add Baytrail sem config DW I2C platform dependency
    i2c: designware: slave: Set DW I2C core module dependency
    i2c: designware: Use `-y` to build multi-object modules
    dt-bindings: i2c: dw: Add Baikal-T1 SoC I2C controller
    ...

    Linus Torvalds