19 Mar, 2019

4 commits

  • This commit updates the section on LKMM limitations to no longer say
    that SRCU is not modeled, but instead describe how LKMM's modeling of
    SRCU departs from the Linux-kernel implementation.

    TL;DR: There is no known valid use case that cares about the Linux
    kernel's ability to have partially overlapping SRCU read-side critical
    sections.

    Signed-off-by: Paul E. McKenney
    Acked-by: Andrea Parri

    Paul E. McKenney
     
  • Add support for SRCU. Herd creates srcu events and linux-kernel.def
    associates them with three possible annotations (srcu-lock,
    srcu-unlock, and sync-srcu) corresponding to the API routines
    srcu_read_lock(), srcu_read_unlock(), and synchronize_srcu().

    The linux-kernel.bell file now declares the annotations
    and determines matching lock/unlock pairs delimiting SRCU read-side
    critical sections, and it also checks for synchronize_srcu() calls
    inside an RCU critical section (which would generate a "sleeping in
    atomic context" error in real kernel code). The linux-kernel.cat file
    now adds SRCU-induced ordering, analogous to the existing RCU-induced
    ordering, to the gp and rcu-fence relations.

    Curiously enough, these small changes to the model's .cat code are all
    that is needed to describe SRCU.

    Portions of this patch (linux-kernel.def and the first hunk in
    linux-kernel.bell) were written by Luc Maranget.

    Signed-off-by: Alan Stern
    CC: Luc Maranget
    Signed-off-by: Paul E. McKenney
    Tested-by: Andrea Parri

    Alan Stern
     
  • In preparation for adding support for SRCU, refactor the definitions
    of rcu-fence, rcu-rscsi, rcu-link, and rb by moving the po and po?
    terms from the first two to the second two. An rcu-gp relation is
    added; it is equivalent to gp with the po and po? terms removed.

    This is necessary because for SRCU, we will have to use the loc
    relation to check that the terms at the start and end of each disjunct
    in the definition of rcu-fence refer to the same srcu_struct
    location. If these terms are hidden behind po and po?, there's no way
    to carry out this check.

    Signed-off-by: Alan Stern
    Signed-off-by: Paul E. McKenney
    Tested-by: Andrea Parri

    Alan Stern
     
  • In preparation for adding support for SRCU, rename "crit" to
    "rcu-rscs", rename "rscs" to "rcu-rscsi", and remove the restriction
    to only the outermost level of nesting.

    The name change is needed for disambiguating RCU read-side critical
    sections from SRCU read-side critical sections. Adding the "i" at the
    end of "rcu-rscsi" emphasizes that the relation is inverted; it links
    rcu_read_unlock() events to their corresponding preceding
    rcu_read_lock() events.

    The restriction to outermost nesting levels was never essential; it
    was included mostly to show that it could be done. Rather than add
    equivalent unnecessary code for SRCU lock nesting, it seemed better to
    remove the existing code.

    Signed-off-by: Alan Stern
    Signed-off-by: Paul E. McKenney
    Tested-by: Andrea Parri

    Alan Stern
     

18 Mar, 2019

6 commits

  • Linus Torvalds
     
  • Pull more Kbuild updates from Masahiro Yamada:

    - add more Build-Depends to Debian source package

    - prefix header search paths with $(srctree)/

    - make modpost show verbose section mismatch warnings

    - avoid hard-coded CROSS_COMPILE for h8300

    - fix regression for Debian make-kpkg command

    - add semantic patch to detect missing put_device()

    - fix some warnings of 'make deb-pkg'

    - optimize NOSTDINC_FLAGS evaluation

    - add warnings about redundant generic-y

    - clean up Makefiles and scripts

    * tag 'kbuild-v5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kconfig: remove stale lxdialog/.gitignore
    kbuild: force all architectures except um to include mandatory-y
    kbuild: warn redundant generic-y
    Revert "modsign: Abort modules_install when signing fails"
    kbuild: Make NOSTDINC_FLAGS a simply expanded variable
    kbuild: deb-pkg: avoid implicit effects
    coccinelle: semantic code search for missing put_device()
    kbuild: pkg: grep include/config/auto.conf instead of $KCONFIG_CONFIG
    kbuild: deb-pkg: introduce is_enabled and if_enabled_echo to builddeb
    kbuild: deb-pkg: add CONFIG_ prefix to kernel config options
    kbuild: add workaround for Debian make-kpkg
    kbuild: source include/config/auto.conf instead of ${KCONFIG_CONFIG}
    unicore32: simplify linker script generation for decompressor
    h8300: use cc-cross-prefix instead of hardcoding h8300-unknown-linux-
    kbuild: move archive command to scripts/Makefile.lib
    modpost: always show verbose warning for section mismatch
    ia64: prefix header search path with $(srctree)/
    libfdt: prefix header search paths with $(srctree)/
    deb-pkg: generate correct build dependencies

    Linus Torvalds
     
  • Pull x86 asm updates from Thomas Gleixner:
    "Two cleanup patches removing dead conditionals and unused code"

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/asm: Remove unused __constant_c_x_memset() macro and inlines
    x86/asm: Remove dead __GNUC__ conditionals

    Linus Torvalds
     
  • Pull perf fixes from Thomas Gleixner:
    "Three fixes for the fallout from the TSX errata workaround:

    - Prevent memory corruption caused by a unchecked out of bound array
    index.

    - Two trivial fixes to address compiler warnings"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/intel: Make dev_attr_allow_tsx_force_abort static
    perf/x86: Fixup typo in stub functions
    perf/x86/intel: Fix memory corruption

    Linus Torvalds
     
  • Pull xen fix from Juergen Gross:
    "A fix for a Xen bug introduced by David's series for excluding
    ballooned pages in vmcores"

    * tag 'for-linus-5.1b-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/balloon: Fix mapping PG_offline pages to user space

    Linus Torvalds
     
  • Pull 9p updates from Dominique Martinet:
    "Here is a 9p update for 5.1; there honestly hasn't been much.

    Two fixes (leak on invalid mount argument and possible deadlock on
    i_size update on 32bit smp) and a fall-through warning cleanup"

    * tag '9p-for-5.1' of git://github.com/martinetd/linux:
    9p/net: fix memory leak in p9_client_create
    9p: use inode->i_lock to protect i_size_write() under 32-bit
    9p: mark expected switch fall-through

    Linus Torvalds
     

17 Mar, 2019

15 commits

  • Fixes: 400816f60c54 ("perf/x86/intel: Implement support for TSX Force Abort")
    Signed-off-by: kbuild test robot
    Signed-off-by: Thomas Gleixner
    Cc: "Peter Zijlstra (Intel)"
    Cc: kbuild-all@01.org
    Cc: Borislav Petkov
    Cc: "H. Peter Anvin"
    Cc: Kan Liang
    Cc: Jiri Olsa
    Cc: Andi Kleen
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190313184243.GA10820@lkp-sb-ep06

    kbuild test robot
     
  • When this .gitignore was added, lxdialog was an independent hostprogs-y.

    Now that all objects in lxdialog/ are directly linked to mconf, the
    lxdialog is no longer generated.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Currently, every arch/*/include/uapi/asm/Kbuild explicitly includes
    the common Kbuild.asm file. Factor out the duplicated include directives
    to scripts/Makefile.asm-generic so that no architecture would opt out
    of the mandatory-y mechanism.

    um is not forced to include mandatory-y since it is a very exceptional
    case which does not support UAPI.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The generic-y is redundant under the following condition:

    - arch has its own implementation

    - the same header is added to generated-y

    - the same header is added to mandatory-y

    If a redundant generic-y is found, the warning like follows is displayed:

    scripts/Makefile.asm-generic:20: redundant generic-y found in arch/arm/include/asm/Kbuild: timex.h

    I fixed up arch Kbuild files found by this.

    Suggested-by: Sam Ravnborg
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • This reverts commit caf6fe91ddf62a96401e21e9b7a07227440f4185.

    The commit was fine but is no longer needed as of commit 3a2429e1faf4
    ("kbuild: change if_changed_rule for multi-line recipe"). Let's go
    back to using ";" to be consistent.

    For some discussion, see:

    https://lkml.kernel.org/r/CAK7LNASde0Q9S5GKeQiWhArfER4S4wL1=R_FW8q0++_X3T5=hQ@mail.gmail.com

    Signed-off-by: Douglas Anderson
    Signed-off-by: Masahiro Yamada

    Douglas Anderson
     
  • During a simple no-op (nothing changed) build I saw 39 invocations of
    the C compiler with the argument "-print-file-name=include". We don't
    need to call the C compiler 39 times for this--one time will suffice.

    Let's change NOSTDINC_FLAGS to a simply expanded variable to avoid
    this since there doesn't appear to be any reason it should be
    recursively expanded.

    On my build this shaved ~400 ms off my "no-op" build.

    Note that the recursive expansion seems to date back to the (really
    old) commit e8f5bdb02ce0 ("[PATCH] Makefile include path ordering").
    It's a little unclear to me if the point of that patch was to switch
    the variable to be recursively expanded (which it did) or to avoid
    directly assigning to NOSTDINC_FLAGS (AKA to switch to +=) because
    someone else (out of tree?) was setting it. I presume later since if
    the only goal was to switch to recursive expansion the patch would
    have just removed the ":".

    Signed-off-by: Douglas Anderson
    Signed-off-by: Masahiro Yamada

    Douglas Anderson
     
  • * The man page for dpkg-source(1) notes:

    > -b, --build directory [format-specific-parameters]
    > Build a source package (--build since dpkg 1.17.14).
    >
    >
    > dpkg-source will build the source package with the first
    > format found in this ordered list: the format indicated
    > with the --format command line option, the format
    > indicated in debian/source/format, “1.0”. The fallback
    > to “1.0” is deprecated and will be removed at some point
    > in the future, you should always document the desired
    > source format in debian/source/format. See section
    > SOURCE PACKAGE FORMATS for an extensive description of
    > the various source package formats.

    Thus it would be more foolproof to explicitly use 1.0 (as we always
    did) than to rely on dpkg-source's defaults.

    * In a similar vein, debian/rules is not made executable by mkdebian,
    and dpkg-source warns about that but still silently fixes the file.
    Let's be explicit once again.

    Signed-off-by: Arseny Maslennikov
    Signed-off-by: Masahiro Yamada

    Arseny Maslennikov
     
  • The of_find_device_by_node() takes a reference to the underlying device
    structure, we should release that reference.
    The implementation of this semantic code search is:
    In a function, for a local variable returned by calling
    of_find_device_by_node(),
    a, if it is released by a function such as
    put_device()/of_dev_put()/platform_device_put() after the last use,
    it is considered that there is no reference leak;
    b, if it is passed back to the caller via
    dev_get_drvdata()/platform_get_drvdata()/get_device(), etc., the
    reference will be released in other functions, and the current function
    also considers that there is no reference leak;
    c, for the rest of the situation, the current function should release the
    reference by calling put_device, this code search will report the
    corresponding error message.

    By using this semantic code search, we have found some object reference leaks,
    such as:
    commit 11907e9d3533 ("ASoC: fsl-asoc-card: fix object reference leaks in
    fsl_asoc_card_probe")
    commit a12085d13997 ("mtd: rawnand: atmel: fix possible object reference leak")
    commit 11493f26856a ("mtd: rawnand: jz4780: fix possible object reference leak")

    There are still dozens of reference leaks in the current kernel code.

    Further, for the case of b, the object returned to other functions may also
    have a reference leak, we will continue to develop other cocci scripts to
    further check the reference leak.

    Signed-off-by: Wen Yang
    Reviewed-by: Julia Lawall
    Reviewed-by: Markus Elfring
    Signed-off-by: Masahiro Yamada

    Wen Yang
     
  • Pull pidfd system call from Christian Brauner:
    "This introduces the ability to use file descriptors from /proc//
    as stable handles on struct pid. Even if a pid is recycled the handle
    will not change. For a start these fds can be used to send signals to
    the processes they refer to.

    With the ability to use /proc/ fds as stable handles on struct
    pid we can fix a long-standing issue where after a process has exited
    its pid can be reused by another process. If a caller sends a signal
    to a reused pid it will end up signaling the wrong process.

    With this patchset we enable a variety of use cases. One obvious
    example is that we can now safely delegate an important part of
    process management - sending signals - to processes other than the
    parent of a given process by sending file descriptors around via scm
    rights and not fearing that the given process will have been recycled
    in the meantime. It also allows for easy testing whether a given
    process is still alive or not by sending signal 0 to a pidfd which is
    quite handy.

    There has been some interest in this feature e.g. from systems
    management (systemd, glibc) and container managers. I have requested
    and gotten comments from glibc to make sure that this syscall is
    suitable for their needs as well. In the future I expect it to take on
    most other pid-based signal syscalls. But such features are left for
    the future once they are needed.

    This has been sitting in linux-next for quite a while and has not
    caused any issues. It comes with selftests which verify basic
    functionality and also test that a recycled pid cannot be signaled via
    a pidfd.

    Jon has written about a prior version of this patchset. It should
    cover the basic functionality since not a lot has changed since then:

    https://lwn.net/Articles/773459/

    The commit message for the syscall itself is extensively documenting
    the syscall, including it's functionality and extensibility"

    * tag 'pidfd-v5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
    selftests: add tests for pidfd_send_signal()
    signal: add pidfd_send_signal() syscall

    Linus Torvalds
     
  • Pull device-dax updates from Dan Williams:
    "New device-dax infrastructure to allow persistent memory and other
    "reserved" / performance differentiated memories, to be assigned to
    the core-mm as "System RAM".

    Some users want to use persistent memory as additional volatile
    memory. They are willing to cope with potential performance
    differences, for example between DRAM and 3D Xpoint, and want to use
    typical Linux memory management apis rather than a userspace memory
    allocator layered over an mmap() of a dax file. The administration
    model is to decide how much Persistent Memory (pmem) to use as System
    RAM, create a device-dax-mode namespace of that size, and then assign
    it to the core-mm. The rationale for device-dax is that it is a
    generic memory-mapping driver that can be layered over any "special
    purpose" memory, not just pmem. On subsequent boots udev rules can be
    used to restore the memory assignment.

    One implication of using pmem as RAM is that mlock() no longer keeps
    data off persistent media. For this reason it is recommended to enable
    NVDIMM Security (previously merged for 5.0) to encrypt pmem contents
    at rest. We considered making this recommendation an actively enforced
    requirement, but in the end decided to leave it as a distribution /
    administrator policy to allow for emulation and test environments that
    lack security capable NVDIMMs.

    Summary:

    - Replace the /sys/class/dax device model with /sys/bus/dax, and
    include a compat driver so distributions can opt-in to the new ABI.

    - Allow for an alternative driver for the device-dax address-range

    - Introduce the 'kmem' driver to hotplug / assign a device-dax
    address-range to the core-mm.

    - Arrange for the device-dax target-node to be onlined so that the
    newly added memory range can be uniquely referenced by numa apis"

    NOTE! I'm not entirely happy with the whole "PMEM as RAM" model because
    we currently have special - and very annoying rules in the kernel about
    accessing PMEM only with the "MC safe" accessors, because machine checks
    inside the regular repeat string copy functions can be fatal in some
    (not described) circumstances.

    And apparently the PMEM modules can cause that a lot more than regular
    RAM. The argument is that this happens because PMEM doesn't necessarily
    get scrubbed at boot like RAM does, but that is planned to be added for
    the user space tooling.

    Quoting Dan from another email:
    "The exposure can be reduced in the volatile-RAM case by scanning for
    and clearing errors before it is onlined as RAM. The userspace tooling
    for that can be in place before v5.1-final. There's also runtime
    notifications of errors via acpi_nfit_uc_error_notify() from
    background scrubbers on the DIMM devices. With that mechanism the
    kernel could proactively clear newly discovered poison in the volatile
    case, but that would be additional development more suitable for v5.2.

    I understand the concern, and the need to highlight this issue by
    tapping the brakes on feature development, but I don't see PMEM as RAM
    making the situation worse when the exposure is also there via DAX in
    the PMEM case. Volatile-RAM is arguably a safer use case since it's
    possible to repair pages where the persistent case needs active
    application coordination"

    * tag 'devdax-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    device-dax: "Hotplug" persistent memory for use like normal RAM
    mm/resource: Let walk_system_ram_range() search child resources
    mm/memory-hotplug: Allow memory resources to be children
    mm/resource: Move HMM pr_debug() deeper into resource code
    mm/resource: Return real error codes from walk failures
    device-dax: Add a 'modalias' attribute to DAX 'bus' devices
    device-dax: Add a 'target_node' attribute
    device-dax: Auto-bind device after successful new_id
    acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node
    device-dax: Add /sys/class/dax backwards compatibility
    device-dax: Add support for a dax override driver
    device-dax: Move resource pinning+mapping into the common driver
    device-dax: Introduce bus + driver model
    device-dax: Start defining a dax bus model
    device-dax: Remove multi-resource infrastructure
    device-dax: Kill dax_region base
    device-dax: Kill dax_region ida

    Linus Torvalds
     
  • Pull more SCSI updates from James Bottomley:
    "This is the final round of mostly small fixes and performance
    improvements to our initial submit.

    The main regression fix is the ia64 simscsi build failure which was
    missed in the serial number elimination conversion"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (24 commits)
    scsi: ia64: simscsi: use request tag instead of serial_number
    scsi: aacraid: Fix performance issue on logical drives
    scsi: lpfc: Fix error codes in lpfc_sli4_pci_mem_setup()
    scsi: libiscsi: Hold back_lock when calling iscsi_complete_task
    scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of HiLink
    scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP target port
    scsi: hisi_sas: Set PHY linkrate when disconnected
    scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw
    scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO
    scsi: hisi_sas: Change return variable type in phy_up_v3_hw()
    scsi: qla2xxx: check for kstrtol() failure
    scsi: lpfc: fix 32-bit format string warning
    scsi: lpfc: fix unused variable warning
    scsi: target: tcmu: Switch to bitmap_zalloc()
    scsi: libiscsi: fall back to sendmsg for slab pages
    scsi: qla2xxx: avoid printf format warning
    scsi: lpfc: resolve static checker warning in lpfc_sli4_hba_unset
    scsi: lpfc: Correct __lpfc_sli_issue_iocb_s4 lockdep check
    scsi: ufs: hisi: fix ufs_hba_variant_ops passing
    scsi: qla2xxx: Fix panic in qla_dfs_tgt_counters_show
    ...

    Linus Torvalds
     
  • Pull more block layer changes from Jens Axboe:
    "This is a collection of both stragglers, and fixes that came in after
    I finalized the initial pull. This contains:

    - An MD pull request from Song, with a few minor fixes

    - Set of NVMe patches via Christoph

    - Pull request from Konrad, with a few fixes for xen/blkback

    - pblk fix IO calculation fix (Javier)

    - Segment calculation fix for pass-through (Ming)

    - Fallthrough annotation for blkcg (Mathieu)"

    * tag 'for-5.1/block-post-20190315' of git://git.kernel.dk/linux-block: (25 commits)
    blkcg: annotate implicit fall through
    nvme-tcp: support C2HData with SUCCESS flag
    nvmet: ignore EOPNOTSUPP for discard
    nvme: add proper write zeroes setup for the multipath device
    nvme: add proper discard setup for the multipath device
    nvme: remove nvme_ns_config_oncs
    nvme: disable Write Zeroes for qemu controllers
    nvmet-fc: bring Disconnect into compliance with FC-NVME spec
    nvmet-fc: fix issues with targetport assoc_list list walking
    nvme-fc: reject reconnect if io queue count is reduced to zero
    nvme-fc: fix numa_node when dev is null
    nvme-fc: use nr_phys_segments to determine existence of sgl
    nvme-loop: init nvmet_ctrl fatal_err_work when allocate
    nvme: update comment to make the code easier to read
    nvme: put ns_head ref if namespace fails allocation
    nvme-trace: fix cdw10 buffer overrun
    nvme: don't warn on block content change effects
    nvme: add get-feature to admin cmds tracer
    md: Fix failed allocation of md_register_thread
    It's wrong to add len to sector_nr in raid10 reshape twice
    ...

    Linus Torvalds
     
  • Pull NFS client bugfixes from Trond Myklebust:
    "Highlights include:

    Bugfixes:
    - Fix an Oops in SUNRPC back channel tracepoints
    - Fix a SUNRPC client regression when handling oversized replies
    - Fix the minimal size for SUNRPC reply buffer allocation
    - rpc_decode_header() must always return a non-zero value on error
    - Fix a typo in pnfs_update_layout()

    Cleanup:
    - Remove redundant check for the reply length in call_decode()"

    * tag 'nfs-for-5.1-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    SUNRPC: Remove redundant check for the reply length in call_decode()
    SUNRPC: Handle the SYSTEM_ERR rpc error
    SUNRPC: rpc_decode_header() must always return a non-zero value on error
    SUNRPC: Use the ENOTCONN error on socket disconnect
    SUNRPC: Fix the minimal size for reply buffer allocation
    SUNRPC: Fix a client regression when handling oversized replies
    pNFS: Fix a typo in pnfs_update_layout
    fix null pointer deref in tracepoints in back channel

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:
    "One fix to prevent runtime allocation of 16GB pages when running in a
    VM (as opposed to bare metal), because it doesn't work.

    A small fix to our recently added KCOV support to exempt some more
    code from being instrumented.

    Plus a few minor build fixes, a small dead code removal and a
    defconfig update.

    Thanks to: Alexey Kardashevskiy, Aneesh Kumar K.V, Christophe Leroy,
    Jason Yan, Joel Stanley, Mahesh Salgaonkar, Mathieu Malaterre"

    * tag 'powerpc-5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/64s: Include header file to fix a warning
    powerpc/powernv: Fix compile without CONFIG_TRACEPOINTS
    powerpc/mm: Disable kcov for SLB routines
    powerpc: remove dead code in head_fsl_booke.S
    powerpc/configs: Sync skiroot defconfig
    powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR configuration

    Linus Torvalds
     
  • Pull vfs mount infrastructure fix from Al Viro:
    "Fixup for sysfs braino.

    Capabilities checks for sysfs mount do include those on netns, but
    only if CONFIG_NET_NS is enabled. Sorry, should've caught that
    earlier..."

    * 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fix sysfs_init_fs_context() in !CONFIG_NET_NS case

    Linus Torvalds
     

16 Mar, 2019

15 commits

  • Permission checks on current's netns should be done only when
    netns are enabled.

    Reported-by: Dominik Brodowski
    Fixes: 23bf1b6be9c2
    Signed-off-by: Al Viro

    Al Viro
     
  • Pull more smb3 updates from Steve French:
    "Various tracing and debugging improvements, crediting fixes, some
    cleanup, and important fallocate fix (fixes three xfstests) and lock
    fix.

    Summary:

    - Various additional dynamic tracing tracepoints

    - Debugging improvements (including ability to query the server via
    SMB3 fsctl from userspace tools which can help with stats and
    debugging)

    - One minor performance improvement (root directory inode caching)

    - Crediting (SMB3 flow control) fixes

    - Some cleanup (docs and to mknod)

    - Important fixes: one to smb3 implementation of fallocate zero range
    (which fixes three xfstests) and a POSIX lock fix"

    * tag '5.1-rc-smb3' of git://git.samba.org/sfrench/cifs-2.6: (22 commits)
    CIFS: fix POSIX lock leak and invalid ptr deref
    SMB3: Allow SMB3 FSCTL queries to be sent to server from tools
    cifs: fix incorrect handling of smb2_set_sparse() return in smb3_simple_falloc
    smb2: fix typo in definition of a few error flags
    CIFS: make mknod() an smb_version_op
    cifs: minor documentation updates
    cifs: remove unused value pointed out by Coverity
    SMB3: passthru query info doesn't check for SMB3 FSCTL passthru
    smb3: add dynamic tracepoints for simple fallocate and zero range
    cifs: fix smb3_zero_range so it can expand the file-size when required
    cifs: add SMB2_ioctl_init/free helpers to be used with compounding
    smb3: Add dynamic trace points for various compounded smb3 ops
    cifs: cache FILE_ALL_INFO for the shared root handle
    smb3: display volume serial number for shares in /proc/fs/cifs/DebugData
    cifs: simplify how we handle credits in compound_send_recv()
    smb3: add dynamic tracepoint for timeout waiting for credits
    smb3: display security information in /proc/fs/cifs/DebugData more accurately
    cifs: add a timeout argument to wait_for_free_credits
    cifs: prevent starvation in wait_for_free_credits for multi-credit requests
    cifs: wait_for_free_credits() make it possible to wait for >=1 credits
    ...

    Linus Torvalds
     
  • Pull UML updates from Richard Weinberger:
    "Bugfix for the UML block device driver"

    * 'for-linus-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: Fix for a possible OOPS in ubd initialization
    um: Remove duplicated include from vector_user.c

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "ARM:
    - some cleanups
    - direct physical timer assignment
    - cache sanitization for 32-bit guests

    s390:
    - interrupt cleanup
    - introduction of the Guest Information Block
    - preparation for processor subfunctions in cpu models

    PPC:
    - bug fixes and improvements, especially related to machine checks
    and protection keys

    x86:
    - many, many cleanups, including removing a bunch of MMU code for
    unnecessary optimizations
    - AVIC fixes

    Generic:
    - memcg accounting"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (147 commits)
    kvm: vmx: fix formatting of a comment
    KVM: doc: Document the life cycle of a VM and its resources
    MAINTAINERS: Add KVM selftests to existing KVM entry
    Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()"
    KVM: PPC: Book3S: Add count cache flush parameters to kvmppc_get_cpu_char()
    KVM: PPC: Fix compilation when KVM is not enabled
    KVM: Minor cleanups for kvm_main.c
    KVM: s390: add debug logging for cpu model subfunctions
    KVM: s390: implement subfunction processor calls
    arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2
    KVM: arm/arm64: Remove unused timer variable
    KVM: PPC: Book3S: Improve KVM reference counting
    KVM: PPC: Book3S HV: Fix build failure without IOMMU support
    Revert "KVM: Eliminate extra function calls in kvm_get_dirty_log_protect()"
    x86: kvmguest: use TSC clocksource if invariant TSC is exposed
    KVM: Never start grow vCPU halt_poll_ns from value below halt_poll_ns_grow_start
    KVM: Expose the initial start value in grow_halt_poll_ns() as a module parameter
    KVM: grow_halt_poll_ns() should never shrink vCPU halt_poll_ns
    KVM: x86/mmu: Consolidate kvm_mmu_zap_all() and kvm_mmu_zap_mmio_sptes()
    KVM: x86/mmu: WARN if zapping a MMIO spte results in zapping children
    ...

    Linus Torvalds
     
  • Pull tracing fixes and cleanups from Steven Rostedt:
    "This contains a series of last minute clean ups, small fixes and error
    checks"

    * tag 'trace-v5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing/probe: Verify alloc_trace_*probe() result
    tracing/probe: Check event/group naming rule at parsing
    tracing/probe: Check the size of argument name and body
    tracing/probe: Check event name length correctly
    tracing/probe: Check maxactive error cases
    tracing: kdb: Fix ftdump to not sleep
    trace/probes: Remove kernel doc style from non kernel doc comment
    tracing/probes: Make reserved_field_names static

    Linus Torvalds
     
  • Pull IOMMU fix from Joerg Roedel:
    "Fix a NULL-pointer dereference issue in the ACPI device matching code
    of the AMD IOMMU driver"

    * tag 'iommu-fix-v5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/amd: Fix NULL dereference bug in match_hid_uid

    Linus Torvalds
     
  • Pull ARM updates from Russell King:

    - An improvement from Ard Biesheuvel, who noted that the identity map
    setup was taking a long time due to flush_cache_louis().

    - Update a comment about dma_ops from Wolfram Sang.

    - Remove use of "-p" with ld, where this flag has been a no-op since
    2004.

    - Remove the printing of the virtual memory layout, which is no longer
    useful since we hide pointers.

    - Correct SCU help text.

    - Remove legacy TWD registration method.

    - Add pgprot_device() implementation for mapping PCI sysfs resource
    files.

    - Initialise PFN limits earlier for kmemleak.

    - Fix argument count to match macro definition (affects clang builds)

    - Use unified assembler language almost everywhere for clang, and other
    clang improvements (from Stefan Agner, Nathan Chancellor).

    - Support security extension for noMMU and other noMMU cleanups (from
    Vladimir Murzin).

    - Remove unnecessary SMP bringup code (which was incorrectly copy'n'
    pasted from the ARM platform implementations) and remove it from the
    arch code to discourge further copys of it appearing.

    - Add Cortex A9 erratum preventing kexec working on some SoCs.

    - AMBA bus identification updates from Mike Leach.

    - More use of raw spinlocks to avoid -RT kernel issues (from Yang Shi
    and Sebastian Andrzej Siewior).

    - MCPM hyp/svc mode mismatch fixes from Marek Szyprowski.

    * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (32 commits)
    ARM: 8849/1: NOMMU: Fix encodings for PMSAv8's PRBAR4/PRLAR4
    ARM: 8848/1: virt: Align GIC version check with arm64 counterpart
    ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used
    ARM: 8845/1: use unified assembler in c files
    ARM: 8844/1: use unified assembler in assembly files
    ARM: 8843/1: use unified assembler in headers
    ARM: 8841/1: use unified assembler in macros
    ARM: 8840/1: use a raw_spinlock_t in unwind
    ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t
    ARM: 8837/1: coresight: etmv4: Update ID register table to add UCI support
    ARM: 8836/1: drivers: amba: Update component matching to use the CoreSight UCI values.
    ARM: 8838/1: drivers: amba: Updates to component identification for driver matching.
    ARM: 8833/1: Ensure that NEON code always compiles with Clang
    ARM: avoid Cortex-A9 livelock on tight dmb loops
    ARM: smp: remove arch-provided "pen_release"
    ARM: actions: remove boot_lock and pen_release
    ARM: oxnas: remove CPU hotplug implementation
    ARM: qcom: remove unnecessary boot_lock
    ARM: 8832/1: NOMMU: Limit visibility for CONFIG_FLASH_{MEM_BASE,SIZE}
    ARM: 8831/1: NOMMU: pmsa-v8: remove unneeded semicolon
    ...

    Linus Torvalds
     
  • Pull NTB updates from Jon Mason:

    - fixes for switchtec debugability and mapping table entries

    - NTB transport improvements

    - a reworking of the peer_db_addr for better abstraction

    * tag 'ntb-5.1' of git://github.com/jonmason/ntb:
    NTB: add new parameter to peer_db_addr() db_bit and db_data
    NTB: ntb_transport: Ensure the destination buffer is mapped for TX DMA
    NTB: ntb_transport: Free MWs in ntb_transport_link_cleanup()
    ntb_hw_switchtec: Added support of >=4G memory windows
    ntb_hw_switchtec: NT req id mapping table register entry number should be 512
    ntb_hw_switchtec: debug print 64bit aligned crosslink BAR Numbers

    Linus Torvalds
     
  • Pull fbdev updates from Bartlomiej Zolnierkiewicz:
    "Just a couple of small fixes and cleanups:

    - fix memory access if logo is bigger than the screen (Manfred
    Schlaegl)

    - silence fbcon logo on 'quiet' boots (Prarit Bhargava)

    - use kvmalloc() for scrollback buffer in fbcon (Konstantin Khorenko)

    - misc fixes (Colin Ian King, YueHaibing, Matteo Croce, Mathieu
    Malaterre, Anders Roxell, Arnd Bergmann)

    - misc cleanups (Rob Herring, Lubomir Rintel, Greg Kroah-Hartman,
    Jani Nikula, Michal Vokáč)"

    * tag 'fbdev-v5.1' of git://github.com/bzolnier/linux:
    fbdev: mbx: fix a misspelled variable name
    fbdev: omap2: fix warnings in dss core
    video: fbdev: Fix potential NULL pointer dereference
    fbcon: Silence fbcon logo on 'quiet' boots
    printk: Export console_printk
    ARM: dts: imx28-cfa10036: Fix the reset gpio signal polarity
    video: ssd1307fb: Do not hard code active-low reset sequence
    dt-bindings: display: ssd1307fb: Remove reset-active-low from examples
    fbdev: fbmem: fix memory access if logo is bigger than the screen
    video/fbdev: refactor video= cmdline parsing
    fbdev: mbx: fix up debugfs file creation
    fbdev: omap2: no need to check return value of debugfs_create functions
    video: fbdev: geode: remove ifdef OLPC noise
    video: offb: annotate implicit fall throughs
    omapfb: fix typo
    fbdev: Use of_node_name_eq for node name comparisons
    fbcon: use kvmalloc() for scrollback buffer
    fbdev: chipsfb: remove set but not used variable 'size'
    fbdev/via: fix spelling mistake "Expandsion" -> "Expansion"

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "A set of driver bugfixes and an improvement for a core helper"

    * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: i2c-designware-platdrv: Always use a dynamic adapter number
    i2c: i2c-designware-platdrv: Cleanup setting of the adapter number
    i2c: add extra check to safe DMA buffer helper
    i2c: i2c-stm32f7: Fix SDADEL minimum formula
    i2c: rcar: explain the lockless design
    i2c: rcar: fix concurrency issue related to ICDMAER
    i2c: sis630: correct format strings
    i2c: mediatek: modify threshold passed to i2c_get_dma_safe_msg_buf()

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Some cleaning after the first batch; mostly about HD-audio quirks but
    also some NULL dereference fixes in corner cases and a random build
    error fix, too"

    * tag 'sound-fix-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB
    ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO
    ALSA: hda/realtek: merge alc_fixup_headset_jack to alc295_fixup_chromebook
    ALSA: pcm: Fix function name in kernel-doc comment
    ALSA: hda: hdmi - add Icelake support
    ALSA: hda - add more quirks for HP Z2 G4 and HP Z240
    ALSA: hda/realtek - Fixed Headset Mic JD not stable
    ALSA: hda/realtek: Enable headset MIC of Acer TravelMate X514-51T with ALC255
    ALSA: hda/tegra: avoid build error without CONFIG_PM
    ALSA: usx2y: Fix potential NULL pointer dereference
    ALSA: hda: Avoid NULL pointer dereference at snd_hdac_stream_start()

    Linus Torvalds
     
  • Pull drm fixes and updates from Dave Airlie:
    "A few various fixes pulls and one late etnaviv pull but it was nearly
    all fixes anyways.

    etnaviv:
    - late next pull
    - mmu mapping fix
    - build non-ARM arches
    - misc fixes

    i915:
    - HDCP state handling fix
    - shrinker interaction fix
    - atomic state leak fix

    qxl:
    - kick out framebuffers early fix

    amdgpu:
    - Powerplay fixes
    - DC fixes
    - BACO turned off for now on vega20
    - Locking fix
    - KFD MQD fix
    - gfx9 golden register updates"

    * tag 'drm-next-2019-03-15' of git://anongit.freedesktop.org/drm/drm: (43 commits)
    drm/amdgpu: Update gc golden setting for vega family
    drm/amd/powerplay: correct power reading on fiji
    drm/amd/powerplay: set max fan target temperature as 105C
    drm/i915: Relax mmap VMA check
    drm/i915: Fix atomic state leak when resetting HDMI link
    drm/i915: Acquire breadcrumb ref before cancelling
    drm/i915/selftests: Always free spinner on __sseu_prepare error
    drm/i915: Reacquire priolist cache after dropping the engine lock
    drm/i915: Protect i915_active iterators from the shrinker
    drm/i915: HDCP state handling in ddi_update_pipe
    drm/qxl: remove conflicting framebuffers earlier
    drm/fb-helper: call vga_remove_vgacon automatically.
    drm: move i915_kick_out_vgacon to vgaarb
    drm/amd/display: don't call dm_pp_ function from an fpu block
    drm: add __user attribute to ptr_to_compat()
    drm/amdgpu: clear PDs/PTs only after initializing them
    drm/amd/display: Pass app_tf by value rather than by reference
    Revert "drm/amdgpu: use BACO reset on vega20 if platform support"
    drm/amd/powerplay: show the right override pcie parameters
    drm/amd/powerplay: honor the OD settings
    ...

    Linus Torvalds
     
  • Pull xfs cleanups from Darrick Wong:
    "Here's a few more cleanups that trickled in for the merge window.

    It's all fixes for static checker complaints and slowly unwinding
    typedef usage. The four patches here have gone through a few days
    worth of fstest runs with no new problems observed.

    Summary:

    - Fix some clang/smatch/sparse warnings about uninitialized
    variables.

    - Clean up some typedef usage"

    * tag 'xfs-5.1-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
    xfs: clean up xfs_dir2_leaf_addname
    xfs: zero initialize highstale and lowstale in xfs_dir2_leaf_addname
    xfs: clean up xfs_dir2_leafn_add
    xfs: Zero initialize highstale and lowstale in xfs_dir2_leafn_add

    Linus Torvalds
     
  • Pull f2fs updates from Jaegeuk Kim:
    "We've continued mainly to fix bugs in this round, as f2fs has been
    shipped in more devices. Especially, we've focused on stabilizing
    checkpoint=disable feature, and provided some interfaces for QA.

    Enhancements:
    - expose FS_NOCOW_FL for pin_file
    - run discard jobs at unmount time with timeout
    - tune discarding thread to avoid idling which consumes power
    - some checking codes to address vulnerabilities
    - give random value to i_generation
    - shutdown with more flags for QA

    Bug fixes:
    - clean up stale objects when mount is failed along with
    checkpoint=disable
    - fix system being stuck due to wrong count by atomic writes
    - handle some corrupted disk cases
    - fix a deadlock in f2fs_read_inline_dir

    We've also added some minor build error fixes and clean-up patches"

    * tag 'f2fs-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (53 commits)
    f2fs: set pin_file under CAP_SYS_ADMIN
    f2fs: fix to avoid deadlock in f2fs_read_inline_dir()
    f2fs: fix to adapt small inline xattr space in __find_inline_xattr()
    f2fs: fix to do sanity check with inode.i_inline_xattr_size
    f2fs: give some messages for inline_xattr_size
    f2fs: don't trigger read IO for beyond EOF page
    f2fs: fix to add refcount once page is tagged PG_private
    f2fs: remove wrong comment in f2fs_invalidate_page()
    f2fs: fix to use kvfree instead of kzfree
    f2fs: print more parameters in trace_f2fs_map_blocks
    f2fs: trace f2fs_ioc_shutdown
    f2fs: fix to avoid deadlock of atomic file operations
    f2fs: fix to dirty inode for i_mode recovery
    f2fs: give random value to i_generation
    f2fs: no need to take page lock in readdir
    f2fs: fix to update iostat correctly in IPU path
    f2fs: fix encrypted page memory leak
    f2fs: make fault injection covering __submit_flush_wait()
    f2fs: fix to retry fill_super only if recovery failed
    f2fs: silence VM_WARN_ON_ONCE in mempool_alloc
    ...

    Linus Torvalds
     
  • Merge the left-over patches from Andrew Morton.

    This merges the remaining two patches from Andrew's pile of "little bit
    more MM". I mulled it over, and we emailed back and forth with Josef,
    and he pointed out where I was wrong.

    Rule #51 of kernel maintenance: when somebody makes it clear that they
    know the code better than you did, stop arguing and just apply the damn
    patch.

    Add a third patch by me to add a comment for the case that I had thought
    was buggy and Josef corrected me on.

    * emailed patches from Andrew Morton :
    filemap: add a comment about FAULT_FLAG_RETRY_NOWAIT behavior
    filemap: drop the mmap_sem for all blocking operations
    filemap: kill page_cache_read usage in filemap_fault

    Linus Torvalds