20 Sep, 2019

7 commits

  • New smatch warnings:
    net/netfilter/nf_tables_offload.c:316 nft_flow_offload_chain() warn: always true condition '(policy != -1) => (0-255 != (-1))'

    Reported-by: kbuild test robot
    Fixes: c9626a2cbdb2 ("netfilter: nf_tables: add hardware offload support")
    Signed-off-by: Pablo Neira Ayuso

    Pablo Neira Ayuso
     
  • Default policy is defined as a unsigned 8-bit field, do not use a
    negative value to leave it unset, use this new NFT_CHAIN_POLICY_UNSET
    instead.

    Signed-off-by: Pablo Neira Ayuso

    Pablo Neira Ayuso
     
  • Add some test cases to allow the fib_nexthops.sh test code
    to test the flushing of nexthops based upon the proto passed
    in upon creation of the nexthop group.

    Signed-off-by: Donald Sharp
    Reviewed-by: David Ahern
    Signed-off-by: Jakub Kicinski

    Donald Sharp
     
  • The documentation of skew values for the KSZ9021 PHY was misleading
    because the driver implementation followed the erroneous information
    given in the original KSZ9021 datasheet before it was corrected in
    revision 1.2 (Feb 2014). It is probably too late to correct the driver
    now because of the many existing device trees, so instead this just
    corrects the documentation to explain that what you actually get is not
    what you might think when looking at the device tree.

    Signed-off-by: James Byrne
    Signed-off-by: Jakub Kicinski

    James Byrne
     
  • Disabling multicast filtering from NCSI if it is supported. As it
    should not filter any multicast packets. In current code, multicast
    filter is enabled and with an exception of optional field supported
    by device are disabled filtering.

    Mainly I see if goal is to disable filtering for IPV6 packets then let
    it disabled for every other types as well. As we are seeing issues with
    LLDP not working with this enabled filtering. And there are other issues
    with IPV6.

    By Disabling this multicast completely, it is working for both IPV6 as
    well as LLDP.

    Signed-off-by: Vijay Khemka
    Acked-by: Samuel Mendoza-Jonas
    Signed-off-by: Jakub Kicinski

    Vijay Khemka
     
  • With commit 0655f9943df2 ("net/ibmvnic: Update carrier state after link
    state change") we are now able to detect when the carrier is properly
    present in the device, so only report an unexpected unknown speed when it
    is properly detected. Unknown speed is expected to be seen by the device
    in case the backing device has no link detected.

    Reported-by: Abdul Haleem
    Tested-by: Abdul Haleem
    Signed-off-by: Murilo Fossa Vicentini
    Reviewed-by: Thomas Falcon

    Murilo Fossa Vicentini
     
  • clang warns:

    ../drivers/net/ethernet/pensando/ionic/ionic_debugfs.c:60:37: warning:
    expression result unused [-Wunused-value]
    ionic, &identity_fops) ? 0 : -EOPNOTSUPP;
    ^~~~~~~~~~~
    1 warning generated.

    The return value of debugfs_create_file does not need to be checked [1]
    and the function returns void so get rid of the ternary operator, it is
    unnecessary.

    [1]: https://lore.kernel.org/linux-mm/20150815160730.GB25186@kroah.com/

    Fixes: fbfb8031533c ("ionic: Add hardware init and device commands")
    Link: https://github.com/ClangBuiltLinux/linux/issues/658
    Signed-off-by: Nathan Chancellor
    Acked-by: Shannon Nelson
    Reviewed-by: Greg Kroah-Hartman

    Nathan Chancellor
     

19 Sep, 2019

21 commits

  • After a reset packet sizes and device mtu can change and need
    to be reevaluated to calculate queue sizes.
    Malicious devices can set this to zero and we divide by it.
    Introduce sanity checking.

    Reported-and-tested-by: syzbot+6102c120be558c885f04@syzkaller.appspotmail.com
    Signed-off-by: Oliver Neukum
    Signed-off-by: David S. Miller

    Oliver Neukum
     
  • Pull xfs updates from Darrick Wong:
    "For this cycle we have the usual pile of cleanups and bug fixes, some
    performance improvements for online metadata scrubbing, massive
    speedups in the directory entry creation code, some performance
    improvement in the file ACL lookup code, a fix for a logging stall
    during mount, and fixes for concurrency problems.

    It has survived a couple of weeks of xfstests runs and merges cleanly.

    Summary:

    - Remove KM_SLEEP/KM_NOSLEEP.

    - Ensure that memory buffers for IO are properly sector-aligned to
    avoid problems that the block layer doesn't check.

    - Make the bmap scrubber more efficient in its record checking.

    - Don't crash xfs_db when superblock inode geometry is corrupt.

    - Fix btree key helper functions.

    - Remove unneeded error returns for things that can't fail.

    - Fix buffer logging bugs in repair.

    - Clean up iterator return values.

    - Speed up directory entry creation.

    - Enable allocation of xattr value memory buffer during lookup.

    - Fix readahead racing with truncate/punch hole.

    - Other minor cleanups.

    - Fix one AGI/AGF deadlock with RENAME_WHITEOUT.

    - More BUG -> WARN whackamole.

    - Fix various problems with the log failing to advance under certain
    circumstances, which results in stalls during mount"

    * tag 'xfs-5.4-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (45 commits)
    xfs: push the grant head when the log head moves forward
    xfs: push iclog state cleaning into xlog_state_clean_log
    xfs: factor iclog state processing out of xlog_state_do_callback()
    xfs: factor callbacks out of xlog_state_do_callback()
    xfs: factor debug code out of xlog_state_do_callback()
    xfs: prevent CIL push holdoff in log recovery
    xfs: fix missed wakeup on l_flush_wait
    xfs: push the AIL in xlog_grant_head_wake
    xfs: Use WARN_ON_ONCE for bailout mount-operation
    xfs: Fix deadlock between AGI and AGF with RENAME_WHITEOUT
    xfs: define a flags field for the AG geometry ioctl structure
    xfs: add a xfs_valid_startblock helper
    xfs: remove the unused XFS_ALLOC_USERDATA flag
    xfs: cleanup xfs_fsb_to_db
    xfs: fix the dax supported check in xfs_ioctl_setattr_dax_invalidate
    xfs: Fix stale data exposure when readahead races with hole punch
    fs: Export generic_fadvise()
    mm: Handle MADV_WILLNEED through vfs_fadvise()
    xfs: allocate xattr buffer on demand
    xfs: consolidate attribute value copying
    ...

    Linus Torvalds
     
  • Pull swap access updates from Darrick Wong:
    "Prohibit writing to active swap files and swap partitions.

    There's no non-malicious use case for allowing userspace to scribble
    on storage that the kernel thinks it owns"

    * tag 'vfs-5.4-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
    vfs: don't allow writes to swap files
    mm: set S_SWAPFILE on blockdev swap devices

    Linus Torvalds
     
  • Pull overlayfs fixes from Miklos Szeredi:
    "Fix a regression in docker introduced by overlayfs changes in 4.19.
    Also fix a couple of miscellaneous bugs"

    * tag 'ovl-fixes-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    ovl: filter of trusted xattr results in audit
    ovl: Fix dereferencing possible ERR_PTR()
    ovl: fix regression caused by overlapping layers detection

    Linus Torvalds
     
  • Pull btrfs updates from David Sterba:
    "This continues with work on code refactoring, sanity checks and space
    handling. There are some less user visible changes, nothing that would
    particularly stand out.

    User visible changes:
    - tree checker, more sanity checks of:
    - ROOT_ITEM (key, size, generation, level, alignment, flags)
    - EXTENT_ITEM and METADATA_ITEM checks (key, size, offset,
    alignment, refs)
    - tree block reference items
    - EXTENT_DATA_REF (key, hash, offset)

    - deprecate flag BTRFS_SUBVOL_CREATE_ASYNC for subvolume creation
    ioctl, scheduled removal in 5.7

    - delete stale and unused UAPI definitions
    BTRFS_DEV_REPLACE_ITEM_STATE_*

    - improved export of debugging information available via existing
    sysfs directory structure

    - try harder to delete relations between qgroups and allow to delete
    orphan entries

    - remove unreliable space checks before relocation starts

    Core:
    - space handling:
    - improved ticket reservations and other high level logic in
    order to remove special cases
    - factor flushing infrastructure and use it for different
    contexts, allows to remove some special case handling
    - reduce metadata reservation when only updating inodes
    - reduce global block reserve minimum size (affects small
    filesystems)
    - improved overcommit logic wrt global block reserve

    - tests:
    - fix memory leaks in extent IO tree
    - catch all TRIM range

    Fixes:
    - fix ENOSPC errors, leading to transaction aborts, when cloning
    extents

    - several fixes for inode number cache (mount option inode_cache)

    - fix potential soft lockups during send when traversing large trees

    - fix unaligned access to space cache pages with SLUB debug on
    (PowerPC)

    Other:
    - refactoring public/private functions, moving to new or more
    appropriate files

    - defines converted to enums

    - error handling improvements

    - more assertions and comments

    - old code deletion"

    * tag 'for-5.4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (138 commits)
    btrfs: Relinquish CPUs in btrfs_compare_trees
    btrfs: Don't assign retval of btrfs_try_tree_write_lock/btrfs_tree_read_lock_atomic
    btrfs: create structure to encode checksum type and length
    btrfs: turn checksum type define into an enum
    btrfs: add enospc debug messages for ticket failure
    btrfs: do not account global reserve in can_overcommit
    btrfs: use btrfs_try_granting_tickets in update_global_rsv
    btrfs: always reserve our entire size for the global reserve
    btrfs: change the minimum global reserve size
    btrfs: rename btrfs_space_info_add_old_bytes
    btrfs: remove orig_bytes from reserve_ticket
    btrfs: fix may_commit_transaction to deal with no partial filling
    btrfs: rework wake_all_tickets
    btrfs: refactor the ticket wakeup code
    btrfs: stop partially refilling tickets when releasing space
    btrfs: add space reservation tracepoint for reserved bytes
    btrfs: roll tracepoint into btrfs_space_info_update helper
    btrfs: do not allow reservations if we have pending tickets
    btrfs: stop clearing EXTENT_DIRTY in inode I/O tree
    btrfs: treat RWF_{,D}SYNC writes as sync for CRCs
    ...

    Linus Torvalds
     
  • Pull AFS updates from David Howells:
    "Here's a set of patches for AFS. The first three are trivial, deleting
    unused symbols and rolling out a wrapper function.

    The fourth and fifth patches make use of the previously added RCU-safe
    request_key facility to allow afs_permission() and afs_d_revalidate()
    to attempt to operate without dropping out of RCU-mode pathwalk. Under
    certain conditions, such as conflict with another client, we still
    have to drop out anyway, take a lock and consult the server"

    * tag 'afs-next-20190915' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
    afs: Support RCU pathwalk
    afs: Provide an RCU-capable key lookup
    afs: Use afs_extract_discard() rather than iov_iter_discard()
    afs: remove unused variable 'afs_zero_fid'
    afs: remove unused variable 'afs_voltypes'

    Linus Torvalds
     
  • Pull fs-verity support from Eric Biggers:
    "fs-verity is a filesystem feature that provides Merkle tree based
    hashing (similar to dm-verity) for individual readonly files, mainly
    for the purpose of efficient authenticity verification.

    This pull request includes:

    (a) The fs/verity/ support layer and documentation.

    (b) fs-verity support for ext4 and f2fs.

    Compared to the original fs-verity patchset from last year, the UAPI
    to enable fs-verity on a file has been greatly simplified. Lots of
    other things were cleaned up too.

    fs-verity is planned to be used by two different projects on Android;
    most of the userspace code is in place already. Another userspace tool
    ("fsverity-utils"), and xfstests, are also available. e2fsprogs and
    f2fs-tools already have fs-verity support. Other people have shown
    interest in using fs-verity too.

    I've tested this on ext4 and f2fs with xfstests, both the existing
    tests and the new fs-verity tests. This has also been in linux-next
    since July 30 with no reported issues except a couple minor ones I
    found myself and folded in fixes for.

    Ted and I will be co-maintaining fs-verity"

    * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
    f2fs: add fs-verity support
    ext4: update on-disk format documentation for fs-verity
    ext4: add fs-verity read support
    ext4: add basic fs-verity support
    fs-verity: support builtin file signatures
    fs-verity: add SHA-512 support
    fs-verity: implement FS_IOC_MEASURE_VERITY ioctl
    fs-verity: implement FS_IOC_ENABLE_VERITY ioctl
    fs-verity: add data verification hooks for ->readpages()
    fs-verity: add the hook for file ->setattr()
    fs-verity: add the hook for file ->open()
    fs-verity: add inode and superblock fields
    fs-verity: add Kconfig and the helper functions for hashing
    fs: uapi: define verity bit for FS_IOC_GETFLAGS
    fs-verity: add UAPI header
    fs-verity: add MAINTAINERS file entry
    fs-verity: add a documentation file

    Linus Torvalds
     
  • Pull fscrypt updates from Eric Biggers:
    "This is a large update to fs/crypto/ which includes:

    - Add ioctls that add/remove encryption keys to/from a
    filesystem-level keyring.

    These fix user-reported issues where e.g. an encrypted home
    directory can break NetworkManager, sshd, Docker, etc. because they
    don't get access to the needed keyring. These ioctls also provide a
    way to lock encrypted directories that doesn't use the
    vm.drop_caches sysctl, so is faster, more reliable, and doesn't
    always need root.

    - Add a new encryption policy version ("v2") which switches to a more
    standard, secure, and flexible key derivation function, and starts
    verifying that the correct key was supplied before using it.

    The key derivation improvement is needed for its own sake as well
    as for ongoing feature work for which the current way is too
    inflexible.

    Work is in progress to update both Android and the 'fscrypt' userspace
    tool to use both these features. (Working patches are available and
    just need to be reviewed+merged.) Chrome OS will likely use them too.

    This has also been tested on ext4, f2fs, and ubifs with xfstests --
    both the existing encryption tests, and the new tests for this. This
    has also been in linux-next since Aug 16 with no reported issues. I'm
    also using an fscrypt v2-encrypted home directory on my personal
    desktop"

    * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt: (27 commits)
    ext4 crypto: fix to check feature status before get policy
    fscrypt: document the new ioctls and policy version
    ubifs: wire up new fscrypt ioctls
    f2fs: wire up new fscrypt ioctls
    ext4: wire up new fscrypt ioctls
    fscrypt: require that key be added when setting a v2 encryption policy
    fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS ioctl
    fscrypt: allow unprivileged users to add/remove keys for v2 policies
    fscrypt: v2 encryption policy support
    fscrypt: add an HKDF-SHA512 implementation
    fscrypt: add FS_IOC_GET_ENCRYPTION_KEY_STATUS ioctl
    fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY ioctl
    fscrypt: add FS_IOC_ADD_ENCRYPTION_KEY ioctl
    fscrypt: rename keyinfo.c to keysetup.c
    fscrypt: move v1 policy key setup to keysetup_v1.c
    fscrypt: refactor key setup code in preparation for v2 policies
    fscrypt: rename fscrypt_master_key to fscrypt_direct_key
    fscrypt: add ->ci_inode to fscrypt_info
    fscrypt: use FSCRYPT_* definitions, not FS_*
    fscrypt: use FSCRYPT_ prefix for uapi constants
    ...

    Linus Torvalds
     
  • Pull file locking updates from Jeff Layton:
    "Just a couple of minor bugfixes, a revision to a tracepoint to account
    for some earlier changes to the internals, and a patch to add a
    pr_warn message when someone tries to mount a filesystem with '-o
    mand' on a kernel that has that support disabled"

    * tag 'filelock-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
    locks: fix a memory leak bug in __break_lease()
    locks: print a warning when mount fails due to lack of "mand" support
    locks: Fix procfs output for file leases
    locks: revise generic_add_lease tracepoint

    Linus Torvalds
     
  • Pull vfs mount API infrastructure updates from Al Viro:
    "Infrastructure bits of mount API conversions.

    The rest is more of per-filesystem updates and that will happen
    in separate pull requests"

    * 'work.mount-base' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    mtd: Provide fs_context-aware mount_mtd() replacement
    vfs: Create fs_context-aware mount_bdev() replacement
    new helper: get_tree_keyed()
    vfs: set fs_context::user_ns for reconfigure

    Linus Torvalds
     
  • Pull d_path fix from Al Viro:
    "Fix d_absolute_path() regression in the last cycle (felt by tomoyo,
    mostly)"

    * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    [PATCH] fix d_absolute_path() interplay with fsmount()

    Linus Torvalds
     
  • Pull vfs namei updates from Al Viro:
    "Pathwalk-related stuff"

    [ Audit-related cleanups, misc simplifications, and easier to follow
    nd->root refcounts - Linus ]

    * 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    devpts_pty_kill(): don't bother with d_delete()
    infiniband: don't bother with d_delete()
    hypfs: don't bother with d_delete()
    fs/namei.c: keep track of nd->root refcount status
    fs/namei.c: new helper - legitimize_root()
    kill the last users of user_{path,lpath,path_dir}()
    namei.h: get the comments on LOOKUP_... in sync with reality
    kill LOOKUP_NO_EVAL, don't bother including namei.h from audit.h
    audit_inode(): switch to passing AUDIT_INODE_...
    filename_mountpoint(): make LOOKUP_NO_EVAL unconditional there
    filename_lookup(): audit_inode() argument is always 0

    Linus Torvalds
     
  • Pull networking updates from David Miller:

    1) Support IPV6 RA Captive Portal Identifier, from Maciej Żenczykowski.

    2) Use bio_vec in the networking instead of custom skb_frag_t, from
    Matthew Wilcox.

    3) Make use of xmit_more in r8169 driver, from Heiner Kallweit.

    4) Add devmap_hash to xdp, from Toke Høiland-Jørgensen.

    5) Support all variants of 5750X bnxt_en chips, from Michael Chan.

    6) More RTNL avoidance work in the core and mlx5 driver, from Vlad
    Buslov.

    7) Add TCP syn cookies bpf helper, from Petar Penkov.

    8) Add 'nettest' to selftests and use it, from David Ahern.

    9) Add extack support to drop_monitor, add packet alert mode and
    support for HW drops, from Ido Schimmel.

    10) Add VLAN offload to stmmac, from Jose Abreu.

    11) Lots of devm_platform_ioremap_resource() conversions, from
    YueHaibing.

    12) Add IONIC driver, from Shannon Nelson.

    13) Several kTLS cleanups, from Jakub Kicinski.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1930 commits)
    mlxsw: spectrum_buffers: Add the ability to query the CPU port's shared buffer
    mlxsw: spectrum: Register CPU port with devlink
    mlxsw: spectrum_buffers: Prevent changing CPU port's configuration
    net: ena: fix incorrect update of intr_delay_resolution
    net: ena: fix retrieval of nonadaptive interrupt moderation intervals
    net: ena: fix update of interrupt moderation register
    net: ena: remove all old adaptive rx interrupt moderation code from ena_com
    net: ena: remove ena_restore_ethtool_params() and relevant fields
    net: ena: remove old adaptive interrupt moderation code from ena_netdev
    net: ena: remove code duplication in ena_com_update_nonadaptive_moderation_interval _*()
    net: ena: enable the interrupt_moderation in driver_supported_features
    net: ena: reimplement set/get_coalesce()
    net: ena: switch to dim algorithm for rx adaptive interrupt moderation
    net: ena: add intr_moder_rx_interval to struct ena_com_dev and use it
    net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable
    ethtool: implement Energy Detect Powerdown support via phy-tunable
    xen-netfront: do not assume sk_buff_head list is empty in error handling
    s390/ctcm: Delete unnecessary checks before the macro call “dev_kfree_skb”
    net: ena: don't wake up tx queue when down
    drop_monitor: Better sanitize notified packets
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "API:
    - Add the ability to abort a skcipher walk.

    Algorithms:
    - Fix XTS to actually do the stealing.
    - Add library helpers for AES and DES for single-block users.
    - Add library helpers for SHA256.
    - Add new DES key verification helper.
    - Add surrounding bits for ESSIV generator.
    - Add accelerations for aegis128.
    - Add test vectors for lzo-rle.

    Drivers:
    - Add i.MX8MQ support to caam.
    - Add gcm/ccm/cfb/ofb aes support in inside-secure.
    - Add ofb/cfb aes support in media-tek.
    - Add HiSilicon ZIP accelerator support.

    Others:
    - Fix potential race condition in padata.
    - Use unbound workqueues in padata"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (311 commits)
    crypto: caam - Cast to long first before pointer conversion
    crypto: ccree - enable CTS support in AES-XTS
    crypto: inside-secure - Probe transform record cache RAM sizes
    crypto: inside-secure - Base RD fetchcount on actual RD FIFO size
    crypto: inside-secure - Base CD fetchcount on actual CD FIFO size
    crypto: inside-secure - Enable extended algorithms on newer HW
    crypto: inside-secure: Corrected configuration of EIP96_TOKEN_CTRL
    crypto: inside-secure - Add EIP97/EIP197 and endianness detection
    padata: remove cpu_index from the parallel_queue
    padata: unbind parallel jobs from specific CPUs
    padata: use separate workqueues for parallel and serial work
    padata, pcrypt: take CPU hotplug lock internally in padata_alloc_possible
    crypto: pcrypt - remove padata cpumask notifier
    padata: make padata_do_parallel find alternate callback CPU
    workqueue: require CPU hotplug read exclusion for apply_workqueue_attrs
    workqueue: unconfine alloc/apply/free_workqueue_attrs()
    padata: allocate workqueue internally
    arm64: dts: imx8mq: Add CAAM node
    random: Use wait_event_freezable() in add_hwgenerator_randomness()
    crypto: ux500 - Fix COMPILE_TEST warnings
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver pull request for 5.4-rc1.

    As has been happening in previous releases, more and more individual
    driver subsystem trees are ending up in here. Now if that is good or
    bad I can't tell, but hopefully it makes your life easier as it's more
    of an aggregation of trees together to one merge point for you.

    Anyway, lots of stuff in here:
    - habanalabs driver updates
    - thunderbolt driver updates
    - misc driver updates
    - coresight and intel_th hwtracing driver updates
    - fpga driver updates
    - extcon driver updates
    - some dma driver updates
    - char driver updates
    - android binder driver updates
    - nvmem driver updates
    - phy driver updates
    - parport driver fixes
    - pcmcia driver fix
    - uio driver updates
    - w1 driver updates
    - configfs fixes
    - other assorted driver updates

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (200 commits)
    misc: mic: Use PTR_ERR_OR_ZERO rather than its implementation
    habanalabs: correctly cast variable to __le32
    habanalabs: show correct id in error print
    habanalabs: stop using the acronym KMD
    habanalabs: display card name as sensors header
    habanalabs: add uapi to retrieve aggregate H/W events
    habanalabs: add uapi to retrieve device utilization
    habanalabs: Make the Coresight timestamp perpetual
    habanalabs: explicitly set the queue-id enumerated numbers
    habanalabs: print to kernel log when reset is finished
    habanalabs: replace __le32_to_cpu with le32_to_cpu
    habanalabs: replace __cpu_to_le32/64 with cpu_to_le32/64
    habanalabs: Handle HW_IP_INFO if device disabled or in reset
    habanalabs: Expose devices after initialization is done
    habanalabs: improve security in Debug IOCTL
    habanalabs: use default structure for user input in Debug IOCTL
    habanalabs: Add descriptive name to PSOC app status register
    habanalabs: Add descriptive names to PSOC scratch-pad registers
    habanalabs: create two char devices per ASIC
    habanalabs: change device_setup_cdev() to be more generic
    ...

    Linus Torvalds
     
  • Pull staging and IIO driver updates from Greg KH:
    "Here is the big staging/iio driver update for 5.4-rc1.

    Lots of churn here, with a few driver/filesystems moving out of
    staging finally:

    - erofs moved out of staging

    - greybus core code moved out of staging

    Along with that, a new filesytem has been added:

    - extfat

    to provide support for those devices requiring that filesystem (i.e.
    transfer devices to/from windows systems or printers)

    Other than that, there a number of new IIO drivers, and lots and lots
    and lots of staging driver cleanups and minor fixes as people continue
    to dig into those for easy changes.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'staging-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (453 commits)
    Staging: gasket: Use temporaries to reduce line length.
    Staging: octeon: Avoid several usecases of strcpy
    staging: vhciq_core: replace snprintf with scnprintf
    staging: wilc1000: avoid twice IRQ handler execution for each single interrupt
    staging: wilc1000: remove unused interrupt status handling code
    staging: fbtft: make several arrays static const, makes object smaller
    staging: rtl8188eu: make two arrays static const, makes object smaller
    staging: rtl8723bs: core: Remove Macro "IS_MAC_ADDRESS_BROADCAST"
    dt-bindings: anybus-controller: move to staging/ tree
    staging: emxx_udc: remove local TRUE/FALSE definition
    staging: wilc1000: look for rtc_clk clock
    staging: dt-bindings: wilc1000: add optional rtc_clk property
    staging: nvec: make use of devm_platform_ioremap_resource
    staging: exfat: drop unused function parameter
    Staging: exfat: Avoid use of strcpy
    staging: exfat: use integer constants
    staging: exfat: cleanup spacing for casts
    staging: exfat: cleanup spacing for operators
    staging: rtl8723bs: hal: remove redundant variable n
    staging: pi433: Fix typo in documentation
    ...

    Linus Torvalds
     
  • Pull tty/serial driver updates from Greg KH:
    "Even in this age, people are still making new serial port silicon,
    why...

    Anyway, here's the TTY and Serial driver update for 5.4-rc1. Lots of
    changes in here for a number of embedded serial port devices that are
    being worked on because people really like to see those console
    logs...

    Other than that, nothing major here, no core tty changes that anyone
    should care about.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'tty-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (125 commits)
    serial: tegra: Add PIO mode support
    serial: tegra: report clk rate errors
    serial: tegra: add support to adjust baud rate
    serial: tegra: DT for Adjusted baud rates
    serial: tegra: add support to use 8 bytes trigger
    serial: tegra: set maximum num of uart ports to 8
    serial: tegra: check for FIFO mode enabled status
    dt-binding: serial: tegra: add new chips
    serial: tegra: report error to upper tty layer
    serial: tegra: flush the RX fifo on frame error
    serial: tegra: avoid reg access when clk disabled
    serial: tegra: add support to ignore read
    serial: sprd: correct the wrong sequence of arguments
    dt-bindings: serial: Convert riscv,sifive-serial to json-schema
    serial: max310x: turn off transmitter before activating AutoCTS or auto transmitter flow control
    serial: max310x: Properly set flags in AutoCTS mode
    tty: serial: fix platform_no_drv_owner.cocci warnings
    dt-bindings: serial: Document Freescale LINFlexD UART
    serial: fsl_linflexuart: Update compatible string
    tty: n_gsm: avoid recursive locking with async port hangup
    ...

    Linus Torvalds
     
  • Pull USB updates from Greg KH:
    "Here is the big set of USB patches for 5.4-rc1.

    Two major chunks of code are moving out of the tree and into the
    staging directory, uwb and wusb (wireless USB support), because there
    are no devices that actually use this protocol anymore, and what we
    have today probably doesn't work at all given that the maintainers
    left many many years ago. So move it to staging where it will be
    removed in a few releases if no one screams.

    Other than that, lots of little things. The usual gadget and xhci and
    usb serial driver updates, along with a bunch of sysfs file cleanups
    due to the driver core changes to support that. Nothing really major,
    just constant forward progress.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'usb-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (159 commits)
    USB: usbcore: Fix slab-out-of-bounds bug during device reset
    usb: cdns3: Remove redundant dev_err call in cdns3_probe()
    USB: rio500: Fix lockdep violation
    USB: rio500: simplify locking
    usb: mtu3: register a USB Role Switch for dual role mode
    usb: common: add USB GPIO based connection detection driver
    usb: common: create Kconfig file
    usb: roles: get usb-role-switch from parent
    usb: roles: Add fwnode_usb_role_switch_get() function
    device connection: Add fwnode_connection_find_match()
    usb: roles: Introduce stubs for the exiting functions in role.h
    dt-bindings: usb: mtu3: add properties about USB Role Switch
    dt-bindings: usb: add binding for USB GPIO based connection detection driver
    dt-bindings: connector: add optional properties for Type-B
    dt-binding: usb: add usb-role-switch property
    usbip: Implement SG support to vhci-hcd and stub driver
    usb: roles: intel: Enable static DRD mode for role switch
    xhci-ext-caps.c: Add property to disable Intel SW switch
    usb: dwc3: remove generic PHY calibrate() calls
    usb: core: phy: add support for PHY calibration
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg Kroah-Hartman:
    "Here is the big driver core update for 5.4-rc1.

    There was a bit of a churn in here, with a number of core and OF
    platform patches being added to the tree, and then after much
    discussion and review and a day-long in-person meeting, they were
    decided to be reverted and a new set of patches is currently being
    reviewed on the mailing list.

    Other than that churn, there are two "persistent" branches in here
    that other trees will be pulling in as well during the merge window.
    One branch to add support for drivers to have the driver core
    automatically add sysfs attribute files when a driver is bound to a
    device so that the driver doesn't have to manually do it (and then
    clean it up, as it always gets it wrong).

    There's another branch in here for generic lookup helpers for the
    driver core that lots of busses are starting to use. That's the
    majority of the non-driver-core changes in this patch series.

    There's also some on-going debugfs file creation cleanup that has been
    slowly happening over the past few releases, with the goal to
    hopefully get that done sometime next year.

    All of these have been in linux-next for a while now with no reported
    issues"

    [ Note that the above-mentioned generic lookup helpers branch was
    already brought in by the LED merge (commit 4feaab05dc1e) that had
    shared it.

    Also note that that common branch introduced an i2c bug due to a bad
    conversion, which got fixed here. - Linus ]

    * tag 'driver-core-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (49 commits)
    coccinelle: platform_get_irq: Fix parse error
    driver-core: add include guard to linux/container.h
    sysfs: add BIN_ATTR_WO() macro
    driver core: platform: Export platform_get_irq_optional()
    hwmon: pwm-fan: Use platform_get_irq_optional()
    driver core: platform: Introduce platform_get_irq_optional()
    Revert "driver core: Add support for linking devices during device addition"
    Revert "driver core: Add edit_links() callback for drivers"
    Revert "of/platform: Add functional dependency link from DT bindings"
    Revert "driver core: Add sync_state driver/bus callback"
    Revert "of/platform: Pause/resume sync state during init and of_platform_populate()"
    Revert "of/platform: Create device links for all child-supplier depencencies"
    Revert "of/platform: Don't create device links for default busses"
    Revert "of/platform: Fix fn definitons for of_link_is_valid() and of_link_property()"
    Revert "of/platform: Fix device_links_supplier_sync_state_resume() warning"
    Revert "of/platform: Disable generic device linking code for PowerPC"
    devcoredump: fix typo in comment
    devcoredump: use memory_read_from_buffer
    of/platform: Disable generic device linking code for PowerPC
    device.h: Fix warnings for mismatched parameter names in comments
    ...

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "s390:
    - ioctl hardening
    - selftests

    ARM:
    - ITS translation cache
    - support for 512 vCPUs
    - various cleanups and bugfixes

    PPC:
    - various minor fixes and preparation

    x86:
    - bugfixes all over the place (posted interrupts, SVM, emulation
    corner cases, blocked INIT)
    - some IPI optimizations"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (75 commits)
    KVM: X86: Use IPI shorthands in kvm guest when support
    KVM: x86: Fix INIT signal handling in various CPU states
    KVM: VMX: Introduce exit reason for receiving INIT signal on guest-mode
    KVM: VMX: Stop the preemption timer during vCPU reset
    KVM: LAPIC: Micro optimize IPI latency
    kvm: Nested KVM MMUs need PAE root too
    KVM: x86: set ctxt->have_exception in x86_decode_insn()
    KVM: x86: always stop emulation on page fault
    KVM: nVMX: trace nested VM-Enter failures detected by H/W
    KVM: nVMX: add tracepoint for failed nested VM-Enter
    x86: KVM: svm: Fix a check in nested_svm_vmrun()
    KVM: x86: Return to userspace with internal error on unexpected exit reason
    KVM: x86: Add kvm_emulate_{rd,wr}msr() to consolidate VXM/SVM code
    KVM: x86: Refactor up kvm_{g,s}et_msr() to simplify callers
    doc: kvm: Fix return description of KVM_SET_MSRS
    KVM: X86: Tune PLE Window tracepoint
    KVM: VMX: Change ple_window type to unsigned int
    KVM: X86: Remove tailing newline for tracepoints
    KVM: X86: Trace vcpu_id for vmexit
    KVM: x86: Manually calculate reserved bits when loading PDPTRS
    ...

    Linus Torvalds
     
  • Pull KVM fix from Paolo Bonzini:
    "Fix missing bounds-checking in coalesced_mmio (CVE-2019-14821)"

    * tag 'for-linus-urgent' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: coalesced_mmio: add bounds checking

    Linus Torvalds
     

18 Sep, 2019

12 commits

  • The first/last indexes are typically shared with a user app.
    The app can change the 'last' index that the kernel uses
    to store the next result. This change sanity checks the index
    before using it for writing to a potentially arbitrary address.

    This fixes CVE-2019-14821.

    Cc: stable@vger.kernel.org
    Fixes: 5f94c1741bdc ("KVM: Add coalesced MMIO support (common part)")
    Signed-off-by: Matt Delco
    Signed-off-by: Jim Mattson
    Reported-by: syzbot+983c866c3dd6efa3662a@syzkaller.appspotmail.com
    [Use READ_ONCE. - Paolo]
    Signed-off-by: Paolo Bonzini

    Matt Delco
     
  • Pull device properties framework updates from Rafael Wysocki:
    "Improve software node support (Heikki Krogerus) and clean up two
    assorted pieces of code (Andy Shevchenko, Geert Uytterhoeven)"

    * tag 'devprop-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    software node: Initialize the return value in software_node_find_by_name()
    software node: Initialize the return value in software_node_to_swnode()
    ACPI / property: Fix acpi_graph_get_remote_endpoint() name in kerneldoc
    device property: Remove duplicate test for NULL
    platform/x86: intel_cht_int33fe: Use new API to gain access to the role switch
    usb: roles: intel_xhci: Supplying software node for the role mux
    software node: Add software_node_find_by_name()

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:
    "These include an ACPICA update (to upstream revision 20190816),
    improvements of support for memory hot-add in the HMAT handling code
    and some assorted fixes and cleanups.

    Specifics:

    - Update the ACPICA code in the kernel to upstream revision 20190816
    including:
    * Internal limits change to support larger systems (Bob Moore).
    * Macros clean up (Bob Moore).
    * printf format string fixes (Bob Moore).
    * Full deployment of the ACPI_PRINTF_LIKE macro (Bob Moore).
    * Tools improvements (Bob Moore, Colin Ian King).
    * Windows _OSI support fixes (Jung-uk Kim).

    - Improve memory hot-add support in the ACPI HMAT handling code (Dan
    Williams, Keith Busch).

    - Fix the ACPI LPSS (Low-Power Subsystem) driver for Intel SoCs to
    save and restore private registers during system-wide suspend and
    resume on systems with the Lynxpoint PCH (Jarkko Nikula).

    - Convert the ACPI documentation related to LEDs to ReST (Sakari
    Ailus).

    - Fix assorted issues and make assorted minor improvements in the
    ACPI-related code (Al Stone, Andy Shevchenko, Jiri Slaby, Kelsey
    Skunberg, Krzysztof Wilczynski, Liguang Zhang, Wenwen Wang,
    YueHaibing)"

    * tag 'acpi-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (23 commits)
    ACPI / PCI: fix acpi_pci_irq_enable() memory leak
    ACPI: custom_method: fix memory leaks
    ACPI: thermal: Remove redundant acpi_has_method() calls
    ACPI / CPPC: do not require the _PSD method
    ACPI: SBS: remove unused const variable 'SMBUS_PEC'
    ACPI / LPSS: Save/restore LPSS private registers also on Lynxpoint
    ACPI/PCI: Remove surplus parentheses from a return statement
    ACPICA: Update version to 20190816.
    ACPICA: Add "Windows 2019" string to _OSI support.
    ACPICA: Differentiate Windows 8.1 from Windows 8.
    ACPICA: Fully deploy ACPI_PRINTF_LIKE macro
    ACPICA: iASL,acpi_dump: Improve y/n query
    ACPICA: Fix issues with arg types within printf format strings
    ACPICA: Macros: remove pointer math on a null pointer
    ACPICA: Increase total number of possible Owner IDs
    ACPICA: Debugger: remove redundant assignment on obj_desc
    Documentation: ACPI: DSD: Convert LED documentation to ReST
    ACPI / APEI: Release resources if gen_pool_add() fails
    HMAT: Skip publishing target info for nodes with no online memory
    HMAT: Register attributes for memory hot add
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These include a rework of the main suspend-to-idle code flow (related
    to the handling of spurious wakeups), a switch over of several users
    of cpufreq notifiers to QoS-based limits, a new devfreq driver for
    Tegra20, a new cpuidle driver and governor for virtualized guests, an
    extension of the wakeup sources framework to expose wakeup sources as
    device objects in sysfs, and more.

    Specifics:

    - Rework the main suspend-to-idle control flow to avoid repeating
    "noirq" device resume and suspend operations in case of spurious
    wakeups from the ACPI EC and decouple the ACPI EC wakeups support
    from the LPS0 _DSM support (Rafael Wysocki).

    - Extend the wakeup sources framework to expose wakeup sources as
    device objects in sysfs (Tri Vo, Stephen Boyd).

    - Expose system suspend statistics in sysfs (Kalesh Singh).

    - Introduce a new haltpoll cpuidle driver and a new matching governor
    for virtualized guests wanting to do guest-side polling in the idle
    loop (Marcelo Tosatti, Joao Martins, Wanpeng Li, Stephen Rothwell).

    - Fix the menu and teo cpuidle governors to allow the scheduler tick
    to be stopped if PM QoS is used to limit the CPU idle state exit
    latency in some cases (Rafael Wysocki).

    - Increase the resolution of the play_idle() argument to microseconds
    for more fine-grained injection of CPU idle cycles (Daniel
    Lezcano).

    - Switch over some users of cpuidle notifiers to the new QoS-based
    frequency limits and drop the CPUFREQ_ADJUST and CPUFREQ_NOTIFY
    policy notifier events (Viresh Kumar).

    - Add new cpufreq driver based on nvmem for sun50i (Yangtao Li).

    - Add support for MT8183 and MT8516 to the mediatek cpufreq driver
    (Andrew-sh.Cheng, Fabien Parent).

    - Add i.MX8MN support to the imx-cpufreq-dt cpufreq driver (Anson
    Huang).

    - Add qcs404 to cpufreq-dt-platdev blacklist (Jorge Ramirez-Ortiz).

    - Update the qcom cpufreq driver (among other things, to make it
    easier to extend and to use kryo cpufreq for other nvmem-based
    SoCs) and add qcs404 support to it (Niklas Cassel, Douglas
    RAILLARD, Sibi Sankar, Sricharan R).

    - Fix assorted issues and make assorted minor improvements in the
    cpufreq code (Colin Ian King, Douglas RAILLARD, Florian Fainelli,
    Gustavo Silva, Hariprasad Kelam).

    - Add new devfreq driver for NVidia Tegra20 (Dmitry Osipenko, Arnd
    Bergmann).

    - Add new Exynos PPMU events to devfreq events and extend that
    mechanism (Lukasz Luba).

    - Fix and clean up the exynos-bus devfreq driver (Kamil Konieczny).

    - Improve devfreq documentation and governor code, fix spelling typos
    in devfreq (Ezequiel Garcia, Krzysztof Kozlowski, Leonard Crestez,
    MyungJoo Ham, Gaël PORTAY).

    - Add regulators enable and disable to the OPP (operating performance
    points) framework (Kamil Konieczny).

    - Update the OPP framework to support multiple opp-suspend properties
    (Anson Huang).

    - Fix assorted issues and make assorted minor improvements in the OPP
    code (Niklas Cassel, Viresh Kumar, Yue Hu).

    - Clean up the generic power domains (genpd) framework (Ulf Hansson).

    - Clean up assorted pieces of power management code and documentation
    (Akinobu Mita, Amit Kucheria, Chuhong Yuan).

    - Update the pm-graph tool to version 5.5 including multiple fixes
    and improvements (Todd Brandt).

    - Update the cpupower utility (Benjamin Weis, Geert Uytterhoeven,
    Sébastien Szymanski)"

    * tag 'pm-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (126 commits)
    cpuidle-haltpoll: Enable kvm guest polling when dedicated physical CPUs are available
    cpuidle-haltpoll: do not set an owner to allow modunload
    cpuidle-haltpoll: return -ENODEV on modinit failure
    cpuidle-haltpoll: set haltpoll as preferred governor
    cpuidle: allow governor switch on cpuidle_register_driver()
    PM: runtime: Documentation: add runtime_status ABI document
    pm-graph: make setVal unbuffered again for python2 and python3
    powercap: idle_inject: Use higher resolution for idle injection
    cpuidle: play_idle: Increase the resolution to usec
    cpuidle-haltpoll: vcpu hotplug support
    cpufreq: Add qcs404 to cpufreq-dt-platdev blacklist
    cpufreq: qcom: Add support for qcs404 on nvmem driver
    cpufreq: qcom: Refactor the driver to make it easier to extend
    cpufreq: qcom: Re-organise kryo cpufreq to use it for other nvmem based qcom socs
    dt-bindings: opp: Add qcom-opp bindings with properties needed for CPR
    dt-bindings: opp: qcom-nvmem: Support pstates provided by a power domain
    Documentation: cpufreq: Update policy notifier documentation
    cpufreq: Remove CPUFREQ_ADJUST and CPUFREQ_NOTIFY policy notifier events
    PM / Domains: Verify PM domain type in dev_pm_genpd_set_performance_state()
    PM / Domains: Simplify genpd_lookup_dev()
    ...

    Linus Torvalds
     
  • Pull dmaengine updates from Vinod Koul:

    - Move Dmaengine DT bindings to YAML and convert Allwinner to schema.

    - FSL dma device_synchronize implementation

    - DW split acpi and of helpers and updates to driver and support for
    Elkhart Lake

    - Move filter fn as private for omap-dma and edma drivers and
    improvements to these drivers

    - Mark expected switch fall-through in couple of drivers

    - Renames of shdma and nbpfaxi binding document

    - Minor updates to bunch of drivers

    * tag 'dmaengine-5.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (55 commits)
    dmaengine: ti: edma: Use bitmap_set() instead of open coded edma_set_bits()
    dmaengine: ti: edma: Only reset region0 access registers
    dmaengine: ti: edma: Do not reset reserved paRAM slots
    dmaengine: iop-adma.c: fix printk format warning
    dmaengine: stm32-dma: Use struct_size() helper
    dt-bindings: dmaengine: dma-common: Fix the dma-channel-mask property
    dmanegine: ioat/dca: Use struct_size() helper
    dmaengine: iop-adma: remove set but not used variable 'slots_per_op'
    dmaengine: dmatest: Add support for completion polling
    dmaengine: ti: omap-dma: Remove variable override in omap_dma_tx_status()
    dmaengine: ti: omap-dma: Remove 'Assignment in if condition'
    dmaengine: ti: edma: Remove 'Assignment in if condition'
    dmaengine: dw: platform: Split OF helpers to separate module
    dmaengine: dw: platform: Split ACPI helpers to separate module
    dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register()
    dmaengine: dw: platform: Switch to acpi_dma_controller_register()
    dmaengine: dw: platform: Use devm_platform_ioremap_resource()
    dmaengine: dw: platform: Enable iDMA 32-bit on Intel Elkhart Lake
    dmaengine: dw: platform: Use struct dw_dma_chip_pdata
    dmaengine: dw: Export struct dw_dma_chip_pdata for wider use
    ...

    Linus Torvalds
     
  • …anaszewski/linux-leds

    Pull LED updates from Jacek Anaszewski:
    "In this cycle we've finally managed to contribute the patch set
    sorting out LED naming issues. Besides that there are many changes
    scattered among various LED class drivers and triggers.

    LED naming related improvements:

    - add new 'function' and 'color' fwnode properties and deprecate
    'label' property which has been frequently abused for conveying
    vendor specific names that have been available in sysfs anyway

    - introduce a set of standard LED_FUNCTION* definitions

    - introduce a set of standard LED_COLOR_ID* definitions

    - add a new {devm_}led_classdev_register_ext() API with the
    capability of automatic LED name composition basing on the
    properties available in the passed fwnode; the function is
    backwards compatible in a sense that it uses 'label' data, if
    present in the fwnode, for creating LED name

    - add tools/leds/get_led_device_info.sh script for retrieving LED
    vendor, product and bus names, if applicable; it also performs
    basic validation of an LED name

    - update following drivers and their DT bindings to use the new LED
    registration API:

    - leds-an30259a, leds-gpio, leds-as3645a, leds-aat1290, leds-cr0014114,
    leds-lm3601x, leds-lm3692x, leds-lp8860, leds-lt3593, leds-sc27xx-blt

    Other LED class improvements:

    - replace {devm_}led_classdev_register() macros with inlines

    - allow to call led_classdev_unregister() unconditionally

    - switch to use fwnode instead of be stuck with OF one

    LED triggers improvements:

    - led-triggers:
    - fix dereferencing of null pointer
    - fix a memory leak bug

    - ledtrig-gpio:
    - GPIO 0 is valid

    Drop superseeded apu2/3 support from leds-apu since for apu2+ a newer,
    more complete driver exists, based on a generic driver for the AMD
    SOCs gpio-controller, supporting LEDs as well other devices:

    - drop profile field from priv data

    - drop iosize field from priv data

    - drop enum_apu_led_platform_types

    - drop superseeded apu2/3 led support

    - add pr_fmt prefix for better log output

    - fix error message on probing failure

    Other misc fixes and improvements to existing LED class drivers:

    - leds-ns2, leds-max77650:
    - add of_node_put() before return

    - leds-pwm, leds-is31fl32xx:
    - use struct_size() helper

    - leds-lm3697, leds-lm36274, leds-lm3532:
    - switch to use fwnode_property_count_uXX()

    - leds-lm3532:
    - fix brightness control for i2c mode
    - change the define for the fs current register
    - fixes for the driver for stability
    - add full scale current configuration
    - dt: Add property for full scale current.
    - avoid potentially unpaired regulator calls
    - move static keyword to the front of declarations
    - fix optional led-max-microamp prop error handling

    - leds-max77650:
    - add of_node_put() before return
    - add MODULE_ALIAS()
    - Switch to fwnode property API

    - leds-as3645a:
    - fix misuse of strlcpy

    - leds-netxbig:
    - add of_node_put() in netxbig_leds_get_of_pdata()
    - remove legacy board-file support

    - leds-is31fl319x:
    - simplify getting the adapter of a client

    - leds-ti-lmu-common:
    - fix coccinelle issue
    - move static keyword to the front of declaration

    - leds-syscon:
    - use resource managed variant of device register

    - leds-ktd2692:
    - fix a typo in the name of a constant

    - leds-lp5562:
    - allow firmware files up to the maximum length

    - leds-an30259a:
    - fix typo

    - leds-pca953x:
    - include the right header"

    * tag 'leds-for-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (72 commits)
    leds: lm3532: Fix optional led-max-microamp prop error handling
    led: triggers: Fix dereferencing of null pointer
    leds: ti-lmu-common: Move static keyword to the front of declaration
    leds: lm3532: Move static keyword to the front of declarations
    leds: trigger: gpio: GPIO 0 is valid
    leds: pwm: Use struct_size() helper
    leds: is31fl32xx: Use struct_size() helper
    leds: ti-lmu-common: Fix coccinelle issue in TI LMU
    leds: lm3532: Avoid potentially unpaired regulator calls
    leds: syscon: Use resource managed variant of device register
    leds: Replace {devm_}led_classdev_register() macros with inlines
    leds: Allow to call led_classdev_unregister() unconditionally
    leds: lm3532: Add full scale current configuration
    dt: lm3532: Add property for full scale current.
    leds: lm3532: Fixes for the driver for stability
    leds: lm3532: Change the define for the fs current register
    leds: lm3532: Fix brightness control for i2c mode
    leds: Switch to use fwnode instead of be stuck with OF one
    leds: max77650: Switch to fwnode property API
    led: triggers: Fix a memory leak bug
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:

    - a new sensor driver for ov5675

    - a new platform driver for Allwinner A10 sensor interface

    - some new remote controller keymaps

    - some cosmetic changes at V4L2 core in order to avoid #ifdefs and to
    merge two core modules into one

    - removal of bcm2048 radio driver from staging

    - removal of davinci_vpfe video driver from staging

    - regression fix since Kernel 5.1 at the legacy VideoBuffer version 1
    core

    - added some documentation for remote controller protocols

    - pixel format documentation was split on two files

    - lots of other driver improvements and cleanups

    * tag 'media/v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (321 commits)
    media: videobuf-core.c: poll_wait needs a non-NULL buf pointer
    media: sun4i: Make sun4i_csi_formats static
    media: imx: remove unused including
    media: stm32-dcmi: Delete an unnecessary of_node_put() call in dcmi_probe()
    media: pvrusb2: qctrl.flag will be uninitlaized if cx2341x_ctrl_query() returns error code
    media: em28xx: Fix exception handling in em28xx_alloc_urbs()
    media: don't do a 31 bit shift on a signed int
    media: use the BIT() macro
    media: ov9650: add a sanity check
    media: aspeed-video: address a protential usage of an unitialized var
    media: vicodec: make life easier for static analyzers
    media: remove include stdarg.h from some drivers
    v4l2-core: fix coding style for the two new c files
    media: v4l2-core: Remove BUG() from i2c and spi helpers
    media: v4l2-core: introduce a helper to unregister a i2c subdev
    media: v4l2-core: introduce a helper to unregister a spi subdev
    media: v4l2-core: move i2c helpers out of v4l2-common.c
    media: v4l2-core: move spi helpers out of v4l2-common.c
    media: v4l2-core: Module re-organization
    media: usbvision: Remove dead code
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "As shown in diffstat and logs, it was again a busy development cycle
    at this time, too. The most significant changes are still on-going
    refactoring / modernization works for ASoC core and drivers, but there
    are lots of other changes as well. Here we go, some highlights below:

    ASoC:

    - Quite a lot of cleanup / refactoring of ASoC core and APIs; most of
    them are systematic, but also including cleanups and modernization

    - A bulk of updates for some ASoC platforms, Freescale, sunxi and
    Intel SST/SOF

    - Initial support for Sound Open Firmware on i.MX8

    - Removal of deprecated w90x900 and nuc900 drivers

    - New support for Cirrus Logic CS47L15 and CS47L92, Freescale i.MX
    7ULP and 8MQ, Meson G12A and NXP UDA1334

    USB-audio:

    - More validations of descriptor units for hardening against bugs
    reported by fuzzers

    - PCM device assignment workaround for a past call-order change

    - Scarlett Gen2 mixer interface, a few more more quirks

    HD-audio:

    - Support for audio component with AMD/ATI and Nvidia HDMI codecs

    - Clean up HD-audio core and remove indirect access ops for Intel SOF

    - DMIC detection at probe; it would make systems automatically
    falling back to SST/SOF driver on devices that need DMIC handling.
    Needs a new Kconfig to set, and beware that it's still new and a
    bit experimental

    FireWire:

    - Lots of code refactoring and cleanups"

    * tag 'sound-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (521 commits)
    ASoC: sdm845: remove unneeded semicolon
    ASoC: fsl_sai: Implement set_bclk_ratio
    ASoC: dmaengine: Replace strncpy() with strscpy_pad() for pcm->name
    ASoC: wcd9335: remove redundant use of ret variable
    ALSA: firewire-tascam: check intermediate state of clock status and retry
    ALSA: firewire-tascam: handle error code when getting current source of clock
    ASoC: hdmi-codec: Add an op to set callback function for plug event
    ASoC: rt5677: keep analog power register at SND_SOC_BIAS_OFF
    ASoC: rt5677: Remove magic number register writes
    ASoC: soc-core: self contained soc_unbind_aux_dev()
    ASoC: soc-core: add soc_unbind_aux_dev()
    ASoC: soc-core: self contained soc_bind_aux_dev()
    ASoC: soc-core: move soc_probe_link_dais() next to soc_remove_link_dais()
    ASoC: soc-core: self contained soc_probe_link_dais()
    ASoC: soc-core: add new soc_link_init()
    ASoC: soc-core: move soc_probe_dai() next to soc_remove_dai()
    ASoC: soc-core: self contained soc_remove_link_dais()
    ASoC: soc-core: self contained soc_remove_link_components()
    ASoC: soc-core: self contained soc_probe_link_components()
    ASoC: rt1308: make array pd static const, makes object smaller
    ...

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Fixup processing of SDIO IRQs during system suspend/resume
    - Add helper function to indicate if SDIO IRQs is enabled

    MMC host:
    - bcm2835: Take SWIOTLB memory size limitation into account
    - dw_mmc: Improve SDIO IRQs support
    - mtk-sd: Various improvements
    - mtk-sd: Improve SDIO IRQs support
    - sdhci-iproc: Add support for emmc2 of the BCM2711
    - sdhci-of-arasan: Add Support for Intel LGM eMMC
    - sdhci-of-aspeed: Add support for the ASPEED SD controller
    - sdhci-of-esdhc: Deal with erratum A011334 support in ls1028a 1.0 SoC
    - sdhci-pci: Prepare to add support of Genesys Logic GL975x
    - sdhci-pci: Add another Id for Intel CML
    - sdhci-pci-o2micro: Fix O2 Host data read/write DLL Lock phase shift issue
    - sunxi: Add support for H5 compatibles"

    * tag 'mmc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (59 commits)
    ms_block: fix spelling mistake "randomally" -> "randomly"
    mmc: dw_mmc: hi3798cv200: make array degrees static const, makes object smaller
    mmc: sdhci: Convert to use sdio_irq_claimed()
    mmc: sdhci: Drop redundant code for SDIO IRQs
    mmc: sdhci: Drop redundant check in sdhci_ack_sdio_irq()
    mmc: core: Fixup processing of SDIO IRQs during system suspend/resume
    mmc: core: WARN if SDIO IRQs are enabled for non-powered card in suspend
    mmc: core: Clarify that the ->ack_sdio_irq() callback is mandatory
    mmc: core: Clarify sdio_irq_pending flag for MMC_CAP2_SDIO_IRQ_NOTHREAD
    mmc: core: Move code to get pending SDIO IRQs to a function
    mmc: mtk-sd: Re-store SDIO IRQs mask at system resume
    mmc: dw_mmc: Re-store SDIO IRQs mask at system resume
    mmc: core: Add helper function to indicate if SDIO IRQs is enabled
    mmc: sdhci-pci-o2micro: Fix O2 Host data read/write DLL Lock phase shift issue
    mmc: sdhci-pci-o2micro: Move functions in preparation to fix DLL lock phase shift issue
    mmc: sdhci-pci-o2micro: Change O2 Host PLL and DLL register name
    mmc: sdhci: Fix incorrect switch to HS mode
    mmc: sdhci-of-aspeed: Depend on CONFIG_OF_ADDRESS
    mmc: sdhci-of-aspeed: Allow max-frequency limitation of SDCLK
    mmc: sdhci-of-aspeed: Uphold clocks-on post-condition of set_clock()
    ...

    Linus Torvalds
     
  • Pull block updates from Jens Axboe:

    - Two NVMe pull requests:
    - ana log parse fix from Anton
    - nvme quirks support for Apple devices from Ben
    - fix missing bio completion tracing for multipath stack devices
    from Hannes and Mikhail
    - IP TOS settings for nvme rdma and tcp transports from Israel
    - rq_dma_dir cleanups from Israel
    - tracing for Get LBA Status command from Minwoo
    - Some nvme-tcp cleanups from Minwoo, Potnuri and Myself
    - Some consolidation between the fabrics transports for handling
    the CAP register
    - reset race with ns scanning fix for fabrics (move fabrics
    commands to a dedicated request queue with a different lifetime
    from the admin request queue)."
    - controller reset and namespace scan races fixes
    - nvme discovery log change uevent support
    - naming improvements from Keith
    - multiple discovery controllers reject fix from James
    - some regular cleanups from various people

    - Series fixing (and re-fixing) null_blk debug printing and nr_devices
    checks (André)

    - A few pull requests from Song, with fixes from Andy, Guoqing,
    Guilherme, Neil, Nigel, and Yufen.

    - REQ_OP_ZONE_RESET_ALL support (Chaitanya)

    - Bio merge handling unification (Christoph)

    - Pick default elevator correctly for devices with special needs
    (Damien)

    - Block stats fixes (Hou)

    - Timeout and support devices nbd fixes (Mike)

    - Series fixing races around elevator switching and device add/remove
    (Ming)

    - sed-opal cleanups (Revanth)

    - Per device weight support for BFQ (Fam)

    - Support for blk-iocost, a new model that can properly account cost of
    IO workloads. (Tejun)

    - blk-cgroup writeback fixes (Tejun)

    - paride queue init fixes (zhengbin)

    - blk_set_runtime_active() cleanup (Stanley)

    - Block segment mapping optimizations (Bart)

    - lightnvm fixes (Hans/Minwoo/YueHaibing)

    - Various little fixes and cleanups

    * tag 'for-5.4/block-2019-09-16' of git://git.kernel.dk/linux-block: (186 commits)
    null_blk: format pr_* logs with pr_fmt
    null_blk: match the type of parameter nr_devices
    null_blk: do not fail the module load with zero devices
    block: also check RQF_STATS in blk_mq_need_time_stamp()
    block: make rq sector size accessible for block stats
    bfq: Fix bfq linkage error
    raid5: use bio_end_sector in r5_next_bio
    raid5: remove STRIPE_OPS_REQ_PENDING
    md: add feature flag MD_FEATURE_RAID0_LAYOUT
    md/raid0: avoid RAID0 data corruption due to layout confusion.
    raid5: don't set STRIPE_HANDLE to stripe which is in batch list
    raid5: don't increment read_errors on EILSEQ return
    nvmet: fix a wrong error status returned in error log page
    nvme: send discovery log page change events to userspace
    nvme: add uevent variables for controller devices
    nvme: enable aen regardless of the presence of I/O queues
    nvme-fabrics: allow discovery subsystems accept a kato
    nvmet: Use PTR_ERR_OR_ZERO() in nvmet_init_discovery()
    nvme: Remove redundant assignment of cq vector
    nvme: Assign subsys instance from first ctrl
    ...

    Linus Torvalds
     
  • Pull libata updates from Jens Axboe:

    - Kill unused export (Andy)

    - Use dma_set_mask_and_coherent() throughout (Christoph)

    - Drop PCS quirk on Denverton, which has different register layout
    (Dan)

    - Support non-boot time detection for pata_buddha (Max)

    * tag 'for-5.4/libata-2019-09-15' of git://git.kernel.dk/linux-block:
    libata/ahci: Drop PCS quirk for Denverton and beyond
    ahci: Do not export local variable ahci_em_messages
    libata: switch remaining drivers to use dma_set_mask_and_coherent
    sata_sil24: use dma_set_mask_and_coherent
    sata_qstor: use dma_set_mask_and_coherent
    sata_nv: use dma_set_mask_and_coherent
    sata_mv: use dma_set_mask_and_coherent
    pdc_adma: use dma_set_mask_and_coherent
    ahci: use dma_set_mask_and_coherent
    acard_ahci: use dma_set_mask_and_coherent
    ata/pata_buddha: Probe via modalias instead of initcall

    Linus Torvalds
     
  • Pull io_uring updates from Jens Axboe:

    - Allocate SQ/CQ ring together, more efficient. Expose this through a
    feature flag as well, so we can reduce the number of mmaps by 1
    (Hristo and me)

    - Fix for sequence logic with SQ thread (Jackie).

    - Add support for links with drain commands (Jackie).

    - Improved async merging (me)

    - Improved buffered async write performance (me)

    - Support SQ poll wakeup + event get in single io_uring_enter() (me)

    - Support larger SQ ring size. For epoll conversions, the 4k limit was
    too small for some prod workloads (Daniel).

    - put_user_page() usage (John)

    * tag 'for-5.4/io_uring-2019-09-15' of git://git.kernel.dk/linux-block:
    io_uring: increase IORING_MAX_ENTRIES to 32K
    io_uring: make sqpoll wakeup possible with getevents
    io_uring: extend async work merging
    io_uring: limit parallelism of buffered writes
    io_uring: add io_queue_async_work() helper
    io_uring: optimize submit_and_wait API
    io_uring: add support for link with drain
    io_uring: fix wrong sequence setting logic
    io_uring: expose single mmap capability
    io_uring: allocate the two rings together
    fs/io_uring.c: convert put_page() to put_user_page*()

    Linus Torvalds