06 Jun, 2017

1 commit

  • This allows to detect -s (--silent) option without checking GNU Make
    version.

    As commit e36aaea28972 ("kbuild: Fix silent builds with make-4")
    pointed out, GNU Make 4.x changed the way/order it presents the
    command line options into MAKEFLAGS.

    In Make 3.8x, 's' is always the first in a group of short options.
    The group may be prefixed with '-' in some cases.

    In Make 4.x, 's' is always the last in a group of short options.

    As commit e6ac89fabd03 ("kbuild: Correctly deal with make options
    which contain an 's'") addressed, we also need to deal with long
    options that contain 's', like --warn-undefined-variables.

    Test cases:

    [1] command line input: make --silent
    -> MAKEFLAGS for Make 3.8x: s
    -> MAKEFLAGS for Make 4.x : s

    [2] command line input: make -srR
    -> MAKEFLAGS for Make 3.8x: sRr
    -> MAKEFLAGS for Make 4.x : rRs

    [3] command line input: make -s -rR --warn-undefined-variables
    -> MAKEFLAGS for Make 3.8x: --warn-undefined-variables -sRr
    -> MAKEFLAGS for Make 4.x : rRs --warn-undefined-variables

    My idea to cater to all the cases more easily is to filter out long
    options (--%), then search 's' with $(findstring ...). This way will
    be more future-proof even if future versions of Make put 's' in the
    middle of the group.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

21 May, 2017

1 commit

  • Pull tracing fixes from Steven Rostedt:

    - Fix a bug caused by not cleaning up the new instance unique triggers
    when deleting an instance. It also creates a selftest that triggers
    that bug.

    - Fix the delayed optimization happening after kprobes boot up self
    tests being removed by freeing of init memory.

    - Comment kprobes on why the delay optimization is not a problem for
    removal of modules, to keep other developers from searching that
    riddle.

    - Fix another case of rcu not watching in stack trace tracing.

    * tag 'trace-v4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Make sure RCU is watching before calling a stack trace
    kprobes: Document how optimized kprobes are removed from module unload
    selftests/ftrace: Add test to remove instance with active event triggers
    selftests/ftrace: Fix bashisms
    ftrace: Remove #ifdef from code and add clear_ftrace_function_probes() stub
    ftrace/instances: Clear function triggers when removing instances
    ftrace: Simplify glob handling in unregister_ftrace_function_probe_func()
    tracing/kprobes: Enforce kprobes teardown after testing
    tracing: Move postpone selftests to core from early_initcall

    Linus Torvalds
     

20 May, 2017

1 commit

  • Pull powerpc fixes from Michael Ellerman:
    "The headliner is a fix for FP/VMX register corruption when using
    transactional memory, and a new selftest to go with it.

    Then there's the virt_addr_valid() fix, currently HARDENDED_USERCOPY
    is tripping on that causing some machines to crash.

    A few other fairly minor fixes for long tail things, and a couple of
    fixes for code we just merged.

    Thanks to: Breno Leitao, Gautham Shenoy, Michael Neuling, Naveen Rao.
    Nicholas Piggin, Paul Mackerras"

    * tag 'powerpc-4.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/mm: Fix virt_addr_valid() etc. on 64-bit hash
    powerpc/mm: Fix crash in page table dump with huge pages
    powerpc/kprobes: Fix handling of instruction emulation on probe re-entry
    powerpc/powernv: Set NAPSTATELOST after recovering paca on P9 DD1
    selftests/powerpc: Test TM and VMX register state
    powerpc/tm: Fix FP and VMX register corruption
    powerpc/modules: If mprofile-kernel is enabled add it to vermagic

    Linus Torvalds
     

18 May, 2017

3 commits

  • Add a test to ensure we clean up properly when removing an instance
    with active event triggers.

    Link: http://lkml.kernel.org/r/c479465b2009397708d6c52c8561e1523c22cd31.1494956770.git.naveen.n.rao@linux.vnet.ibm.com

    Signed-off-by: Naveen N. Rao
    Signed-off-by: Steven Rostedt (VMware)

    Naveen N. Rao
     
  • Fix a few bashisms in ftrace selftests.

    Link: http://lkml.kernel.org/r/5fbf4613eef0766918fa04e3ff537cae271223ee.1494956770.git.naveen.n.rao@linux.vnet.ibm.com

    Acked-by: Masami Hiramatsu
    Signed-off-by: Naveen N. Rao
    Signed-off-by: Steven Rostedt (VMware)

    Naveen N. Rao
     
  • Commit 0a5539f66133 ("bpf: Provide a linux/types.h override
    for bpf selftests.") caused a build failure for tools/testing/selftest/bpf
    because of some missing types:
    $ make -C tools/testing/selftests/bpf/
    ...
    In file included from /home/yhs/work/net-next/tools/testing/selftests/bpf/test_pkt_access.c:8:
    ../../../include/uapi/linux/bpf.h:170:3: error: unknown type name '__aligned_u64'
    __aligned_u64 key;
    ...
    /usr/include/linux/swab.h:160:8: error: unknown type name '__always_inline'
    static __always_inline __u16 __swab16p(const __u16 *p)
    ...
    The type __aligned_u64 is defined in linux:include/uapi/linux/types.h.

    The fix is to copy missing type definition into
    tools/testing/selftests/bpf/include/uapi/linux/types.h.
    Adding additional include "string.h" resolves __always_inline issue.

    Fixes: 0a5539f66133 ("bpf: Provide a linux/types.h override for bpf selftests.")
    Signed-off-by: Yonghong Song
    Signed-off-by: David S. Miller

    Yonghong Song
     

16 May, 2017

2 commits

  • Test that the VMX checkpointed register state is maintained when a VMX
    unavailable exception is taken during a transaction.

    Thanks to Breno Leitao and
    Gustavo Bueno Romero for the original test this
    is based heavily on.

    Signed-off-by: Michael Neuling
    Reviewed-by: Cyril Bur
    [mpe: Add to .gitignore, always build it 64-bit to fix build errors]
    Signed-off-by: Michael Ellerman

    Michael Neuling
     
  • Pull networking fixes from David Miller:

    1) Track alignment in BPF verifier so that legitimate programs won't be
    rejected on !CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS architectures.

    2) Make tail calls work properly in arm64 BPF JIT, from Deniel
    Borkmann.

    3) Make the configuration and semantics Generic XDP make more sense and
    don't allow both generic XDP and a driver specific instance to be
    active at the same time. Also from Daniel.

    4) Don't crash on resume in xen-netfront, from Vitaly Kuznetsov.

    5) Fix use-after-free in VRF driver, from Gao Feng.

    6) Use netdev_alloc_skb_ip_align() to avoid unaligned IP headers in
    qca_spi driver, from Stefan Wahren.

    7) Always run cleanup routines in BPF samples when we get SIGTERM, from
    Andy Gospodarek.

    8) The mdio phy code should bring PHYs out of reset using the shared
    GPIO lines before invoking bus->reset(). From Florian Fainelli.

    9) Some USB descriptor access endian fixes in various drivers from
    Johan Hovold.

    10) Handle PAUSE advertisements properly in mlx5 driver, from Gal
    Pressman.

    11) Fix reversed test in mlx5e_setup_tc(), from Saeed Mahameed.

    12) Cure netdev leak in AF_PACKET when using timestamping via control
    messages. From Douglas Caetano dos Santos.

    13) netcp doesn't support HWTSTAMP_FILTER_ALl, reject it. From Miroslav
    Lichvar.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits)
    ldmvsw: stop the clean timer at beginning of remove
    ldmvsw: unregistering netdev before disable hardware
    net: netcp: fix check of requested timestamping filter
    ipv6: avoid dad-failures for addresses with NODAD
    qed: Fix uninitialized data in aRFS infrastructure
    mdio: mux: fix device_node_continue.cocci warnings
    net/packet: fix missing net_device reference release
    net/mlx4_core: Use min3 to select number of MSI-X vectors
    macvlan: Fix performance issues with vlan tagged packets
    net: stmmac: use correct pointer when printing normal descriptor ring
    net/mlx5: Use underlay QPN from the root name space
    net/mlx5e: IPoIB, Only support regular RQ for now
    net/mlx5e: Fix setup TC ndo
    net/mlx5e: Fix ethtool pause support and advertise reporting
    net/mlx5e: Use the correct pause values for ethtool advertising
    vmxnet3: ensure that adapter is in proper state during force_close
    sfc: revert changes to NIC revision numbers
    net: ch9200: add missing USB-descriptor endianness conversions
    net: irda: irda-usb: fix firmware name on big-endian hosts
    net: dsa: mv88e6xxx: add default case to switch
    ...

    Linus Torvalds
     

13 May, 2017

1 commit

  • Pull perf updates/fixes from Ingo Molnar:
    "Mostly tooling updates, but also two kernel fixes: a call chain
    handling robustness fix and an x86 PMU driver event definition fix"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/callchain: Force USER_DS when invoking perf_callchain_user()
    tools build: Fixup sched_getcpu feature test
    perf tests kmod-path: Don't fail if compressed modules aren't supported
    perf annotate: Fix AArch64 comment char
    perf tools: Fix spelling mistakes
    perf/x86: Fix Broadwell-EP DRAM RAPL events
    perf config: Refactor a duplicated code for obtaining config file name
    perf symbols: Allow user probes on versioned symbols
    perf symbols: Accept symbols starting at address 0
    tools lib string: Adopt prefixcmp() from perf and subcmd
    perf units: Move parse_tag_value() to units.[ch]
    perf ui gtk: Move gtk .so name to the only place where it is used
    perf tools: Move HAS_BOOL define to where perl headers are used
    perf memswap: Split the byteswap memory range wrappers from util.[ch]
    perf tools: Move event prototypes from util.h to event.h
    perf buildid: Move prototypes from util.h to build-id.h

    Linus Torvalds
     

12 May, 2017

6 commits


11 May, 2017

2 commits

  • Pull virtio updates from Michael Tsirkin:
    "Fixes, cleanups, performance

    A bunch of changes to virtio, most affecting virtio net. Also ptr_ring
    batched zeroing - first of batching enhancements that seems ready."

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    s390/virtio: change maintainership
    tools/virtio: fix spelling mistake: "wakeus" -> "wakeups"
    virtio_net: tidy a couple debug statements
    ptr_ring: support testing different batching sizes
    ringtest: support test specific parameters
    ptr_ring: batch ring zeroing
    virtio: virtio_driver doc
    virtio_net: don't reset twice on XDP on/off
    virtio_net: fix support for small rings
    virtio_net: reduce alignment for buffers
    virtio_net: rework mergeable buffer handling
    virtio_net: allow specifying context for rx
    virtio: allow extra context per descriptor
    tools/virtio: fix build breakage
    virtio: add context flag to find vqs
    virtio: wrap find_vqs
    ringtest: fix an assert statement

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The main changes are:

    - Debloat RCU headers

    - Parallelize SRCU callback handling (plus overlapping patches)

    - Improve the performance of Tree SRCU on a CPU-hotplug stress test

    - Documentation updates

    - Miscellaneous fixes"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (74 commits)
    rcu: Open-code the rcu_cblist_n_lazy_cbs() function
    rcu: Open-code the rcu_cblist_n_cbs() function
    rcu: Open-code the rcu_cblist_empty() function
    rcu: Separately compile large rcu_segcblist functions
    srcu: Debloat the header
    srcu: Adjust default auto-expediting holdoff
    srcu: Specify auto-expedite holdoff time
    srcu: Expedite first synchronize_srcu() when idle
    srcu: Expedited grace periods with reduced memory contention
    srcu: Make rcutorture writer stalls print SRCU GP state
    srcu: Exact tracking of srcu_data structures containing callbacks
    srcu: Make SRCU be built by default
    srcu: Fix Kconfig botch when SRCU not selected
    rcu: Make non-preemptive schedule be Tasks RCU quiescent state
    srcu: Expedite srcu_schedule_cbs_snp() callback invocation
    srcu: Parallelize callback handling
    kvm: Move srcu_struct fields to end of struct kvm
    rcu: Fix typo in PER_RCU_NODE_PERIOD header comment
    rcu: Use true/false in assignment to bool
    rcu: Use bool value directly
    ...

    Linus Torvalds
     

09 May, 2017

8 commits

  • trivial fix to spelling mistake in an error message.

    Signed-off-by: Colin Ian King
    Signed-off-by: Michael S. Tsirkin
    Acked-by: Jason Wang

    Colin Ian King
     
  • Use the param flag for that.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • Add a new flag for passing test-specific parameters.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • …l/git/shuah/linux-kselftest

    Pull kselftest updates from Shuah Khan:
    "This update consists of:

    - important fixes for build failures and clean target related
    warnings to address regressions introduced in commit 88baa78d1f31
    ("selftests: remove duplicated all and clean target")

    - several minor spelling fixes in and log messages and comment
    blocks.

    - Enabling configs for better test coverage in ftrace, vm, and
    cpufreq tests.

    - .gitignore changes"

    * tag 'linux-kselftest-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (26 commits)
    selftests: x86: add missing executables to .gitignore
    selftests: watchdog: accept multiple params on command line
    selftests: create cpufreq kconfig fragments
    selftests: x86: override clean in lib.mk to fix warnings
    selftests: sync: override clean in lib.mk to fix warnings
    selftests: splice: override clean in lib.mk to fix warnings
    selftests: gpio: fix clean target to remove all generated files and dirs
    selftests: add gpio generated files to .gitignore
    selftests: powerpc: override clean in lib.mk to fix warnings
    selftests: gpio: override clean in lib.mk to fix warnings
    selftests: futex: override clean in lib.mk to fix warnings
    selftests: lib.mk: define CLEAN macro to allow Makefiles to override clean
    selftests: splice: fix clean target to not remove default_file_splice_read.sh
    selftests: gpio: add config fragment for gpio-mockup
    selftests: breakpoints: allow to cross-compile for aarch64/arm64
    selftests/Makefile: Add missed PHONY targets
    selftests/vm/run_vmtests: Fix wrong comment
    selftests/Makefile: Add missed closing `"` in comment
    selftests/vm/run_vmtests: Polish output text
    selftests/timers: fix spelling mistake: "Asynchronous"
    ...

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:

    - add framework for supporting PCIe devices in Endpoint mode (Kishon
    Vijay Abraham I)

    - use non-postable PCI config space mappings when possible (Lorenzo
    Pieralisi)

    - clean up and unify mmap of PCI BARs (David Woodhouse)

    - export and unify Function Level Reset support (Christoph Hellwig)

    - avoid FLR for Intel 82579 NICs (Sasha Neftin)

    - add pci_request_irq() and pci_free_irq() helpers (Christoph Hellwig)

    - short-circuit config access failures for disconnected devices (Keith
    Busch)

    - remove D3 sleep delay when possible (Adrian Hunter)

    - freeze PME scan before suspending devices (Lukas Wunner)

    - stop disabling MSI/MSI-X in pci_device_shutdown() (Prarit Bhargava)

    - disable boot interrupt quirk for ASUS M2N-LR (Stefan Assmann)

    - add arch-specific alignment control to improve device passthrough by
    avoiding multiple BARs in a page (Yongji Xie)

    - add sysfs sriov_drivers_autoprobe to control VF driver binding
    (Bodong Wang)

    - allow slots below PCI-to-PCIe "reverse bridges" (Bjorn Helgaas)

    - fix crashes when unbinding host controllers that don't support
    removal (Brian Norris)

    - add driver for MicroSemi Switchtec management interface (Logan
    Gunthorpe)

    - add driver for Faraday Technology FTPCI100 host bridge (Linus
    Walleij)

    - add i.MX7D support (Andrey Smirnov)

    - use generic MSI support for Aardvark (Thomas Petazzoni)

    - make Rockchip driver modular (Brian Norris)

    - advertise 128-byte Read Completion Boundary support for Rockchip
    (Shawn Lin)

    - advertise PCI_EXP_LNKSTA_SLC for Rockchip root port (Shawn Lin)

    - convert atomic_t to refcount_t in HV driver (Elena Reshetova)

    - add CPU IRQ affinity in HV driver (K. Y. Srinivasan)

    - fix PCI bus removal in HV driver (Long Li)

    - add support for ThunderX2 DMA alias topology (Jayachandran C)

    - add ThunderX pass2.x 2nd node MCFG quirk (Tomasz Nowicki)

    - add ITE 8893 bridge DMA alias quirk (Jarod Wilson)

    - restrict Cavium ACS quirk only to CN81xx/CN83xx/CN88xx devices
    (Manish Jaggi)

    * tag 'pci-v4.12-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (146 commits)
    PCI: Don't allow unbinding host controllers that aren't prepared
    ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP
    MAINTAINERS: Add PCI Endpoint maintainer
    Documentation: PCI: Add userguide for PCI endpoint test function
    tools: PCI: Add sample test script to invoke pcitest
    tools: PCI: Add a userspace tool to test PCI endpoint
    Documentation: misc-devices: Add Documentation for pci-endpoint-test driver
    misc: Add host side PCI driver for PCI test function device
    PCI: Add device IDs for DRA74x and DRA72x
    dt-bindings: PCI: dra7xx: Add DT bindings to enable unaligned access
    PCI: dwc: dra7xx: Workaround for errata id i870
    dt-bindings: PCI: dra7xx: Add DT bindings for PCI dra7xx EP mode
    PCI: dwc: dra7xx: Add EP mode support
    PCI: dwc: dra7xx: Facilitate wrapper and MSI interrupts to be enabled independently
    dt-bindings: PCI: Add DT bindings for PCI designware EP mode
    PCI: dwc: designware: Add EP mode support
    Documentation: PCI: Add binding documentation for pci-test endpoint function
    ixgbe: Use pcie_flr() instead of duplicating it
    IB/hfi1: Use pcie_flr() instead of duplicating it
    PCI: imx6: Fix spelling mistake: "contol" -> "control"
    ...

    Linus Torvalds
     
  • Merge more updates from Andrew Morton:

    - the rest of MM

    - various misc things

    - procfs updates

    - lib/ updates

    - checkpatch updates

    - kdump/kexec updates

    - add kvmalloc helpers, use them

    - time helper updates for Y2038 issues. We're almost ready to remove
    current_fs_time() but that awaits a btrfs merge.

    - add tracepoints to DAX

    * emailed patches from Andrew Morton : (114 commits)
    drivers/staging/ccree/ssi_hash.c: fix build with gcc-4.4.4
    selftests/vm: add a test for virtual address range mapping
    dax: add tracepoint to dax_insert_mapping()
    dax: add tracepoint to dax_writeback_one()
    dax: add tracepoints to dax_writeback_mapping_range()
    dax: add tracepoints to dax_load_hole()
    dax: add tracepoints to dax_pfn_mkwrite()
    dax: add tracepoints to dax_iomap_pte_fault()
    mtd: nand: nandsim: convert to memalloc_noreclaim_*()
    treewide: convert PF_MEMALLOC manipulations to new helpers
    mm: introduce memalloc_noreclaim_{save,restore}
    mm: prevent potential recursive reclaim due to clearing PF_MEMALLOC
    mm/huge_memory.c: deposit a pgtable for DAX PMD faults when required
    mm/huge_memory.c: use zap_deposited_table() more
    time: delete CURRENT_TIME_SEC and CURRENT_TIME
    gfs2: replace CURRENT_TIME with current_time
    apparmorfs: replace CURRENT_TIME with current_time()
    lustre: replace CURRENT_TIME macro
    fs: ubifs: replace CURRENT_TIME_SEC with current_time
    fs: ufs: use ktime_get_real_ts64() for birthtime
    ...

    Linus Torvalds
     
  • This verifies virtual address mapping below and above the 128TB range
    and makes sure that address returned are within the expected range
    depending upon the hint passed from the user space.

    Link: http://lkml.kernel.org/r/20170418095252.20533-1-khandual@linux.vnet.ibm.com
    Signed-off-by: Anshuman Khandual
    Cc: Michal Suchanek
    Cc: Aneesh Kumar K.V
    Cc: Shuah Khan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anshuman Khandual
     
  • Pull KVM updates from Paolo Bonzini:
    "ARM:
    - HYP mode stub supports kexec/kdump on 32-bit
    - improved PMU support
    - virtual interrupt controller performance improvements
    - support for userspace virtual interrupt controller (slower, but
    necessary for KVM on the weird Broadcom SoCs used by the Raspberry
    Pi 3)

    MIPS:
    - basic support for hardware virtualization (ImgTec P5600/P6600/I6400
    and Cavium Octeon III)

    PPC:
    - in-kernel acceleration for VFIO

    s390:
    - support for guests without storage keys
    - adapter interruption suppression

    x86:
    - usual range of nVMX improvements, notably nested EPT support for
    accessed and dirty bits
    - emulation of CPL3 CPUID faulting

    generic:
    - first part of VCPU thread request API
    - kvm_stat improvements"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (227 commits)
    kvm: nVMX: Don't validate disabled secondary controls
    KVM: put back #ifndef CONFIG_S390 around kvm_vcpu_kick
    Revert "KVM: Support vCPU-based gfn->hva cache"
    tools/kvm: fix top level makefile
    KVM: x86: don't hold kvm->lock in KVM_SET_GSI_ROUTING
    KVM: Documentation: remove VM mmap documentation
    kvm: nVMX: Remove superfluous VMX instruction fault checks
    KVM: x86: fix emulation of RSM and IRET instructions
    KVM: mark requests that need synchronization
    KVM: return if kvm_vcpu_wake_up() did wake up the VCPU
    KVM: add explicit barrier to kvm_vcpu_kick
    KVM: perform a wake_up in kvm_make_all_cpus_request
    KVM: mark requests that do not need a wakeup
    KVM: remove #ifndef CONFIG_S390 around kvm_vcpu_wake_up
    KVM: x86: always use kvm_make_request instead of set_bit
    KVM: add kvm_{test,clear}_request to replace {test,clear}_bit
    s390: kvm: Cpu model support for msa6, msa7 and msa8
    KVM: x86: remove irq disablement around KVM_SET_CLOCK/KVM_GET_CLOCK
    kvm: better MWAIT emulation for guests
    KVM: x86: virtualize cpuid faulting
    ...

    Linus Torvalds
     

06 May, 2017

2 commits

  • Pull libnvdimm updates from Dan Williams:
    "The bulk of this has been in multiple -next releases. There were a few
    late breaking fixes and small features that got added in the last
    couple days, but the whole set has received a build success
    notification from the kbuild robot.

    Change summary:

    - Region media error reporting: A libnvdimm region device is the
    parent to one or more namespaces. To date, media errors have been
    reported via the "badblocks" attribute attached to pmem block
    devices for namespaces in "raw" or "memory" mode. Given that
    namespaces can be in "device-dax" or "btt-sector" mode this new
    interface reports media errors generically, i.e. independent of
    namespace modes or state.

    This subsequently allows userspace tooling to craft "ACPI 6.1
    Section 9.20.7.6 Function Index 4 - Clear Uncorrectable Error"
    requests and submit them via the ioctl path for NVDIMM root bus
    devices.

    - Introduce 'struct dax_device' and 'struct dax_operations': Prompted
    by a request from Linus and feedback from Christoph this allows for
    dax capable drivers to publish their own custom dax operations.
    This fixes the broken assumption that all dax operations are
    related to a persistent memory device, and makes it easier for
    other architectures and platforms to add customized persistent
    memory support.

    - 'libnvdimm' core updates: A new "deep_flush" sysfs attribute is
    available for storage appliance applications to manually trigger
    memory controllers to drain write-pending buffers that would
    otherwise be flushed automatically by the platform ADR
    (asynchronous-DRAM-refresh) mechanism at a power loss event.
    Support for "locked" DIMMs is included to prevent namespaces from
    surfacing when the namespace label data area is locked. Finally,
    fixes for various reported deadlocks and crashes, also tagged for
    -stable.

    - ACPI / nfit driver updates: General updates of the nfit driver to
    add DSM command overrides, ACPI 6.1 health state flags support, DSM
    payload debug available by default, and various fixes.

    Acknowledgements that came after the branch was pushed:

    - commmit 565851c972b5 "device-dax: fix sysfs attribute deadlock":
    Tested-by: Yi Zhang

    - commit 23f498448362 "libnvdimm: rework region badblocks clearing"
    Tested-by: Toshi Kani "

    * tag 'libnvdimm-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (52 commits)
    libnvdimm, pfn: fix 'npfns' vs section alignment
    libnvdimm: handle locked label storage areas
    libnvdimm: convert NDD_ flags to use bitops, introduce NDD_LOCKED
    brd: fix uninitialized use of brd->dax_dev
    block, dax: use correct format string in bdev_dax_supported
    device-dax: fix sysfs attribute deadlock
    libnvdimm: restore "libnvdimm: band aid btt vs clear poison locking"
    libnvdimm: fix nvdimm_bus_lock() vs device_lock() ordering
    libnvdimm: rework region badblocks clearing
    acpi, nfit: kill ACPI_NFIT_DEBUG
    libnvdimm: fix clear length of nvdimm_forget_poison()
    libnvdimm, pmem: fix a NULL pointer BUG in nd_pmem_notify
    libnvdimm, region: sysfs trigger for nvdimm_flush()
    libnvdimm: fix phys_addr for nvdimm_clear_poison
    x86, dax, pmem: remove indirection around memcpy_from_pmem()
    block: remove block_device_operations ->direct_access()
    block, dax: convert bdev_dax_supported() to dax_direct_access()
    filesystem-dax: convert to dax_direct_access()
    Revert "block: use DAX for partition table reads"
    ext2, ext4, xfs: retrieve dax_device for iomap operations
    ...

    Linus Torvalds
     
  • Pull powerpc updates from Michael Ellerman:
    "Highlights include:

    - Larger virtual address space on 64-bit server CPUs. By default we
    use a 128TB virtual address space, but a process can request access
    to the full 512TB by passing a hint to mmap().

    - Support for the new Power9 "XIVE" interrupt controller.

    - TLB flushing optimisations for the radix MMU on Power9.

    - Support for CAPI cards on Power9, using the "Coherent Accelerator
    Interface Architecture 2.0".

    - The ability to configure the mmap randomisation limits at build and
    runtime.

    - Several small fixes and cleanups to the kprobes code, as well as
    support for KPROBES_ON_FTRACE.

    - Major improvements to handling of system reset interrupts,
    correctly treating them as NMIs, giving them a dedicated stack and
    using a new hypervisor call to trigger them, all of which should
    aid debugging and robustness.

    - Many fixes and other minor enhancements.

    Thanks to: Alastair D'Silva, Alexey Kardashevskiy, Alistair Popple,
    Andrew Donnellan, Aneesh Kumar K.V, Anshuman Khandual, Anton
    Blanchard, Balbir Singh, Ben Hutchings, Benjamin Herrenschmidt,
    Bhupesh Sharma, Chris Packham, Christian Zigotzky, Christophe Leroy,
    Christophe Lombard, Daniel Axtens, David Gibson, Gautham R. Shenoy,
    Gavin Shan, Geert Uytterhoeven, Guilherme G. Piccoli, Hamish Martin,
    Hari Bathini, Kees Cook, Laurent Dufour, Madhavan Srinivasan, Mahesh J
    Salgaonkar, Mahesh Salgaonkar, Masami Hiramatsu, Matt Brown, Matthew
    R. Ochs, Michael Neuling, Naveen N. Rao, Nicholas Piggin, Oliver
    O'Halloran, Pan Xinhui, Paul Mackerras, Rashmica Gupta, Russell
    Currey, Sukadev Bhattiprolu, Thadeu Lima de Souza Cascardo, Tobin C.
    Harding, Tyrel Datwyler, Uma Krishnan, Vaibhav Jain, Vipin K Parashar,
    Yang Shi"

    * tag 'powerpc-4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (214 commits)
    powerpc/64s: Power9 has no LPCR[VRMASD] field so don't set it
    powerpc/powernv: Fix TCE kill on NVLink2
    powerpc/mm/radix: Drop support for CPUs without lockless tlbie
    powerpc/book3s/mce: Move add_taint() later in virtual mode
    powerpc/sysfs: Move #ifdef CONFIG_HOTPLUG_CPU out of the function body
    powerpc/smp: Document irq enable/disable after migrating IRQs
    powerpc/mpc52xx: Don't select user-visible RTAS_PROC
    powerpc/powernv: Document cxl dependency on special case in pnv_eeh_reset()
    powerpc/eeh: Clean up and document event handling functions
    powerpc/eeh: Avoid use after free in eeh_handle_special_event()
    cxl: Mask slice error interrupts after first occurrence
    cxl: Route eeh events to all drivers in cxl_pci_error_detected()
    cxl: Force context lock during EEH flow
    powerpc/64: Allow CONFIG_RELOCATABLE if COMPILE_TEST
    powerpc/xmon: Teach xmon oops about radix vectors
    powerpc/mm/hash: Fix off-by-one in comment about kernel contexts ids
    powerpc/pseries: Enable VFIO
    powerpc/powernv: Fix iommu table size calculation hook for small tables
    powerpc/powernv: Check kzalloc() return value in pnv_pci_table_alloc
    powerpc: Add arch/powerpc/tools directory
    ...

    Linus Torvalds
     

05 May, 2017

3 commits

  • Dan Williams
     
  • Pull USB updates from Greg KH:
    "Here is the big USB patchset for 4.12-rc1.

    Lots of good stuff here, after many many many attempts, the kernel
    finally has a working typeC interface, many thanks to Heikki and
    Guenter and others who have taken the time to get this merged. It
    wasn't an easy path for them at all.

    There's also a staging driver that uses this new api, which is why
    it's coming in through this tree.

    Along with that, there's the usual huge number of changes for gadget
    drivers, xhci, and other stuff. Johan also finally refactored pretty
    much every driver that was looking at USB endpoints to do it in a
    common way, which will help prevent any "badly-formed" devices from
    causing problems in drivers. That too wasn't a simple task.

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

    * tag 'usb-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (263 commits)
    staging: typec: Fairchild FUSB302 Type-c chip driver
    staging: typec: Type-C Port Controller Interface driver (tcpci)
    staging: typec: USB Type-C Port Manager (tcpm)
    usb: host: xhci: remove #ifdef around PM functions
    usb: musb: don't mark of_dev_auxdata as initdata
    usb: misc: legousbtower: Fix buffers on stack
    USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications"
    usb: Make sure usb/phy/of gets built-in
    USB: storage: e-mail update in drivers/usb/storage/unusual_devs.h
    usb: host: xhci: print correct command ring address
    usb: host: xhci: delete sp_dma_buffers for scratchpad
    usb: host: xhci: using correct specification chapter reference for DCBAAP
    xhci: switch to pci_alloc_irq_vectors
    usb: host: xhci-plat: set resume_quirk() for R-Car controllers
    usb: host: xhci-plat: add resume_quirk()
    usb: host: xhci-plat: enable clk in resume timing
    usb: host: plat: Enable xHCI plat runtime PM
    USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
    USB: serial: constify static arrays
    usb: fix some references for /proc/bus/usb
    ...

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) The wireless rate info fix from Johannes Berg.

    2) When a RAW socket is in hdrincl mode, we need to make sure that the
    user provided at least a minimally sized ipv4/ipv6 header. Fix from
    Alexander Potapenko.

    3) We must emit IFLA_PHYS_PORT_NAME netlink attributes using
    nla_put_string() so that it is NULL terminated.

    4) Fix a bug in TCP fastopen handling, wherein child sockets
    erroneously inherit the fastopen_req from the parent, and later can
    end up derefencing freed memory or doing a double free. From Eric
    Dumazet.

    5) Don't clear out netdev stats at close time in tg3 driver, from
    YueHaibing.

    6) Fix refcount leak in xt_CT, from Gao Feng.

    7) In nft_set_bitmap() don't leak dummy elements, from Liping Zhang.

    8) Fix deadlock due to taking the expectation lock twice, also from
    Liping Zhang.

    9) Make xt_socket work again with ipv6, from Peter Tirsek.

    10) Don't allow IPV6 to be used with IPVS if ipv6.disable=1, from Paolo
    Abeni.

    11) Make the BPF loader more flexible wrt. changes to the bpf MAP entry
    layout. From Jesper Dangaard Brouer.

    12) Fix ethtool reported device name in aquantia driver, from Pavel
    Belous.

    13) Fix build failures due to the compile time size test not working in
    netfilter conntrack. From Geert Uytterhoeven.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits)
    cfg80211: make RATE_INFO_BW_20 the default
    ipv6: initialize route null entry in addrconf_init()
    qede: Fix possible misconfiguration of advertised autoneg value.
    qed: Fix overriding of supported autoneg value.
    qed*: Fix possible overflow for status block id field.
    rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string
    netvsc: make sure napi enabled before vmbus_open
    aquantia: Fix driver name reported by ethtool
    ipv4, ipv6: ensure raw socket message is big enough to hold an IP header
    net/sched: remove redundant null check on head
    tcp: do not inherit fastopen_req from parent
    forcedeth: remove unnecessary carrier status check
    ibmvnic: Move queue restarting in ibmvnic_tx_complete
    ibmvnic: Record SKB RX queue during poll
    ibmvnic: Continue skb processing after skb completion error
    ibmvnic: Check for driver reset first in ibmvnic_xmit
    ibmvnic: Wait for any pending scrqs entries at driver close
    ibmvnic: Clean up tx pools when closing
    ibmvnic: Whitespace correction in release_rx_pools
    ibmvnic: Delete napi's when releasing driver resources
    ...

    Linus Torvalds
     

04 May, 2017

10 commits

  • We have tools/build/feature/test-all.c to speed up feature testing,
    doing all tests at once, but then all tests in this file should normally
    pass.

    That is not the case with the sched-getcpu one, that wasn't passing when
    included from test-all.c because it needs to have _GNU_SOURCE defined
    before including sched.h, but _GNU_SOURCE is defined by a header
    included from another feature test included earlier in test-all.d,
    test-libpython.c, resulting in:

    $ cat /tmp/build/perf/feature/test-all.make.output
    In file included from test-all.c:121:0:
    test-sched_getcpu.c:1:0: error: "_GNU_SOURCE" redefined [-Werror]
    #define _GNU_SOURCE

    In file included from /usr/include/python2.7/pyconfig.h:6:0,
    from /usr/include/python2.7/Python.h:8,
    from test-libpython.c:1,
    from test-all.c:13:
    /usr/include/python2.7/pyconfig-64.h:1177:0: note: this is the location of the previous definition
    #define _GNU_SOURCE 1

    cc1: all warnings being treated as errors

    Which would trigger testing the tests individually, when that
    _GNU_SOURCE redefinition would not take place, and the whole process
    would continue, just slower... Fix it.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Fixes: 120010cb1eea ("tools build: Add test for sched_getcpu()")
    Link: http://lkml.kernel.org/n/tip-3qp1it69xsc4w8gnuu1e9ayh@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • __kmod_path__parse() uses is_supported_compression() to determine and
    parse out compressed module file extensions. On systems without zlib,
    this test fails and __kmod_path__parse() continues to strcmp "ko" with
    "gz". Don't do this on those systems.

    Signed-off-by: Kim Phillips
    Cc: Alexander Shishkin
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Fixes: 3c8a67f50a1e ("perf tools: Add kmod_path__parse function")
    Link: http://lkml.kernel.org/r/20170503131402.c66e314460026c80cd787b34@arm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Kim Phillips
     
  • The commit 0fcb1da4aba "perf annotate: AArch64 support" blindly copied
    the comment character from the original:

    https://lkml.org/lkml/2016/5/19/461

    whereas that same commit shows objdump output utilizing the C++ style
    "//" as the comment delimeter. Since '/' doesn't occur elsewhere in
    objdump output, we retain the single character check, but fix it to be
    '/'.

    Signed-off-by: Kim Phillips
    Cc: Alexander Shishkin
    Cc: Chris Riyder
    Cc: Peter Zijlstra
    Fixes: 0fcb1da4aba6 ("perf annotate: AArch64 support")
    Link: http://lkml.kernel.org/r/20170503131356.be88f977094fb3fa0f49b99d@arm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Kim Phillips
     
  • Mostly in the documentation.

    Signed-off-by: Kim Phillips
    Cc: Alexander Shishkin
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20170503131350.cebeecd8bd0f2968417626ab@arm.com
    [ Fix spelling of "parameter" in one of the spell-checked lines ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Kim Phillips
     
  • Pull tracing updates from Steven Rostedt:
    "New features for this release:

    - Pretty much a full rewrite of the processing of function plugins.
    i.e. echo do_IRQ:stacktrace > set_ftrace_filter

    - The rewrite was needed to add plugins to be unique to tracing
    instances. i.e. mkdir instance/foo; cd instances/foo; echo
    do_IRQ:stacktrace > set_ftrace_filter The old way was written very
    hacky. This removes a lot of those hacks.

    - New "function-fork" tracing option. When set, pids in the
    set_ftrace_pid will have their children added when the processes
    with their pids listed in the set_ftrace_pid file forks.

    - Exposure of "maxactive" for kretprobe in kprobe_events

    - Allow for builtin init functions to be traced by the function
    tracer (via the kernel command line). Module init function tracing
    will come in the next release.

    - Added more selftests, and have selftests also test in an instance"

    * tag 'trace-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (60 commits)
    ring-buffer: Return reader page back into existing ring buffer
    selftests: ftrace: Allow some event trigger tests to run in an instance
    selftests: ftrace: Have some basic tests run in a tracing instance too
    selftests: ftrace: Have event tests also run in an tracing instance
    selftests: ftrace: Make func_event_triggers and func_traceonoff_triggers tests do instances
    selftests: ftrace: Allow some tests to be run in a tracing instance
    tracing/ftrace: Allow for instances to trigger their own stacktrace probes
    tracing/ftrace: Allow for the traceonoff probe be unique to instances
    tracing/ftrace: Enable snapshot function trigger to work with instances
    tracing/ftrace: Allow instances to have their own function probes
    tracing/ftrace: Add a better way to pass data via the probe functions
    ftrace: Dynamically create the probe ftrace_ops for the trace_array
    tracing: Pass the trace_array into ftrace_probe_ops functions
    tracing: Have the trace_array hold the list of registered func probes
    ftrace: If the hash for a probe fails to update then free what was initialized
    ftrace: Have the function probes call their own function
    ftrace: Have each function probe use its own ftrace_ops
    ftrace: Have unregister_ftrace_function_probe_func() return a value
    ftrace: Add helper function ftrace_hash_move_and_update_ops()
    ftrace: Remove data field from ftrace_func_probe structure
    ...

    Linus Torvalds
     
  • Merge misc updates from Andrew Morton:

    - a few misc things

    - most of MM

    - KASAN updates

    * emailed patches from Andrew Morton : (102 commits)
    kasan: separate report parts by empty lines
    kasan: improve double-free report format
    kasan: print page description after stacks
    kasan: improve slab object description
    kasan: change report header
    kasan: simplify address description logic
    kasan: change allocation and freeing stack traces headers
    kasan: unify report headers
    kasan: introduce helper functions for determining bug type
    mm: hwpoison: call shake_page() after try_to_unmap() for mlocked page
    mm: hwpoison: call shake_page() unconditionally
    mm/swapfile.c: fix swap space leak in error path of swap_free_entries()
    mm/gup.c: fix access_ok() argument type
    mm/truncate: avoid pointless cleancache_invalidate_inode() calls.
    mm/truncate: bail out early from invalidate_inode_pages2_range() if mapping is empty
    fs/block_dev: always invalidate cleancache in invalidate_bdev()
    fs: fix data invalidation in the cleancache during direct IO
    zram: reduce load operation in page_same_filled
    zram: use zram_free_page instead of open-coded
    zram: introduce zram data accessor
    ...

    Linus Torvalds
     
  • Currently, selftest for userfaultfd is compiled three times: for
    anonymous, shared and hugetlb memory. Let's combine all the cases into
    a single executable which will have a command line option for selection
    of the test type.

    Link: http://lkml.kernel.org/r/1490869741-5913-1-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Reviewed-by: Mike Kravetz
    Cc: Andrea Arcangeli
    Cc: Shuah Khan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • Pull spi updates from Mark Brown:
    "There's quite a lot of small driver specific fixes and enhancements in
    this release but the main activity has been around the loopback and
    spidev test drivers which is good to see as it should hopefully help
    improve the quality of all the drivers as people start to make use of
    the new code:

    - Additional tests in the loopback test driver for vmalloc()
    compatibility and around delays together with fixes for existing
    tests.

    - Support for testing continuous data transfer for use in soak
    testing.

    - Device property support for board info platforms.

    - Support for registering empty sets of devices via board info
    (useful when writing code to enumerate hardware automatically)"

    * tag 'spi-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (52 commits)
    spi: cadence: Allow for GPIO pins to be used as chipselects
    spi-imx: Implements handling of the SPI_READY mode flag.
    spi: tegra: fix spelling mistake: "trasfer" -> "transfer"
    spi: spi-ti-qspi: Use bounce buffer if read buffer is not DMA'ble
    spi: Add can_dma like interface for spi_flash_read
    spi: dw: Disable clock after unregistering the host
    spi: double time out tolerance
    spi: atmel: add deepest PM support to SAMA5D2
    spi: atmel: factorize reusable code for SPI controller init
    spi: orion: add LSB support
    spi: pl022: don't use uninitialized variable
    spi: loopback-test: fix spelling mistake: "minimam" -> "minimum"
    spi: dynamycally allocated message initialization
    spi: spi-ti-qspi: Remove unused dma_dev variable
    spi: omap2-mcspi: poll OMAP2_MCSPI_CHSTAT_RXS for PIO transfer
    spi: spi-ti-qspi: Use dma_engine wrapper for dma memcpy call
    spi: spidev_test: add option to continuously transfer data
    spi: loopback-test: fix potential integer overflow on multiple
    spi: sun6i: update max transfer size reported
    spi: pl022: Document property values
    ...

    Linus Torvalds
     
  • Pull drm u pdates from Dave Airlie:
    "This is the main drm pull request for v4.12. Apart from two fixes
    pulls, everything should have been in drm-next for at least 2 weeks.

    The biggest thing in here is AMD released the public headers for their
    upcoming VEGA GPUs. These as always are quite a sizeable chunk of
    header files. They've also added initial non-display support for those
    GPUs, though they aren't available in production yet.

    Otherwise it's pretty much normal.

    New bridge drivers:
    - megachips-stdpxxxx-ge-b850v3-fw LVDS->DP++
    - generic LVDS bridge support.

    Core:
    - Displayport link train failure reporting to userspace
    - debugfs interface cleaned up
    - subsystem TODO in kerneldoc now
    - Extended fbdev support (flipping and vblank wait)
    - drm_platform removed
    - EDP CRC support in helper
    - HF-VSDB SCDC support in EDID parser
    - Lots of code cleanups and header extraction
    - Thunderbolt external GPU awareness
    - Atomic helper improvements
    - Documentation improvements

    panel:
    - Sitronix and Samsung new panel support

    amdgpu:
    - Preliminary vega10 support
    - Multi-level page table support
    - GPU sensor support for userspace
    - PRT support for sparse buffers
    - SR-IOV improvements
    - Non-contig VRAM CPU mapping

    i915:
    - Atomic modesetting enabled by default on Gen5+
    - LSPCON improvements
    - Atomic state handling for cdclk
    - GPU reset improvements
    - In-kernel unit tests
    - Geminilake improvements and color manager support
    - Designware i2c fixes
    - vblank evasion improvements
    - Hotplug safe connector iterators
    - GVT scheduler QoS support
    - GVT Kabylake support

    nouveau:
    - Acceleration support for Pascal (GP10x).
    - Rearchitecture of code handling proprietary signed firmware
    - Fix GTX 970 with odd MMU configuration
    - GP10B support
    - GP107 acceleration support

    vmwgfx:
    - Atomic modesetting support for vmwgfx

    omapdrm:
    - Support for render nodes
    - Refactor omapdss code
    - Fix some probe ordering issues
    - Fix too dark RGB565 rendering

    sunxi:
    - prelim rework for multiple pipes.

    mali-dp:
    - Color management support
    - Plane scaling
    - Power management improvements

    imx-drm:
    - Prefetch Resolve Engine/Gasket on i.MX6QP
    - Deferred plane disabling
    - Separate alpha support

    mediatek:
    - Mediatek SoC MT2701 support

    rcar-du:
    - Gen3 HDMI support

    msm:
    - 4k support for newer chips
    - OPP bindings for gpu
    - prep work for per-process pagetables

    vc4:
    - HDMI audio support
    - fixes

    qxl:
    - minor fixes.

    dw-hdmi:
    - PHY improvements
    - CSC fixes
    - Amlogic GX SoC support"

    * tag 'drm-for-v4.12' of git://people.freedesktop.org/~airlied/linux: (1778 commits)
    drm/nouveau/fb/gf100-: Fix 32 bit wraparound in new ram detection
    drm/nouveau/secboot/gm20b: fix the error return code in gm20b_secboot_tegra_read_wpr()
    drm/nouveau/kms: Increase max retries in scanout position queries.
    drm/nouveau/bios/bitP: check that table is long enough for optional pointers
    drm/nouveau/fifo/nv40: no ctxsw for pre-nv44 mpeg engine
    drm: mali-dp: use div_u64 for expensive 64-bit divisions
    drm/i915: Confirm the request is still active before adding it to the await
    drm/i915: Avoid busy-spinning on VLV_GLTC_PW_STATUS mmio
    drm/i915/selftests: Allocate inode/file dynamically
    drm/i915: Fix system hang with EI UP masked on Haswell
    drm/i915: checking for NULL instead of IS_ERR() in mock selftests
    drm/i915: Perform link quality check unconditionally during long pulse
    drm/i915: Fix use after free in lpe_audio_platdev_destroy()
    drm/i915: Use the right mapping_gfp_mask for final shmem allocation
    drm/i915: Make legacy cursor updates more unsynced
    drm/i915: Apply a cond_resched() to the saturated signaler
    drm/i915: Park the signaler before sleeping
    drm: mali-dp: Check the mclk rate and allow up/down scaling
    drm: mali-dp: Enable image enhancement when scaling
    drm: mali-dp: Add plane upscaling support
    ...

    Linus Torvalds
     
  • …nux/kernel/git/acme/linux into perf/urgent

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    Fixes:

    - Support setting probes in versioned user space symbols, such as
    pthread_create@@GLIBC_2.1, picking the default one, more work
    needed to make it possible to set it on the other versions, as
    the 'perf probe' syntax already uses @ for other purposes.
    (Paul Clarke)

    - Do not special case address zero as an error for routines that
    return addresses (symbol lookup), instead use the return as the
    success/error indication and pass a pointer to return the address,
    fixing 'perf test vmlinux' (the one that compares address between
    vmlinux and kallsyms) on s/390, where the '_text' address is equal
    to zero (Arnaldo Carvalho de Melo)

    Infrastructure changes:

    - More header sanitization, moving stuff out of util.h into
    more appropriate headers and objects and sometimes creating
    new ones (Arnaldo Carvalho de Melo)

    - Refactor a duplicated code for obtaining config file name (Taeung Song)

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar