1. 26 Oct, 2018 9 commits
    • David Howells's avatar
      KEYS: Make the X.509 and PKCS7 parsers supply the sig encoding type [ver #2] · 03988490
      David Howells authored
      Make the X.509 and PKCS7 parsers fill in the signature encoding type field
      recently added to the public_key_signature struct.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Tested-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: default avatarDenis Kenzior <denkenz@gmail.com>
      Tested-by: default avatarDenis Kenzior <denkenz@gmail.com>
      Signed-off-by: default avatarJames Morris <james.morris@microsoft.com>
      03988490
    • David Howells's avatar
      KEYS: Provide missing asymmetric key subops for new key type ops [ver #2] · 5a307718
      David Howells authored
      Provide the missing asymmetric key subops for new key type ops.  This
      include query, encrypt, decrypt and create signature.  Verify signature
      already exists.  Also provided are accessor functions for this:
      
      	int query_asymmetric_key(const struct key *key,
      				 struct kernel_pkey_query *info);
      
      	int encrypt_blob(struct kernel_pkey_params *params,
      			 const void *data, void *enc);
      	int decrypt_blob(struct kernel_pkey_params *params,
      			 const void *enc, void *data);
      	int create_signature(struct kernel_pkey_params *params,
      			     const void *data, void *enc);
      
      The public_key_signature struct gains an encoding field to carry the
      encoding for verify_signature().
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Tested-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: default avatarDenis Kenzior <denkenz@gmail.com>
      Tested-by: default avatarDenis Kenzior <denkenz@gmail.com>
      Signed-off-by: default avatarJames Morris <james.morris@microsoft.com>
      5a307718
    • David Howells's avatar
      KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2] · 00d60fd3
      David Howells authored
      Provide five keyctl functions that permit userspace to make use of the new
      key type ops for accessing and driving asymmetric keys.
      
       (*) Query an asymmetric key.
      
      	long keyctl(KEYCTL_PKEY_QUERY,
      		    key_serial_t key, unsigned long reserved,
      		    struct keyctl_pkey_query *info);
      
           Get information about an asymmetric key.  The information is returned
           in the keyctl_pkey_query struct:
      
      	__u32	supported_ops;
      
           A bit mask of flags indicating which ops are supported.  This is
           constructed from a bitwise-OR of:
      
      	KEYCTL_SUPPORTS_{ENCRYPT,DECRYPT,SIGN,VERIFY}
      
      	__u32	key_size;
      
           The size in bits of the key.
      
      	__u16	max_data_size;
      	__u16	max_sig_size;
      	__u16	max_enc_size;
      	__u16	max_dec_size;
      
           The maximum sizes in bytes of a blob of data to be signed, a signature
           blob, a blob to be encrypted and a blob to be decrypted.
      
           reserved must be set to 0.  This is intended for future use to hand
           over one or more passphrases needed unlock a key.
      
           If successful, 0 is returned.  If the key is not an asymmetric key,
           EOPNOTSUPP is returned.
      
       (*) Encrypt, decrypt, sign or verify a blob using an asymmetric key.
      
      	long keyctl(KEYCTL_PKEY_ENCRYPT,
      		    const struct keyctl_pkey_params *params,
      		    const char *info,
      		    const void *in,
      		    void *out);
      
      	long keyctl(KEYCTL_PKEY_DECRYPT,
      		    const struct keyctl_pkey_params *params,
      		    const char *info,
      		    const void *in,
      		    void *out);
      
      	long keyctl(KEYCTL_PKEY_SIGN,
      		    const struct keyctl_pkey_params *params,
      		    const char *info,
      		    const void *in,
      		    void *out);
      
      	long keyctl(KEYCTL_PKEY_VERIFY,
      		    const struct keyctl_pkey_params *params,
      		    const char *info,
      		    const void *in,
      		    const void *in2);
      
           Use an asymmetric key to perform a public-key cryptographic operation
           a blob of data.
      
           The parameter block pointed to by params contains a number of integer
           values:
      
      	__s32		key_id;
      	__u32		in_len;
      	__u32		out_len;
      	__u32		in2_len;
      
           For a given operation, the in and out buffers are used as follows:
      
      	Operation ID		in,in_len	out,out_len	in2,in2_len
      	=======================	===============	===============	===========
      	KEYCTL_PKEY_ENCRYPT	Raw data	Encrypted data	-
      	KEYCTL_PKEY_DECRYPT	Encrypted data	Raw data	-
      	KEYCTL_PKEY_SIGN	Raw data	Signature	-
      	KEYCTL_PKEY_VERIFY	Raw data	-		Signature
      
           info is a string of key=value pairs that supply supplementary
           information.
      
           The __spare space in the parameter block must be set to 0.  This is
           intended, amongst other things, to allow the passing of passphrases
           required to unlock a key.
      
           If successful, encrypt, decrypt and sign all return the amount of data
           written into the output buffer.  Verification returns 0 on success.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Tested-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: default avatarDenis Kenzior <denkenz@gmail.com>
      Tested-by: default avatarDenis Kenzior <denkenz@gmail.com>
      Signed-off-by: default avatarJames Morris <james.morris@microsoft.com>
      00d60fd3
    • David Howells's avatar
      KEYS: Provide key type operations for asymmetric key ops [ver #2] · 70025f84
      David Howells authored
      Provide five new operations in the key_type struct that can be used to
      provide access to asymmetric key operations.  These will be implemented for
      the asymmetric key type in a later patch and may refer to a key retained in
      RAM by the kernel or a key retained in crypto hardware.
      
           int (*asym_query)(const struct kernel_pkey_params *params,
      		       struct kernel_pkey_query *info);
           int (*asym_eds_op)(struct kernel_pkey_params *params,
      			const void *in, void *out);
           int (*asym_verify_signature)(struct kernel_pkey_params *params,
      			          const void *in, const void *in2);
      
      Since encrypt, decrypt and sign are identical in their interfaces, they're
      rolled together in the asym_eds_op() operation and there's an operation ID
      in the params argument to distinguish them.
      
      Verify is different in that we supply the data and the signature instead
      and get an error value (or 0) as the only result on the expectation that
      this may well be how a hardware crypto device may work.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Tested-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: default avatarDenis Kenzior <denkenz@gmail.com>
      Tested-by: default avatarDenis Kenzior <denkenz@gmail.com>
      Signed-off-by: default avatarJames Morris <james.morris@microsoft.com>
      70025f84
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · e5f6d9af
      Linus Torvalds authored
      Pull sparc fix from David Miller:
       "Build regression fix"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: Fix VDSO build with older binutils.
      e5f6d9af
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-4.20-mw0' of... · c300af28
      Linus Torvalds authored
      Merge tag 'riscv-for-linus-4.20-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
      
      Pull RISC-V updates from Palmer Dabbelt:
       "This patch set contains a lot (at least, for me) of improvements to
        the RISC-V kernel port:
      
         - The removal of some cacheinfo values that were bogus.
      
         - On systems with F but without D the kernel will not show the F
           extension to userspace, as it isn't actually supported.
      
         - Support for futexes.
      
         - Removal of some unused code.
      
         - Cleanup of some menuconfig entries.
      
         - Support for systems without a floating-point unit, and for building
           kernels that will never use the floating-point unit.
      
         - More fixes to the RV32I port, which regressed again. It's really
           time to get this into a regression test somewhere so I stop
           breaking it. Thanks to Zong for resurrecting it again!
      
         - Various fixes that resulted from a year old review of our original
           patch set that I finally got around to.
      
         - Various improvements to SMP support, largely based around having
           switched to logical hart numbering, as well as some interrupt
           improvements. This one is in the same patch set as above, thanks to
           Atish for sheparding everything though as my patch set was a bit of
           a mess.
      
        I'm pretty sure this is our largest patch set since the original
        kernel contribution, and it's certainly the one with the most
        contributors. While I don't have anything else I know I'm going to
        submit for the merge window, I would be somewhat surprised if I didn't
        screw anything up.
      
        Thanks for the help, everyone!"
      
      * tag 'riscv-for-linus-4.20-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux: (31 commits)
        RISC-V: Cosmetic menuconfig changes
        riscv: move GCC version check for ARCH_SUPPORTS_INT128 to Kconfig
        RISC-V: remove the unused return_to_handler export
        RISC-V: Add futex support.
        RISC-V: Add FP register ptrace support for gdb.
        RISC-V: Mask out the F extension on systems without D
        RISC-V: Don't set cacheinfo.{physical_line_partition,attributes}
        RISC-V: Show IPI stats
        RISC-V: Show CPU ID and Hart ID separately in /proc/cpuinfo
        RISC-V: Use Linux logical CPU number instead of hartid
        RISC-V: Add logical CPU indexing for RISC-V
        RISC-V: Use WRITE_ONCE instead of direct access
        RISC-V: Use mmgrab()
        RISC-V: Rename im_okay_therefore_i_am to found_boot_cpu
        RISC-V: Rename riscv_of_processor_hart to riscv_of_processor_hartid
        RISC-V: Provide a cleaner raw_smp_processor_id()
        RISC-V: Disable preemption before enabling interrupts
        RISC-V: Comment on the TLB flush in smp_callin()
        RISC-V: Filter ISA and MMU values in cpuinfo
        RISC-V: Don't set cacheinfo.{physical_line_partition,attributes}
        ...
      c300af28
    • Linus Torvalds's avatar
      Merge tag 'kvm-4.20-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 0d1e8b8d
      Linus Torvalds authored
      Pull KVM updates from Radim Krčmář:
       "ARM:
         - Improved guest IPA space support (32 to 52 bits)
      
         - RAS event delivery for 32bit
      
         - PMU fixes
      
         - Guest entry hardening
      
         - Various cleanups
      
         - Port of dirty_log_test selftest
      
        PPC:
         - Nested HV KVM support for radix guests on POWER9. The performance
           is much better than with PR KVM. Migration and arbitrary level of
           nesting is supported.
      
         - Disable nested HV-KVM on early POWER9 chips that need a particular
           hardware bug workaround
      
         - One VM per core mode to prevent potential data leaks
      
         - PCI pass-through optimization
      
         - merge ppc-kvm topic branch and kvm-ppc-fixes to get a better base
      
        s390:
         - Initial version of AP crypto virtualization via vfio-mdev
      
         - Improvement for vfio-ap
      
         - Set the host program identifier
      
         - Optimize page table locking
      
        x86:
         - Enable nested virtualization by default
      
         - Implement Hyper-V IPI hypercalls
      
         - Improve #PF and #DB handling
      
         - Allow guests to use Enlightened VMCS
      
         - Add migration selftests for VMCS and Enlightened VMCS
      
         - Allow coalesced PIO accesses
      
         - Add an option to perform nested VMCS host state consistency check
           through hardware
      
         - Automatic tuning of lapic_timer_advance_ns
      
         - Many fixes, minor improvements, and cleanups"
      
      * tag 'kvm-4.20-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (204 commits)
        KVM/nVMX: Do not validate that posted_intr_desc_addr is page aligned
        Revert "kvm: x86: optimize dr6 restore"
        KVM: PPC: Optimize clearing TCEs for sparse tables
        x86/kvm/nVMX: tweak shadow fields
        selftests/kvm: add missing executables to .gitignore
        KVM: arm64: Safety check PSTATE when entering guest and handle IL
        KVM: PPC: Book3S HV: Don't use streamlined entry path on early POWER9 chips
        arm/arm64: KVM: Enable 32 bits kvm vcpu events support
        arm/arm64: KVM: Rename function kvm_arch_dev_ioctl_check_extension()
        KVM: arm64: Fix caching of host MDCR_EL2 value
        KVM: VMX: enable nested virtualization by default
        KVM/x86: Use 32bit xor to clear registers in svm.c
        kvm: x86: Introduce KVM_CAP_EXCEPTION_PAYLOAD
        kvm: vmx: Defer setting of DR6 until #DB delivery
        kvm: x86: Defer setting of CR2 until #PF delivery
        kvm: x86: Add payload operands to kvm_multiple_exception
        kvm: x86: Add exception payload fields to kvm_vcpu_events
        kvm: x86: Add has_payload and payload to kvm_queued_exception
        KVM: Documentation: Fix omission in struct kvm_vcpu_events
        KVM: selftests: add Enlightened VMCS test
        ...
      0d1e8b8d
    • Linus Torvalds's avatar
      Merge branch 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 83c4087c
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "All trivial changes - simplification, typo fix and adding
        cond_resched() in a netclassid update loop"
      
      * 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup, netclassid: add a preemption point to write_classid
        rdmacg: fix a typo in rdmacg documentation
        cgroup: Simplify cgroup_ancestor
      83c4087c
    • Linus Torvalds's avatar
      Merge tag 'printk-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · a67eefad
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Fix two more locations where printf formatting leaked pointers
      
       - Better log_buf_len parameter handling
      
       - Add prefix to messages from printk code
      
       - Do not miss messages on other consoles when the log is replayed on a
         new one
      
       - Reduce race between console registration and panic() when the log
         might get replayed on all consoles
      
       - Some cont buffer code clean up
      
       - Call console only when there is something to do (log vs cont buffer)
      
      * tag 'printk-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        lib/vsprintf: Hash printed address for netdev bits fallback
        lib/vsprintf: Hash legacy clock addresses
        lib/vsprintf: Prepare for more general use of ptr_to_id()
        lib/vsprintf: Make ptr argument conts in ptr_to_id()
        printk: fix integer overflow in setup_log_buf()
        printk: do not preliminary split up cont buffer
        printk: lock/unlock console only for new logbuf entries
        printk: keep kernel cont support always enabled
        printk: Give error on attempt to set log buffer length to over 2G
        printk: Add KBUILD_MODNAME and remove a redundant print prefix
        printk: Correct wrong casting
        printk: Fix panic caused by passing log_buf_len to command line
        printk: CON_PRINTBUFFER console registration is a bit racy
        printk: Do not miss new messages when replaying the log
      a67eefad
  2. 25 Oct, 2018 21 commits
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 62606c22
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Remove VLA usage
         - Add cryptostat user-space interface
         - Add notifier for new crypto algorithms
      
        Algorithms:
         - Add OFB mode
         - Remove speck
      
        Drivers:
         - Remove x86/sha*-mb as they are buggy
         - Remove pcbc(aes) from x86/aesni
         - Improve performance of arm/ghash-ce by up to 85%
         - Implement CTS-CBC in arm64/aes-blk, faster by up to 50%
         - Remove PMULL based arm64/crc32 driver
         - Use PMULL in arm64/crct10dif
         - Add aes-ctr support in s5p-sss
         - Add caam/qi2 driver
      
        Others:
         - Pick better transform if one becomes available in crc-t10dif"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (124 commits)
        crypto: chelsio - Update ntx queue received from cxgb4
        crypto: ccree - avoid implicit enum conversion
        crypto: caam - add SPDX license identifier to all files
        crypto: caam/qi - simplify CGR allocation, freeing
        crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static
        crypto: arm64/aes-blk - ensure XTS mask is always loaded
        crypto: testmgr - fix sizeof() on COMP_BUF_SIZE
        crypto: chtls - remove set but not used variable 'csk'
        crypto: axis - fix platform_no_drv_owner.cocci warnings
        crypto: x86/aes-ni - fix build error following fpu template removal
        crypto: arm64/aes - fix handling sub-block CTS-CBC inputs
        crypto: caam/qi2 - avoid double export
        crypto: mxs-dcp - Fix AES issues
        crypto: mxs-dcp - Fix SHA null hashes and output length
        crypto: mxs-dcp - Implement sha import/export
        crypto: aegis/generic - fix for big endian systems
        crypto: morus/generic - fix for big endian systems
        crypto: lrw - fix rebase error after out of bounds fix
        crypto: cavium/nitrox - use pci_alloc_irq_vectors() while enabling MSI-X.
        crypto: cavium/nitrox - NITROX command queue changes.
        ...
      62606c22
    • Linus Torvalds's avatar
      Merge branch 'next-loadpin' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 24ed334f
      Linus Torvalds authored
      Pull LoadPin updates from James Morris:
       "From Kees: This is a small reporting improvement and the param change
        needed for the ordering series (but since the loadpin change is
        desired and separable, I'm putting it here)"
      
      * 'next-loadpin' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        LoadPin: Rename boot param "enabled" to "enforce"
        LoadPin: Report friendly block device name
      24ed334f
    • Linus Torvalds's avatar
      Merge branch 'next-smack' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · e80bc229
      Linus Torvalds authored
      Pull smack updates from James Morris:
       "From Casey: three patches for Smack for 4.20. Two clean up warnings
        and one is a rarely encountered ptrace capability check"
      
      * 'next-smack' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        Smack: Mark expected switch fall-through
        Smack: ptrace capability use fixes
        Smack: remove set but not used variable 'root_inode'
      e80bc229
    • Linus Torvalds's avatar
      Merge branch 'next-tpm' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 52ff0779
      Linus Torvalds authored
      Pull TPM updates from James Morris:
       "From Jarkko: The only new feature is non-blocking operation for
        /dev/tpm0"
      
      * 'next-tpm' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        tpm: Restore functionality to xen vtpm driver.
        tpm: add support for nonblocking operation
        tpm: add ptr to the tpm_space struct to file_priv
        tpm: Make SECURITYFS a weak dependency
        tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated
        tpm: fix response size validation in tpm_get_random()
      52ff0779
    • Linus Torvalds's avatar
      Merge branch 'next-integrity' of... · 57ce66d3
      Linus Torvalds authored
      Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
      
      Pull integrity updates from James Morris:
       "From Mimi: This contains a couple of bug fixes, including one for a
        recent problem with calculating file hashes on overlayfs, and some
        code cleanup"
      
      * 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        MAINTAINERS: add Jarkko as maintainer for trusted keys
        ima: open a new file instance if no read permissions
        ima: fix showing large 'violations' or 'runtime_measurements_count'
        security/integrity: remove unnecessary 'init_keyring' variable
        security/integrity: constify some read-only data
        vfs: require i_size <= SIZE_MAX in kernel_read_file()
      57ce66d3
    • Linus Torvalds's avatar
      Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 4ba9628f
      Linus Torvalds authored
      Pull more ->lookup() cleanups from Al Viro:
       "Some ->lookup() instances are still overcomplicating the life
        for themselves, open-coding the stuff that would be handled by
        d_splice_alias() just fine.
      
        Simplify a couple of such cases caught this cycle and document
        d_splice_alias() intended use"
      
      * 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        Document d_splice_alias() calling conventions for ->lookup() users.
        simplify btrfs_lookup()
        clean erofs_lookup()
      4ba9628f
    • Linus Torvalds's avatar
      Merge branch 'work.alpha' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 06999fd5
      Linus Torvalds authored
      Pull alpha syscall glue updates from Al Viro:
       "Two old patches making alpha syscall glue a bit less mysterious"
      
      * 'work.alpha' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        alpha: unify the glue for sigreturn-like syscalls
        alpha: use alpha_ni_syscall only for syscall zero
      06999fd5
    • Linus Torvalds's avatar
      Merge branch 'work.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ba7d4f36
      Linus Torvalds authored
      Pull compat_ioctl fixes from Al Viro:
       "A bunch of compat_ioctl fixes, mostly in bluetooth.
      
        Hopefully, most of fs/compat_ioctl.c will get killed off over the next
        few cycles; between this, tty series already merged and Arnd's work
        this cycle ought to take a good chunk out of the damn thing..."
      
      * 'work.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        hidp: fix compat_ioctl
        hidp: constify hidp_connection_add()
        cmtp: fix compat_ioctl
        bnep: fix compat_ioctl
        compat_ioctl: trim the pointless includes
      ba7d4f36
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5947a64a
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The interrupt brigade came up with the following updates:
      
         - Driver for the Marvell System Error Interrupt machinery
      
         - Overhaul of the GIC-V3 ITS driver
      
         - Small updates and fixes all over the place"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
        genirq: Fix race on spurious interrupt detection
        softirq: Fix typo in __do_softirq() comments
        genirq: Fix grammar s/an /a /
        irqchip/gic: Unify GIC priority definitions
        irqchip/gic-v3: Remove acknowledge loop
        dt-bindings/interrupt-controller: Add documentation for Marvell SEI controller
        dt-bindings/interrupt-controller: Update Marvell ICU bindings
        irqchip/irq-mvebu-icu: Add support for System Error Interrupts (SEI)
        arm64: marvell: Enable SEI driver
        irqchip/irq-mvebu-sei: Add new driver for Marvell SEI
        irqchip/irq-mvebu-icu: Support ICU subnodes
        irqchip/irq-mvebu-icu: Disociate ICU and NSR
        irqchip/irq-mvebu-icu: Clarify the reset operation of configured interrupts
        irqchip/irq-mvebu-icu: Fix wrong private data retrieval
        dt-bindings/interrupt-controller: Fix Marvell ICU length in the example
        genirq/msi: Allow creation of a tree-based irqdomain for platform-msi
        dt-bindings: irqchip: renesas-irqc: Document r8a7744 support
        dt-bindings: irqchip: renesas-irqc: Document R-Car E3 support
        irqchip/pdc: Setup all edge interrupts as rising edge at GIC
        irqchip/gic-v3-its: Allow use of LPI tables in reserved memory
        ...
      5947a64a
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4dcb9239
      Linus Torvalds authored
      Pull timekeeping updates from Thomas Gleixner:
       "The timers and timekeeping departement provides:
      
         - Another large y2038 update with further preparations for providing
           the y2038 safe timespecs closer to the syscalls.
      
         - An overhaul of the SHCMT clocksource driver
      
         - SPDX license identifier updates
      
         - Small cleanups and fixes all over the place"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
        tick/sched : Remove redundant cpu_online() check
        clocksource/drivers/dw_apb: Add reset control
        clocksource: Remove obsolete CLOCKSOURCE_OF_DECLARE
        clocksource/drivers: Unify the names to timer-* format
        clocksource/drivers/sh_cmt: Add R-Car gen3 support
        dt-bindings: timer: renesas: cmt: document R-Car gen3 support
        clocksource/drivers/sh_cmt: Properly line-wrap sh_cmt_of_table[] initializer
        clocksource/drivers/sh_cmt: Fix clocksource width for 32-bit machines
        clocksource/drivers/sh_cmt: Fixup for 64-bit machines
        clocksource/drivers/sh_tmu: Convert to SPDX identifiers
        clocksource/drivers/sh_mtu2: Convert to SPDX identifiers
        clocksource/drivers/sh_cmt: Convert to SPDX identifiers
        clocksource/drivers/renesas-ostm: Convert to SPDX identifiers
        clocksource: Convert to using %pOFn instead of device_node.name
        tick/broadcast: Remove redundant check
        RISC-V: Request newstat syscalls
        y2038: signal: Change rt_sigtimedwait to use __kernel_timespec
        y2038: socket: Change recvmmsg to use __kernel_timespec
        y2038: sched: Change sched_rr_get_interval to use __kernel_timespec
        y2038: utimes: Rework #ifdef guards for compat syscalls
        ...
      4dcb9239
    • David S. Miller's avatar
      sparc: Fix VDSO build with older binutils. · caf539cd
      David S. Miller authored
      Older versions of bintutils do not allow symbol math across different
      segments on sparc:
      
      ====================
      Assembler messages:
      99: Error: operation combines symbols in different segments
      ====================
      
      This is controlled by whether or not DIFF_EXPR_OK is defined in
      gas/config/tc-*.h and for sparc this was not the case until mid-2017.
      
      So we have to patch between %stick and %tick another way.
      
      Do what powerpc does and emit two versions of the relevant functions,
      one using %tick and one using %stick, and patch the symbols in the
      dynamic symbol table.
      
      Fixes: 2f6c9bf3 ("sparc: Improve VDSO instruction patching.")
      Reported-by: default avatarMeelis Roos <mroos@linux.ee>
      Tested-by: default avatarMeelis Roos <mroos@linux.ee>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      caf539cd
    • Linus Torvalds's avatar
      Merge tag 'sound-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 3acbd2de
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "There have been little changes in ALSA core stuff, but ASoC core still
        kept rolling for the continued restructuring. The rest are lots of
        small driver-specific changes and some minor API updates. Here are
        highlights:
      
        General:
        - Appropriate fall-through annotations everywhere
        - Some code cleanup in memalloc code, handling non-cacahed pages more
          commonly in the helper
        - Deployment of SNDRV_PCM_INFO_SYNC_APPLPTR flag consistently
      
        Drivers:
        - More HD-audio CA0132 codec improvement for supporting other Creative
          boards
        - Plumbing legacy HD-audio codecs as ASoC BE on Intel SST; this will
          give move support of existing HD-audio devices with DSP
        - A few device-specific HD-audio quirks as usual
        - New quirk for RME CC devices and correction for B&W PX for USB-audio
        - FireWire: code refactoring including devres usages
      
        ASoC Core:
        - Continued componentization works; it's almost done!
        - A bunch of new for_each_foo macros
        - Cleanups and fixes in DAPM code
      
        ASoC Drivers:
        - MCLK support for several different devices, including CS42L51, STM32
          SAI, and MAX98373
        - Support for Allwinner A64 CODEC analog, Intel boards with DA7219 and
          MAX98927, Meson AXG PDM inputs, Nuvoton NAU8822, Renesas R8A7744 and
          TI PCM3060"
      
      * tag 'sound-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (299 commits)
        ASoC: stm32: sai: fix master clock naming
        ASoC: stm32: add clock dependency for sai
        ALSA: hda/ca0132 - Actually fix microphone issue
        ASoC: sun4i-i2s: move code from startup/shutdown hooks into pm_runtime hooks
        ASoC: wm2000: Remove wm2000_read helper function
        ASoC: cs42l51: fix mclk support
        ASoC: wm_adsp: Log addresses as 8 digits in wm_adsp_buffer_populate
        ASoC: wm_adsp: Rename memory fields in wm_adsp_buffer
        ASoC: cs42l51: add mclk support
        ASoC: stm32: sai: set sai as mclk clock provider
        ASoC: dt-bindings: add mclk support to cs42l51
        ASoC: dt-bindings: add mclk provider support to stm32 sai
        ASoC: soc-core: fix trivial checkpatch issues
        ASoC: dapm: Add support for hw_free on CODEC to CODEC links
        ASoC: Intel: kbl_da7219_max98927: minor white space clean up
        ALSA: i2c/cs8427: Fix int to char conversion
        ALSA: doc: Brush up the old writing-an-alsa-driver
        ASoC: rsnd: tidyup SSICR::SWSP for TDM
        ASoC: rsnd: enable TDM settings for SSI parent
        ASoC: pcm3168a: add hw constraint for capture channel
        ...
      3acbd2de
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · d49f8a52
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This is mostly updates of the usual drivers: UFS, esp_scsi, NCR5380,
        qla2xxx, lpfc, libsas, hisi_sas.
      
        In addition there's a set of mostly small updates to the target
        subsystem a set of conversions to the generic DMA API, which do have
        some potential for issues in the older drivers but we'll handle those
        as case by case fixes.
      
        A new myrs driver for the DAC960/mylex raid controllers to replace the
        block based DAC960 which is also being removed by Jens in this merge
        window.
      
        Plus the usual slew of trivial changes"
      
      [ "myrs" stands for "MYlex Raid Scsi". Obviously. Silly of me to even
        wonder. There's also a "myrb" driver, where the 'b' stands for
        'block'. Truly, somebody has got mad naming skillz. - Linus ]
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (237 commits)
        scsi: myrs: Fix the processor absent message in processor_show()
        scsi: myrs: Fix a logical vs bitwise bug
        scsi: hisi_sas: Fix NULL pointer dereference
        scsi: myrs: fix build failure on 32 bit
        scsi: fnic: replace gross legacy tag hack with blk-mq hack
        scsi: mesh: switch to generic DMA API
        scsi: ips: switch to generic DMA API
        scsi: smartpqi: fully convert to the generic DMA API
        scsi: vmw_pscsi: switch to generic DMA API
        scsi: snic: switch to generic DMA API
        scsi: qla4xxx: fully convert to the generic DMA API
        scsi: qla2xxx: fully convert to the generic DMA API
        scsi: qla1280: switch to generic DMA API
        scsi: qedi: fully convert to the generic DMA API
        scsi: qedf: fully convert to the generic DMA API
        scsi: pm8001: switch to generic DMA API
        scsi: nsp32: switch to generic DMA API
        scsi: mvsas: fully convert to the generic DMA API
        scsi: mvumi: switch to generic DMA API
        scsi: mpt3sas: switch to generic DMA API
        ...
      d49f8a52
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · bd6bf7c1
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
      
       - Fix ASPM link_state teardown on removal (Lukas Wunner)
      
       - Fix misleading _OSC ASPM message (Sinan Kaya)
      
       - Make _OSC optional for PCI (Sinan Kaya)
      
       - Don't initialize ASPM link state when ACPI_FADT_NO_ASPM is set
         (Patrick Talbert)
      
       - Remove x86 and arm64 node-local allocation for host bridge structures
         (Punit Agrawal)
      
       - Pay attention to device-specific _PXM node values (Jonathan Cameron)
      
       - Support new Immediate Readiness bit (Felipe Balbi)
      
       - Differentiate between pciehp surprise and safe removal (Lukas Wunner)
      
       - Remove unnecessary pciehp includes (Lukas Wunner)
      
       - Drop pciehp hotplug_slot_ops wrappers (Lukas Wunner)
      
       - Tolerate PCIe Slot Presence Detect being hardwired to zero to
         workaround broken hardware, e.g., the Wilocity switch/wireless device
         (Lukas Wunner)
      
       - Unify pciehp controller & slot structs (Lukas Wunner)
      
       - Constify hotplug_slot_ops (Lukas Wunner)
      
       - Drop hotplug_slot_info (Lukas Wunner)
      
       - Embed hotplug_slot struct into users instead of allocating it
         separately (Lukas Wunner)
      
       - Initialize PCIe port service drivers directly instead of relying on
         initcall ordering (Keith Busch)
      
       - Restore PCI config state after a slot reset (Keith Busch)
      
       - Save/restore DPC config state along with other PCI config state
         (Keith Busch)
      
       - Reference count devices during AER handling to avoid race issue with
         concurrent hot removal (Keith Busch)
      
       - If an Upstream Port reports ERR_FATAL, don't try to read the Port's
         config space because it is probably unreachable (Keith Busch)
      
       - During error handling, use slot-specific reset instead of secondary
         bus reset to avoid link up/down issues on hotplug ports (Keith Busch)
      
       - Restore previous AER/DPC handling that does not remove and
         re-enumerate devices on ERR_FATAL (Keith Busch)
      
       - Notify all drivers that may be affected by error recovery resets
         (Keith Busch)
      
       - Always generate error recovery uevents, even if a driver doesn't have
         error callbacks (Keith Busch)
      
       - Make PCIe link active reporting detection generic (Keith Busch)
      
       - Support D3cold in PCIe hierarchies during system sleep and runtime,
         including hotplug and Thunderbolt ports (Mika Westerberg)
      
       - Handle hpmemsize/hpiosize kernel parameters uniformly, whether slots
         are empty or occupied (Jon Derrick)
      
       - Remove duplicated include from pci/pcie/err.c and unused variable
         from cpqphp (YueHaibing)
      
       - Remove driver pci_cleanup_aer_uncorrect_error_status() calls (Oza
         Pawandeep)
      
       - Uninline PCI bus accessors for better ftracing (Keith Busch)
      
       - Remove unused AER Root Port .error_resume method (Keith Busch)
      
       - Use kfifo in AER instead of a local version (Keith Busch)
      
       - Use threaded IRQ in AER bottom half (Keith Busch)
      
       - Use managed resources in AER core (Keith Busch)
      
       - Reuse pcie_port_find_device() for AER injection (Keith Busch)
      
       - Abstract AER interrupt handling to disconnect error injection (Keith
         Busch)
      
       - Refactor AER injection callbacks to simplify future improvments
         (Keith Busch)
      
       - Remove unused Netronome NFP32xx Device IDs (Jakub Kicinski)
      
       - Use bitmap_zalloc() for dma_alias_mask (Andy Shevchenko)
      
       - Add switch fall-through annotations (Gustavo A. R. Silva)
      
       - Remove unused Switchtec quirk variable (Joshua Abraham)
      
       - Fix pci.c kernel-doc warning (Randy Dunlap)
      
       - Remove trivial PCI wrappers for DMA APIs (Christoph Hellwig)
      
       - Add Intel GPU device IDs to spurious interrupt quirk (Bin Meng)
      
       - Run Switchtec DMA aliasing quirk only on NTB endpoints to avoid
         useless dmesg errors (Logan Gunthorpe)
      
       - Update Switchtec NTB documentation (Wesley Yung)
      
       - Remove redundant "default n" from Kconfig (Bartlomiej Zolnierkiewicz)
      
       - Avoid panic when drivers enable MSI/MSI-X twice (Tonghao Zhang)
      
       - Add PCI support for peer-to-peer DMA (Logan Gunthorpe)
      
       - Add sysfs group for PCI peer-to-peer memory statistics (Logan
         Gunthorpe)
      
       - Add PCI peer-to-peer DMA scatterlist mapping interface (Logan
         Gunthorpe)
      
       - Add PCI configfs/sysfs helpers for use by peer-to-peer users (Logan
         Gunthorpe)
      
       - Add PCI peer-to-peer DMA driver writer's documentation (Logan
         Gunthorpe)
      
       - Add block layer flag to indicate driver support for PCI peer-to-peer
         DMA (Logan Gunthorpe)
      
       - Map Infiniband scatterlists for peer-to-peer DMA if they contain P2P
         memory (Logan Gunthorpe)
      
       - Register nvme-pci CMB buffer as PCI peer-to-peer memory (Logan
         Gunthorpe)
      
       - Add nvme-pci support for PCI peer-to-peer memory in requests (Logan
         Gunthorpe)
      
       - Use PCI peer-to-peer memory in nvme (Stephen Bates, Steve Wise,
         Christoph Hellwig, Logan Gunthorpe)
      
       - Cache VF config space size to optimize enumeration of many VFs
         (KarimAllah Ahmed)
      
       - Remove unnecessary <linux/pci-ats.h> include (Bjorn Helgaas)
      
       - Fix VMD AERSID quirk Device ID matching (Jon Derrick)
      
       - Fix Cadence PHY handling during probe (Alan Douglas)
      
       - Signal Cadence Endpoint interrupts via AXI region 0 instead of last
         region (Alan Douglas)
      
       - Write Cadence Endpoint MSI interrupts with 32 bits of data (Alan
         Douglas)
      
       - Remove redundant controller tests for "device_type == pci" (Rob
         Herring)
      
       - Document R-Car E3 (R8A77990) bindings (Tho Vu)
      
       - Add device tree support for R-Car r8a7744 (Biju Das)
      
       - Drop unused mvebu PCIe capability code (Thomas Petazzoni)
      
       - Add shared PCI bridge emulation code (Thomas Petazzoni)
      
       - Convert mvebu to use shared PCI bridge emulation (Thomas Petazzoni)
      
       - Add aardvark Root Port emulation (Thomas Petazzoni)
      
       - Support 100MHz/200MHz refclocks for i.MX6 (Lucas Stach)
      
       - Add initial power management for i.MX7 (Leonard Crestez)
      
       - Add PME_Turn_Off support for i.MX7 (Leonard Crestez)
      
       - Fix qcom runtime power management error handling (Bjorn Andersson)
      
       - Update TI dra7xx unaligned access errata workaround for host mode as
         well as endpoint mode (Vignesh R)
      
       - Fix kirin section mismatch warning (Nathan Chancellor)
      
       - Remove iproc PAXC slot check to allow VF support (Jitendra Bhivare)
      
       - Quirk Keystone K2G to limit MRRS to 256 (Kishon Vijay Abraham I)
      
       - Update Keystone to use MRRS quirk for host bridge instead of open
         coding (Kishon Vijay Abraham I)
      
       - Refactor Keystone link establishment (Kishon Vijay Abraham I)
      
       - Simplify and speed up Keystone link training (Kishon Vijay Abraham I)
      
       - Remove unused Keystone host_init argument (Kishon Vijay Abraham I)
      
       - Merge Keystone driver files into one (Kishon Vijay Abraham I)
      
       - Remove redundant Keystone platform_set_drvdata() (Kishon Vijay
         Abraham I)
      
       - Rename Keystone functions for uniformity (Kishon Vijay Abraham I)
      
       - Add Keystone device control module DT binding (Kishon Vijay Abraham
         I)
      
       - Use SYSCON API to get Keystone control module device IDs (Kishon
         Vijay Abraham I)
      
       - Clean up Keystone PHY handling (Kishon Vijay Abraham I)
      
       - Use runtime PM APIs to enable Keystone clock (Kishon Vijay Abraham I)
      
       - Clean up Keystone config space access checks (Kishon Vijay Abraham I)
      
       - Get Keystone outbound window count from DT (Kishon Vijay Abraham I)
      
       - Clean up Keystone outbound window configuration (Kishon Vijay Abraham
         I)
      
       - Clean up Keystone DBI setup (Kishon Vijay Abraham I)
      
       - Clean up Keystone ks_pcie_link_up() (Kishon Vijay Abraham I)
      
       - Fix Keystone IRQ status checking (Kishon Vijay Abraham I)
      
       - Add debug messages for all Keystone errors (Kishon Vijay Abraham I)
      
       - Clean up Keystone includes and macros (Kishon Vijay Abraham I)
      
       - Fix Mediatek unchecked return value from devm_pci_remap_iospace()
         (Gustavo A. R. Silva)
      
       - Fix Mediatek endpoint/port matching logic (Honghui Zhang)
      
       - Change Mediatek Root Port Class Code to PCI_CLASS_BRIDGE_PCI (Honghui
         Zhang)
      
       - Remove redundant Mediatek PM domain check (Honghui Zhang)
      
       - Convert Mediatek to pci_host_probe() (Honghui Zhang)
      
       - Fix Mediatek MSI enablement (Honghui Zhang)
      
       - Add Mediatek system PM support for MT2712 and MT7622 (Honghui Zhang)
      
       - Add Mediatek loadable module support (Honghui Zhang)
      
       - Detach VMD resources after stopping root bus to prevent orphan
         resources (Jon Derrick)
      
       - Convert pcitest build process to that used by other tools (iio, perf,
         etc) (Gustavo Pimentel)
      
      * tag 'pci-v4.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (140 commits)
        PCI/AER: Refactor error injection fallbacks
        PCI/AER: Abstract AER interrupt handling
        PCI/AER: Reuse existing pcie_port_find_device() interface
        PCI/AER: Use managed resource allocations
        PCI: pcie: Remove redundant 'default n' from Kconfig
        PCI: aardvark: Implement emulated root PCI bridge config space
        PCI: mvebu: Convert to PCI emulated bridge config space
        PCI: mvebu: Drop unused PCI express capability code
        PCI: Introduce PCI bridge emulated config space common logic
        PCI: vmd: Detach resources after stopping root bus
        nvmet: Optionally use PCI P2P memory
        nvmet: Introduce helper functions to allocate and free request SGLs
        nvme-pci: Add support for P2P memory in requests
        nvme-pci: Use PCI p2pmem subsystem to manage the CMB
        IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]()
        block: Add PCI P2P flag for request queue
        PCI/P2PDMA: Add P2P DMA driver writer's documentation
        docs-rst: Add a new directory for PCI documentation
        PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers
        PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset
        ...
      bd6bf7c1
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.20-rc1' of git://git.infradead.org/users/vkoul/slave-dma · a41efc2a
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
      
       - Support for ColdFire mcf5441x edma controller
      
       - Support for link list mode in sprd dma
      
       - More users of managed dmaenginem_async_device_register API
      
       - Cyclic mode support in owl dma driver
      
       - DT updates for renesas drivers, dma-jz4780 updates and support for
         JZ4770, JZ4740 and JZ4725B controllers
      
       - Removal of deprecated dma_slave_config direction in dmaengine
         drivers, few more users will be removed in next cycle and eventually
         removed.
      
       - Minor updates to idma64, ioat, pxa, ppc drivers
      
      * tag 'dmaengine-4.20-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (66 commits)
        dmaengine: ppc4xx: fix off-by-one build failure
        dmaengine: owl: Fix warnings generated during build
        dmaengine: fsl-edma: remove dma_slave_config direction usage
        dmaengine: rcar-dmac: set scatter/gather max segment size
        dmaengine: mmp_tdma: remove dma_slave_config direction usage
        dmaengine: ep93xx_dma: remove dma_slave_config direction usage
        dmaengine: k3dma: remove dma_slave_config direction usage
        dmaengine: k3dma: dont use direction for memcpy
        dmaengine: imx-dma: remove dma_slave_config direction usage
        dmaengine: idma: remove dma_slave_config direction usage
        dmaengine: hsu: remove dma_slave_config direction usage
        dmaengine: dw: remove dma_slave_config direction usage
        dmaengine: jz4740: remove dma_slave_config direction usage
        dmaengine: coh901318: remove dma_slave_config direction usage
        dmaengine: bcm2835: remove dma_slave_config direction usage
        dmaengine: at_hdmac: remove dma_slave_config direction usage
        dmaengine: owl: Add Slave and Cyclic mode support for Actions Semi Owl S900 SoC
        dmaengine: ioat: fix prototype of ioat_enumerate_channels
        dmaengine: stm32-dma: check whether length is aligned on FIFO threshold
        dt-bindings: dmaengine: usb-dmac: Add binding for r8a7744
        ...
      a41efc2a
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 36168d71
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       "The EDAC tree was busier than usual this cycle as the shortlog below
        shows.
      
        Also, this pull request is carrying an ACPI DSM driver which is used
        to ask the platform to supply the DIMM location of a reported hardware
        error and thus simplify all the EDAC logic when trying to map the
        error address to the respective DIMM.
      
        Core EDAC updates:
      
         - amd64_edac: AMD family 0x17, models 0x10-0x2f support (Michael Jin)
           Hygon Dhyana support (Pu Wen)
      
         - sb_edac: New maintainer + fixes (Tony Luck) Error reporting
           improvements and fixes (Qiuxu Zhuo)
      
         - ghes_edac: SMBIOS handle type 17 for DIMM locating and per-DIMM
           error accounting (Fan Wu)
      
         - altera_edac: Stratix10 support and refactoring (Thor Thayer)
      
        Out of tree addition:
      
         - acpi_adxl: Address Translation interface using an ACPI DSM (Tony
           Luck)
      
         - the usual amount of other misc fixes and cleanups all over"
      
      * tag 'edac_for_4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (22 commits)
        ACPI/ADXL: Add address translation interface using an ACPI DSM
        EDAC, thunderx: Fix memory leak in thunderx_l2c_threaded_isr()
        EDAC, skx_edac: Fix logical channel intermediate decoding
        EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting
        EDAC, altera: Work around int-to-pointer-cast warnings
        EDAC, amd64: Add Hygon Dhyana support
        EDAC: Raise the maximum number of memory controllers
        arm64: dts: stratix10: Add peripheral EDAC nodes
        EDAC, altera: Add Stratix10 peripheral support
        EDAC, altera: Merge Stratix10 into the Arria10 SDRAM probe routine
        arm64: dts: stratix10: Add SDRAM node
        EDAC, altera: Combine Stratix10 and Arria10 probe functions
        arm64: dts: stratix10: Additions to EDAC System Manager
        EDAC, i7core: Remove set but not used variable pvt
        EDAC, ghes: Use CPER module handles to locate DIMMs
        EDAC: Correct DIMM capacity unit symbol
        EDAC, sb_edac: Fix signedness bugs in *_get_ha() functions
        EDAC, sb_edac: Fix reporting for patrol scrubber errors
        EDAC, sb_edac: Return early on ADDRV bit and address type test
        MAINTAINERS: Update maintainer for drivers/edac/sb_edac.c
        ...
      36168d71
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 6078e07d
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
      
       - Improve the efficiency and performance of reading nvdimm-namespace
         labels. Reduce the amount of label data read at driver load time by a
         few orders of magnitude. Reduce heavyweight call-outs to
         platform-firmware routines.
      
       - Handle media errors located in the 'struct page' array stored on a
         persistent memory namespace. Let the kernel clear these errors rather
         than an awkward userspace workaround.
      
       - Fix Address Range Scrub (ARS) completion tracking. Correct occasions
         where the kernel indicates completion of ARS before submission.
      
       - Fix asynchronous device registration reference counting.
      
       - Add support for reporting an nvdimm dirty-shutdown-count via sysfs.
      
       - Fix various small libnvdimm core and uapi issues.
      
      * tag 'libnvdimm-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (21 commits)
        acpi, nfit: Further restrict userspace ARS start requests
        acpi, nfit: Fix Address Range Scrub completion tracking
        UAPI: ndctl: Remove use of PAGE_SIZE
        UAPI: ndctl: Fix g++-unsupported initialisation in headers
        tools/testing/nvdimm: Populate dirty shutdown data
        acpi, nfit: Collect shutdown status
        acpi, nfit: Introduce nfit_mem flags
        libnvdimm, label: Fix sparse warning
        nvdimm: Use namespace index data to reduce number of label reads needed
        nvdimm: Split label init out from the logic for getting config data
        nvdimm: Remove empty if statement
        nvdimm: Clarify comment in sizeof_namespace_index
        nvdimm: Sanity check labeloff
        libnvdimm, dimm: Maximize label transfer size
        libnvdimm, pmem: Fix badblocks population for 'raw' namespaces
        libnvdimm, namespace: Drop the repeat assignment for variable dev->parent
        libnvdimm, region: Fail badblocks listing for inactive regions
        libnvdimm, pfn: during init, clear errors in the metadata area
        libnvdimm: Set device node in nd_device_register
        libnvdimm: Hold reference on parent while scheduling async init
        ...
      6078e07d
    • Linus Torvalds's avatar
      Merge tag 'for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · df132e40
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - Add Spreadtrum SC2731 charger driver
      
       - bq25890-charger: Add BQ25896 support
      
       - bq27xxx-battery: Add support for BQ27411
      
       - qcom-pon: Add pms405 pon support
      
       - cros-charger: add support for dedicated port
      
       - misc fixes
      
      * tag 'for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (28 commits)
        power: max8925: mark expected switch fall-through
        power: supply: fix spelling mistake "Gauage" -> "Gauge"
        power: reset: qcom-pon: Add pms405 pon support
        power: supply: bq27xxx: Add support for BQ27411
        power: supply: Add Spreadtrum SC2731 charger support
        dt-bindings: power: Add Spreadtrum SC2731 charger documentation
        power: supply: twl4030_charger: disable eoc interrupt on linear charge
        power: supply: twl4030_charger: fix charging current out-of-bounds
        power: supply: bq25890_charger: fix semicolon.cocci warnings
        power: supply: max8998-charger: Fix platform data retrieval
        power: supply: cros: add support for dedicated port
        mfd: cros: add charger port count command definition
        power: reset: at91-poweroff: do not procede if at91_shdwc is allocated
        power: reset: at91-poweroff: rename at91_shdwc_base member of struct shdwc
        power: reset: at91-poweroff: make sclk part of struct shdwc
        power: reset: at91-poweroff: make mpddrc_base part of struct shdwc
        power: reset: at91-poweroff: use only one poweroff function
        power: reset: at91-poweroff: switch to slow clock before shutdown
        power: reset: convert to SPDX identifiers
        power: supply: ab8500_fg: silence uninitialized variable warnings
        ...
      df132e40
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 96f2f66a
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - rumble support for Xbox One S, from Andrey Smirnov
      
       - high-resolution support for Logitech mice, from Harry Cutts
      
       - support for recent devices requiring the HID parse to be able to cope
         with tag report sizes > 256
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (35 commits)
        HID: usbhid: Add quirk for Redragon/Dragonrise Seymur 2
        HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452
        HID: google: add dependency on Cros EC for Hammer
        HID: elan: fix spelling mistake "registred" -> "registered"
        HID: google: drop superfluous const before SIMPLE_DEV_PM_OPS()
        HID: google: add support tablet mode switch for Whiskers
        mfd: cros: add "base attached" MKBP switch definition
        Input: reserve 2 events code because of HID
        HID: magicmouse: add support for Apple Magic Trackpad 2
        HID: i2c-hid: override HID descriptors for certain devices
        HID: hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad
        HID: logitech: fix a used uninitialized GCC warning
        HID: intel-ish-hid: using list_head for ipc write queue
        HID: intel-ish-hid: use resource-managed api
        HID: intel_ish-hid: Enhance API to get ring buffer sizes
        HID: intel-ish-hid: use helper function to search client id
        HID: intel-ish-hid: ishtp: add helper function for client search
        HID: intel-ish-hid: use helper function to access client buffer
        HID: intel-ish-hid: ishtp: add helper functions for client buffer operation
        HID: intel-ish-hid: use helper function for private driver data set/get
        ...
      96f2f66a
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 3f2dcb64
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Old Drivers
         - Remove driver for S6E63M0
         - Remove driver for LD9040
      
        Fix-ups
         - Trivial (email address update); adp*_bl
         - Use 'atomic' PWM API; pwm_bl
      
        Bug Fixes
         - Remove pointless boolen '&ptr' check; lm3639_bl"
      
      * tag 'backlight-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: Remove ld9040 driver
        backlight: Remove s6e63m0 driver
        backlight: lm3639: Unconditionally call led_classdev_unregister
        backlight: pwm_bl: Switch to using "atomic" PWM API
        backlight: Update MODULE AUTHOR email address
      3f2dcb64
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 3ea172c8
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Drivers
         - Add support for USART SPI to AT91*
      
        New Functionality
         - Add support for Audio CODECs to motorola-cpcap
      
        Fix-ups
         - DT documentation fix-ups; atmel-usart
         - Staticise functions/structs; spi-at91-usart, arizona-core
         - Constify; ti-lmu
         - Fix memory leaks; menelaus
         - Change device 'wake-up' status; ti_am335x_tscadc, max8997
         - Power Management (suspend/resume) semantic changes; ti_am335x_adc, cros_ec, max8997
         - SPDX churn; sec-core (+ headers), max* (+ headers), intel* (+ headers),
         - Trivial (whitespace, email addresses, alphabetisise); Kconfig, adp5520, intel_soc_pmic_*
         - Build as module; sec-irq
         - Use new %pOFn printk format for device_node.name; max77620
         - Remove unused code; madera
         - Use generic MACROs; intel_msic, intel_soc_pmic_crc
         - Move to GPIOD; ti-lmu
         - Use managed resources; ti-lmu
      
        Bug Fixes
         - Add missing headers; at91-usart
         - Prevent device from entering low-power mode; arizona-core
         - Poll for BOOT_DONE to avoid still-booting NACK; madera-core
         - Prevent ADC read from shutting down device; mc13xxx-core"
      
      * tag 'mfd-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (45 commits)
        mfd: cros_ec: Avoid unneeded internal declaration warning
        mfd: ti-lmu: Use of_device_get_match_data() helper
        mfd: ti-lmu: Use managed resource for everything
        mfd: ti-lmu: Switch to GPIOD
        mfd: ti-lmu: constify mfd_cell tables
        mfd: max8997: Disable interrupt handling for suspend/resume cycle
        mfd: max8997: Enale irq-wakeup unconditionally
        mfd: arizona: Make array mclk_name static, shrinks object size
        MAINTAINERS: Add myself as designated reviewer of Intel MFD PMIC
        mfd: Convert Intel PMIC drivers to use SPDX identifier 1;5201;0c Reduce size of duplicated comments by switching to use SPDX identifier.
        mfd: Sort headers alphabetically for Intel PMIC drivers
        mfd: intel_soc_pmic_bxtwc: Chain power button IRQs as well
        mfd: intel_soc_pmic_crc: Use REGMAP_IRQ_REG() macro
        mfd: intel_soc_pmic_crc: Use DEFINE_RES_IRQ_NAMED() macro
        mfd: intel_msic: Use DEFINE_RES_IRQ() macro
        mfd: motorola-cpcap: Add audio-codec support
        mfd: mc13xxx-core: Fix PMIC shutdown when reading ADC values
        mfd: madera: Remove unused forward reference
        mfd: max77620: Convert to using %pOFn instead of device_node.name
        mfd: madera: Don't use regmap_read_poll_timeout to poll for BOOT_DONE
        ...
      3ea172c8
  3. 24 Oct, 2018 10 commits
    • Linus Torvalds's avatar
      Merge tag 'docs-4.20' of git://git.lwn.net/linux · 01aa9d51
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "This is a fairly typical cycle for documentation. There's some welcome
        readability improvements for the formatted output, some LICENSES
        updates including the addition of the ISC license, the removal of the
        unloved and unmaintained 00-INDEX files, the deprecated APIs document
        from Kees, more MM docs from Mike Rapoport, and the usual pile of typo
        fixes and corrections"
      
      * tag 'docs-4.20' of git://git.lwn.net/linux: (41 commits)
        docs: Fix typos in histogram.rst
        docs: Introduce deprecated APIs list
        kernel-doc: fix declaration type determination
        doc: fix a typo in adding-syscalls.rst
        docs/admin-guide: memory-hotplug: remove table of contents
        doc: printk-formats: Remove bogus kobject references for device nodes
        Documentation: preempt-locking: Use better example
        dm flakey: Document "error_writes" feature
        docs/completion.txt: Fix a couple of punctuation nits
        LICENSES: Add ISC license text
        LICENSES: Add note to CDDL-1.0 license that it should not be used
        docs/core-api: memory-hotplug: add some details about locking internals
        docs/core-api: rename memory-hotplug-notifier to memory-hotplug
        docs: improve readability for people with poorer eyesight
        yama: clarify ptrace_scope=2 in Yama documentation
        docs/vm: split memory hotplug notifier description to Documentation/core-api
        docs: move memory hotplug description into admin-guide/mm
        doc: Fix acronym "FEKEK" in ecryptfs
        docs: fix some broken documentation references
        iommu: Fix passthrough option documentation
        ...
      01aa9d51
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 5993692f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - further restructure ext4 documentation
      
       - fix up ext4's delayed allocation for bigalloc file systems
      
       - fix up some syzbot-detected races in EXT4_IOC_MOVE_EXT,
         EXT4_IOC_SWAP_BOOT, and ext4_remount
      
       - ... and a few other miscellaneous bugs and optimizations.
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (21 commits)
        ext4: fix use-after-free race in ext4_remount()'s error path
        ext4: cache NULL when both default_acl and acl are NULL
        docs: promote the ext4 data structures book to top level
        docs: move ext4 administrative docs to admin-guide/
        jbd2: fix use after free in jbd2_log_do_checkpoint()
        ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR
        ext4: fix setattr project check in fssetxattr ioctl
        docs: make ext4 readme tables readable
        docs: fix ext4 documentation table formatting problems
        docs: generate a separate ext4 pdf file from the documentation
        ext4: convert fault handler to use vm_fault_t type
        ext4: initialize retries variable in ext4_da_write_inline_data_begin()
        ext4: fix EXT4_IOC_SWAP_BOOT
        ext4: fix build error when DX_DEBUG is defined
        ext4: fix argument checking in EXT4_IOC_MOVE_EXT
        ext4: fix reserved cluster accounting at page invalidation time
        ext4: adjust reserved cluster count when removing extents
        ext4: reduce reserved cluster count by number of allocated clusters
        ext4: fix reserved cluster accounting at delayed write time
        ext4: add new pending reservation mechanism
        ...
      5993692f
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · d6edff78
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've added 1) superblock checksum feature, 2)
        implemented new mount option which we can disable/enable checkpoint to
        provide atomic updates of entire filesystem, 3) refactored quota
        operations to enhance its consistency along with checkpoint, 4) fixed
        subtle IO hang conditions and roll-forward recovery flow to resurrect
        any fsync'ed inode metadata.
      
        Enhancements:
         - add checksum to keep superblock contents more safe
         - add checkpoint=disable/enable to support A/B update of entire filesystem
         - use plug for readahead IO in readdir
         - add more IO counts to avoid block layer hacks
      
        Bug fixes:
         - prevent data corruption issue for hardware encryption
         - fix IO hang issues when GC is heavily triggered
         - add missing up_read in __write_node_page
         - recover inode metadata during roll-forward recovery flow
         - fix null pointer dereference issue in wrongly configured discard map
      
        There are some more sanity checks and minor bug fixes as well"
      
      * tag 'f2fs-for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (62 commits)
        f2fs: fix to keep project quota consistent
        f2fs: guarantee journalled quota data by checkpoint
        f2fs: cleanup dirty pages if recover failed
        f2fs: fix data corruption issue with hardware encryption
        f2fs: fix to recover inode->i_flags of inode block during POR
        f2fs: spread f2fs_set_inode_flags()
        f2fs: fix to spread clear_cold_data()
        Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()"
        f2fs: account read IOs and use IO counts for is_idle
        f2fs: fix to account IO correctly for cgroup writeback
        f2fs: fix to account IO correctly
        f2fs: remove request_list check in is_idle()
        f2fs: allow to mount, if quota is failed
        f2fs: update REQ_TIME in f2fs_cross_rename()
        f2fs: do not update REQ_TIME in case of error conditions
        f2fs: remove unneeded disable_nat_bits()
        f2fs: remove unused sbi->trigger_ssr_threshold
        f2fs: shrink sbi->sb_lock coverage in set_file_temperature()
        f2fs: use rb_*_cached friends
        f2fs: fix to recover cold bit of inode block during POR
        ...
      d6edff78
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · fe0142df
      Linus Torvalds authored
      Pul xfs updates from Dave Chinner:
       "There's not a huge amount of change in this cycle - Darrick has been
        out of action for a couple of months (hence me sending the last few
        pull requests), so we decided a quiet cycle mainly focussed on bug
        fixes was a good idea. Darrick will take the helm again at the end of
        this merge window.
      
        FYI, I may be sending another update later in the cycle - there's a
        pending rework of the clone/dedupe_file_range code that fixes numerous
        bugs that is spread amongst the VFS, XFS and ocfs2 code. It has been
        reviewed and tested, Al and I just need to work out the details of the
        merge, so it may come from him rather than me.
      
        Summary:
      
         - only support filesystems with unwritten extents
      
         - add definition for statfs XFS magic number
      
         - remove unused parameters around reflink code
      
         - more debug for dangling delalloc extents
      
         - cancel COW extents on extent swap targets
      
         - fix quota stats output and clean up the code
      
         - refactor some of the attribute code in preparation for parent
           pointers
      
         - fix several buffer handling bugs"
      
      * tag 'xfs-4.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (21 commits)
        xfs: cancel COW blocks before swapext
        xfs: clear ail delwri queued bufs on unmount of shutdown fs
        xfs: use offsetof() in place of offset macros for __xfsstats
        xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat
        xfs: fix use-after-free race in xfs_buf_rele
        xfs: Add attibute remove and helper functions
        xfs: Add attibute set and helper functions
        xfs: Add helper function xfs_attr_try_sf_addname
        xfs: Move fs/xfs/xfs_attr.h to fs/xfs/libxfs/xfs_attr.h
        xfs: issue log message on user force shutdown
        xfs: fix buffer state management in xrep_findroot_block
        xfs: always assign buffer verifiers when one is provided
        xfs: xrep_findroot_block should reject root blocks with siblings
        xfs: add a define for statfs magic to uapi
        xfs: print dangling delalloc extents
        xfs: fix fork selection in xfs_find_trim_cow_extent
        xfs: remove the unused trimmed argument from xfs_reflink_trim_around_shared
        xfs: remove the unused shared argument to xfs_reflink_reserve_cow
        xfs: handle zeroing in xfs_file_iomap_begin_delay
        xfs: remove suport for filesystems without unwritten extent flag
        ...
      fe0142df
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.20.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · bfd93a87
      Linus Torvalds authored
      Pull gfs2 updates from Bob Peterson:
       "We've got 18 patches for this merge window, none of which are very
        major:
      
         - clean up the gfs2 block allocator to prepare for future performance
           enhancements (Andreas Gruenbacher)
      
         - fix a use-after-free problem (Andy Price)
      
         - patches that fix gfs2's broken rgrplvb mount option (me)
      
         - cleanup patches and error message improvements (me)
      
         - enable getlabel support (Steve Whitehouse and Abhi Das)
      
         - flush the glock delete workqueue at exit (Tim Smith)"
      
      * tag 'gfs2-4.20.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Fix minor typo: couln't versus couldn't.
        gfs2: write revokes should traverse sd_ail1_list in reverse
        gfs2: Pass resource group to rgblk_free
        gfs2: Remove unnecessary gfs2_rlist_alloc parameter
        gfs2: Fix marking bitmaps non-full
        gfs2: Fix some minor typos
        gfs2: Rename bitmap.bi_{len => bytes}
        gfs2: Remove unused RGRP_RSRV_MINBYTES definition
        gfs2: Move rs_{sizehint, rgd_gh} fields into the inode
        gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block
        gfs2: Always check the result of gfs2_rbm_from_block
        gfs2: getlabel support
        GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads
        gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd
        gfs2: Use fs_* functions instead of pr_* function where we can
        gfs2: slow the deluge of io error messages
        gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated
        gfs2: improve debug information when lvb mismatches are found
      bfd93a87
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.20-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · e1cbbf40
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "Fixes and a cleanup.
      
        Fixes:
         - fix superfluous service_operation return code check in
           orangefs_lookup
         - fix some error code paths that missed kmem_cache_free
         - don't let orangefs_iget return NULL
         - don't let orangefs_new_inode return NULL
         - cache NULL when both default_acl and acl are NULL
      
       Cleanup:
         - rate limit the client not running info message"
      
      * tag 'for-linus-4.20-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: no need to check for service_operation returns > 0
        orangefs: some error code paths missed kmem_cache_free
        orangefs: don't let orangefs_iget return NULL.
        orangefs: don't let orangefs_new_inode return NULL
        orangefs: rate limit the client not running info message
        orangefs: cache NULL when both default_acl and acl are NULL
      e1cbbf40
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 6b609e3b
      Linus Torvalds authored
      Pull vfs fixes from Al Viro.
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        gfs2_meta: ->mount() can get NULL dev_name
        ecryptfs_rename(): verify that lower dentries are still OK after lock_rename()
        cachefiles: fix the race between cachefiles_bury_object() and rmdir(2)
      6b609e3b
    • Linus Torvalds's avatar
      Merge tag 'jfs-for-4.20' of git://github.com/kleikamp/linux-shaggy · deba28b1
      Linus Torvalds authored
      Pull jfs updates from David Kleikamp:
       "Just a few small fixes"
      
      * tag 'jfs-for-4.20' of git://github.com/kleikamp/linux-shaggy:
        jfs: remove redundant dquot_initialize() in jfs_evict_inode()
        jfs: remove quota option from ignore list
        jfs: cache NULL when both default_acl and acl are NULL
      deba28b1
    • Linus Torvalds's avatar
      Merge tag 'for-4.20-part1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 318b067a
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "This is the first batch with fixes and some nice performance
        improvements.
      
        Preliminary results show eg. more files/sec in fsmark, better perf on
        multi-threaded workloads (filebench, dbench), fewer context switches
        and overall better memory allocation characteristics (multiple
        benchmarks).
      
        Apart from general performance, there's an improvement for qgroups +
        balance workload that's been troubling our users.
      
        Note for stable: there are 20+ patches tagged for stable, out of 90.
        Not all of them apply cleanly on all stable versions but the conflicts
        are mostly due to simple cleanups and resolving should be obvious. The
        fixes are otherwise independent.
      
        Performance improvements:
      
         - transition between blocking and spinning modes of path is gone,
           which originally resulted to more unnecessary wakeups and updates
           to the path locks, the effects are measurable and improve latency
           and scalability
      
         - qgroups: first batch of changes that should speedup balancing with
           qgroups on, skip quota accounting on unchanged subtrees, overall
           gain is about 30+% in runtime
      
         - use rb-tree with cached first node for several structures, small
           improvement to avoid pointer chasing
      
        Fixes:
      
         - trim
            - fix: some blockgroups could have been missed if their logical
              address was past the total filesystem size (ie. after a lot of
              balancing)
            - better error reporting, after processing blockgroups and whole
              device
            - fix: continue trimming block groups after an error is
              encountered
            - check for trim support of the device earlier and avoid some
              unnecessary work
            - less interaction with transaction commit that improves latency
              on slower storage (eg. image files over NFS)
      
         - fsync
            - fix warning when replaying log after fsync of a O_TMPFILE
            - fix wrong dentries after fsync of file that got its parent
              replaced
      
         - qgroups: fix rescan that might misc some dirty groups
      
         - don't clean dirty pages during buffered writes, this could lead to
           lost updates in some corner cases
      
         - some block groups could have been delayed in creation, if the
           allocation triggered another one
      
         - error handling improvements
      
        Cleanups:
      
         - removed unused struct members and variables
      
         - function return type cleanups
      
         - delayed refs code refactoring
      
         - protect against deadlock that could be caused by crafted image that
           tries to allocate from a tree that's locked already"
      
      * tag 'for-4.20-part1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (93 commits)
        btrfs: switch return_bigger to bool in find_ref_head
        btrfs: remove fs_info from btrfs_should_throttle_delayed_refs
        btrfs: remove fs_info from btrfs_check_space_for_delayed_refs
        btrfs: delayed-ref: pass delayed_refs directly to btrfs_delayed_ref_lock
        btrfs: delayed-ref: pass delayed_refs directly to btrfs_select_ref_head
        btrfs: qgroup: move the qgroup->members check out from (!qgroup)'s else branch
        btrfs: relocation: Remove redundant tree level check
        btrfs: relocation: Cleanup while loop using rbtree_postorder_for_each_entry_safe
        btrfs: qgroup: Avoid calling qgroup functions if qgroup is not enabled
        Btrfs: fix wrong dentries after fsync of file that got its parent replaced
        Btrfs: fix warning when replaying log after fsync of a tmpfile
        btrfs: drop min_size from evict_refill_and_join
        btrfs: assert on non-empty delayed iputs
        btrfs: make sure we create all new block groups
        btrfs: reset max_extent_size on clear in a bitmap
        btrfs: protect space cache inode alloc with GFP_NOFS
        btrfs: release metadata before running delayed refs
        Btrfs: kill btrfs_clear_path_blocking
        btrfs: dev-replace: remove pointless assert in write unlock
        btrfs: dev-replace: move replace members out of fs_info
        ...
      318b067a
    • Linus Torvalds's avatar
      Merge branch 'work.tty-ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 44adbac8
      Linus Torvalds authored
      Pull tty ioctl updates from Al Viro:
       "This is the compat_ioctl work related to tty ioctls.
      
        Quite a bit of dead code taken out, all tty-related stuff gone from
        fs/compat_ioctl.c. A bunch of compat bugs fixed - some still remain,
        but all more or less generic tty-related ioctls should be covered
        (remaining issues are in things like driver-private ioctls in a pcmcia
        serial card driver not getting properly handled in 32bit processes on
        64bit host, etc)"
      
      * 'work.tty-ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (53 commits)
        kill TIOCSERGSTRUCT
        change semantics of ldisc ->compat_ioctl()
        kill TIOCSER[SG]WILD
        synclink_gt(): fix compat_ioctl()
        pty: fix compat ioctls
        compat_ioctl - kill keyboard ioctl handling
        gigaset: add ->compat_ioctl()
        vt_compat_ioctl(): clean up, use compat_ptr() properly
        gigaset: don't try to printk userland buffer contents
        dgnc: don't bother with (empty) stub for TCXONC
        dgnc: leave TIOC[GS]SOFTCAR to ldisc
        remove fallback to drivers for TIOCGICOUNT
        dgnc: break-related ioctls won't reach ->ioctl()
        kill the rest of tty COMPAT_IOCTL() entries
        dgnc: TIOCM... won't reach ->ioctl()
        isdn_tty: TCSBRK{,P} won't reach ->ioctl()
        kill capinc_tty_ioctl()
        take compat TIOC[SG]SERIAL treatment into tty_compat_ioctl()
        synclink: reduce pointless checks in ->ioctl()
        complete ->[sg]et_serial() switchover
        ...
      44adbac8