02 Oct, 2019

1 commit

  • The description of "regulator-boot-on" was a little unclear, at least
    to me. Did this property mean that we should turn the regulator on at
    boot? Or perhaps it was intended only to be used for regulators where
    we couldn't read the state at bootup to indicate what state we should
    assume? The answer, it turns out, is both [1].

    Let's document this.

    [1] https://lore.kernel.org/r/20190923181431.GU2036@sirena.org.uk

    Signed-off-by: Douglas Anderson
    Link: https://lore.kernel.org/r/20191001124531.v2.1.Ice34ad5970a375c3c03cb15c3859b3ee501561bf@changeid
    Signed-off-by: Mark Brown

    Douglas Anderson
     

01 Oct, 2019

4 commits


30 Sep, 2019

1 commit

  • Pull Documentation/process update from Greg KH:
    "Here are two small Documentation/process/embargoed-hardware-issues.rst
    file updates that missed my previous char/misc pull request.

    The first one adds an Intel representative for the process, and the
    second one cleans up the text a bit more when it comes to how the
    disclosure rules work, as it was a bit confusing to some companies"

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    Documentation/process: Clarify disclosure rules
    Documentation/process: Volunteer as the ambassador for Intel

    Linus Torvalds
     

29 Sep, 2019

2 commits

  • The role of the contact list provided by the disclosing party and how it
    affects the disclosure process and the ability to include experts into
    the development process is not really well explained.

    Neither is it entirely clear when the disclosing party will be informed
    about the fact that a developer who is not covered by an employer NDA needs
    to be brought in and disclosed.

    Explain the role of the contact list and the information policy along with
    an eventual conflict resolution better.

    Reported-by: Dave Hansen
    Signed-off-by: Thomas Gleixner
    Acked-by: Dave Hansen
    Link: https://lore.kernel.org/r/alpine.DEB.2.21.1909251028390.10825@nanos.tec.linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Pull networking fixes from David Miller:

    1) Sanity check URB networking device parameters to avoid divide by
    zero, from Oliver Neukum.

    2) Disable global multicast filter in NCSI, otherwise LLDP and IPV6
    don't work properly. Longer term this needs a better fix tho. From
    Vijay Khemka.

    3) Small fixes to selftests (use ping when ping6 is not present, etc.)
    from David Ahern.

    4) Bring back rt_uses_gateway member of struct rtable, it's semantics
    were not well understood and trying to remove it broke things. From
    David Ahern.

    5) Move usbnet snaity checking, ignore endpoints with invalid
    wMaxPacketSize. From Bjørn Mork.

    6) Missing Kconfig deps for sja1105 driver, from Mao Wenan.

    7) Various small fixes to the mlx5 DR steering code, from Alaa Hleihel,
    Alex Vesker, and Yevgeny Kliteynik

    8) Missing CAP_NET_RAW checks in various places, from Ori Nimron.

    9) Fix crash when removing sch_cbs entry while offloading is enabled,
    from Vinicius Costa Gomes.

    10) Signedness bug fixes, generally in looking at the result given by
    of_get_phy_mode() and friends. From Dan Crapenter.

    11) Disable preemption around BPF_PROG_RUN() calls, from Eric Dumazet.

    12) Don't create VRF ipv6 rules if ipv6 is disabled, from David Ahern.

    13) Fix quantization code in tcp_bbr, from Kevin Yang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (127 commits)
    net: tap: clean up an indentation issue
    nfp: abm: fix memory leak in nfp_abm_u32_knode_replace
    tcp: better handle TCP_USER_TIMEOUT in SYN_SENT state
    sk_buff: drop all skb extensions on free and skb scrubbing
    tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth
    mlxsw: spectrum_flower: Fail in case user specifies multiple mirror actions
    Documentation: Clarify trap's description
    mlxsw: spectrum: Clear VLAN filters during port initialization
    net: ena: clean up indentation issue
    NFC: st95hf: clean up indentation issue
    net: phy: micrel: add Asym Pause workaround for KSZ9021
    net: socionext: ave: Avoid using netdev_err() before calling register_netdev()
    ptp: correctly disable flags on old ioctls
    lib: dimlib: fix help text typos
    net: dsa: microchip: Always set regmap stride to 1
    nfp: flower: fix memory leak in nfp_flower_spawn_vnic_reprs
    nfp: flower: prevent memory leak in nfp_flower_spawn_phy_reprs
    net/sched: Set default of CONFIG_NET_TC_SKB_EXT to N
    vrf: Do not attempt to create IPv6 mcast rule if IPv6 is disabled
    net: sched: sch_sfb: don't call qdisc_put() while holding tree lock
    ...

    Linus Torvalds
     

28 Sep, 2019

8 commits

  • Pull kernel lockdown mode from James Morris:
    "This is the latest iteration of the kernel lockdown patchset, from
    Matthew Garrett, David Howells and others.

    From the original description:

    This patchset introduces an optional kernel lockdown feature,
    intended to strengthen the boundary between UID 0 and the kernel.
    When enabled, various pieces of kernel functionality are restricted.
    Applications that rely on low-level access to either hardware or the
    kernel may cease working as a result - therefore this should not be
    enabled without appropriate evaluation beforehand.

    The majority of mainstream distributions have been carrying variants
    of this patchset for many years now, so there's value in providing a
    doesn't meet every distribution requirement, but gets us much closer
    to not requiring external patches.

    There are two major changes since this was last proposed for mainline:

    - Separating lockdown from EFI secure boot. Background discussion is
    covered here: https://lwn.net/Articles/751061/

    - Implementation as an LSM, with a default stackable lockdown LSM
    module. This allows the lockdown feature to be policy-driven,
    rather than encoding an implicit policy within the mechanism.

    The new locked_down LSM hook is provided to allow LSMs to make a
    policy decision around whether kernel functionality that would allow
    tampering with or examining the runtime state of the kernel should be
    permitted.

    The included lockdown LSM provides an implementation with a simple
    policy intended for general purpose use. This policy provides a coarse
    level of granularity, controllable via the kernel command line:

    lockdown={integrity|confidentiality}

    Enable the kernel lockdown feature. If set to integrity, kernel features
    that allow userland to modify the running kernel are disabled. If set to
    confidentiality, kernel features that allow userland to extract
    confidential information from the kernel are also disabled.

    This may also be controlled via /sys/kernel/security/lockdown and
    overriden by kernel configuration.

    New or existing LSMs may implement finer-grained controls of the
    lockdown features. Refer to the lockdown_reason documentation in
    include/linux/security.h for details.

    The lockdown feature has had signficant design feedback and review
    across many subsystems. This code has been in linux-next for some
    weeks, with a few fixes applied along the way.

    Stephen Rothwell noted that commit 9d1f8be5cf42 ("bpf: Restrict bpf
    when kernel lockdown is in confidentiality mode") is missing a
    Signed-off-by from its author. Matthew responded that he is providing
    this under category (c) of the DCO"

    * 'next-lockdown' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (31 commits)
    kexec: Fix file verification on S390
    security: constify some arrays in lockdown LSM
    lockdown: Print current->comm in restriction messages
    efi: Restrict efivar_ssdt_load when the kernel is locked down
    tracefs: Restrict tracefs when the kernel is locked down
    debugfs: Restrict debugfs when the kernel is locked down
    kexec: Allow kexec_file() with appropriate IMA policy when locked down
    lockdown: Lock down perf when in confidentiality mode
    bpf: Restrict bpf when kernel lockdown is in confidentiality mode
    lockdown: Lock down tracing and perf kprobes when in confidentiality mode
    lockdown: Lock down /proc/kcore
    x86/mmiotrace: Lock down the testmmiotrace module
    lockdown: Lock down module params that specify hardware parameters (eg. ioport)
    lockdown: Lock down TIOCSSERIAL
    lockdown: Prohibit PCMCIA CIS storage when the kernel is locked down
    acpi: Disable ACPI table override if the kernel is locked down
    acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down
    ACPI: Limit access to custom_method when the kernel is locked down
    x86/msr: Restrict MSR access when the kernel is locked down
    x86: Lock down IO port access when the kernel is locked down
    ...

    Linus Torvalds
     
  • Pull integrity updates from Mimi Zohar:
    "The major feature in this time is IMA support for measuring and
    appraising appended file signatures. In addition are a couple of bug
    fixes and code cleanup to use struct_size().

    In addition to the PE/COFF and IMA xattr signatures, the kexec kernel
    image may be signed with an appended signature, using the same
    scripts/sign-file tool that is used to sign kernel modules.

    Similarly, the initramfs may contain an appended signature.

    This contained a lot of refactoring of the existing appended signature
    verification code, so that IMA could retain the existing framework of
    calculating the file hash once, storing it in the IMA measurement list
    and extending the TPM, verifying the file's integrity based on a file
    hash or signature (eg. xattrs), and adding an audit record containing
    the file hash, all based on policy. (The IMA support for appended
    signatures patch set was posted and reviewed 11 times.)

    The support for appended signature paves the way for adding other
    signature verification methods, such as fs-verity, based on a single
    system-wide policy. The file hash used for verifying the signature and
    the signature, itself, can be included in the IMA measurement list"

    * 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
    ima: ima_api: Use struct_size() in kzalloc()
    ima: use struct_size() in kzalloc()
    sefltest/ima: support appended signatures (modsig)
    ima: Fix use after free in ima_read_modsig()
    MODSIGN: make new include file self contained
    ima: fix freeing ongoing ahash_request
    ima: always return negative code for error
    ima: Store the measurement again when appraising a modsig
    ima: Define ima-modsig template
    ima: Collect modsig
    ima: Implement support for module-style appended signatures
    ima: Factor xattr_verify() out of ima_appraise_measurement()
    ima: Add modsig appraise_type option for module-style appended signatures
    integrity: Select CONFIG_KEYS instead of depending on it
    PKCS#7: Introduce pkcs7_get_digest()
    PKCS#7: Refactor verify_pkcs7_signature()
    MODSIGN: Export module signature definitions
    ima: initialize the "template" field with the default template

    Linus Torvalds
     
  • Pull fuse virtio-fs support from Miklos Szeredi:
    "Virtio-fs allows exporting directory trees on the host and mounting
    them in guest(s).

    This isn't actually a new filesystem, but a glue layer between the
    fuse filesystem and a virtio based back-end.

    It's similar in functionality to the existing virtio-9p solution, but
    significantly faster in benchmarks and has better POSIX compliance.
    Further permformance improvements can be achieved by sharing the page
    cache between host and guest, allowing for faster I/O and reduced
    memory use.

    Kata Containers have been including the out-of-tree virtio-fs (with
    the shared page cache patches as well) since version 1.7 as an
    experimental feature. They have been active in development and plan to
    switch from virtio-9p to virtio-fs as their default solution. There
    has been interest from other sources as well.

    The userspace infrastructure is slated to be merged into qemu once the
    kernel part hits mainline.

    This was developed by Vivek Goyal, Dave Gilbert and Stefan Hajnoczi"

    * tag 'virtio-fs-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    virtio-fs: add virtiofs filesystem
    virtio-fs: add Documentation/filesystems/virtiofs.rst
    fuse: reserve values for mapping protocol

    Linus Torvalds
     
  • Pull more KVM updates from Paolo Bonzini:
    "x86 KVM changes:

    - The usual accuracy improvements for nested virtualization

    - The usual round of code cleanups from Sean

    - Added back optimizations that were prematurely removed in 5.2 (the
    bare minimum needed to fix the regression was in 5.3-rc8, here
    comes the rest)

    - Support for UMWAIT/UMONITOR/TPAUSE

    - Direct L2->L0 TLB flushing when L0 is Hyper-V and L1 is KVM

    - Tell Windows guests if SMT is disabled on the host

    - More accurate detection of vmexit cost

    - Revert a pvqspinlock pessimization"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (56 commits)
    KVM: nVMX: cleanup and fix host 64-bit mode checks
    KVM: vmx: fix build warnings in hv_enable_direct_tlbflush() on i386
    KVM: x86: Don't check kvm_rebooting in __kvm_handle_fault_on_reboot()
    KVM: x86: Drop ____kvm_handle_fault_on_reboot()
    KVM: VMX: Add error handling to VMREAD helper
    KVM: VMX: Optimize VMX instruction error and fault handling
    KVM: x86: Check kvm_rebooting in kvm_spurious_fault()
    KVM: selftests: fix ucall on x86
    Revert "locking/pvqspinlock: Don't wait if vCPU is preempted"
    kvm: nvmx: limit atomic switch MSRs
    kvm: svm: Intercept RDPRU
    kvm: x86: Add "significant index" flag to a few CPUID leaves
    KVM: x86/mmu: Skip invalid pages during zapping iff root_count is zero
    KVM: x86/mmu: Explicitly track only a single invalid mmu generation
    KVM: x86/mmu: Revert "KVM: x86/mmu: Remove is_obsolete() call"
    KVM: x86/mmu: Revert "Revert "KVM: MMU: reclaim the zapped-obsolete page first""
    KVM: x86/mmu: Revert "Revert "KVM: MMU: collapse TLB flushes when zap all pages""
    KVM: x86/mmu: Revert "Revert "KVM: MMU: zap pages in batch""
    KVM: x86/mmu: Revert "Revert "KVM: MMU: add tracepoint for kvm_mmu_invalidate_all_pages""
    KVM: x86/mmu: Revert "Revert "KVM: MMU: show mmu_valid_gen in shadow page related tracepoints""
    ...

    Linus Torvalds
     
  • …erry.reding/linux-pwm

    Pull pwm updates from Thierry Reding:
    "Besides one new driver being added for the PWM controller found in
    various Spreadtrum SoCs, this series of changes brings a slew of,
    mostly minor, fixes and cleanups for existing drivers, as well as some
    enhancements to the core code.

    Lastly, Uwe is added to the PWM subsystem entry of the MAINTAINERS
    file, making official his role as a reviewer"

    * tag 'pwm/for-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (34 commits)
    MAINTAINERS: Add myself as reviewer for the PWM subsystem
    MAINTAINERS: Add patchwork link for PWM entry
    MAINTAINERS: Add a selection of PWM related keywords to the PWM entry
    pwm: mediatek: Add MT7629 compatible string
    dt-bindings: pwm: Update bindings for MT7629 SoC
    pwm: mediatek: Update license and switch to SPDX tag
    pwm: mediatek: Use pwm_mediatek as common prefix
    pwm: mediatek: Allocate the clks array dynamically
    pwm: mediatek: Remove the has_clks field
    pwm: mediatek: Drop the check for of_device_get_match_data()
    pwm: atmel: Consolidate driver data initialization
    pwm: atmel: Remove unneeded check for match data
    pwm: atmel: Remove platform_device_id and use only dt bindings
    pwm: stm32-lp: Add check in case requested period cannot be achieved
    pwm: Ensure pwm_apply_state() doesn't modify the state argument
    pwm: fsl-ftm: Don't update the state for the caller of pwm_apply_state()
    pwm: sun4i: Don't update the state for the caller of pwm_apply_state()
    pwm: rockchip: Don't update the state for the caller of pwm_apply_state()
    pwm: Let pwm_get_state() return the last implemented state
    pwm: Introduce local struct pwm_chip in pwm_apply_state()
    ...

    Linus Torvalds
     
  • Pull thermal management updates from Zhang Rui:

    - Add Amit Kucheria as thermal subsystem Reviewer (Amit Kucheria)

    - Fix a use after free bug when unregistering thermal zone devices (Ido
    Schimmel)

    - Fix thermal core framework to use put_device() when device_register()
    fails (Yue Hu)

    - Enable intel_pch_thermal and MMIO RAPL support for Intel Icelake
    platform (Srinivas Pandruvada)

    - Add clock operations in qorip thermal driver, for some platforms with
    clock control like i.MX8MQ (Anson Huang)

    - A couple of trivial fixes and cleanups for thermal core and different
    soc thermal drivers (Amit Kucheria, Christophe JAILLET, Chuhong Yuan,
    Fuqian Huang, Kelsey Skunberg, Nathan Huckleberry, Rishi Gupta,
    Srinivas Kandagatla)

    * 'for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    MAINTAINERS: Add Amit Kucheria as reviewer for thermal
    thermal: Add some error messages
    thermal: Fix use-after-free when unregistering thermal zone device
    thermal/drivers/core: Use put_device() if device_register() fails
    thermal_hwmon: Sanitize thermal_zone type
    thermal: intel: Use dev_get_drvdata
    thermal: intel: int3403: replace printk(KERN_WARN...) with pr_warn(...)
    thermal: intel: int340x_thermal: Remove unnecessary acpi_has_method() uses
    thermal: int340x: processor_thermal: Add Ice Lake support
    drivers: thermal: qcom: tsens: Fix memory leak from qfprom read
    thermal: tegra: Fix a typo
    thermal: rcar_gen3_thermal: Replace devm_add_action() followed by failure action with devm_add_action_or_reset()
    thermal: armada: Fix -Wshift-negative-value
    dt-bindings: thermal: qoriq: Add optional clocks property
    thermal: qoriq: Use __maybe_unused instead of #if CONFIG_PM_SLEEP
    thermal: qoriq: Use devm_platform_ioremap_resource() instead of of_iomap()
    thermal: qoriq: Fix error path of calling qoriq_tmu_register_tmu_zone fail
    thermal: qoriq: Add clock operations
    drivers: thermal: processor_thermal_device: Export sysfs interface for TCC offset

    Linus Torvalds
     
  • Alex noted that the below description might not be obvious to all users.
    Clarify it by adding an example.

    Fixes: f3047ca01f12 ("Documentation: Add devlink-trap documentation")
    Reported-by: Alex Kushnarov
    Reviewed-by: Alex Kushnarov
    Acked-by: Jiri Pirko
    Signed-off-by: Ido Schimmel
    Signed-off-by: David S. Miller

    Ido Schimmel
     
  • Pull watchdog updates from Wim Van Sebroeck:

    - addition of AST2600, i.MX7ULP and F81803 watchdog support

    - removal of the w90x900 and ks8695 drivers

    - ziirave_wdt improvements

    - small fixes and improvements

    * tag 'linux-watchdog-5.4-rc1' of git://www.linux-watchdog.org/linux-watchdog: (51 commits)
    watchdog: f71808e_wdt: Add F81803 support
    watchdog: qcom: remove unnecessary variable from private storage
    watchdog: qcom: support pre-timeout when the bark irq is available
    watchdog: imx_sc: this patch just fixes whitespaces
    watchdog: apseed: Add access_cs0 option for alt-boot
    watchdog: aspeed: add support for dual boot
    watchdog: orion_wdt: use timer1 as a pretimeout
    watchdog: Add i.MX7ULP watchdog support
    dt-bindings: watchdog: Add i.MX7ULP bindings
    dt-bindings: watchdog: sun4i: Add the watchdog clock
    dt-bindings: watchdog: sun4i: Add the watchdog interrupts
    dt-bindings: watchdog: Convert Allwinner watchdog to a schema
    dt-bindings: watchdog: Add YAML schemas for the generic watchdog bindings
    watchdog: aspeed: Add support for AST2600
    dt-bindings: watchdog: Add ast2600 compatible
    watchdog: ziirave_wdt: Update checked I2C functionality mask
    watchdog: ziirave_wdt: Drop ziirave_firm_write_block_data()
    watchdog: ziirave_wdt: Fix DOWNLOAD_START payload
    watchdog: ziirave_wdt: Drop status polling code
    watchdog: ziirave_wdt: Fix RESET_PROCESSOR payload
    ...

    Linus Torvalds
     

27 Sep, 2019

2 commits

  • Merge more updates from Andrew Morton:

    - almost all of the rest of -mm

    - various other subsystems

    Subsystems affected by this patch series:
    memcg, misc, core-kernel, lib, checkpatch, reiserfs, fat, fork,
    cpumask, kexec, uaccess, kconfig, kgdb, bug, ipc, lzo, kasan, madvise,
    cleanups, pagemap

    * emailed patches from Andrew Morton : (77 commits)
    arch/sparc/include/asm/pgtable_64.h: fix build
    mm: treewide: clarify pgtable_page_{ctor,dtor}() naming
    ntfs: remove (un)?likely() from IS_ERR() conditions
    IB/hfi1: remove unlikely() from IS_ERR*() condition
    xfs: remove unlikely() from WARN_ON() condition
    wimax/i2400m: remove unlikely() from WARN*() condition
    fs: remove unlikely() from WARN_ON() condition
    xen/events: remove unlikely() from WARN() condition
    checkpatch: check for nested (un)?likely() calls
    hexagon: drop empty and unused free_initrd_mem
    mm: factor out common parts between MADV_COLD and MADV_PAGEOUT
    mm: introduce MADV_PAGEOUT
    mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIM
    mm: introduce MADV_COLD
    mm: untag user pointers in mmap/munmap/mremap/brk
    vfio/type1: untag user pointers in vaddr_get_pfn
    tee/shm: untag user pointers in tee_shm_register
    media/v4l2-core: untag user pointers in videobuf_dma_contig_user_get
    drm/radeon: untag user pointers in radeon_gem_userptr_ioctl
    drm/amdgpu: untag user pointers
    ...

    Linus Torvalds
     
  • The naming of pgtable_page_{ctor,dtor}() seems to have confused a few
    people, and until recently arm64 used these erroneously/pointlessly for
    other levels of page table.

    To make it incredibly clear that these only apply to the PTE level, and to
    align with the naming of pgtable_pmd_page_{ctor,dtor}(), let's rename them
    to pgtable_pte_page_{ctor,dtor}().

    These changes were generated with the following shell script:

    ----
    git grep -lw 'pgtable_page_.tor' | while read FILE; do
    sed -i '{s/pgtable_page_ctor/pgtable_pte_page_ctor/}' $FILE;
    sed -i '{s/pgtable_page_dtor/pgtable_pte_page_dtor/}' $FILE;
    done
    ----

    ... with the documentation re-flowed to remain under 80 columns, and
    whitespace fixed up in macros to keep backslashes aligned.

    There should be no functional change as a result of this patch.

    Link: http://lkml.kernel.org/r/20190722141133.3116-1-mark.rutland@arm.com
    Signed-off-by: Mark Rutland
    Reviewed-by: Mike Rapoport
    Acked-by: Geert Uytterhoeven [m68k]
    Cc: Anshuman Khandual
    Cc: Matthew Wilcox
    Cc: Michal Hocko
    Cc: Yu Zhao
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Rutland
     

26 Sep, 2019

3 commits

  • Document RZ/G2N (R8A774B1) SoC bindings.

    Signed-off-by: Biju Das
    Reviewed-by: Sergei Shtylyov
    Signed-off-by: David S. Miller

    Biju Das
     
  • core-api should show all the various string functions including the newly
    added stracpy and stracpy_pad.

    Miscellanea:

    o Update the Returns: value for strscpy
    o fix a defect with %NUL)

    [joe@perches.com: correct return of -E2BIG descriptions]
    Link: http://lkml.kernel.org/r/29f998b4c1a9d69fbeae70500ba0daa4b340c546.1563889130.git.joe@perches.com
    Link: http://lkml.kernel.org/r/224a6ebf39955f4107c0c376d66155d970e46733.1563841972.git.joe@perches.com
    Signed-off-by: Joe Perches
    Reviewed-by: Kees Cook
    Cc: Jonathan Corbet
    Cc: Stephen Kitt
    Cc: Nitin Gote
    Cc: Rasmus Villemoes
    Cc: Jann Horn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Pull ceph updates from Ilya Dryomov:
    "The highlights are:

    - automatic recovery of a blacklisted filesystem session (Zheng Yan).
    This is disabled by default and can be enabled by mounting with the
    new "recover_session=clean" option.

    - serialize buffered reads and O_DIRECT writes (Jeff Layton). Care is
    taken to avoid serializing O_DIRECT reads and writes with each
    other, this is based on the exclusion scheme from NFS.

    - handle large osdmaps better in the face of fragmented memory
    (myself)

    - don't limit what security.* xattrs can be get or set (Jeff Layton).
    We were overly restrictive here, unnecessarily preventing things
    like file capability sets stored in security.capability from
    working.

    - allow copy_file_range() within the same inode and across different
    filesystems within the same cluster (Luis Henriques)"

    * tag 'ceph-for-5.4-rc1' of git://github.com/ceph/ceph-client: (41 commits)
    ceph: call ceph_mdsc_destroy from destroy_fs_client
    libceph: use ceph_kvmalloc() for osdmap arrays
    libceph: avoid a __vmalloc() deadlock in ceph_kvmalloc()
    ceph: allow object copies across different filesystems in the same cluster
    ceph: include ceph_debug.h in cache.c
    ceph: move static keyword to the front of declarations
    rbd: pull rbd_img_request_create() dout out into the callers
    ceph: reconnect connection if session hang in opening state
    libceph: drop unused con parameter of calc_target()
    ceph: use release_pages() directly
    rbd: fix response length parameter for encoded strings
    ceph: allow arbitrary security.* xattrs
    ceph: only set CEPH_I_SEC_INITED if we got a MAC label
    ceph: turn ceph_security_invalidate_secctx into static inline
    ceph: add buffered/direct exclusionary locking for reads and writes
    libceph: handle OSD op ceph_pagelist_append() errors
    ceph: don't return a value from void function
    ceph: don't freeze during write page faults
    ceph: update the mtime when truncating up
    ceph: fix indentation in __get_snap_name()
    ...

    Linus Torvalds
     

25 Sep, 2019

6 commits

  • This updates bindings for MT7629 PWM controller.

    Signed-off-by: Ryder Lee
    Signed-off-by: Sam Shih
    Reviewed-by: Rob Herring
    Reviewed-by: Matthias Brugger
    Signed-off-by: Thierry Reding

    Ryder Lee
     
  • Pull i2c updates from Wolfram Sang:

    - new driver for ICY, an Amiga Zorro card :)

    - axxia driver gained slave mode support, NXP driver gained ACPI

    - the slave EEPROM backend gained 16 bit address support

    - and lots of regular driver updates and reworks

    * 'i2c/for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits)
    i2c: tegra: Move suspend handling to NOIRQ phase
    i2c: imx: ACPI support for NXP i2c controller
    i2c: uniphier(-f): remove all dev_dbg()
    i2c: uniphier(-f): use devm_platform_ioremap_resource()
    i2c: slave-eeprom: Add comment about address handling
    i2c: exynos5: Remove IRQF_ONESHOT
    i2c: stm32f7: Make structure stm32f7_i2c_algo constant
    i2c: cht-wc: drop check because i2c_unregister_device() is NULL safe
    i2c-eeprom_slave: Add support for more eeprom models
    i2c: fsi: Add of_put_node() before break
    i2c: synquacer: Make synquacer_i2c_ops constant
    i2c: hix5hd2: Remove IRQF_ONESHOT
    i2c: i801: Use iTCO version 6 in Cannon Lake PCH and beyond
    watchdog: iTCO: Add support for Cannon Lake PCH iTCO
    i2c: iproc: Make bcm_iproc_i2c_quirks constant
    i2c: iproc: Add full name of devicetree node to adapter name
    i2c: piix4: Add ACPI support
    i2c: piix4: Fix probing of reserved ports on AMD Family 16h Model 30h
    i2c: ocores: use request_any_context_irq() to register IRQ handler
    i2c: designware: Fix optional reset error handling
    ...

    Linus Torvalds
     
  • Merge updates from Andrew Morton:

    - a few hot fixes

    - ocfs2 updates

    - almost all of -mm (slab-generic, slab, slub, kmemleak, kasan,
    cleanups, debug, pagecache, memcg, gup, pagemap, memory-hotplug,
    sparsemem, vmalloc, initialization, z3fold, compaction, mempolicy,
    oom-kill, hugetlb, migration, thp, mmap, madvise, shmem, zswap,
    zsmalloc)

    * emailed patches from Andrew Morton : (132 commits)
    mm/zsmalloc.c: fix a -Wunused-function warning
    zswap: do not map same object twice
    zswap: use movable memory if zpool support allocate movable memory
    zpool: add malloc_support_movable to zpool_driver
    shmem: fix obsolete comment in shmem_getpage_gfp()
    mm/madvise: reduce code duplication in error handling paths
    mm: mmap: increase sockets maximum memory size pgoff for 32bits
    mm/mmap.c: refine find_vma_prev() with rb_last()
    riscv: make mmap allocation top-down by default
    mips: use generic mmap top-down layout and brk randomization
    mips: replace arch specific way to determine 32bit task with generic version
    mips: adjust brk randomization offset to fit generic version
    mips: use STACK_TOP when computing mmap base address
    mips: properly account for stack randomization and stack guard gap
    arm: use generic mmap top-down layout and brk randomization
    arm: use STACK_TOP when computing mmap base address
    arm: properly account for stack randomization and stack guard gap
    arm64, mm: make randomization selected by generic topdown mmap layout
    arm64, mm: move generic mmap layout functions to mm
    arm64: consider stack randomization for mmap base only when necessary
    ...

    Linus Torvalds
     
  • Cgroup v1 memcg controller has exposed a dedicated kmem limit to users
    which turned out to be really a bad idea because there are paths which
    cannot shrink the kernel memory usage enough to get below the limit (e.g.
    because the accounted memory is not reclaimable). There are cases when
    the failure is even not allowed (e.g. __GFP_NOFAIL). This means that the
    kmem limit is in excess to the hard limit without any way to shrink and
    thus completely useless. OOM killer cannot be invoked to handle the
    situation because that would lead to a premature oom killing.

    As a result many places might see ENOMEM returning from kmalloc and result
    in unexpected errors. E.g. a global OOM killer when there is a lot of
    free memory because ENOMEM is translated into VM_FAULT_OOM in #PF path and
    therefore pagefault_out_of_memory would result in OOM killer.

    Please note that the kernel memory is still accounted to the overall limit
    along with the user memory so removing the kmem specific limit should
    still allow to contain kernel memory consumption. Unlike the kmem one,
    though, it invokes memory reclaim and targeted memcg oom killing if
    necessary.

    Start the deprecation process by crying to the kernel log. Let's see
    whether there are relevant usecases and simply return to EINVAL in the
    second stage if nobody complains in few releases.

    [akpm@linux-foundation.org: tweak documentation text]
    Link: http://lkml.kernel.org/r/20190911151612.GI4023@dhcp22.suse.cz
    Signed-off-by: Michal Hocko
    Reviewed-by: Shakeel Butt
    Cc: Johannes Weiner
    Cc: Vladimir Davydov
    Cc: Andrey Ryabinin
    Cc: Thomas Lindroth
    Cc: Tetsuo Handa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • The debug_pagealloc functionality is useful to catch buggy page allocator
    users that cause e.g. use after free or double free. When page
    inconsistency is detected, debugging is often simpler by knowing the call
    stack of process that last allocated and freed the page. When page_owner
    is also enabled, we record the allocation stack trace, but not freeing.

    This patch therefore adds recording of freeing process stack trace to page
    owner info, if both page_owner and debug_pagealloc are configured and
    enabled. With only page_owner enabled, this info is not useful for the
    memory leak debugging use case. dump_page() is adjusted to print the
    info. An example result of calling __free_pages() twice may look like
    this (note the page last free stack trace):

    BUG: Bad page state in process bash pfn:13d8f8
    page:ffffc31984f63e00 refcount:-1 mapcount:0 mapping:0000000000000000 index:0x0
    flags: 0x1affff800000000()
    raw: 01affff800000000 dead000000000100 dead000000000122 0000000000000000
    raw: 0000000000000000 0000000000000000 ffffffffffffffff 0000000000000000
    page dumped because: nonzero _refcount
    page_owner tracks the page as freed
    page last allocated via order 0, migratetype Unmovable, gfp_mask 0xcc0(GFP_KERNEL)
    prep_new_page+0x143/0x150
    get_page_from_freelist+0x289/0x380
    __alloc_pages_nodemask+0x13c/0x2d0
    khugepaged+0x6e/0xc10
    kthread+0xf9/0x130
    ret_from_fork+0x3a/0x50
    page last free stack trace:
    free_pcp_prepare+0x134/0x1e0
    free_unref_page+0x18/0x90
    khugepaged+0x7b/0xc10
    kthread+0xf9/0x130
    ret_from_fork+0x3a/0x50
    Modules linked in:
    CPU: 3 PID: 271 Comm: bash Not tainted 5.3.0-rc4-2.g07a1a73-default+ #57
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58-prebuilt.qemu.org 04/01/2014
    Call Trace:
    dump_stack+0x85/0xc0
    bad_page.cold+0xba/0xbf
    rmqueue_pcplist.isra.0+0x6c5/0x6d0
    rmqueue+0x2d/0x810
    get_page_from_freelist+0x191/0x380
    __alloc_pages_nodemask+0x13c/0x2d0
    __get_free_pages+0xd/0x30
    __pud_alloc+0x2c/0x110
    copy_page_range+0x4f9/0x630
    dup_mmap+0x362/0x480
    dup_mm+0x68/0x110
    copy_process+0x19e1/0x1b40
    _do_fork+0x73/0x310
    __x64_sys_clone+0x75/0x80
    do_syscall_64+0x6e/0x1e0
    entry_SYSCALL_64_after_hwframe+0x49/0xbe
    RIP: 0033:0x7f10af854a10
    ...

    Link: http://lkml.kernel.org/r/20190820131828.22684-5-vbabka@suse.cz
    Signed-off-by: Vlastimil Babka
    Cc: Kirill A. Shutemov
    Cc: Matthew Wilcox
    Cc: Mel Gorman
    Cc: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vlastimil Babka
     
  • Currently, a value of '1" is written to /sys/kernel/slab//shrink
    file to shrink the slab by flushing out all the per-cpu slabs and free
    slabs in partial lists. This can be useful to squeeze out a bit more
    memory under extreme condition as well as making the active object counts
    in /proc/slabinfo more accurate.

    This usually applies only to the root caches, as the SLUB_MEMCG_SYSFS_ON
    option is usually not enabled and "slub_memcg_sysfs=1" not set. Even if
    memcg sysfs is turned on, it is too cumbersome and impractical to manage
    all those per-memcg sysfs files in a real production system.

    So there is no practical way to shrink memcg caches. Fix this by enabling
    a proper write to the shrink sysfs file of the root cache to scan all the
    available memcg caches and shrink them as well. For a non-root memcg
    cache (when SLUB_MEMCG_SYSFS_ON or slub_memcg_sysfs is on), only that
    cache will be shrunk when written.

    On a 2-socket 64-core 256-thread arm64 system with 64k page after
    a parallel kernel build, the the amount of memory occupied by slabs
    before shrinking slabs were:

    # grep task_struct /proc/slabinfo
    task_struct 53137 53192 4288 61 4 : tunables 0 0
    0 : slabdata 872 872 0
    # grep "^S[lRU]" /proc/meminfo
    Slab: 3936832 kB
    SReclaimable: 399104 kB
    SUnreclaim: 3537728 kB

    After shrinking slabs (by echoing "1" to all shrink files):

    # grep "^S[lRU]" /proc/meminfo
    Slab: 1356288 kB
    SReclaimable: 263296 kB
    SUnreclaim: 1092992 kB
    # grep task_struct /proc/slabinfo
    task_struct 2764 6832 4288 61 4 : tunables 0 0
    0 : slabdata 112 112 0

    Link: http://lkml.kernel.org/r/20190723151445.7385-1-longman@redhat.com
    Signed-off-by: Waiman Long
    Acked-by: Roman Gushchin
    Acked-by: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Joonsoo Kim
    Cc: Michal Hocko
    Cc: Johannes Weiner
    Cc: Shakeel Butt
    Cc: Vladimir Davydov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Waiman Long
     

24 Sep, 2019

9 commits

  • Hyper-V direct tlb flush function should be enabled for
    guest that only uses Hyper-V hypercall. User space
    hypervisor(e.g, Qemu) can disable KVM identification in
    CPUID and just exposes Hyper-V identification to make
    sure the precondition. Add new KVM capability KVM_CAP_
    HYPERV_DIRECT_TLBFLUSH for user space to enable Hyper-V
    direct tlb function and this function is default to be
    disabled in KVM.

    Signed-off-by: Tianyu Lan
    Signed-off-by: Paolo Bonzini

    Tianyu Lan
     
  • Pull MFD updates from Lee Jones:
    "New Drivers:
    - Add support for Merrifield Basin Cove PMIC

    New Device Support:
    - Add support for Intel Tiger Lake to Intel LPSS PCI
    - Add support for Intel Sky Lake to Intel LPSS PCI
    - Add support for ST-Ericsson DB8520 to DB8500 PRCMU

    New Functionality:
    - Add RTC and PWRC support to MT6323

    Fix-ups:
    - Clean-up include files; davinci_voicecodec, asic3, sm501, mt6397
    - Ignore return values from debugfs_create*(); ab3100-*, ab8500-debugfs, aat2870-core
    - Device Tree changes; rn5t618, mt6397
    - Use new I2C API; tps80031, 88pm860x-core, ab3100-core, bcm590xx,
    da9150-core, max14577, max77693, max77843, max8907,
    max8925-i2c, max8997, max8998, palmas, twl-core,
    - Remove obsolete code; da9063, jz4740-adc
    - Simplify semantics; timberdale, htc-i2cpld
    - Add 'fall-through' tags; omap-usb-host, db8500-prcmu
    - Remove superfluous prints; ab8500-debugfs, db8500-prcmu, fsl-imx25-tsadc,
    intel_soc_pmic_bxtwc, qcom_rpm, sm501
    - Trivial rename/whitespace/typo fixes; mt6397-core, MAINTAINERS
    - Reorganise code structure; mt6397-*
    - Improve code consistency; intel-lpss
    - Use MODULE_SOFTDEP() helper; intel-lpss
    - Use DEFINE_RES_*() helpers; mt6397-core

    Bug Fixes:
    - Clean-up resources; max77620
    - Prevent input events being dropped on resume; intel-lpss-pci
    - Prevent sleeping in IRQ context; ezx-pcap"

    * tag 'mfd-next-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (48 commits)
    mfd: mt6323: Add MT6323 RTC and PWRC
    mfd: mt6323: Replace boilerplate resource code with DEFINE_RES_* macros
    mfd: mt6397: Add mutex include
    dt-bindings: mfd: mediatek: Add MT6323 Power Controller
    dt-bindings: mfd: mediatek: Update RTC to include MT6323
    dt-bindings: mfd: mediatek: mt6397: Change to relative paths
    mfd: db8500-prcmu: Support the higher DB8520 ARMSS
    mfd: intel-lpss: Use MODULE_SOFTDEP() instead of implicit request
    mfd: htc-i2cpld: Drop check because i2c_unregister_device() is NULL safe
    mfd: sm501: Include the GPIO driver header
    mfd: intel-lpss: Add Intel Skylake ACPI IDs
    mfd: intel-lpss: Consistently use GENMASK()
    mfd: Add support for Merrifield Basin Cove PMIC
    mfd: ezx-pcap: Replace mutex_lock with spin_lock
    mfd: asic3: Include the right header
    MAINTAINERS: altera-sysmgr: Fix typo in a filepath
    mfd: mt6397: Extract IRQ related code from core driver
    mfd: mt6397: Rename macros to something more readable
    mfd: Remove dev_err() usage after platform_get_irq()
    mfd: db8500-prcmu: Mark expected switch fall-throughs
    ...

    Linus Torvalds
     
  • Pull backlight updates from Lee Jones:
    "Core Frameworks
    - Obtain scale type through sysfs

    New Functionality:
    - Provide Device Tree functionality in rave-sp-backlight
    - Calculate if scale type is (non-)linear in pwm_bl

    Fix-ups:
    - Simplify code in lm3630a_bl
    - Trivial rename/whitespace/typo fixes in lms283gf05
    - Remove superfluous NULL check in tosa_lcd
    - Fix power state initialisation in gpio_backlight
    - List supported file in MAINTAINERS

    Bug Fixes:
    - Kconfig - default to not building unless requested in
    {LED,BACKLIGHT}_CLASS_DEVICE"

    * tag 'backlight-next-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
    backlight: pwm_bl: Set scale type for brightness curves specified in the DT
    backlight: pwm_bl: Set scale type for CIE 1931 curves
    backlight: Expose brightness curve type through sysfs
    MAINTAINERS: Add entry for stable backlight sysfs ABI documentation
    backlight: gpio-backlight: Correct initial power state handling
    video: backlight: tosa_lcd: drop check because i2c_unregister_device() is NULL safe
    video: backlight: Drop default m for {LCD,BACKLIGHT_CLASS_DEVICE}
    backlight: lms283gf05: Fix a typo in the description passed to 'devm_gpio_request_one()'
    backlight: lm3630a: Switch to use fwnode_property_count_uXX()
    backlight: rave-sp: Leave initial state and register with correct device

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "Enumeration:

    - Consolidate _HPP/_HPX stuff in pci-acpi.c and simplify it
    (Krzysztof Wilczynski)

    - Fix incorrect PCIe device types and remove dev->has_secondary_link
    to simplify code that deals with upstream/downstream ports (Mika
    Westerberg)

    - After suspend, restore Resizable BAR size bits correctly for 1MB
    BARs (Sumit Saxena)

    - Enable PCI_MSI_IRQ_DOMAIN support for RISC-V (Wesley Terpstra)

    Virtualization:

    - Add ACS quirks for iProc PAXB (Abhinav Ratna), Amazon Annapurna
    Labs (Ali Saidi)

    - Move sysfs SR-IOV functions to iov.c (Kelsey Skunberg)

    - Remove group write permissions from sysfs sriov_numvfs,
    sriov_drivers_autoprobe (Kelsey Skunberg)

    Hotplug:

    - Simplify pciehp indicator control (Denis Efremov)

    Peer-to-peer DMA:

    - Allow P2P DMA between root ports for whitelisted bridges (Logan
    Gunthorpe)

    - Whitelist some Intel host bridges for P2P DMA (Logan Gunthorpe)

    - DMA map P2P DMA requests that traverse host bridge (Logan
    Gunthorpe)

    Amazon Annapurna Labs host bridge driver:

    - Add DT binding and controller driver (Jonathan Chocron)

    Hyper-V host bridge driver:

    - Fix hv_pci_dev->pci_slot use-after-free (Dexuan Cui)

    - Fix PCI domain number collisions (Haiyang Zhang)

    - Use instance ID bytes 4 & 5 as PCI domain numbers (Haiyang Zhang)

    - Fix build errors on non-SYSFS config (Randy Dunlap)

    i.MX6 host bridge driver:

    - Limit DBI register length (Stefan Agner)

    Intel VMD host bridge driver:

    - Fix config addressing issues (Jon Derrick)

    Layerscape host bridge driver:

    - Add bar_fixed_64bit property to endpoint driver (Xiaowei Bao)

    - Add CONFIG_PCI_LAYERSCAPE_EP to build EP/RC drivers separately
    (Xiaowei Bao)

    Mediatek host bridge driver:

    - Add MT7629 controller support (Jianjun Wang)

    Mobiveil host bridge driver:

    - Fix CPU base address setup (Hou Zhiqiang)

    - Make "num-lanes" property optional (Hou Zhiqiang)

    Tegra host bridge driver:

    - Fix OF node reference leak (Nishka Dasgupta)

    - Disable MSI for root ports to work around design problem (Vidya
    Sagar)

    - Add Tegra194 DT binding and controller support (Vidya Sagar)

    - Add support for sideband pins and slot regulators (Vidya Sagar)

    - Add PIPE2UPHY support (Vidya Sagar)

    Misc:

    - Remove unused pci_block_cfg_access() et al (Kelsey Skunberg)

    - Unexport pci_bus_get(), etc (Kelsey Skunberg)

    - Hide PM, VC, link speed, ATS, ECRC, PTM constants and interfaces in
    the PCI core (Kelsey Skunberg)

    - Clean up sysfs DEVICE_ATTR() usage (Kelsey Skunberg)

    - Mark expected switch fall-through (Gustavo A. R. Silva)

    - Propagate errors for optional regulators and PHYs (Thierry Reding)

    - Fix kernel command line resource_alignment parameter issues (Logan
    Gunthorpe)"

    * tag 'pci-v5.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (112 commits)
    PCI: Add pci_irq_vector() and other stubs when !CONFIG_PCI
    arm64: tegra: Add PCIe slot supply information in p2972-0000 platform
    arm64: tegra: Add configuration for PCIe C5 sideband signals
    PCI: tegra: Add support to enable slot regulators
    PCI: tegra: Add support to configure sideband pins
    PCI: vmd: Fix shadow offsets to reflect spec changes
    PCI: vmd: Fix config addressing when using bus offsets
    PCI: dwc: Add validation that PCIe core is set to correct mode
    PCI: dwc: al: Add Amazon Annapurna Labs PCIe controller driver
    dt-bindings: PCI: Add Amazon's Annapurna Labs PCIe host bridge binding
    PCI: Add quirk to disable MSI-X support for Amazon's Annapurna Labs Root Port
    PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port
    PCI: Add ACS quirk for Amazon Annapurna Labs root ports
    PCI: Add Amazon's Annapurna Labs vendor ID
    MAINTAINERS: Add PCI native host/endpoint controllers designated reviewer
    PCI: hv: Use bytes 4 and 5 from instance ID as the PCI domain numbers
    dt-bindings: PCI: tegra: Add PCIe slot supplies regulator entries
    dt-bindings: PCI: tegra: Add sideband pins configuration entries
    PCI: tegra: Add Tegra194 PCIe support
    PCI: Get rid of dev->has_secondary_link flag
    ...

    Linus Torvalds
     
  • - Fix typos and whitespace errors (Bjorn Helgaas, Krzysztof Wilczynski)

    - Remove unnecessary "return" statements (Krzysztof Wilczynski)

    - Correct of_irq_parse_pci() function documentation (Lubomir Rintel)

    * pci/trivial:
    PCI: Remove unnecessary returns
    PCI: OF: Correct of_irq_parse_pci() documentation
    PCI: Fix typos and whitespace errors

    Bjorn Helgaas
     
  • - Fix Tegra OF node reference leak (Nishka Dasgupta)

    - Add #defines for PCIe Data Link Feature and Physical Layer 16.0 GT/s
    features (Vidya Sagar)

    - Disable MSI for Tegra Root Ports since they don't support using MSI for
    all Root Port events (Vidya Sagar)

    - Group DesignWare write-protected register writes together (Vidya Sagar)

    - Move DesignWare capability search interfaces so they can be used by
    both host and endpoint drivers (Vidya Sagar)

    - Add DesignWare extended capability search interfaces (Vidya Sagar)

    - Export dw_pcie_wait_for_link() so drivers can be modules (Vidya Sagar)

    - Add "snps,enable-cdm-check" DT binding for Configuration Dependent
    Module (CDM) register checking (Vidya Sagar)

    - Add DesignWare support for "snps,enable-cdm-check" CDM checking (Vidya
    Sagar)

    - Add "supports-clkreq" DT binding for host drivers to decide whether to
    advertise low power features (Vidya Sagar)

    - Add DT binding for Tegra194 (Vidya Sagar)

    - Add DT binding for Tegra194 P2U (PIPE to UPHY) block (Vidya Sagar)

    - Add support for Tegra194 P2U (PIPE to UPHY) (Vidya Sagar)

    - Add support for Tegra194 host controller (Vidya Sagar)

    - Add Tegra support for sideband PERST# and CLKREQ# for C5 (Vidya Sagar)

    - Add Tegra support for slot regulators for p2972-0000 platform (Vidya
    Sagar)

    * lorenzo/pci/tegra:
    arm64: tegra: Add PCIe slot supply information in p2972-0000 platform
    arm64: tegra: Add configuration for PCIe C5 sideband signals
    PCI: tegra: Add support to enable slot regulators
    PCI: tegra: Add support to configure sideband pins
    dt-bindings: PCI: tegra: Add PCIe slot supplies regulator entries
    dt-bindings: PCI: tegra: Add sideband pins configuration entries
    PCI: tegra: Add Tegra194 PCIe support
    phy: tegra: Add PCIe PIPE2UPHY support
    dt-bindings: PHY: P2U: Add Tegra194 P2U block
    dt-bindings: PCI: tegra: Add device tree support for Tegra194
    dt-bindings: Add PCIe supports-clkreq property
    PCI: dwc: Add support to enable CDM register check
    dt-bindings: PCI: designware: Add binding for CDM register check
    PCI: dwc: Export dw_pcie_wait_for_link() API
    PCI: dwc: Add extended configuration space capability search API
    PCI: dwc: Move config space capability search API
    PCI: dwc: Group DBI registers writes requiring unlocking
    PCI: Disable MSI for Tegra root ports
    PCI: Add #defines for some of PCIe spec r4.0 features
    PCI: tegra: Fix OF node reference leak

    Bjorn Helgaas
     
  • - Add mediatek support for MT7629 (Jianjun Wang)

    * remotes/lorenzo/pci/mediatek:
    PCI: mediatek: Add controller support for MT7629
    dt-bindings: PCI: Add support for MT7629

    Bjorn Helgaas
     
  • - Make kirin_dw_pcie_ops constant (Nishka Dasgupta)

    - Make DesignWare "num-lanes" property optional and remove from relevant
    DTs (Hou Zhiqiang)

    * remotes/lorenzo/pci/dwc:
    arm64: dts: fsl: Remove num-lanes property from PCIe nodes
    ARM: dts: ls1021a: Remove num-lanes property from PCIe nodes
    PCI: dwc: Return directly when num-lanes is not found
    dt-bindings: PCI: designware: Remove the num-lanes from Required properties
    PCI: kirin: Make structure kirin_dw_pcie_ops constant

    Bjorn Helgaas
     
  • - Add driver for Amazon Annapurna Labs PCIe controller (Jonathan Chocron)

    - Disable MSI-X since Annapurna Labs advertises it, but it's broken
    (Jonathan Chocron)

    - Disable VPD since Annapurna Labs advertises it, but it's broken
    (Jonathan Chocron)

    - Add ACS quirk since Annapurna Labs doesn't support ACS but does provide
    some equivalent protections (Ali Saidi)

    * remotes/lorenzo/pci/al:
    PCI: dwc: Add validation that PCIe core is set to correct mode
    PCI: dwc: al: Add Amazon Annapurna Labs PCIe controller driver
    dt-bindings: PCI: Add Amazon's Annapurna Labs PCIe host bridge binding
    PCI: Add quirk to disable MSI-X support for Amazon's Annapurna Labs Root Port
    PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port
    PCI: Add ACS quirk for Amazon Annapurna Labs root ports
    PCI: Add Amazon's Annapurna Labs vendor ID

    # Conflicts:
    # drivers/pci/quirks.c

    Bjorn Helgaas
     

23 Sep, 2019

4 commits

  • Pull RTC updates from Alexandre Belloni:
    "Two new drivers and the new pcf2127 feature make the bulk of the
    additions. The rest are the usual fixes and new features.

    Subsystem:
    - add debug message when registration fails

    New drivers:
    - Amlogic Virtual Wake
    - Freescale FlexTimer Module alarm

    Drivers:
    - remove superfluous error messages
    - convert to i2c_new_dummy_device and devm_i2c_new_dummy_device
    - Remove dev_err() usage after platform_get_irq()
    - Set RTC range for: pcf2123, pcf8563, snvs.
    - pcf2127: tamper detection and watchdog support
    - pcf85363: fix regmap issue
    - sun6i: H6 support
    - remove w90x900/nuc900 driver"

    * tag 'rtc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (51 commits)
    rtc: meson: mark PM functions as __maybe_unused
    rtc: sc27xx: Remove clearing SPRD_RTC_POWEROFF_ALM_FLAG flag
    dt-bindings: rtc: ds1307: add rx8130 compatible
    rtc: sun6i: Allow using as wakeup source from suspend
    rtc: pcf8563: let the core handle range offsetting
    rtc: pcf8563: remove useless indirection
    rtc: pcf8563: convert to devm_rtc_allocate_device
    rtc: pcf8563: add Microcrystal RV8564 compatible
    rtc: pcf8563: add Epson RTC8564 compatible
    rtc: s35390a: convert to devm_i2c_new_dummy_device()
    rtc: max77686: convert to devm_i2c_new_dummy_device()
    rtc: pcf85363/pcf85263: fix regmap error in set_time
    rtc: snvs: switch to rtc_time64_to_tm/rtc_tm_to_time64
    rtc: snvs: set range
    rtc: snvs: fix possible race condition
    rtc: pcf2127: bugfix: watchdog build dependency
    rtc: pcf2127: add tamper detection support
    rtc: pcf2127: add watchdog feature support
    rtc: pcf2127: bugfix: read rtc disables watchdog
    rtc: pcf2127: cleanup register and bit defines
    ...

    Linus Torvalds
     
  • Pull remoteproc updates from Bjorn Andersson:
    "This exposes the remoteproc's name in sysfs, allows stm32 to enter
    platform standby and provides bug fixes for stm32 and Qualcomm's modem
    remoteproc drivers. Finally it updates MAINTAINERS to reflect the move
    to kernel.org"

    * tag 'rproc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
    MAINTAINERS: remoteproc: update git tree location
    remoteproc: Remove dev_err() usage after platform_get_irq()
    remoteproc: stm32: manage the get_irq probe defer case
    remoteproc: stm32: clear MCU PDDS at firmware start
    remoteproc: qcom: q6v5-mss: fixup q6v5_pds_enable error handling
    remoteproc: Add a sysfs interface for name
    remoteproc: qcom: Move glink_ssr notification after stop

    Linus Torvalds
     
  • Pull soundwire updates from Vinod Koul:
    "This includes DT support thanks to Srini and more work done by Intel
    (Pierre) on improving cadence and intel support.

    Summary:

    - Add DT bindings and DT support in core

    - Add debugfs support for soundwire properties

    - Improvements on streaming handling to core

    - Improved handling of Cadence module

    - More updates and improvements to Intel driver"

    * tag 'soundwire-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: (30 commits)
    soundwire: stream: make stream name a const pointer
    soundwire: Add compute_params callback
    soundwire: core: add device tree support for slave devices
    dt-bindings: soundwire: add slave bindings
    soundwire: bus: set initial value to port_status
    soundwire: intel: handle disabled links
    soundwire: intel: add debugfs register dump
    soundwire: cadence_master: add debugfs register dump
    soundwire: add debugfs support
    soundwire: intel: remove unused variables
    soundwire: intel: move shutdown() callback and don't export symbol
    soundwire: cadence_master: add kernel parameter to override interrupt mask
    soundwire: intel_init: add kernel module parameter to filter out links
    soundwire: cadence_master: fix divider setting in clock register
    soundwire: cadence_master: make use of mclk_freq property
    soundwire: intel: read mclk_freq property from firmware
    soundwire: add new mclk_freq field for properties
    soundwire: stream: remove unnecessary variable initializations
    soundwire: stream: fix disable sequence
    soundwire: include mod_devicetable.h to avoid compiling warnings
    ...

    Linus Torvalds
     
  • Pull modules updates from Jessica Yu:
    "The main bulk of this pull request introduces a new exported symbol
    namespaces feature. The number of exported symbols is increasingly
    growing with each release (we're at about 31k exports as of 5.3-rc7)
    and we currently have no way of visualizing how these symbols are
    "clustered" or making sense of this huge export surface.

    Namespacing exported symbols allows kernel developers to more
    explicitly partition and categorize exported symbols, as well as more
    easily limiting the availability of namespaced symbols to other parts
    of the kernel. For starters, we have introduced the USB_STORAGE
    namespace to demonstrate the API's usage. I have briefly summarized
    the feature and its main motivations in the tag below.

    Summary:

    - Introduce exported symbol namespaces.

    This new feature allows subsystem maintainers to partition and
    categorize their exported symbols into explicit namespaces. Module
    authors are now required to import the namespaces they need.

    Some of the main motivations of this feature include: allowing
    kernel developers to better manage the export surface, allow
    subsystem maintainers to explicitly state that usage of some
    exported symbols should only be limited to certain users (think:
    inter-module or inter-driver symbols, debugging symbols, etc), as
    well as more easily limiting the availability of namespaced symbols
    to other parts of the kernel.

    With the module import requirement, it is also easier to spot the
    misuse of exported symbols during patch review.

    Two new macros are introduced: EXPORT_SYMBOL_NS() and
    EXPORT_SYMBOL_NS_GPL(). The API is thoroughly documented in
    Documentation/kbuild/namespaces.rst.

    - Some small code and kbuild cleanups here and there"

    * tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
    module: Remove leftover '#undef' from export header
    module: remove unneeded casts in cmp_name()
    module: move CONFIG_UNUSED_SYMBOLS to the sub-menu of MODULES
    module: remove redundant 'depends on MODULES'
    module: Fix link failure due to invalid relocation on namespace offset
    usb-storage: export symbols in USB_STORAGE namespace
    usb-storage: remove single-use define for debugging
    docs: Add documentation for Symbol Namespaces
    scripts: Coccinelle script for namespace dependencies.
    modpost: add support for generating namespace dependencies
    export: allow definition default namespaces in Makefiles or sources
    module: add config option MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
    modpost: add support for symbol namespaces
    module: add support for symbol namespaces.
    export: explicitly align struct kernel_symbol
    module: support reading multiple values per modinfo tag

    Linus Torvalds