1. 03 Feb, 2016 4 commits
    • Jiri Olsa's avatar
      perf hists: Factor output_resort from hists__output_resort · 01441af5
      Jiri Olsa authored
      Currently hists__output_resort() depends on hists based on hists_evsel
      struct, but we need to be able to sort common hists as well.
      
      Cutting out the sorting base sorting code into output_resort
      function, so it can be reused in following patch.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1453109064-1026-2-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      01441af5
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-3' of... · 8eb22c98
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-3' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Pull perf/core callchain fixes and improvements from Arnaldo Carvalho de Melo <acme@redhat.com:
      
      User visible changes:
      
        - Make --percent-limit apply to callchains also and fix some bugs
          related to --percent-limit (Namhyung Kim)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      8eb22c98
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-2' of... · d072b89d
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Pull perf tooling changes from Arnaldo Carvalho de Melo:
      
      New features:
      
       - Port 'perf kvm stat' to PowerPC (Hemant Kumar)
      
      Infrastructure changes:
      
       - Use the 'feature-dump' target to do the feature checks just once and then
         add code to reuse that in the tests/make makefile, speeding up the
         'make -C tools/perf build-test' target (Wang Nan)
      
       - Reduce the number of tests the 'build-test' target do to those that don't
         pollute the source tree (Arnaldo Carvalho de Melo)
      
       - Improve the output of the build tests a bit by aligning the name of the
         tests, more can be done to filter out uninteresting info in the output
         (Arnaldo Carvalho de Melo)
      
       - Add perf_evlist pointer to *info_priv_size(), more prep work for
         supporting the coresight architecture (Mathieu Poirier)
      
       - Improve the 'perf test bp_signal' test (Wang Nan)
      
       - Check environment before starting the BPF 'perf test', so that we can just
         'Skip' older kernels instead of 'FAIL'ing them (Wang Nan)
      
       - Fix cpumode of synthesized buildid event (Wang Nan)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      d072b89d
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · 402e8db5
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      User visible changes:
      
       - Rename the "colors.code" ~/.perfconfig variable to "colors.jump_arrows",
         as it controls just the that UI element in the annotate browser (Taeung Song)
      
       - Avoid trying to read ELF symtabs from device files, noticed while doing
         memory profiling work (Jiri Olsa)
      
       - Improve context detection when offering options in the hists browser,
         i.e.  some options don't make sense when the browser is not working with
         a perf.data file ('perf top' mode), only in 'perf report' mode, like
         scripting (Namhyung Kim)
      
      Infrastructure changes:
      
       - Elliminate duplication in the hists browser filter functions, getting the
         common part into a function that receives callbacks for filtering by
         DSO, thread, etc. (Namhyung Kim)
      
       - Fix misleadingly indented assignment, found using
         gcc6 -Wmisleading-indentation (Markus Trippelsdorf)
      
       - Handle LLVM relocation oddities in libbpf, introducing a 'perf test' that
         detects such problems and then fixing the problem, so that the test now
         passes (Wang Nan)
      
       - More improvements to the build infrastructure to allow reusing the
         feature detection facilities (Wang Nan)
      
       - Auto initialize the globals needed by cpu__max_{cpu,node}() routines
         (Arnaldo Carvalho de Melo)
      
      Documentation changes:
      
       - Document the perf sysctls in Documentation/sysctl/kernel.txt (Ben Hutchings)
      
       - Document a bunch more ~/.perfconfig knobs (Taeung Song)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      402e8db5
  2. 01 Feb, 2016 20 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 34229b27
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "This looks like a lot but it's a mixture of regression fixes as well
        as fixes for longer standing issues.
      
         1) Fix on-channel cancellation in mac80211, from Johannes Berg.
      
         2) Handle CHECKSUM_COMPLETE properly in xt_TCPMSS netfilter xtables
            module, from Eric Dumazet.
      
         3) Avoid infinite loop in UDP SO_REUSEPORT logic, also from Eric
            Dumazet.
      
         4) Avoid a NULL deref if we try to set SO_REUSEPORT after a socket is
            bound, from Craig Gallek.
      
         5) GRO key comparisons don't take lightweight tunnels into account,
            from Jesse Gross.
      
         6) Fix struct pid leak via SCM credentials in AF_UNIX, from Eric
            Dumazet.
      
         7) We need to set the rtnl_link_ops of ipv6 SIT tunnels before we
            register them, otherwise the NEWLINK netlink message is missing
            the proper attributes.  From Thadeu Lima de Souza Cascardo.
      
         8) Several Spectrum chip bug fixes for mlxsw switch driver, from Ido
            Schimmel
      
         9) Handle fragments properly in ipv4 easly socket demux, from Eric
            Dumazet.
      
        10) Don't ignore the ifindex key specifier on ipv6 output route
            lookups, from Paolo Abeni"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (128 commits)
        tcp: avoid cwnd undo after receiving ECN
        irda: fix a potential use-after-free in ircomm_param_request
        net: tg3: avoid uninitialized variable warning
        net: nb8800: avoid uninitialized variable warning
        net: vxge: avoid unused function warnings
        net: bgmac: clarify CONFIG_BCMA dependency
        net: hp100: remove unnecessary #ifdefs
        net: davinci_cpdma: use dma_addr_t for DMA address
        ipv6/udp: use sticky pktinfo egress ifindex on connect()
        ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail()
        netlink: not trim skb for mmaped socket when dump
        vxlan: fix a out of bounds access in __vxlan_find_mac
        net: dsa: mv88e6xxx: fix port VLAN maps
        fib_trie: Fix shift by 32 in fib_table_lookup
        net: moxart: use correct accessors for DMA memory
        ipv4: ipconfig: avoid unused ic_proto_used symbol
        bnxt_en: Fix crash in bnxt_free_tx_skbs() during tx timeout.
        bnxt_en: Exclude rx_drop_pkts hw counter from the stack's rx_dropped counter.
        bnxt_en: Ring free response from close path should use completion ring
        net_sched: drr: check for NULL pointer in drr_dequeue
        ...
      34229b27
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 2c923414
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes the following issues:
      
        API:
         - algif_hash needs to wait for init operations to complete.
         - The has_key setting for shash was always true.
      
        Algorithms:
         - Add missing selections of CRYPTO_HASH.
         - Fix pkcs7 authentication.
      
        Drivers:
         - Fix stack alignment bug in chacha20-ssse3.
         - Fix performance regression in caam due to incorrect setting.
         - Fix potential compile-only build failure of stm32"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: atmel-aes - remove calls of clk_prepare() from atomic contexts
        crypto: algif_hash - wait for crypto_ahash_init() to complete
        crypto: shash - Fix has_key setting
        hwrng: stm32 - Fix dependencies for !HAS_IOMEM archs
        crypto: ghash,poly1305 - select CRYPTO_HASH where needed
        crypto: chacha20-ssse3 - Align stack pointer to 64 bytes
        PKCS#7: Don't require SpcSpOpusInfo in Authenticode pkcs7 signatures
        crypto: caam - make write transactions bufferable on PPC platforms
      2c923414
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 29a8ea4f
      Linus Torvalds authored
      Pull libnvdimm fixes from Dan Williams:
       "1/ Fixes to the libnvdimm 'pfn' device that establishes a reserved
           area for storing a struct page array.
      
        2/ Fixes for dax operations on a raw block device to prevent pagecache
           collisions with dax mappings.
      
        3/ A fix for pfn_t usage in vm_insert_mixed that lead to a null
           pointer de-reference.
      
        These have received build success notification from the kbuild robot
        across 153 configs and pass the latest ndctl tests"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        phys_to_pfn_t: use phys_addr_t
        mm: fix pfn_t to page conversion in vm_insert_mixed
        block: use DAX for partition table reads
        block: revert runtime dax control of the raw block device
        fs, block: force direct-I/O for dax-enabled block devices
        devm_memremap_pages: fix vmem_altmap lifetime + alignment handling
        libnvdimm, pfn: fix restoring memmap location
        libnvdimm: fix mode determination for e820 devices
      29a8ea4f
    • Namhyung Kim's avatar
      perf report: Don't show blank lines if entry has no callchain · 3848c23b
      Namhyung Kim authored
      When all callchains of a hist entry is percent-limited, do not add a
      blank line at the end.  It makes the entry look like it doesn't have
      callchains.
      Reported-and-Tested-by: default avatarJiri Olsa <jolsa@kernel.org>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/20160128122454.GA27446@danjae.kornetSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3848c23b
    • Namhyung Kim's avatar
      perf hists browser: Fix percent display in callchains · 59c624e2
      Namhyung Kim authored
      When there's only a single callchain, perf doesn't print its percentage
      in front of the symbols.  This is because it assumes that the percentage
      is same as parents.  But if a percent limit is applied, it's possible
      that there are actually a couple of child nodes but only one of them is
      shown.  In this case it should display the percent to prevent
      misunderstanding of its percentage is same as the parent's.
      
      For example, let's see the following callchain.
      
        $ perf report --no-children --percent-limit 0.01 --tui
        ...
        -    0.06%  sleep    [kernel.vmlinux]    [k] kmem_cache_alloc_trace
             kmem_cache_alloc_trace
           - perf_event_mmap
              - 0.04% mmap_region
                   do_mmap_pgoff
                 - vm_mmap_pgoff
                    + 0.02% sys_mmap_pgoff
                    + 0.02% vm_mmap
                 + 0.02% mprotect_fixup
      
      Current code omits the percent if 'mmap_region' becomes the only node
      when percent limit is set to 0.03%, its percent is not 0.06% but users
      will assume it incorrectly.
      
      Before:
      
        $ perf report --no-children --percent-limit 0.03 --tui
        ...
           0.06%  sleep    [kernel.vmlinux]    [k] kmem_cache_alloc_trace
             kmem_cache_alloc_trace
           - perf_event_mmap
              - mmap_region
                do_mmap_pgoff
                vm_mmap_pgoff
      
      After:
      
        $ perf report --no-children --percent-limit 0.03 --tui
        ...
           0.06%  sleep    [kernel.vmlinux]    [k] kmem_cache_alloc_trace
             kmem_cache_alloc_trace
           - perf_event_mmap
              - 0.04% mmap_region
                   do_mmap_pgoff
                   vm_mmap_pgoff
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1453909257-26015-10-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      59c624e2
    • Namhyung Kim's avatar
      perf hists browser: Pass parent_total to callchain print functions · 5eca104e
      Namhyung Kim authored
      Pass parent node's total period to callchain print functions.  This info
      is needed by later patch to determine whether it can omit percent or not
      correctly.
      
      No functional change intended.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1453909257-26015-9-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5eca104e
    • Namhyung Kim's avatar
      perf hists browser: Fix dump to show correct callchain style · 0c841c6c
      Namhyung Kim authored
      The commit 8c430a34 ("perf hists browser: Support folded
      callchains") missed to update hist_browser__dump() so it always shows
      graph-style callchains regardless of current setting.
      
      To fix that, factor out callchain printing code and rename the existing
      function which prints graph-style callchain.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Fixes: 8c430a34 ("perf hists browser: Support folded callchains")
      Link: http://lkml.kernel.org/r/1453909257-26015-8-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0c841c6c
    • Namhyung Kim's avatar
      perf report: Fix percent display in callchains on --stdio · 7ed5d6e2
      Namhyung Kim authored
      When there's only a single callchain, perf doesn't print its percentage
      in front of the symbols.  This is because it assumes that the percentage
      is same as parents.  But if a percent limit is applied, it's possible
      that there are actually a couple of child nodes but only one of them is
      shown.  In this case it should display the percent to prevent
      misunderstanding of its percentage is same as the parent's.
      
      For example, let's see the following callchain.
      
        $ perf report -s comm --percent-limit 0.01 --stdio
        ...
           9.95%  swapper
                  |
                  |--7.57%--intel_idle
                  |          cpuidle_enter_state
                  |          cpuidle_enter
                  |          call_cpuidle
                  |          cpu_startup_entry
                  |          |
                  |          |--4.89%--start_secondary
                  |          |
                  |           --2.68%--rest_init
                  |                     start_kernel
                  |                     x86_64_start_reservations
                  |                     x86_64_start_kernel
      	    |
      	    |--0.15%--__schedule
      	    |          |
      	    |          |--0.13%--schedule
      	    |          |          schedule_preempt_disable
      	    |          |          cpu_startup_entry
                  |          |          |
                  |          |          |--0.09%--start_secondary
                  |          |          |
                  |          |           --0.04%--rest_init
                  |          |                     start_kernel
                  |          |                     x86_64_start_reservations
                  |          |                     x86_64_start_kernel
                  |          |
                  |           --0.01%--schedule_preempt_disabled
                  |                     cpu_startup_entry
        ...
      
      Current code omits the percent if 'intel_idle' becomes the only node
      when percent limit is set to 0.5%, its percent is not 9.95% but users
      will assume it incorrectly.
      
      Before:
      
        $ perf report --percent-limit 0.5 --stdio
        ...
           9.95%  swapper
                  |
                  ---intel_idle
                     cpuidle_enter_state
                     cpuidle_enter
                     call_cpuidle
                     cpu_startup_entry
                     |
                     |--4.89%--start_secondary
                     |
                      --2.68%--rest_init
                                start_kernel
                                x86_64_start_reservations
                                x86_64_start_kernel
      
      After:
      
        $ perf report --percent-limit 0.5 --stdio
        ...
           9.95%  swapper
                  |
                   --7.57%--intel_idle
                             cpuidle_enter_state
                             cpuidle_enter
                             call_cpuidle
                             cpu_startup_entry
                             |
                             |--4.89%--start_secondary
                             |
                              --2.68%--rest_init
                                        start_kernel
                                        x86_64_start_reservations
                                        x86_64_start_kernel
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1453909257-26015-7-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7ed5d6e2
    • Namhyung Kim's avatar
      perf callchain: Pass parent_samples to __callchain__fprintf_graph() · 54d27b31
      Namhyung Kim authored
      Pass hist entry's period to graph callchain print function.  This info
      is needed by later patch to determine whether it can omit percentage of
      top-level node or not.
      
      No functional change intended.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1453909257-26015-6-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      54d27b31
    • Namhyung Kim's avatar
      perf report: Get rid of hist_entry__callchain_fprintf() · 7e597d32
      Namhyung Kim authored
      It's just a wrapper function to align the start position ofcallchains to
      'comm' of each thread if it's a first sort key.  But it doesn't not work
      with tracepoint events and also with upcoming hierarchy view.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1453909257-26015-5-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7e597d32
    • Namhyung Kim's avatar
      perf report: Apply --percent-limit to callchains also · 2665b452
      Namhyung Kim authored
      Currently --percent-limit option only works for hist entries.  However
      it'd be better to have same effect to callchains as well
      Requested-by: default avatarAndi Kleen <andi@firstfloor.org>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1453909257-26015-4-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2665b452
    • Namhyung Kim's avatar
      perf hists: Update hists' total period when adding entries · 0f58474e
      Namhyung Kim authored
      Currently the hist entry addition path doesn't update total_period of
      hists and it's calculated during 'resort' path.  But the resort path
      needs to know the total period before doing its job because it's used
      for calculating percent limit of callchains in hist entries.
      
      So this patch update the total period during the addition path.  It
      makes the percent limit of callchains working (again).
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1453909257-26015-3-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0f58474e
    • Namhyung Kim's avatar
      perf hists: Fix min callchain hits calculation · 744070e0
      Namhyung Kim authored
      The total period should be get using hists__total_period() since it
      takes filtered entries into account.  In addition, if callchain mode is
      'fractal', the total period should be the entry's period.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1453909257-26015-2-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      744070e0
    • Linus Torvalds's avatar
      Linux 4.5-rc2 · 36f90b0a
      Linus Torvalds authored
      36f90b0a
    • Linus Torvalds's avatar
      Merge tag 'usb-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · d784ef58
      Linus Torvalds authored
      Pull USB driver fixes from Greg KH:
       "Here are some small USB fixes and new device ids for 4.5-rc2.  Nothing
        major here, full details are in the shortlog, and all of these have
        been in linux-next successfully"
      
      * tag 'usb-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: option: fix Cinterion AHxx enumeration
        USB: mxu11x0: fix memory leak on usb_serial private data
        USB: serial: ftdi_sio: add support for Yaesu SCU-18 cable
        USB: serial: option: Adding support for Telit LE922
        USB: serial: visor: fix crash on detecting device without write_urbs
        USB: visor: fix null-deref at probe
        USB: cp210x: add ID for IAI USB to RS485 adaptor
        usb: hub: do not clear BOS field during reset device
        cdc-acm:exclude Samsung phone 04e8:685d
        usb: cdc-acm: send zero packet for intel 7260 modem
        usb: cdc-acm: handle unlinked urb in acm read callback
      d784ef58
    • Linus Torvalds's avatar
      Merge tag 'tty-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 54e3f3e3
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are some small tty/serial driver fixes for 4.5-rc2.
      
        They resolve a number of reported problems (the ioctl one specifically
        has been pointed out by numerous people) and one patch adds some new
        device ids for the 8250_pci driver.  All have been in linux-next
        successfully"
      
      * tag 'tty-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: 8250_pci: Add Intel Broadwell ports
        staging/speakup: Use tty_ldisc_ref() for paste kworker
        n_tty: Fix unsafe reference to "other" ldisc
        tty: Fix unsafe ldisc reference via ioctl(TIOCGETD)
        tty: Retry failed reopen if tty teardown in-progress
        tty: Wait interruptibly for tty lock on reopen
      54e3f3e3
    • Linus Torvalds's avatar
      Merge tag 'staging-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 8c4e378e
      Linus Torvalds authored
      Pull staging fixes from Greg KH:
       "Here are some small staging driver fixes for 4.5-rc2.
      
        One of them predated 4.4-final, but I missed that merge window due to
        the holliday.  The others fix reported issues that have come up
        recently.  The tty change is needed for the speakup driver fix and has
        the ack of the tty driver maintainer as well, i.e.  myself :)
      
        All have been in linux-next with no reported issues"
      
      * tag 'staging-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        Staging: speakup: fix read scrolled-back VT
        Staging: speakup: Fix getting port information
        Revert "Staging: panel: usleep_range is preferred over udelay"
        iio: adis_buffer: Fix out-of-bounds memory access
      8c4e378e
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · f3ca903f
      Linus Torvalds authored
      Pull driver core fix from Greg KH:
       "Here's a single driver core fix that resolves an issue a lot of users
        have been hitting for a while now.  It's been tested a lot and has
        been in linux-next successfully for a while"
      
      * tag 'driver-core-4.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        base/platform: Fix platform drivers with no probe callback
      f3ca903f
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 510ae0c9
      Linus Torvalds authored
      Pull MIPS fix from Ralf Baechle:
       "Just a single revert for a patch which I had upstreamed out of
        sequence"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        Revert "MIPS: bcm63xx: nvram: Remove unused bcm63xx_nvram_get_psi_size() function"
      510ae0c9
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d517be5f
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A bit on the largish side due to a series of fixes for a regression in
        the x86 vector management which was introduced in 4.3.  This work was
        started in December already, but it took some time to fix all corner
        cases and a couple of older bugs in that area which were detected
        while at it
      
        Aside of that a few platform updates for intel-mid, quark and UV and
        two fixes for in the mm code:
         - Use proper types for pgprot values to avoid truncation
         - Prevent a size truncation in the pageattr code when setting page
           attributes for large mappings"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        x86/mm/pat: Avoid truncation when converting cpa->numpages to address
        x86/mm: Fix types used in pgprot cacheability flags translations
        x86/platform/quark: Print boundaries correctly
        x86/platform/UV: Remove EFI memmap quirk for UV2+
        x86/platform/intel-mid: Join string and fix SoC name
        x86/platform/intel-mid: Enable 64-bit build
        x86/irq: Plug vector cleanup race
        x86/irq: Call irq_force_move_complete with irq descriptor
        x86/irq: Remove outgoing CPU from vector cleanup mask
        x86/irq: Remove the cpumask allocation from send_cleanup_vector()
        x86/irq: Clear move_in_progress before sending cleanup IPI
        x86/irq: Remove offline cpus from vector cleanup
        x86/irq: Get rid of code duplication
        x86/irq: Copy vectormask instead of an AND operation
        x86/irq: Check vector allocation early
        x86/irq: Reorganize the search in assign_irq_vector
        x86/irq: Reorganize the return path in assign_irq_vector
        x86/irq: Do not use apic_chip_data.old_domain as temporary buffer
        x86/irq: Validate that irq descriptor is still active
        x86/irq: Fix a race in x86_vector_free_irqs()
        ...
      d517be5f
  3. 31 Jan, 2016 10 commits
  4. 30 Jan, 2016 6 commits
    • David S. Miller's avatar
      Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth · 53729eb1
      David S. Miller authored
      Johan Hedberg says:
      
      ====================
      pull request: bluetooth 2016-01-30
      
      Here's a set of important Bluetooth fixes for the 4.5 kernel:
      
       - Two fixes to 6LoWPAN code (one fixing a potential crash)
       - Fix LE pairing with devices using both public and random addresses
       - Fix allocation of dynamic LE PSM values
       - Fix missing COMPATIBLE_IOCTL for UART line discipline
      
      Please let me know if there are any issues pulling. Thanks.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      53729eb1
    • Dan Williams's avatar
      block: use DAX for partition table reads · d1a5f2b4
      Dan Williams authored
      Avoid populating pagecache when the block device is in DAX mode.
      Otherwise these page cache entries collide with the fsync/msync
      implementation and break data durability guarantees.
      
      Cc: Jan Kara <jack@suse.com>
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Reported-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Tested-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Reviewed-by: default avatarMatthew Wilcox <willy@linux.intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      d1a5f2b4
    • Dan Williams's avatar
      block: revert runtime dax control of the raw block device · 9f4736fe
      Dan Williams authored
      Dynamically enabling DAX requires that the page cache first be flushed
      and invalidated.  This must occur atomically with the change of DAX mode
      otherwise we confuse the fsync/msync tracking and violate data
      durability guarantees.  Eliminate the possibilty of DAX-disabled to
      DAX-enabled transitions for now and revisit this for the next cycle.
      
      Cc: Jan Kara <jack@suse.com>
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      9f4736fe
    • Dan Williams's avatar
      fs, block: force direct-I/O for dax-enabled block devices · 65f87ee7
      Dan Williams authored
      Similar to the file I/O path, re-direct all I/O to the DAX path for I/O
      to a block-device special file.  Both regular files and device special
      files can use the common filp->f_mapping->host lookup to determing is
      DAX is enabled.
      
      Otherwise, we confuse the DAX code that does not expect to find live
      data in the page cache:
      
          ------------[ cut here ]------------
          WARNING: CPU: 0 PID: 7676 at mm/filemap.c:217
          __delete_from_page_cache+0x9f6/0xb60()
          Modules linked in:
          CPU: 0 PID: 7676 Comm: a.out Not tainted 4.4.0+ #276
          Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
           00000000ffffffff ffff88006d3f7738 ffffffff82999e2d 0000000000000000
           ffff8800620a0000 ffffffff86473d20 ffff88006d3f7778 ffffffff81352089
           ffffffff81658d36 ffffffff86473d20 00000000000000d9 ffffea0000009d60
          Call Trace:
           [<     inline     >] __dump_stack lib/dump_stack.c:15
           [<ffffffff82999e2d>] dump_stack+0x6f/0xa2 lib/dump_stack.c:50
           [<ffffffff81352089>] warn_slowpath_common+0xd9/0x140 kernel/panic.c:482
           [<ffffffff813522b9>] warn_slowpath_null+0x29/0x30 kernel/panic.c:515
           [<ffffffff81658d36>] __delete_from_page_cache+0x9f6/0xb60 mm/filemap.c:217
           [<ffffffff81658fb2>] delete_from_page_cache+0x112/0x200 mm/filemap.c:244
           [<ffffffff818af369>] __dax_fault+0x859/0x1800 fs/dax.c:487
           [<ffffffff8186f4f6>] blkdev_dax_fault+0x26/0x30 fs/block_dev.c:1730
           [<     inline     >] wp_pfn_shared mm/memory.c:2208
           [<ffffffff816e9145>] do_wp_page+0xc85/0x14f0 mm/memory.c:2307
           [<     inline     >] handle_pte_fault mm/memory.c:3323
           [<     inline     >] __handle_mm_fault mm/memory.c:3417
           [<ffffffff816ecec3>] handle_mm_fault+0x2483/0x4640 mm/memory.c:3446
           [<ffffffff8127eff6>] __do_page_fault+0x376/0x960 arch/x86/mm/fault.c:1238
           [<ffffffff8127f738>] trace_do_page_fault+0xe8/0x420 arch/x86/mm/fault.c:1331
           [<ffffffff812705c4>] do_async_page_fault+0x14/0xd0 arch/x86/kernel/kvm.c:264
           [<ffffffff86338f78>] async_page_fault+0x28/0x30 arch/x86/entry/entry_64.S:986
           [<ffffffff86336c36>] entry_SYSCALL_64_fastpath+0x16/0x7a
          arch/x86/entry/entry_64.S:185
          ---[ end trace dae21e0f85f1f98c ]---
      
      Fixes: 5a023cdb ("block: enable dax for raw block devices")
      Reported-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Reported-by: default avatarKirill A. Shutemov <kirill@shutemov.name>
      Suggested-by: default avatarJan Kara <jack@suse.cz>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Suggested-by: default avatarMatthew Wilcox <willy@linux.intel.com>
      Tested-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      65f87ee7
    • Cyrille Pitchen's avatar
      crypto: atmel-aes - remove calls of clk_prepare() from atomic contexts · 49a20454
      Cyrille Pitchen authored
      clk_prepare()/clk_unprepare() must not be called within atomic context.
      
      This patch calls clk_prepare() once for all from atmel_aes_probe() and
      clk_unprepare() from atmel_aes_remove().
      
      Then calls of clk_prepare_enable()/clk_disable_unprepare() were replaced
      by calls of clk_enable()/clk_disable().
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarCyrille Pitchen <cyrille.pitchen@atmel.com>
      Reported-by: default avatarMatthias Mayr <matthias.mayr@student.kit.edu>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      49a20454
    • Wang, Rui Y's avatar
      crypto: algif_hash - wait for crypto_ahash_init() to complete · fe097861
      Wang, Rui Y authored
      hash_sendmsg/sendpage() need to wait for the completion
      of crypto_ahash_init() otherwise it can cause panic.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarRui Wang <rui.y.wang@intel.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      fe097861