15 May, 2019

9 commits

  • Merge more updates from Andrew Morton:

    - a couple of hotfixes

    - almost all of the rest of MM

    - lib/ updates

    - binfmt_elf updates

    - autofs updates

    - quite a lot of misc fixes and updates
    - reiserfs, fatfs
    - signals
    - exec
    - cpumask
    - rapidio
    - sysctl
    - pids
    - eventfd
    - gcov
    - panic
    - pps

    - gdb script updates

    - ipc updates

    * emailed patches from Andrew Morton : (126 commits)
    mm: memcontrol: fix NUMA round-robin reclaim at intermediate level
    mm: memcontrol: fix recursive statistics correctness & scalabilty
    mm: memcontrol: move stat/event counting functions out-of-line
    mm: memcontrol: make cgroup stats and events query API explicitly local
    drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl
    drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl
    mm, memcg: rename ambiguously named memory.stat counters and functions
    arch: remove and
    treewide: replace #include with #include
    fs/block_dev.c: Remove duplicate header
    fs/cachefiles/namei.c: remove duplicate header
    include/linux/sched/signal.h: replace `tsk' with `task'
    fs/coda/psdev.c: remove duplicate header
    ipc: do cyclic id allocation for the ipc object.
    ipc: conserve sequence numbers in ipcmni_extend mode
    ipc: allow boot time extension of IPCMNI from 32k to 16M
    ipc/mqueue: optimize msg_get()
    ipc/mqueue: remove redundant wq task assignment
    ipc: prevent lockup on alloc_msg and free_msg
    scripts/gdb: print cached rate in lx-clk-summary
    ...

    Linus Torvalds
     
  • The kernel has only two users of proc_do_large_bitmap(), the kernel CPU
    watchdog, and the ip_local_reserved_ports. Refer to watchdog_cpumask
    and ip_local_reserved_ports in Documentation for further details on
    these. When you input a large buffer into these, when it is larger than
    PAGE_SIZE- 1, the input data gets misparsed, and the user get
    incorrectly informed that the desired input value was set. This commit
    implements a test which mimics and exploits that use case, it uses a
    bitmap size, as in the watchdog case. The bitmap is used to test the
    bitmap proc handler, proc_do_large_bitmap().

    The next commit fixes this issue.

    [akpm@linux-foundation.org: move proc_do_large_bitmap() export to EOF]
    [mcgrof@kernel.org: use new target description for backward compatibility]
    [mcgrof@kernel.org: augment test number to 50, ran into issues with bash string comparisons when testing up to 50 cases.]
    [mcgrof@kernel.org: introduce and use verify_diff_proc_file() to use diff]
    [mcgrof@kernel.org: use mktemp for tmp file]
    [mcgrof@kernel.org: merge shell test and C code]
    [mcgrof@kernel.org: commit log love]
    [mcgrof@kernel.org: export proc_do_large_bitmap() to allow for the test
    [mcgrof@kernel.org: check for the return value when writing to the proc file]
    Link: http://lkml.kernel.org/r/20190320222831.8243-6-mcgrof@kernel.org
    Signed-off-by: Eric Sandeen
    Signed-off-by: Luis Chamberlain
    Acked-by: Kees Cook
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sandeen
     
  • On old kernels older new test knobs implemented on the test_sysctl
    module may not be available. This is expected, and the selftests test
    scripts should be able to run without failures on older kernels.

    Generalize a solution so that we test for each required test target file
    for each test by requiring each test description to annotate their
    respective test target file. If the target file does not exist, we skip
    the test gracefully.

    Link: http://lkml.kernel.org/r/20190320222831.8243-5-mcgrof@kernel.org
    Signed-off-by: Luis Chamberlain
    Acked-by: Kees Cook
    Cc: Eric Sandeen
    Cc: Eric Sandeen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luis Chamberlain
     
  • When verify_diff_w() is used we care about the result, not the verbose
    output, and although we use -q, that still gives us a chatty message
    about if the files differ or not. Since verify_diff_w() uses stdinput
    the chatty message says whether or not "-" matches the target file, and
    this just seems rather odd. Better to just ignore that messsage all
    together, what we really care about i sthe results, the return value and
    we check for that.

    Link: http://lkml.kernel.org/r/20190320222831.8243-4-mcgrof@kernel.org
    Signed-off-by: Luis Chamberlain
    Acked-by: Kees Cook
    Cc: Eric Sandeen
    Cc: Eric Sandeen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luis Chamberlain
     
  • Currently the test script checks for the existence of the sysctl test
    module's directory path prior to loading it. We must first try to load
    the module prior to checking for that path. This fixes the order for
    the load / test.

    Link: http://lkml.kernel.org/r/20190320222831.8243-3-mcgrof@kernel.org
    Signed-off-by: Luis Chamberlain
    Acked-by: Kees Cook
    Cc: Eric Sandeen
    Cc: Eric Sandeen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luis Chamberlain
     
  • Patch series "sysctl: add pending proc_do_large_bitmap fix".

    Eric sent a fix out for proc_do_large_bitmap() last month for when using
    a large input buffer. After patch review a test case for the issue was
    built and submitted. I noticed there were a few issues with the tests,
    but instead of just asking Eric to address them I've taken care of them
    and ammended the commit where necessary. There's a few issues he
    reported which I also address and fix in this series.

    Since we *do* expect users of these scripts to also use them on older
    kernels, I've also addressed not breaking calling the script for them,
    and gives us an easy way to easily extend our tests cases for future
    kernels as well.

    Before anyone considers these for stable as minor fixes, I'd recommend
    we also address the discrepancy on the read side of things: modify the
    test script to use diff against the target file instead of using the
    temp file.

    This patch (of 6):

    We already call test_reqs(), no need to call it twice.

    Link: http://lkml.kernel.org/r/20190320222831.8243-2-mcgrof@kernel.org
    Signed-off-by: Luis Chamberlain
    Acked-by: Kees Cook
    Cc: Eric Sandeen
    Cc: Eric Sandeen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luis Chamberlain
     
  • Test that trivially recursing script onto itself doesn't work.

    Note: this is different test from ELOOP tests in execveat.c Those test
    that execveat(2) doesn't follow symlinks when told to do so.

    Link: http://lkml.kernel.org/r/20190423192720.GA21433@avx2
    Signed-off-by: Alexey Dobriyan
    Cc: Shuah Khan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Pull virtio updates from Michael Tsirkin:

    - enable packed ring support for s390

    - several fixes

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio/s390: enable packed ring
    virtio/s390: DMA support for virtio-ccw
    virtio/s390: use vring_create_virtqueue
    virtio/virtio_ring: do some comment fixes
    vhost-scsi: remove incorrect memory barrier
    tools/virtio/ringtest: Remove bogus definition of BUG_ON()
    virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packed

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

    - Add _HPX Type 3 settings support, which gives firmware more
    influence over device configuration (Alexandru Gagniuc)

    - Support fixed bus numbers from bridge Enhanced Allocation
    capabilities (Subbaraya Sundeep)

    - Add "external-facing" DT property to identify cases where we
    require IOMMU protection against untrusted devices (Jean-Philippe
    Brucker)

    - Enable PCIe services for host controller drivers that use managed
    host bridge alloc (Jean-Philippe Brucker)

    - Log PCIe port service messages with pci_dev, not the pcie_device
    (Frederick Lawler)

    - Convert pciehp from pciehp_debug module parameter to generic
    dynamic debug (Frederick Lawler)

    Peer-to-peer DMA:

    - Add whitelist of Root Complexes that support peer-to-peer DMA
    between Root Ports (Christian König)

    Native controller drivers:

    - Add PCI host bridge DMA ranges for bridges that can't DMA
    everywhere, e.g., iProc (Srinath Mannam)

    - Add Amazon Annapurna Labs PCIe host controller driver (Jonathan
    Chocron)

    - Fix Tegra MSI target allocation so DMA doesn't generate unwanted
    MSIs (Vidya Sagar)

    - Fix of_node reference leaks (Wen Yang)

    - Fix Hyper-V module unload & device removal issues (Dexuan Cui)

    - Cleanup R-Car driver (Marek Vasut)

    - Cleanup Keystone driver (Kishon Vijay Abraham I)

    - Cleanup i.MX6 driver (Andrey Smirnov)

    Significant bug fixes:

    - Reset Lenovo ThinkPad P50 GPU so nouveau works after reboot (Lyude
    Paul)

    - Fix Switchtec firmware update performance issue (Wesley Sheng)

    - Work around Pericom switch link retraining erratum (Stefan Mätje)"

    * tag 'pci-v5.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (141 commits)
    MAINTAINERS: Add Karthikeyan Mitran and Hou Zhiqiang for Mobiveil PCI
    PCI: pciehp: Remove pointless MY_NAME definition
    PCI: pciehp: Remove pointless PCIE_MODULE_NAME definition
    PCI: pciehp: Remove unused dbg/err/info/warn() wrappers
    PCI: pciehp: Log messages with pci_dev, not pcie_device
    PCI: pciehp: Replace pciehp_debug module param with dyndbg
    PCI: pciehp: Remove pciehp_debug uses
    PCI/AER: Log messages with pci_dev, not pcie_device
    PCI/DPC: Log messages with pci_dev, not pcie_device
    PCI/PME: Replace dev_printk(KERN_DEBUG) with dev_info()
    PCI/AER: Replace dev_printk(KERN_DEBUG) with dev_info()
    PCI: Replace dev_printk(KERN_DEBUG) with dev_info(), etc
    PCI: Replace printk(KERN_INFO) with pr_info(), etc
    PCI: Use dev_printk() when possible
    PCI: Cleanup setup-bus.c comments and whitespace
    PCI: imx6: Allow asynchronous probing
    PCI: dwc: Save root bus for driver remove hooks
    PCI: dwc: Use devm_pci_alloc_host_bridge() to simplify code
    PCI: dwc: Free MSI in dw_pcie_host_init() error path
    PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi()
    ...

    Linus Torvalds
     

14 May, 2019

1 commit

  • Pull x86 MDS mitigations from Thomas Gleixner:
    "Microarchitectural Data Sampling (MDS) is a hardware vulnerability
    which allows unprivileged speculative access to data which is
    available in various CPU internal buffers. This new set of misfeatures
    has the following CVEs assigned:

    CVE-2018-12126 MSBDS Microarchitectural Store Buffer Data Sampling
    CVE-2018-12130 MFBDS Microarchitectural Fill Buffer Data Sampling
    CVE-2018-12127 MLPDS Microarchitectural Load Port Data Sampling
    CVE-2019-11091 MDSUM Microarchitectural Data Sampling Uncacheable Memory

    MDS attacks target microarchitectural buffers which speculatively
    forward data under certain conditions. Disclosure gadgets can expose
    this data via cache side channels.

    Contrary to other speculation based vulnerabilities the MDS
    vulnerability does not allow the attacker to control the memory target
    address. As a consequence the attacks are purely sampling based, but
    as demonstrated with the TLBleed attack samples can be postprocessed
    successfully.

    The mitigation is to flush the microarchitectural buffers on return to
    user space and before entering a VM. It's bolted on the VERW
    instruction and requires a microcode update. As some of the attacks
    exploit data structures shared between hyperthreads, full protection
    requires to disable hyperthreading. The kernel does not do that by
    default to avoid breaking unattended updates.

    The mitigation set comes with documentation for administrators and a
    deeper technical view"

    * 'x86-mds-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    x86/speculation/mds: Fix documentation typo
    Documentation: Correct the possible MDS sysfs values
    x86/mds: Add MDSUM variant to the MDS documentation
    x86/speculation/mds: Add 'mitigations=' support for MDS
    x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off
    x86/speculation/mds: Fix comment
    x86/speculation/mds: Add SMT warning message
    x86/speculation: Move arch_smt_update() call to after mitigation decisions
    x86/speculation/mds: Add mds=full,nosmt cmdline option
    Documentation: Add MDS vulnerability documentation
    Documentation: Move L1TF to separate directory
    x86/speculation/mds: Add mitigation mode VMWERV
    x86/speculation/mds: Add sysfs reporting for MDS
    x86/speculation/mds: Add mitigation control for MDS
    x86/speculation/mds: Conditionally clear CPU buffers on idle entry
    x86/kvm/vmx: Add MDS protection when L1D Flush is not active
    x86/speculation/mds: Clear CPU buffers on exit to user
    x86/speculation/mds: Add mds_clear_cpu_buffers()
    x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests
    x86/speculation/mds: Add BUG_MSBDS_ONLY
    ...

    Linus Torvalds
     

13 May, 2019

5 commits

  • Depending on used versions of libbpf, Clang, and kernel, it's possible to
    have valid BPF object files with valid BTF information, that still won't
    load successfully due to Clang emitting newer BTF features (e.g.,
    BTF_KIND_FUNC, .BTF.ext's line_info/func_info, BTF_KIND_DATASEC, etc), that
    are not yet supported by older kernel.

    This patch adds detection of BTF features and sanitizes BPF object's BTF
    by substituting various supported BTF kinds, which have compatible layout:
    - BTF_KIND_FUNC -> BTF_KIND_TYPEDEF
    - BTF_KIND_FUNC_PROTO -> BTF_KIND_ENUM
    - BTF_KIND_VAR -> BTF_KIND_INT
    - BTF_KIND_DATASEC -> BTF_KIND_STRUCT

    Replacement is done in such a way as to preserve as much information as
    possible (names, sizes, etc) where possible without violating kernel's
    validation rules.

    v2->v3:
    - remove duplicate #defines from libbpf_util.h

    v1->v2:
    - add internal libbpf_internal.h w/ common stuff
    - switch SK storage BTF to use new libbpf__probe_raw_btf()

    Reported-by: Alexei Starovoitov
    Signed-off-by: Andrii Nakryiko
    Signed-off-by: Daniel Borkmann

    Andrii Nakryiko
     
  • The following files are generated after building /selftests/bpf/ and
    should be added to .gitignore:

    - libbpf.pc
    - libbpf.so.*

    Signed-off-by: Kelsey Skunberg
    Signed-off-by: Daniel Borkmann

    Kelsey Skunberg
     
  • Synchronise the bpf.h header under tools, to report the fixes and
    additions recently brought to the documentation for the BPF helpers.

    Signed-off-by: Quentin Monnet
    Acked-by: Jakub Kicinski
    Signed-off-by: Daniel Borkmann

    Quentin Monnet
     
  • Add a couple of tests to make sure branch(/call) offset adjustments
    are correctly performed.

    Signed-off-by: Daniel Borkmann

    Daniel Borkmann
     
  • BUG_ON(x) should raise an error if x is true, but assert(x) raises an
    error if x is false. Remove this bogus definition of BUG_ON(), which
    isn't used anyway.

    Signed-off-by: Jonathan Neuschäfer
    Signed-off-by: Michael S. Tsirkin

    Jonathan Neuschäfer
     

10 May, 2019

5 commits

  • Pull powerpc updates from Michael Ellerman:
    "Slightly delayed due to the issue with printk() calling
    probe_kernel_read() interacting with our new user access prevention
    stuff, but all fixed now.

    The only out-of-area changes are the addition of a cpuhp_state, small
    additions to Documentation and MAINTAINERS updates.

    Highlights:

    - Support for Kernel Userspace Access/Execution Prevention (like
    SMAP/SMEP/PAN/PXN) on some 64-bit and 32-bit CPUs. This prevents
    the kernel from accidentally accessing userspace outside
    copy_to/from_user(), or ever executing userspace.

    - KASAN support on 32-bit.

    - Rework of where we map the kernel, vmalloc, etc. on 64-bit hash to
    use the same address ranges we use with the Radix MMU.

    - A rewrite into C of large parts of our idle handling code for
    64-bit Book3S (ie. power8 & power9).

    - A fast path entry for syscalls on 32-bit CPUs, for a 12-17% speedup
    in the null_syscall benchmark.

    - On 64-bit bare metal we have support for recovering from errors
    with the time base (our clocksource), however if that fails
    currently we hang in __delay() and never crash. We now have support
    for detecting that case and short circuiting __delay() so we at
    least panic() and reboot.

    - Add support for optionally enabling the DAWR on Power9, which had
    to be disabled by default due to a hardware erratum. This has the
    effect of enabling hardware breakpoints for GDB, the downside is a
    badly behaved program could crash the machine by pointing the DAWR
    at cache inhibited memory. This is opt-in obviously.

    - xmon, our crash handler, gets support for a read only mode where
    operations that could change memory or otherwise disturb the system
    are disabled.

    Plus many clean-ups, reworks and minor fixes etc.

    Thanks to: Christophe Leroy, Akshay Adiga, Alastair D'Silva, Alexey
    Kardashevskiy, Andrew Donnellan, Aneesh Kumar K.V, Anju T Sudhakar,
    Anton Blanchard, Ben Hutchings, Bo YU, Breno Leitao, Cédric Le Goater,
    Christopher M. Riedl, Christoph Hellwig, Colin Ian King, David Gibson,
    Ganesh Goudar, Gautham R. Shenoy, George Spelvin, Greg Kroah-Hartman,
    Greg Kurz, Horia Geantă, Jagadeesh Pagadala, Joel Stanley, Joe
    Perches, Julia Lawall, Laurentiu Tudor, Laurent Vivier, Lukas Bulwahn,
    Madhavan Srinivasan, Mahesh Salgaonkar, Mathieu Malaterre, Michael
    Neuling, Mukesh Ojha, Nathan Fontenot, Nathan Lynch, Nicholas Piggin,
    Nick Desaulniers, Oliver O'Halloran, Peng Hao, Qian Cai, Ravi
    Bangoria, Rick Lindsley, Russell Currey, Sachin Sant, Stewart Smith,
    Sukadev Bhattiprolu, Thomas Huth, Tobin C. Harding, Tyrel Datwyler,
    Valentin Schneider, Wei Yongjun, Wen Yang, YueHaibing"

    * tag 'powerpc-5.2-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (205 commits)
    powerpc/64s: Use early_mmu_has_feature() in set_kuap()
    powerpc/book3s/64: check for NULL pointer in pgd_alloc()
    powerpc/mm: Fix hugetlb page initialization
    ocxl: Fix return value check in afu_ioctl()
    powerpc/mm: fix section mismatch for setup_kup()
    powerpc/mm: fix redundant inclusion of pgtable-frag.o in Makefile
    powerpc/mm: Fix makefile for KASAN
    powerpc/kasan: add missing/lost Makefile
    selftests/powerpc: Add a signal fuzzer selftest
    powerpc/booke64: set RI in default MSR
    ocxl: Provide global MMIO accessors for external drivers
    ocxl: move event_fd handling to frontend
    ocxl: afu_irq only deals with IRQ IDs, not offsets
    ocxl: Allow external drivers to use OpenCAPI contexts
    ocxl: Create a clear delineation between ocxl backend & frontend
    ocxl: Don't pass pci_dev around
    ocxl: Split pci.c
    ocxl: Remove some unused exported symbols
    ocxl: Remove superfluous 'extern' from headers
    ocxl: read_pasid never returns an error, so make it void
    ...

    Linus Torvalds
     
  • Pull networking fixes from David Miller:
    "Several bug fixes, many are quick merge-window regression cures:

    - When NLM_F_EXCL is not set, allow same fib rule insertion. From
    Hangbin Liu.

    - Several cures in sja1105 DSA driver (while loop exit condition fix,
    return of negative u8, etc.) from Vladimir Oltean.

    - Handle tx/rx delays in realtek PHY driver properly, from Serge
    Semin.

    - Double free in cls_matchall, from Pieter Jansen van Vuuren.

    - Disable SIOCSHWTSTAMP in macvlan/vlan containers, from Hangbin Liu.

    - Endainness fixes in aqc111, from Oliver Neukum.

    - Handle errors in packet_init properly, from Haibing Yue.

    - Various W=1 warning fixes in kTLS, from Jakub Kicinski"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (34 commits)
    nfp: add missing kdoc
    net/tls: handle errors from padding_length()
    net/tls: remove set but not used variables
    docs/btf: fix the missing section marks
    nfp: bpf: fix static check error through tightening shift amount adjustment
    selftests: bpf: initialize bpf_object pointers where needed
    packet: Fix error path in packet_init
    net/tcp: use deferred jump label for TCP acked data hook
    net: aquantia: fix undefined devm_hwmon_device_register_with_info reference
    aqc111: fix double endianness swap on BE
    aqc111: fix writing to the phy on BE
    aqc111: fix endianness issue in aqc111_change_mtu
    vlan: disable SIOCSHWTSTAMP in container
    macvlan: disable SIOCSHWTSTAMP in container
    tipc: fix hanging clients using poll with EPOLLOUT flag
    tuntap: synchronize through tfiles array instead of tun->numqueues
    tuntap: fix dividing by zero in ebpf queue selection
    dwmac4_prog_mtl_tx_algorithms() missing write operation
    ptp_qoriq: fix NULL access if ptp dt node missing
    net/sched: avoid double free on matchall reoffload
    ...

    Linus Torvalds
     
  • There are a few tests which call bpf_object__close on uninitialized
    bpf_object*, which may segfault. Explicitly zero-initialise these pointers
    to avoid this.

    Signed-off-by: Lorenz Bauer
    Acked-by: Martin KaFai Lau
    Signed-off-by: Alexei Starovoitov

    Lorenz Bauer
     
  • Pull cgroup updates from Tejun Heo:
    "This includes Roman's cgroup2 freezer implementation.

    It's a separate machanism from cgroup1 freezer. Instead of blocking
    user tasks in arbitrary uninterruptible sleeps, the new implementation
    extends jobctl stop - frozen tasks are trapped in jobctl stop until
    thawed and can be killed and ptraced. Lots of thanks to Oleg for
    sheperding the effort.

    Other than that, there are a few trivial changes"

    * 'for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup: never call do_group_exit() with task->frozen bit set
    kernel: cgroup: fix misuse of %x
    cgroup: get rid of cgroup_freezer_frozen_exit()
    cgroup: prevent spurious transition into non-frozen state
    cgroup: Remove unused cgrp variable
    cgroup: document cgroup v2 freezer interface
    cgroup: add tracing points for cgroup v2 freezer
    cgroup: make TRACE_CGROUP_PATH irq-safe
    kselftests: cgroup: add freezer controller self-tests
    kselftests: cgroup: don't fail on cg_kill_all() error in cg_destroy()
    cgroup: cgroup v2 freezer
    cgroup: protect cgroup->nr_(dying_)descendants by css_set_lock
    cgroup: implement __cgroup_task_count() helper
    cgroup: rename freezer.c into legacy_freezer.c
    cgroup: remove extra cgroup_migrate_finish() call

    Linus Torvalds
     
  • Pull arch/csky perf update from Guo Ren:
    "Add support for perf unwind-libdw"

    * tag 'csky-for-linus-5.2-perf-unwind-libdw' of git://github.com/c-sky/csky-linux:
    csky: Add support for perf unwind-libdw

    Linus Torvalds
     

09 May, 2019

4 commits

  • This patch add support for DWARF register mappings and libdw registers
    initialization, which is used by perf callchain analyzing, eg:

    perf record --call-graph=dwarf

    Here is elfutils csky backend patch set:
    https://sourceware.org/ml/elfutils-devel/2019-q2/msg00007.html

    Signed-off-by: Mao Han
    Signed-off-by: Guo Ren
    Cc: Peter Zijlstra
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Cc: Alexander Shishkin
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Arnd Bergmann

    Mao Han
     
  • Pull documentation updates from Jonathan Corbet:
    "A reasonably busy cycle for docs, including:

    - Lots of work on the Chinese and Italian translations

    - Some license-rules clarifications from Christoph

    - Various build-script fixes

    - A new document on memory models

    - RST conversion of the live-patching docs

    - The usual collection of typo fixes and corrections"

    * tag 'docs-5.2' of git://git.lwn.net/linux: (140 commits)
    docs/livepatch: Unify style of livepatch documentation in the ReST format
    docs: livepatch: convert docs to ReST and rename to *.rst
    scripts/documentation-file-ref-check: detect broken :doc:`foo`
    scripts/documentation-file-ref-check: don't parse Next/ dir
    LICENSES: Rename other to deprecated
    LICENSES: Clearly mark dual license only licenses
    docs: Don't reference the ZLib license in license-rules.rst
    docs/vm: Minor editorial changes in the THP and hugetlbfs
    docs/vm: add documentation of memory models
    doc:it_IT: translation alignment
    doc: fix typo in PGP guide
    dontdiff: update with Kconfig build artifacts
    docs/zh_CN: fix typos in 1.Intro.rst file
    docs/zh_CN: redirect CoC docs to Chinese version
    doc: mm: migration doesn't use FOLL_SPLIT anymore
    docs: doc-guide: remove the extension from .rst files
    doc: kselftest: Fix KBUILD_OUTPUT usage instructions
    docs: trace: fix some Sphinx warnings
    docs: speculation.txt: mark example blocks as such
    docs: ntb.txt: add blank lines to clean up some Sphinx warnings
    ...

    Linus Torvalds
     
  • Pull RISC-V nolibc header update from Willy Tarreau:
    "This single commit adds support for the RISCV architecture to the
    nolibc header file. Currently the file is only used by rcutorture but
    Pranith Kumar who contributed it would like to have this work merged.

    I only did some trivial tests to verify that it does not break x86,
    which I consider sufficient since all the code is cleanly enclosed
    inside a single #if/endif block"

    * tag 'nolibc-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc:
    tool headers nolibc: add RISCV support

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:

    - remove the deprecated Zoran driver from staging

    - new I2C driver: ST MIPID02 CSI-2 camera bridge

    - new platform driver: Amlogic Meson AO CEC G12A Controller

    - add support for USB audio via the media controller

    - au0828 driver is now supported via the media controller on both on
    media and on usbaudio

    - new kernel test for the media device allocator

    - add support for stateless decoder at vicodec driver

    - lots of other driver improvements fixes and cleanups

    * tag 'media/v5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (218 commits)
    media: dt-bindings: aspeed-video: Add missing memory-region property
    media: platform: Aspeed: Make reserved memory optional
    media: platform: Aspeed: Remove use of reset line
    media: stm32-dcmi: return appropriate error codes during probe
    media: vsp1: Add support for missing 16-bit RGB555 formats
    media: vsp1: Add support for missing 16-bit RGB444 formats
    media: vsp1: Add support for missing 32-bit RGB formats
    media: v4l: Add definitions for missing 16-bit RGB555 formats
    media: v4l: Add definitions for missing 16-bit RGB4444 formats
    media: v4l: Add definitions for missing 32-bit RGB formats
    media: zoran: remove deprecated driver
    media: MAINTAINERS: Update AO CEC with ao-cec-g12a driver
    media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver
    media: dt-bindings: media: meson-ao-cec: Add G12A AO-CEC-B Compatible
    media: cros-ec-cec: decrement HDMI device refcount
    media: seco-cec: decrement HDMI device refcount
    media: tegra_cec: use new cec_notifier_parse_hdmi_phandle helper
    media: stih_cec: use new cec_notifier_parse_hdmi_phandle helper
    media: s5p_cec: use new cec_notifier_parse_hdmi_phandle helper
    media: meson: ao-cec: use new cec_notifier_parse_hdmi_phandle helper
    ...

    Linus Torvalds
     

08 May, 2019

9 commits

  • This adds support for the RISCV architecture (32 and 64 bit) to the
    nolibc header file.

    Signed-off-by: Pranith Kumar
    [willy: minimal rewording of the commit message]
    Signed-off-by: Willy Tarreau

    Pranith Kumar
     
  • Pull networking updates from David Miller:
    "Highlights:

    1) Support AES128-CCM ciphers in kTLS, from Vakul Garg.

    2) Add fib_sync_mem to control the amount of dirty memory we allow to
    queue up between synchronize RCU calls, from David Ahern.

    3) Make flow classifier more lockless, from Vlad Buslov.

    4) Add PHY downshift support to aquantia driver, from Heiner
    Kallweit.

    5) Add SKB cache for TCP rx and tx, from Eric Dumazet. This reduces
    contention on SLAB spinlocks in heavy RPC workloads.

    6) Partial GSO offload support in XFRM, from Boris Pismenny.

    7) Add fast link down support to ethtool, from Heiner Kallweit.

    8) Use siphash for IP ID generator, from Eric Dumazet.

    9) Pull nexthops even further out from ipv4/ipv6 routes and FIB
    entries, from David Ahern.

    10) Move skb->xmit_more into a per-cpu variable, from Florian
    Westphal.

    11) Improve eBPF verifier speed and increase maximum program size,
    from Alexei Starovoitov.

    12) Eliminate per-bucket spinlocks in rhashtable, and instead use bit
    spinlocks. From Neil Brown.

    13) Allow tunneling with GUE encap in ipvs, from Jacky Hu.

    14) Improve link partner cap detection in generic PHY code, from
    Heiner Kallweit.

    15) Add layer 2 encap support to bpf_skb_adjust_room(), from Alan
    Maguire.

    16) Remove SKB list implementation assumptions in SCTP, your's truly.

    17) Various cleanups, optimizations, and simplifications in r8169
    driver. From Heiner Kallweit.

    18) Add memory accounting on TX and RX path of SCTP, from Xin Long.

    19) Switch PHY drivers over to use dynamic featue detection, from
    Heiner Kallweit.

    20) Support flow steering without masking in dpaa2-eth, from Ioana
    Ciocoi.

    21) Implement ndo_get_devlink_port in netdevsim driver, from Jiri
    Pirko.

    22) Increase the strict parsing of current and future netlink
    attributes, also export such policies to userspace. From Johannes
    Berg.

    23) Allow DSA tag drivers to be modular, from Andrew Lunn.

    24) Remove legacy DSA probing support, also from Andrew Lunn.

    25) Allow ll_temac driver to be used on non-x86 platforms, from Esben
    Haabendal.

    26) Add a generic tracepoint for TX queue timeouts to ease debugging,
    from Cong Wang.

    27) More indirect call optimizations, from Paolo Abeni"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1763 commits)
    cxgb4: Fix error path in cxgb4_init_module
    net: phy: improve pause mode reporting in phy_print_status
    dt-bindings: net: Fix a typo in the phy-mode list for ethernet bindings
    net: macb: Change interrupt and napi enable order in open
    net: ll_temac: Improve error message on error IRQ
    net/sched: remove block pointer from common offload structure
    net: ethernet: support of_get_mac_address new ERR_PTR error
    net: usb: smsc: fix warning reported by kbuild test robot
    staging: octeon-ethernet: Fix of_get_mac_address ERR_PTR check
    net: dsa: support of_get_mac_address new ERR_PTR error
    net: dsa: sja1105: Fix status initialization in sja1105_get_ethtool_stats
    vrf: sit mtu should not be updated when vrf netdev is the link
    net: dsa: Fix error cleanup path in dsa_init_module
    l2tp: Fix possible NULL pointer dereference
    taprio: add null check on sched_nest to avoid potential null pointer dereference
    net: mvpp2: cls: fix less than zero check on a u32 variable
    net_sched: sch_fq: handle non connected flows
    net_sched: sch_fq: do not assume EDT packets are ordered
    net: hns3: use devm_kcalloc when allocating desc_cb
    net: hns3: some cleanup for struct hns3_enet_ring
    ...

    Linus Torvalds
     
  • Pull block updates from Jens Axboe:
    "Nothing major in this series, just fixes and improvements all over the
    map. This contains:

    - Series of fixes for sed-opal (David, Jonas)

    - Fixes and performance tweaks for BFQ (via Paolo)

    - Set of fixes for bcache (via Coly)

    - Set of fixes for md (via Song)

    - Enabling multi-page for passthrough requests (Ming)

    - Queue release fix series (Ming)

    - Device notification improvements (Martin)

    - Propagate underlying device rotational status in loop (Holger)

    - Removal of mtip32xx trim support, which has been disabled for years
    (Christoph)

    - Improvement and cleanup of nvme command handling (Christoph)

    - Add block SPDX tags (Christoph)

    - Cleanup/hardening of bio/bvec iteration (Christoph)

    - A few NVMe pull requests (Christoph)

    - Removal of CONFIG_LBDAF (Christoph)

    - Various little fixes here and there"

    * tag 'for-5.2/block-20190507' of git://git.kernel.dk/linux-block: (164 commits)
    block: fix mismerge in bvec_advance
    block: don't drain in-progress dispatch in blk_cleanup_queue()
    blk-mq: move cancel of hctx->run_work into blk_mq_hw_sysfs_release
    blk-mq: always free hctx after request queue is freed
    blk-mq: split blk_mq_alloc_and_init_hctx into two parts
    blk-mq: free hw queue's resource in hctx's release handler
    blk-mq: move cancel of requeue_work into blk_mq_release
    blk-mq: grab .q_usage_counter when queuing request from plug code path
    block: fix function name in comment
    nvmet: protect discovery change log event list iteration
    nvme: mark nvme_core_init and nvme_core_exit static
    nvme: move command size checks to the core
    nvme-fabrics: check more command sizes
    nvme-pci: check more command sizes
    nvme-pci: remove an unneeded variable initialization
    nvme-pci: unquiesce admin queue on shutdown
    nvme-pci: shutdown on timeout during deletion
    nvme-pci: fix psdt field for single segment sgls
    nvme-multipath: don't print ANA group state by default
    nvme-multipath: split bios with the ns_head bio_set before submitting
    ...

    Linus Torvalds
     
  • Minor conflict with the DSA legacy code removal.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Convert livepatch documentation to ReST format. The changes
    are mostly trivial, as the documents are already on a good
    shape. Just a few markup changes are needed for Sphinx to
    properly parse the docs.

    The conversion is actually:
    - add blank lines and identation in order to identify paragraphs;
    - fix tables markups;
    - add some lists markups;
    - mark literal blocks;
    - The in-file TOC becomes a comment, in order to skip it from the
    output, as Sphinx already generates an index there.
    - adjust title markups.

    At its new index.rst, let's add a :orphan: while this is not linked to
    the main index.rst file, in order to avoid build warnings.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Petr Mladek
    Acked-by: Miroslav Benes
    Acked-by: Josh Poimboeuf
    Acked-by: Joe Lawrence
    Reviewed-by: Kamalesh Babulal
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • …/git/gregkh/char-misc

    Pull char/misc update part 2 from Greg KH:
    "Here is the "real" big set of char/misc driver patches for 5.2-rc1

    Loads of different driver subsystem stuff in here, all over the places:
    - thunderbolt driver updates
    - habanalabs driver updates
    - nvmem driver updates
    - extcon driver updates
    - intel_th driver updates
    - mei driver updates
    - coresight driver updates
    - soundwire driver cleanups and updates
    - fastrpc driver updates
    - other minor driver updates
    - chardev minor fixups

    Feels like this tree is getting to be a dumping ground of "small
    driver subsystems" these days. Which is fine with me, if it makes
    things easier for those subsystem maintainers.

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

    * tag 'char-misc-5.2-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (255 commits)
    intel_th: msu: Add current window tracking
    intel_th: msu: Add a sysfs attribute to trigger window switch
    intel_th: msu: Correct the block wrap detection
    intel_th: Add switch triggering support
    intel_th: gth: Factor out trace start/stop
    intel_th: msu: Factor out pipeline draining
    intel_th: msu: Switch over to scatterlist
    intel_th: msu: Replace open-coded list_{first,last,next}_entry variants
    intel_th: Only report useful IRQs to subdevices
    intel_th: msu: Start handling IRQs
    intel_th: pci: Use MSI interrupt signalling
    intel_th: Communicate IRQ via resource
    intel_th: Add "rtit" source device
    intel_th: Skip subdevices if their MMIO is missing
    intel_th: Rework resource passing between glue layers and core
    intel_th: SPDX-ify the documentation
    intel_th: msu: Fix single mode with IOMMU
    coresight: funnel: Support static funnel
    dt-bindings: arm: coresight: Unify funnel DT binding
    coresight: replicator: Add new device id for static replicator
    ...

    Linus Torvalds
     
  • Pull ktest updates from Steven Rostedt:
    "Minor updates to ktest.pl

    - Handle meta characters in grub memu

    - Use configurable reboot return code for handling ssh reboots

    - Display names and iteration number on error message"

    * tag 'ktest-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
    ktest: introduce REBOOT_RETURN_CODE to confirm the result of REBOOT
    ktest: Add support for meta characters in GRUB_MENU
    ktest: Show name and iteration on errors

    Linus Torvalds
     
  • Daniel Borkmann says:

    ====================
    pull-request: bpf-next 2019-05-06

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

    The main changes are:

    1) Two AF_XDP libbpf fixes for socket teardown; first one an invalid
    munmap and the other one an invalid skmap cleanup, both from Björn.

    2) More graceful CONFIG_DEBUG_INFO_BTF handling when pahole is not
    present in the system to generate vmlinux btf info, from Andrii.

    3) Fix libbpf and thus fix perf build error with uClibc on arc
    architecture, from Vineet.

    4) Fix missing libbpf_util.h header install in libbpf, from William.

    5) Exclude bash-completion/bpftool from .gitignore pattern, from Masahiro.

    6) Fix up rlimit in test_libbpf_open kselftest test case, from Yonghong.

    7) Minor misc cleanups.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2019-05-06

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

    The main changes are:

    1) Two x32 JIT fixes: one which has buggy signed comparisons in 64
    bit conditional jumps and another one for 64 bit negation, both
    from Wang.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

07 May, 2019

7 commits

  • Pull livepatching updates from Jiri Kosina:

    - livepatching kselftests improvements from Joe Lawrence and Miroslav
    Benes

    - making use of gcc's -flive-patching option when available, from
    Miroslav Benes

    - kobject handling cleanups, from Petr Mladek

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
    livepatch: Remove duplicated code for early initialization
    livepatch: Remove custom kobject state handling
    livepatch: Convert error about unsupported reliable stacktrace into a warning
    selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED
    kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled
    selftests/livepatch: use TEST_PROGS for test scripts

    Linus Torvalds
     
  • …/git/shuah/linux-kselftest

    Pull Kselftest updates from Shuah Khan:

    - fixes to seccomp test, and kselftest framework

    - cleanups to remove duplicate header defines

    - fixes to efivarfs "make clean" target

    - cgroup cleanup path

    - Moving the IMA kexec_load selftest to selftests/kexec work from Mimi
    Johar and Petr Vorel

    - A framework to kselftest for writing kernel test modules addition
    from Tobin C. Harding

    * tag 'linux-kselftest-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (29 commits)
    selftests: build and run gpio when output directory is the src dir
    selftests/ipc: Fix msgque compiler warnings
    selftests/efivarfs: clean up test files from test_create*()
    selftests: fix headers_install circular dependency
    selftests/kexec: update get_secureboot_mode
    selftests/kexec: make kexec_load test independent of IMA being enabled
    selftests/kexec: check kexec_load and kexec_file_load are enabled
    selftests/kexec: Add missing '=y' to config options
    selftests/kexec: kexec_file_load syscall test
    selftests/kexec: define "require_root_privileges"
    selftests/kexec: define common logging functions
    selftests/kexec: define a set of common functions
    selftests/kexec: cleanup the kexec selftest
    selftests/kexec: move the IMA kexec_load selftest to selftests/kexec
    selftests/harness: Add 30 second timeout per test
    selftests/seccomp: Handle namespace failures gracefully
    selftests: cgroup: fix cleanup path in test_memcg_subtree_control()
    selftests: efivarfs: remove the test_create_read file if it was exist
    rseq/selftests: Adapt number of threads to the number of detected cpus
    lib: Add test module for strscpy_pad
    ...

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:
    "These rearrange the ACPI documentation by converting it to the .rst
    format and splitting it into clear categories (admin guide, driver
    API, firmware guide), switch over multiple users of a problematic
    library function to a new better one, update the ACPICA code in the
    kernel to a new upstream release, fix a few issues, improve power
    device management diagnostics and do some cleanups.

    Specifics:

    - Convert the ACPI documentation in the kernel source tree to the
    .rst format and split it into the admin guide, driver API and
    firmware guide parts (Changbin Du).

    - Add a PRP0001 usage example to the ACPI documentation (Thomas
    Preston).

    - Switch over the users of the acpi_dev_get_first_match_name()
    library function which turned out to be problematic to a new,
    better one called acpi_dev_get_first_match_dev() (Andy Shevchenko,
    YueHaibing).

    - Update the ACPICA code in the kernel to upstream release 20190405
    including:
    * Null pointer dereference check in acpi_ns_delete_node() (Erik
    Schmauss).
    * Multiple macro and function name changes (Bob Moore).
    * Predefined operation region name fix (Erik Schmauss).

    - Fix hibernation issue on systems using the Baytrail and Cherrytrail
    Intel SoCs introduced during the 4.20 development cycle (Hans de
    Goede).

    - Add Sony VPCEH3U1E to the backlight quirk list (Zhang Rui).

    - Fix button handling during system resume (Zhang Rui).

    - Add a device PM diagnostic message (Rafael Wysocki).

    - Clean up the code, comments and white space in multiple places
    (Bjorn Helgaas, Gustavo Silva, Kefeng Wang)"

    * tag 'acpi-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (53 commits)
    Documentation: ACPI: move video_extension.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move ssdt-overlays.txt to admin-guide/acpi and convert to reST
    Documentation: ACPI: move lpit.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move cppc_sysfs.txt to admin-guide/acpi and convert to reST
    Documentation: ACPI: move apei/einj.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move apei/output_format.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move aml-debugger.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move method-tracing.txt to firmware-guide/acpi and convert to rsST
    Documentation: ACPI: move debug.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move dsd/data-node-references.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move dsd/graph.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move acpi-lid.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move i2c-muxes.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move dsdt-override.txt to admin-guide/acpi and convert to reST
    Documentation: ACPI: move initrd_table_override.txt to admin-guide/acpi and convert to reST
    Documentation: ACPI: move method-customizing.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move gpio-properties.txt to firmware-guide/acpi and convert to reST
    Documentation: ACPI: move DSD-properties-rules.txt to firmware-guide/acpi and covert to reST
    Documentation: ACPI: move scan_handlers.txt to driver-api/acpi and convert to reST
    Documentation: ACPI: move linuxized-acpica.txt to driver-api/acpi and convert to reST
    ...

    Linus Torvalds
     
  • Pull s390 updates from Martin Schwidefsky:

    - Support for kernel address space layout randomization

    - Add support for kernel image signature verification

    - Convert s390 to the generic get_user_pages_fast code

    - Convert s390 to the stack unwind API analog to x86

    - Add support for CPU directed interrupts for PCI devices

    - Provide support for MIO instructions to the PCI base layer, this will
    allow the use of direct PCI mappings in user space code

    - Add the basic KVM guest ultravisor interface for protected VMs

    - Add AT_HWCAP bits for several new hardware capabilities

    - Update the CPU measurement facility counter definitions to SVN 6

    - Arnds cleanup patches for his quest to get LLVM compiles working

    - A vfio-ccw update with bug fixes and support for halt and clear

    - Improvements for the hardware TRNG code

    - Another round of cleanup for the QDIO layer

    - Numerous cleanups and bug fixes

    * tag 's390-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (98 commits)
    s390/vdso: drop unnecessary cc-ldoption
    s390: fix clang -Wpointer-sign warnigns in boot code
    s390: drop CONFIG_VIRT_TO_BUS
    s390: boot, purgatory: pass $(CLANG_FLAGS) where needed
    s390: only build for new CPUs with clang
    s390: simplify disabled_wait
    s390/ftrace: use HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
    s390/unwind: introduce stack unwind API
    s390/opcodes: add missing instructions to the disassembler
    s390/bug: add entry size to the __bug_table section
    s390: use proper expoline sections for .dma code
    s390/nospec: rename assembler generated expoline thunks
    s390: add missing ENDPROC statements to assembler functions
    locking/lockdep: check for freed initmem in static_obj()
    s390/kernel: add support for kernel address space layout randomization (KASLR)
    s390/kernel: introduce .dma sections
    s390/sclp: do not use static sccbs
    s390/kprobes: use static buffer for insn_page
    s390/kernel: convert SYSCALL and PGM_CHECK handlers to .quad
    s390/kernel: build a relocatable kernel
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "The main kernel changes were:

    - add support for Intel's "adaptive PEBS v4" - which embedds LBS data
    in PEBS records and can thus batch up and reduce the IRQ (NMI) rate
    significantly - reducing overhead and making call-graph profiling
    less intrusive.

    - add Intel CPU core and uncore support updates for Tremont, Icelake,

    - extend the x86 PMU constraints scheduler with 'constraint ranges'
    to better support Icelake hw constraints,

    - make x86 call-chain support work better with CONFIG_FRAME_POINTER=y

    - misc other changes

    Tooling changes:

    - updates to the main tools: 'perf record', 'perf trace', 'perf
    stat'

    - updated Intel and S/390 vendor events

    - libtraceevent updates

    - misc other updates and fixes"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (69 commits)
    perf/x86: Make perf callchains work without CONFIG_FRAME_POINTER
    watchdog: Fix typo in comment
    perf/x86/intel: Add Tremont core PMU support
    perf/x86/intel/uncore: Add Intel Icelake uncore support
    perf/x86/msr: Add Icelake support
    perf/x86/intel/rapl: Add Icelake support
    perf/x86/intel/cstate: Add Icelake support
    perf/x86/intel: Add Icelake support
    perf/x86: Support constraint ranges
    perf/x86/lbr: Avoid reading the LBRs when adaptive PEBS handles them
    perf/x86/intel: Support adaptive PEBS v4
    perf/x86/intel/ds: Extract code of event update in short period
    perf/x86/intel: Extract memory code PEBS parser for reuse
    perf/x86: Support outputting XMM registers
    perf/x86/intel: Force resched when TFA sysctl is modified
    perf/core: Add perf_pmu_resched() as global function
    perf/headers: Fix stale comment for struct perf_addr_filter
    perf/core: Make perf_swevent_init_cpu() static
    perf/x86: Add sanity checks to x86_schedule_events()
    perf/x86: Optimize x86_schedule_events()
    ...

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "This cycles's RCU changes include:

    - a couple of straggling RCU flavor consolidation updates

    - SRCU updates

    - RCU CPU stall-warning updates

    - torture-test updates

    - an LKMM commit adding support for synchronize_srcu_expedited()

    - documentation updates

    - miscellaneous fixes"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits)
    net/ipv4/netfilter: Update comment from call_rcu_bh() to call_rcu()
    tools/memory-model: Add support for synchronize_srcu_expedited()
    doc/kprobes: Update obsolete RCU update functions
    torture: Suppress false-positive CONFIG_INITRAMFS_SOURCE complaint
    locktorture: NULL cxt.lwsa and cxt.lrsa to allow bad-arg detection
    rcuperf: Fix cleanup path for invalid perf_type strings
    rcutorture: Fix cleanup path for invalid torture_type strings
    rcutorture: Fix expected forward progress duration in OOM notifier
    rcutorture: Remove ->ext_irq_conflict field
    rcutorture: Make rcutorture_extend_mask() comment match the code
    tools/.../rcutorture: Convert to SPDX license identifier
    torture: Don't try to offline the last CPU
    rcu: Fix nohz status in stall warning
    rcu: Move forward-progress checkers into tree_stall.h
    rcu: Move irq-disabled stall-warning checking to tree_stall.h
    rcu: Organize functions in tree_stall.h
    rcu: Move FAST_NO_HZ stall-warning code to tree_stall.h
    rcu: Inline RCU stall-warning info helper functions
    rcu: Move rcu_print_task_exp_stall() to tree_exp.h
    rcu: Inline RCU task stall-warning helper functions
    ...

    Linus Torvalds
     
  • Pull objtool updates from Ingo Molnar:
    "This is a series from Peter Zijlstra that adds x86 build-time uaccess
    validation of SMAP to objtool, which will detect and warn about the
    following uaccess API usage bugs and weirdnesses:

    - call to %s() with UACCESS enabled
    - return with UACCESS enabled
    - return with UACCESS disabled from a UACCESS-safe function
    - recursive UACCESS enable
    - redundant UACCESS disable
    - UACCESS-safe disables UACCESS

    As it turns out not leaking uaccess permissions outside the intended
    uaccess functionality is hard when the interfaces are complex and when
    such bugs are mostly dormant.

    As a bonus we now also check the DF flag. We had at least one
    high-profile bug in that area in the early days of Linux, and the
    checking is fairly simple. The checks performed and warnings emitted
    are:

    - call to %s() with DF set
    - return with DF set
    - return with modified stack frame
    - recursive STD
    - redundant CLD

    It's all x86-only for now, but later on this can also be used for PAN
    on ARM and objtool is fairly cross-platform in principle.

    While all warnings emitted by this new checking facility that got
    reported to us were fixed, there might be GCC version dependent
    warnings that were not reported yet - which we'll address, should they
    trigger.

    The warnings are non-fatal build warnings"

    * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
    mm/uaccess: Use 'unsigned long' to placate UBSAN warnings on older GCC versions
    x86/uaccess: Dont leak the AC flag into __put_user() argument evaluation
    sched/x86_64: Don't save flags on context switch
    objtool: Add Direction Flag validation
    objtool: Add UACCESS validation
    objtool: Fix sibling call detection
    objtool: Rewrite alt->skip_orig
    objtool: Add --backtrace support
    objtool: Rewrite add_ignores()
    objtool: Handle function aliases
    objtool: Set insn->func for alternatives
    x86/uaccess, kcov: Disable stack protector
    x86/uaccess, ftrace: Fix ftrace_likely_update() vs. SMAP
    x86/uaccess, ubsan: Fix UBSAN vs. SMAP
    x86/uaccess, kasan: Fix KASAN vs SMAP
    x86/smap: Ditch __stringify()
    x86/uaccess: Introduce user_access_{save,restore}()
    x86/uaccess, signal: Fix AC=1 bloat
    x86/uaccess: Always inline user_access_begin()
    x86/uaccess, xen: Suppress SMAP warnings
    ...

    Linus Torvalds