1. 07 Mar, 2018 1 commit
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo-4.16-20180306' of... · 629ae2ee
      Ingo Molnar authored
      Merge tag 'perf-urgent-for-mingo-4.16-20180306' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
      
      - Be more robust when drawing arrows in the annotation TUI, avoiding a
        segfault when jump instructions have as a target addresses in functions
        other that the one currently being annotated. The full fix will come in
        the following days, when jumping to other functions will work as call
        instructions (Arnaldo Carvalho de Melo)
      
      - Prevent auxtrace_queues__process_index() from queuing AUX area data for
        decoding when the --no-itrace option has been used (Adrian Hunter)
      
      - Sync copy of kvm UAPI headers and x86's cpufeatures.h (Arnaldo Carvalho de Melo)
      
      - Fix 'perf stat' CSV output format for non-supported counters (Ilya Pronin)
      
      - Fix crash in 'perf record|perf report' pipe mode (Jiri Olsa)
      
      - Fix annoying 'perf top' overwrite fallback message on older kernels (Kan Liang)
      
      - Fix the usage on the 'perf kallsyms' man page (Sangwon Hong)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      629ae2ee
  2. 06 Mar, 2018 3 commits
  3. 05 Mar, 2018 6 commits
    • Arnaldo Carvalho de Melo's avatar
      tools headers: Sync x86's cpufeatures.h · 4caea057
      Arnaldo Carvalho de Melo authored
      The changes in dd84441a ("x86/speculation: Use IBRS if available
      before calling into firmware") don't need any kind of special treatment
      in the current tools/perf/ codebase, so just update the copy to get rid
      of the perf build warning:
      
        BUILD:   Doing 'make -j4' parallel build
        Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: David Woodhouse <dwmw@amazon.co.uk>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-mzmuxocrf96v922xkerey3ns@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4caea057
    • Arnaldo Carvalho de Melo's avatar
      tools headers: Sync copy of kvm UAPI headers · d976a6e9
      Arnaldo Carvalho de Melo authored
      In 801e459a ("KVM: x86: Add a framework for supporting MSR-based
      features") a new ioctl was introduced, which with this sync of the kvm
      UAPI headers, makes 'perf trace' know about it:
      
        $ cd /tmp/build/perf/trace/beauty/generated/ioctl/
        $ diff -u kvm_ioctl_array.c.old kvm_ioctl_array.c
        --- /tmp/kvm_ioctl_array.c	2018-03-05 11:55:38.409145056 -0300
        +++ /tmp/build/perf/trace/beauty/generated/ioctl/kvm_ioctl_array.c	2018-03-05 11:56:17.456153501 -0300
        @@ -6,6 +6,7 @@
       	[0x04] = "GET_VCPU_MMAP_SIZE",
       	[0x05] = "GET_SUPPORTED_CPUID",
       	[0x09] = "GET_EMULATED_CPUID",
        +	[0x0a] = "GET_MSR_FEATURE_INDEX_LIST",
       	[0x40] = "SET_MEMORY_REGION",
       	[0x41] = "CREATE_VCPU",
       	[0x42] = "GET_DIRTY_LOG",
      
      So when using 'perf trace -e ioctl' that will appear along with the
      others, like in this excerpt of a system wide session:
      
        14.556 ( 0.006 ms): CPU 0/KVM/16077 ioctl(fd: 19<anon_inode:kvm-vcpu:0>, cmd: KVM_RUN) = 0
        14.565 ( 0.006 ms): CPU 0/KVM/16077 ioctl(fd: 19<anon_inode:kvm-vcpu:0>, cmd: KVM_RUN) = 0
        14.573 (         ): CPU 0/KVM/16077 ioctl(fd: 19<anon_inode:kvm-vcpu:0>, cmd: KVM_RUN) ...
        34.075 ( 0.016 ms): gnome-shell/2192 ioctl(fd: 8</dev/dri/card0>, cmd: DRM_I915_GEM_BUSY, arg: 0x7ffe4e73e850) = 0
        40.549 ( 0.012 ms): gnome-shell/2192 ioctl(fd: 8</dev/dri/card0>, cmd: DRM_I915_GEM_BUSY, arg: 0x7ffe4e73ece0) = 0
        40.625 ( 0.005 ms): gnome-shell/2192 ioctl(fd: 8</dev/dri/card0>, cmd: DRM_I915_GEM_BUSY, arg: 0x7ffe4e73e940) = 0
        40.632 ( 0.003 ms): gnome-shell/2192 ioctl(fd: 8</dev/dri/card0>, cmd: DRM_I915_GEM_MADVISE, arg: 0x7ffe4e73e9b0) = 0
      
      This also silences the perf build header copy drift verifier:
      
        make: Entering directory '/home/acme/git/perf/tools/perf'
          BUILD:   Doing 'make -j4' parallel build
        Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Radim Krčmář <rkrcmar@redhat.com>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-h31oz5g0mt1dh2s2ajq6o6no@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d976a6e9
    • Jiri Olsa's avatar
      perf record: Fix crash in pipe mode · cfacbabd
      Jiri Olsa authored
      Currently we can crash perf record when running in pipe mode, like:
      
        $ perf record ls | perf report
        # To display the perf.data header info, please use --header/--header-only options.
        #
        perf: Segmentation fault
        Error:
        The - file has no samples!
      
      The callstack of the crash is:
      
          0x0000000000515242 in perf_event__synthesize_event_update_name
        3513            ev = event_update_event__new(len + 1, PERF_EVENT_UPDATE__NAME, evsel->id[0]);
        (gdb) bt
        #0  0x0000000000515242 in perf_event__synthesize_event_update_name
        #1  0x00000000005158a4 in perf_event__synthesize_extra_attr
        #2  0x0000000000443347 in record__synthesize
        #3  0x00000000004438e3 in __cmd_record
        #4  0x000000000044514e in cmd_record
        #5  0x00000000004cbc95 in run_builtin
        #6  0x00000000004cbf02 in handle_internal_command
        #7  0x00000000004cc054 in run_argv
        #8  0x00000000004cc422 in main
      
      The reason of the crash is that the evsel does not have ids array
      allocated and the pipe's synthesize code tries to access it.
      
      We don't force evsel ids allocation when we have single event, because
      it's not needed. However we need it when we are in pipe mode even for
      single event as a key for evsel update event.
      
      Fixing this by forcing evsel ids allocation event for single event, when
      we are in pipe mode.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20180302161354.30192-1-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      cfacbabd
    • Arnaldo Carvalho de Melo's avatar
      perf annotate browser: Be more robust when drawing jump arrows · 9cf195f8
      Arnaldo Carvalho de Melo authored
      This first happened with a gcc function, _cpp_lex_token, that has the
      usual jumps:
      
       │1159e6c: ↓ jne    115aa32 <_cpp_lex_token@@Base+0xf92>
      
      I.e. jumps to a label inside that function (_cpp_lex_token), and those
      works, but also this kind:
      
       │1159e8b: ↓ jne    c469be <cpp_named_operator2name@@Base+0xa72>
      
      I.e. jumps to another function, outside _cpp_lex_token, which are not
      being correctly handled generating as a side effect references to
      ab->offset[] entries that are set to NULL, so to make this code more
      robust, check that here.
      
      A proper fix for will be put in place, looking at the function name
      right after the '<' token and probably treating this like a 'call'
      instruction.
      
      For now just don't draw the arrow.
      Reported-by: default avatarIngo Molnar <mingo@kernel.org>
      Tested-by: default avatarIngo Molnar <mingo@kernel.org>
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Cc: Jin Yao <yao.jin@intel.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Link: https://lkml.kernel.org/n/tip-5tzvb875ep2sel03aeefgmud@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9cf195f8
    • Kan Liang's avatar
      perf top: Fix annoying fallback message on older kernels · 626af862
      Kan Liang authored
      On older (e.g. v4.4) kernels, an annoying fallback message can be
      observed in 'perf top':
      
      	┌─Warning:──────────────────────┐
      	│fall back to non-overwrite mode│
      	│                               │
      	│                               │
      	│Press any key...               │
      	└───────────────────────────────┘
      
      The 'perf top' utility has been changed to overwrite mode since commit
      ebebbf08 ("perf top: Switch default mode to overwrite mode").
      
      For older kernels which don't have overwrite mode support, 'perf top'
      will fall back to non-overwrite mode and print out the fallback message
      using ui__warning(), which needs user's input to close.
      
      The fallback message is not critical for end users. Turning it to debug
      message which is printed when running with -vv.
      Reported-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Fixes: ebebbf08 ("perf top: Switch default mode to overwrite mode")
      Link: http://lkml.kernel.org/r/1519669030-176549-1-git-send-email-kan.liang@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      626af862
    • Sangwon Hong's avatar
      perf kallsyms: Fix the usage on the man page · f6d3f35e
      Sangwon Hong authored
      First, all man pages highlight only perf and subcommands except 'perf
      kallsyms', which includes the full usage. Fix it for commands to
      monopolize underlines.
      
      Second, options can be ommited when executing 'perf kallsyms', so add
      square brackets between <option>.
      Signed-off-by: default avatarSangwon Hong <qpakzk@gmail.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Taeung Song <treeze.taeung@gmail.com>
      Link: http://lkml.kernel.org/r/1518377864-20353-1-git-send-email-qpakzk@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f6d3f35e
  4. 04 Mar, 2018 1 commit
  5. 03 Mar, 2018 11 commits
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 58bdf601
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "A driver fix and a documentation fix (which makes dependency handling
        for the next cycle easier)"
      
      * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: octeon: Prevent error message on bus error
        dt-bindings: at24: sort manufacturers alphabetically
      58bdf601
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 20f14172
      Linus Torvalds authored
      Pull libnvdimm fixes from Dan Williams:
       "A 4.16 regression fix, three fixes for -stable, and a cleanup fix:
      
         - During the merge window support for the new ACPI NVDIMM Platform
           Capabilities structure disabled support for "deep flush", a
           force-unit- access like mechanism for persistent memory. Restore
           that mechanism.
      
         - VFIO like RDMA is yet one more memory registration / pinning
           interface that is incompatible with Filesystem-DAX. Disable long
           term pins of Filesystem-DAX mappings via VFIO.
      
         - The Filesystem-DAX detection to prevent long terms pins mistakenly
           also disabled Device-DAX pins which are not subject to the same
           block- map collision concerns.
      
         - Similar to the setup path, softlockup warnings can trigger in the
           shutdown path for large persistent memory namespaces. Teach
           for_each_device_pfn() to perform cond_resched() in all cases.
      
         - Boaz noticed that the might_sleep() in dax_direct_access() is stale
           as of the v4.15 kernel.
      
        These have received a build success notification from the 0day robot,
        and the longterm pin fixes have appeared in -next. However, I recently
        rebased the tree to remove some other fixes that need to be reworked
        after review feedback.
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        memremap: fix softlockup reports at teardown
        libnvdimm: re-enable deep flush for pmem devices via fsync()
        vfio: disable filesystem-dax page pinning
        dax: fix vma_is_fsdax() helper
        dax: ->direct_access does not sleep anymore
      20f14172
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v4.16' of... · 0eb3412a
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - suppress sparse warnings about unknown attributes
      
       - fix typos and stale comments
      
       - fix build error of arch/sh
      
       - fix wrong use of ld-option vs cc-ldoption
      
       - remove redundant GCC_PLUGINS_CFLAGS assignment
      
       - fix another memory leak of Kconfig
      
       - fix line number in error messages of Kconfig
      
       - do not write confusing CONFIG_DEFCONFIG_LIST out to .config
      
       - add xstrdup() to Kconfig to handle memory shortage errors
      
       - show also a Debian package name if ncurses is missing
      
      * tag 'kbuild-fixes-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        MAINTAINERS: take over Kconfig maintainership
        kconfig: fix line number in recursive inclusion error message
        Coccinelle: memdup: Fix typo in warning messages
        kconfig: Update ncurses package names for menuconfig
        kbuild/kallsyms: trivial typo fix
        kbuild: test --build-id linker flag by ld-option instead of cc-ldoption
        kbuild: drop superfluous GCC_PLUGINS_CFLAGS assignment
        kconfig: Don't leak choice names during parsing
        sh: fix build error for empty CONFIG_BUILTIN_DTB_SOURCE
        kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list
        kconfig: add xstrdup() helper
        kbuild: disable sparse warnings about unknown attributes
        Makefile: Fix lying comment re. silentoldconfig
      0eb3412a
    • Linus Torvalds's avatar
      Merge tag 'media/v4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 7cf901b3
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
        - some build fixes with randconfigs
      
        - an m88ds3103 fix to prevent an OOPS if the chip doesn't provide the
          right version during probe (with can happen if the hardware hangs)
      
        - a potential out of array bounds reference in tvp5150
      
        - some fixes and improvements in the DVB memory mapped API (added for
          kernel 4.16)
      
      * tag 'media/v4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: vb2: Makefile: place vb2-trace together with vb2-core
        media: Don't let tvp5150_get_vbi() go out of vbi_ram_default array
        media: dvb: update buffer mmaped flags and frame counter
        media: dvb: add continuity error indicators for memory mapped buffers
        media: dmxdev: Fix the logic that enables DMA mmap support
        media: dmxdev: fix error code for invalid ioctls
        media: m88ds3103: don't call a non-initalized function
        media: au0828: add VIDEO_V4L2 dependency
        media: dvb: fix DVB_MMAP dependency
        media: dvb: fix DVB_MMAP symbol name
        media: videobuf2: fix build issues with vb2-trace
        media: videobuf2: Add VIDEOBUF2_V4L2 Kconfig option for VB2 V4L2 part
      7cf901b3
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-4.16-fixes-1' of git://www.linux-watchdog.org/linux-watchdog · d6d0972a
      Linus Torvalds authored
      Pull watchdog fixes from Wim Van Sebroeck:
      
       - rave-sp: add NVMEM dependency
      
       - build fixes for i6300esb_wdt, xen_wdt and sp5100_tco
      
      * tag 'linux-watchdog-4.16-fixes-1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: sp5100_tco.c: fix potential build failure
        watchdog: xen_wdt: fix potential build failure
        watchdog: i6300esb: fix build failure
        watchdog: rave-sp: add NVMEM dependency
      d6d0972a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 03a6c259
      Linus Torvalds authored
      Pull KVM fixes from Radim Krčmář:
       "x86:
      
         - fix NULL dereference when using userspace lapic
      
         - optimize spectre v1 mitigations by allowing guests to use LFENCE
      
         - make microcode revision configurable to prevent guests from
           unnecessarily blacklisting spectre v2 mitigation feature"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86: fix vcpu initialization with userspace lapic
        KVM: X86: Allow userspace to define the microcode version
        KVM: X86: Introduce kvm_get_msr_feature()
        KVM: SVM: Add MSR-based feature support for serializing LFENCE
        KVM: x86: Add a framework for supporting MSR-based features
      03a6c259
    • Dan Williams's avatar
      memremap: fix softlockup reports at teardown · 949b9325
      Dan Williams authored
      The cond_resched() currently in the setup path needs to be duplicated in
      the teardown path. Rather than require each instance of
      for_each_device_pfn() to open code the same sequence, embed it in the
      helper.
      
      Link: https://github.com/intel/ixpdimm_sw/issues/11
      Cc: "Jérôme Glisse" <jglisse@redhat.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: <stable@vger.kernel.org>
      Fixes: 71389703 ("mm, zone_device: Replace {get, put}_zone_device_page()...")
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      949b9325
    • Dave Jiang's avatar
      libnvdimm: re-enable deep flush for pmem devices via fsync() · 5fdf8e5b
      Dave Jiang authored
      Re-enable deep flush so that users always have a way to be sure that a
      write makes it all the way out to media. Writes from the PMEM driver
      always arrive at the NVDIMM since movnt is used to bypass the cache, and
      the driver relies on the ADR (Asynchronous DRAM Refresh) mechanism to
      flush write buffers on power failure. The Deep Flush mechanism is there
      to explicitly write buffers to protect against (rare) ADR failure.  This
      change prevents a regression in deep flush behavior so that applications
      can continue to depend on fsync() as a mechanism to trigger deep flush
      in the filesystem-DAX case.
      
      Fixes: 06e8ccda ("acpi: nfit: Add support for detect platform CPU cache...")
      Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      5fdf8e5b
    • Masahiro Yamada's avatar
      MAINTAINERS: take over Kconfig maintainership · 50186e12
      Masahiro Yamada authored
      I have recently picked up Kconfig patches to my tree without any
      declaration.  Making it official now.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      50186e12
    • Dan Williams's avatar
      vfio: disable filesystem-dax page pinning · 94db151d
      Dan Williams authored
      Filesystem-DAX is incompatible with 'longterm' page pinning. Without
      page cache indirection a DAX mapping maps filesystem blocks directly.
      This means that the filesystem must not modify a file's block map while
      any page in a mapping is pinned. In order to prevent the situation of
      userspace holding of filesystem operations indefinitely, disallow
      'longterm' Filesystem-DAX mappings.
      
      RDMA has the same conflict and the plan there is to add a 'with lease'
      mechanism to allow the kernel to notify userspace that the mapping is
      being torn down for block-map maintenance. Perhaps something similar can
      be put in place for vfio.
      
      Note that xfs and ext4 still report:
      
         "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"
      
      ...at mount time, and resolving the dax-dma-vs-truncate problem is one
      of the last hurdles to remove that designation.
      Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: kvm@vger.kernel.org
      Cc: <stable@vger.kernel.org>
      Reported-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
      Tested-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
      Fixes: d475c634 ("dax,ext2: replace XIP read and write with DAX I/O")
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      94db151d
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 329ad5e5
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - Update pci.ids location (documentation only) (Randy Dunlap)
      
       - Fix a crash when BIOS didn't assign a BAR and we try to enlarge it
         (Christian König)
      
      * tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Allow release of resources that were never assigned
        PCI: Update location of pci.ids file
      329ad5e5
  6. 02 Mar, 2018 18 commits
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 5fbdefcf
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
      
       - a patch to change the ordering of cache and TLB flushes to hopefully
         fix the random segfaults we very rarely face (by Dave Anglin).
      
       - a patch to hide the virtual kernel memory layout due to security
         reasons.
      
       - two small patches to make the kernel run more smoothly under qemu.
      
      * 'parisc-4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Reduce irq overhead when run in qemu
        parisc: Use cr16 interval timers unconditionally on qemu
        parisc: Check if secondary CPUs want own PDC calls
        parisc: Hide virtual kernel memory layout
        parisc: Fix ordering of cache and TLB flushes
      5fbdefcf
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.16a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 0573fed9
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Five minor fixes for Xen-specific drivers"
      
      * tag 'for-linus-4.16a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        pvcalls-front: 64-bit align flags
        x86/xen: add tty0 and hvc0 as preferred consoles for dom0
        xen-netfront: Fix hang on device removal
        xen/pirq: fix error path cleanup when binding MSIs
        xen/pvcalls: fix null pointer dereference on map->sock
      0573fed9
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.16-rc4' of git://github.com/ceph/ceph-client · 2833419a
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "A cap handling fix from Zhi that ensures that metadata writeback isn't
        delayed and three error path memory leak fixups from Chengguang"
      
      * tag 'ceph-for-4.16-rc4' of git://github.com/ceph/ceph-client:
        ceph: fix potential memory leak in init_caches()
        ceph: fix dentry leak when failing to init debugfs
        libceph, ceph: avoid memory leak when specifying same option several times
        ceph: flush dirty caps of unlinked inode ASAP
      2833419a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20180302' of git://git.kernel.dk/linux-block · fb6d47a5
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A collection of fixes for this series. This is a little larger than
        usual at this time, but that's mainly because I was out on vacation
        last week. Nothing in here is major in any way, it's just two weeks of
        fixes. This contains:
      
         - NVMe pull from Keith, with a set of fixes from the usual suspects.
      
         - mq-deadline zone unlock fix from Damien, fixing an issue with the
           SMR zone locking added for 4.16.
      
         - two bcache fixes sent in by Michael, with changes from Coly and
           Tang.
      
         - comment typo fix from Eric for blktrace.
      
         - return-value error handling fix for nbd, from Gustavo.
      
         - fix a direct-io case where we don't defer to a completion handler,
           making us sleep from IRQ device completion. From Jan.
      
         - a small series from Jan fixing up holes around handling of bdev
           references.
      
         - small set of regression fixes from Jiufei, mostly fixing problems
           around the gendisk pointer -> partition index change.
      
         - regression fix from Ming, fixing a boundary issue with the discard
           page cache invalidation.
      
         - two-patch series from Ming, fixing both a core blk-mq-sched and
           kyber issue around token freeing on a requeue condition"
      
      * tag 'for-linus-20180302' of git://git.kernel.dk/linux-block: (24 commits)
        block: fix a typo
        block: display the correct diskname for bio
        block: fix the count of PGPGOUT for WRITE_SAME
        mq-deadline: Make sure to always unlock zones
        nvmet: fix PSDT field check in command format
        nvme-multipath: fix sysfs dangerously created links
        nbd: fix return value in error handling path
        bcache: fix kcrashes with fio in RAID5 backend dev
        bcache: correct flash only vols (check all uuids)
        blktrace_api.h: fix comment for struct blk_user_trace_setup
        blockdev: Avoid two active bdev inodes for one device
        genhd: Fix BUG in blkdev_open()
        genhd: Fix use after free in __blkdev_get()
        genhd: Add helper put_disk_and_module()
        genhd: Rename get_disk() to get_disk_and_module()
        genhd: Fix leaked module reference for NVME devices
        direct-io: Fix sleep in atomic due to sync AIO
        nvme-pci: Fix nvme queue cleanup if IRQ setup fails
        block: kyber: fix domain token leak during requeue
        blk-mq: don't call io sched's .requeue_request when requeueing rq to ->dispatch
        ...
      fb6d47a5
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · ff06b55e
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "MMC core:
         - mmc: core: Avoid hang when claiming host
      
        MMC host:
         - dw_mmc: Avoid hang when accessing registers
         - dw_mmc: Fix out-of-bounds access for slot's caps
         - dw_mmc-k3: Fix out-of-bounds access through DT alias
         - sdhci-pci: Fix S0i3 for Intel BYT-based controllers"
      
      * tag 'mmc-v4.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: core: Avoid hanging to claim host for mmc via some nested calls
        mmc: dw_mmc: Avoid accessing registers in runtime suspended state
        mmc: dw_mmc: Fix out-of-bounds access for slot's caps
        mmc: dw_mmc: Factor out dw_mci_init_slot_caps
        mmc: dw_mmc-k3: Fix out-of-bounds access through DT alias
        mmc: sdhci-pci: Fix S0i3 for Intel BYT-based controllers
      ff06b55e
    • Linus Torvalds's avatar
      Merge tag 'pm-4.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · a5c05b74
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix three issues in cpufreq drivers: one recent regression, one
        leftover Kconfig dependency and one old but "stable" material.
      
        Specifics:
      
         - Make the task scheduler load and utilization signals be
           frequency-invariant again after recent changes in the SCPI cpufreq
           driver (Dietmar Eggemann).
      
         - Drop an unnecessary leftover Kconfig dependency from the SCPI
           cpufreq driver (Sudeep Holla).
      
         - Fix the initialization of the s3c24xx cpufreq driver (Viresh
           Kumar)"
      
      * tag 'pm-4.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: s3c24xx: Fix broken s3c_cpufreq_init()
        cpufreq: scpi: Fix incorrect arm_big_little config dependency
        cpufreq: scpi: invoke frequency-invariance setter function
      a5c05b74
    • Masahiro Yamada's avatar
      kconfig: fix line number in recursive inclusion error message · 5ae6fcc4
      Masahiro Yamada authored
      When recursive inclusion is detected, the line number of the last
      'included from:' is wrong.
      
      [Test Case]
      
      Kconfig:
        -------->8--------
        source "Kconfig2"
        -------->8--------
      
      Kconfig2:
        -------->8--------
        source "Kconfig3"
        -------->8--------
      
      Kconfig3:
        -------->8--------
        source "Kconfig"
        -------->8--------
      
      [Result]
      
        $ make allyesconfig
        scripts/kconfig/conf  --allyesconfig Kconfig
        Kconfig:1: recursive inclusion detected. Inclusion path:
          current file : 'Kconfig'
          included from: 'Kconfig3:1'
          included from: 'Kconfig2:1'
          included from: 'Kconfig:3'
        scripts/kconfig/Makefile:89: recipe for target 'allyesconfig' failed
        make[1]: *** [allyesconfig] Error 1
        Makefile:512: recipe for target 'allyesconfig' failed
        make: *** [allyesconfig] Error 2
      
      where we expect
      
          current file : 'Kconfig'
          included from: 'Kconfig3:1'
          included from: 'Kconfig2:1'
          included from: 'Kconfig:1'
      
      The 'iter->lineno+1' in the second fpinrtf() should be 'iter->lineno-1'.
      I refactored the code to merge the two fprintf() calls.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: default avatarUlf Magnusson <ulfalizer@gmail.com>
      5ae6fcc4
    • Dafna Hirschfeld's avatar
      Coccinelle: memdup: Fix typo in warning messages · a11761c2
      Dafna Hirschfeld authored
      Replace 'kmemdep' with 'kmemdup' in warning messages.
      Signed-off-by: default avatarDafna Hirschfeld <dafna3@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Acked-by: default avatarNicolas Palix <nicolas.palix@imag.fr>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      a11761c2
    • Jan Glauber's avatar
      i2c: octeon: Prevent error message on bus error · 7c424679
      Jan Glauber authored
      The error message:
      
      [Fri Feb 16 13:42:13 2018] i2c-thunderx 0000:01:09.4: unhandled state: 0
      
      is mis-leading as state 0 (bus error) is not an unknown state.
      
      Return -EIO as before but avoid printing the message. Also rename
      STAT_ERROR to STATE_BUS_ERROR.
      Signed-off-by: default avatarJan Glauber <jglauber@cavium.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      7c424679
    • Wolfram Sang's avatar
      Merge tag 'at24-4.16-rc4-for-wolfram' of... · 1a0e3a35
      Wolfram Sang authored
      Merge tag 'at24-4.16-rc4-for-wolfram' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-current
      
      Pull in this fixup to get rid of a dependency for the next cycle:
      
      "- sort the manufacturers in DT bindings alphabetically"
      1a0e3a35
    • Rafael J. Wysocki's avatar
      Merge branch 'cpufreq-scpi' · b61e0703
      Rafael J. Wysocki authored
      * cpufreq-scpi:
        cpufreq: scpi: Fix incorrect arm_big_little config dependency
        cpufreq: scpi: invoke frequency-invariance setter function
      b61e0703
    • Helge Deller's avatar
      parisc: Reduce irq overhead when run in qemu · 636a415b
      Helge Deller authored
      When run under QEMU, calling mfctl(16) creates some overhead because the
      qemu timer has to be scaled and moved into the register. This patch
      reduces the number of calls to mfctl(16) by moving the calls out of the
      loops.
      
      Additionally, increase the minimal time interval to 8000 cycles instead
      of 500 to compensate possible QEMU delays when delivering interrupts.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org # 4.14+
      636a415b
    • Helge Deller's avatar
      parisc: Use cr16 interval timers unconditionally on qemu · 5ffa8518
      Helge Deller authored
      When running on qemu we know that the (emulated) cr16 cpu-internal
      clocks are syncronized. So let's use them unconditionally on qemu.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org # 4.14+
      5ffa8518
    • Helge Deller's avatar
      parisc: Check if secondary CPUs want own PDC calls · 0ed1fe4a
      Helge Deller authored
      The architecture specification says (for 64-bit systems): PDC is a per
      processor resource, and operating system software must be prepared to
      manage separate pointers to PDCE_PROC for each processor.  The address
      of PDCE_PROC for the monarch processor is stored in the Page Zero
      location MEM_PDC. The address of PDCE_PROC for each non-monarch
      processor is passed in gr26 when PDCE_RESET invokes OS_RENDEZ.
      
      Currently we still use one PDC for all CPUs, but in case we face a
      machine which is following the specification let's warn about it.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      0ed1fe4a
    • Helge Deller's avatar
      parisc: Hide virtual kernel memory layout · fd8d0ca2
      Helge Deller authored
      For security reasons do not expose the virtual kernel memory layout to
      userspace.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Suggested-by: default avatarKees Cook <keescook@chromium.org>
      Cc: stable@vger.kernel.org # 4.15
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      fd8d0ca2
    • John David Anglin's avatar
      parisc: Fix ordering of cache and TLB flushes · 0adb24e0
      John David Anglin authored
      The change to flush_kernel_vmap_range() wasn't sufficient to avoid the
      SMP stalls.  The problem is some drivers call these routines with
      interrupts disabled.  Interrupts need to be enabled for flush_tlb_all()
      and flush_cache_all() to work.  This version adds checks to ensure
      interrupts are not disabled before calling routines that need IPI
      interrupts.  When interrupts are disabled, we now drop into slower code.
      
      The attached change fixes the ordering of cache and TLB flushes in
      several cases.  When we flush the cache using the existing PTE/TLB
      entries, we need to flush the TLB after doing the cache flush.  We don't
      need to do this when we flush the entire instruction and data caches as
      these flushes don't use the existing TLB entries.  The same is true for
      tmpalias region flushes.
      
      The flush_kernel_vmap_range() and invalidate_kernel_vmap_range()
      routines have been updated.
      
      Secondly, we added a new purge_kernel_dcache_range_asm() routine to
      pacache.S and use it in invalidate_kernel_vmap_range().  Nominally,
      purges are faster than flushes as the cache lines don't have to be
      written back to memory.
      
      Hopefully, this is sufficient to resolve the remaining problems due to
      cache speculation.  So far, testing indicates that this is the case.  I
      did work up a patch using tmpalias flushes, but there is a performance
      hit because we need the physical address for each page, and we also need
      to sequence access to the tmpalias flush code.  This increases the
      probability of stalls.
      
      Signed-off-by: John David Anglin <dave.anglin@bell.net>
      Cc: stable@vger.kernel.org # 4.9+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      0adb24e0
    • Arvind Prasanna's avatar
      kconfig: Update ncurses package names for menuconfig · 1a90ce36
      Arvind Prasanna authored
      The package name is ncurses-devel for Redhat based distros
      and libncurses-dev for Debian based distros.
      Signed-off-by: default avatarArvind Prasanna <arvindprasanna@gmail.com>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      1a90ce36
    • Cao jin's avatar
      cbf7a90e