1. 28 May, 2020 23 commits
    • Ian Rogers's avatar
      perf expr: Allow for unlimited escaped characters in a symbol · 5b3141d0
      Ian Rogers authored
      Current expression allows 2 escaped '-,=' characters. However, some
      metrics require more, for example Haswell DRAM_BW_Use.
      
      Fixes: 26226a97 (perf expr: Move expr lexer to flex)
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Tested-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Haiyan Song <haiyanx.song@intel.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Clarke <pc@us.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lore.kernel.org/lkml/20200501173333.227162-2-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5b3141d0
    • Jiri Olsa's avatar
      perf script: Enable IP fields for callchains · 53fb1894
      Jiri Olsa authored
      In case the callchains were deleted in pipe mode, we need to ensure that
      the IP fields are enabled, otherwise the callchain is not displayed.
      
      Enabling IP and SYM, which should be enough for callchains.
      
      Committer testing:
      
      Before:
      
      Committer Testing:
      
      before:
      
        # ls
        # perf record -g -e 'syscalls:*' sleep 0.1 2>/dev/null | perf script | tail
             sleep 5677 [0] 5034.295882:         syscalls:sys_exit_mmap: 0x7fcbcfa74000
             sleep 5677 [0] 5034.295885:       syscalls:sys_enter_close: fd: 0x00000003
             sleep 5677 [0] 5034.295886:        syscalls:sys_exit_close: 0x0
             sleep 5677 [0] 5034.295911:   syscalls:sys_enter_nanosleep: rqtp: 0x7fff775b33a0, rmtp: 0x00000000
             sleep 5677 [0] 5034.396021:    syscalls:sys_exit_nanosleep: 0x0
             sleep 5677 [0] 5034.396027:       syscalls:sys_enter_close: fd: 0x00000001
             sleep 5677 [0] 5034.396028:        syscalls:sys_exit_close: 0x0
             sleep 5677 [0] 5034.396029:       syscalls:sys_enter_close: fd: 0x00000002
             sleep 5677 [0] 5034.396029:        syscalls:sys_exit_close: 0x0
             sleep 5677 [0] 5034.396032:  syscalls:sys_enter_exit_group: error_code: 0x00000000
        #
        # ls
        #
      
      After:
      
        # perf record --call-graph=dwarf -e 'syscalls:sys_enter*' sleep 0.1 2>/dev/null | perf script | tail -37
        sleep 33010 [000]  5400.625269:              syscalls:sys_enter_nanosleep: rqtp: 0x7fff2d0e7860, rmtp: 0x00000000
        	    7f1406f131a7 __GI___nanosleep (inlined)
        	    561c4f996966 [unknown]
        	    561c4f99673f [unknown]
        	    561c4f9937af [unknown]
        	    7f1406e6c1a2 __libc_start_main
        	    561c4f99388d [unknown]
      
        sleep 33010 [000]  5400.725391:                  syscalls:sys_enter_close: fd: 0x00000001
        	    7f1406f3c3cb __GI___close_nocancel (inlined)
        	    7f1406ec7d6f _IO_new_file_close_it (inlined)
        	    7f1406ebafa5 _IO_new_fclose (inlined)
        	    561c4f996a40 [unknown]
        	    561c4f993d79 [unknown]
        	    7f1406e83e86 __run_exit_handlers
        	    7f1406e8403f __GI_exit (inlined)
        	    7f1406e6c1a9 __libc_start_main
        	    561c4f99388d [unknown]
      
        sleep 33010 [000]  5400.725395:                  syscalls:sys_enter_close: fd: 0x00000002
        	    7f1406f3c3cb __GI___close_nocancel (inlined)
        	    7f1406ec7d6f _IO_new_file_close_it (inlined)
        	    7f1406ebafa5 _IO_new_fclose (inlined)
        	    561c4f996a40 [unknown]
        	    561c4f993da2 [unknown]
        	    7f1406e83e86 __run_exit_handlers
        	    7f1406e8403f __GI_exit (inlined)
        	    7f1406e6c1a9 __libc_start_main
        	    561c4f99388d [unknown]
      
        sleep 33010 [000]  5400.725399:             syscalls:sys_enter_exit_group: error_code: 0x00000000
        	    7f1406f13466 __GI__exit (inlined)
        	    7f1406e83fa1 __run_exit_handlers
        	    7f1406e8403f __GI_exit (inlined)
        	    7f1406e6c1a9 __libc_start_main
        	    561c4f99388d [unknown]
        #
      
      And, if we install coreutils-debuginfo, we'll have those [unknown] resolved,
      those are for the /usr/bin/sleep binary, use:
      
        # dnf debuginfo-install coreutils
      
      On Fedora and derivatives, then:
      
        # perf record --call-graph=dwarf -e 'syscalls:sys_enter*' sleep 0.1 2>/dev/null | perf script | tail -37
        sleep 33046 [009]  5533.910074:              syscalls:sys_enter_nanosleep: rqtp: 0x7ffea6fa7ab0, rmtp: 0x00000000
        	    7f5f786e81a7 __GI___nanosleep (inlined)
        	    564472454966 rpl_nanosleep
        	    56447245473f xnanosleep
        	    5644724517af main
        	    7f5f786411a2 __libc_start_main
        	    56447245188d _start
      
        sleep 33046 [009]  5534.010218:                  syscalls:sys_enter_close: fd: 0x00000001
        	    7f5f787113cb __GI___close_nocancel (inlined)
        	    7f5f7869cd6f _IO_new_file_close_it (inlined)
        	    7f5f7868ffa5 _IO_new_fclose (inlined)
        	    564472454a40 close_stream
        	    564472451d79 close_stdout
        	    7f5f78658e86 __run_exit_handlers
        	    7f5f7865903f __GI_exit (inlined)
        	    7f5f786411a9 __libc_start_main
        	    56447245188d _start
      
        sleep 33046 [009]  5534.010224:                  syscalls:sys_enter_close: fd: 0x00000002
        	    7f5f787113cb __GI___close_nocancel (inlined)
        	    7f5f7869cd6f _IO_new_file_close_it (inlined)
        	    7f5f7868ffa5 _IO_new_fclose (inlined)
        	    564472454a40 close_stream
        	    564472451da2 close_stdout
        	    7f5f78658e86 __run_exit_handlers
        	    7f5f7865903f __GI_exit (inlined)
        	    7f5f786411a9 __libc_start_main
        	    56447245188d _start
      
        sleep 33046 [009]  5534.010229:             syscalls:sys_enter_exit_group: error_code: 0x00000000
        	    7f5f786e8466 __GI__exit (inlined)
        	    7f5f78658fa1 __run_exit_handlers
        	    7f5f7865903f __GI_exit (inlined)
        	    7f5f786411a9 __libc_start_main
        	    56447245188d _start
      
        #
      Reported-by: default avatarPaul Khuong <pvk@pvk.ca>
      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: Ian Rogers <irogers@google.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20200507095024.2789147-6-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      53fb1894
    • Jiri Olsa's avatar
      perf callchain: Setup callchain properly in pipe mode · 0d71a2b2
      Jiri Olsa authored
      Callchains are automatically initialized by checking on event's
      sample_type. For pipe mode we need to put this check into attr event
      code.
      
      Moving the callchains setup code into callchain_param_setup function and
      calling it from attr event process code.
      
      This enables pipe output having callchains, like:
      
        # perf record -g -e 'raw_syscalls:sys_enter' true | perf script
        # perf record -g -e 'raw_syscalls:sys_enter' true | perf report
      
      Committer notes:
      
      We still need the next patch for the above output to work.
      Reported-by: default avatarPaul Khuong <pvk@pvk.ca>
      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: Ian Rogers <irogers@google.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20200507095024.2789147-5-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0d71a2b2
    • Jiri Olsa's avatar
      perf session: Try to read pipe data from file · 14d3d540
      Jiri Olsa authored
      Ian came with the idea of having support to read the pipe data also from
      file. Currently pipe mode files fail like:
      
        $ perf record -o - sleep 1 > /tmp/perf.pipe.data
        $ perf report -i /tmp/perf.pipe.data
        incompatible file format (rerun with -v to learn more)
      
      This patch adds the support to do that by trying the pipe header first,
      and if its successfully detected, switching the perf data to pipe mode.
      
      Committer testing:
      
        # ls
        # perf record -a -o - sleep 1 > /tmp/perf.pipe.data
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.000 MB - ]
        # ls
        # perf report -i /tmp/perf.pipe.data | head -25
        # To display the perf.data header info, please use --header/--header-only options.
        #
        #
        # Total Lost Samples: 0
        #
        # Samples: 511  of event 'cycles'
        # Event count (approx.): 178447276
        #
        # Overhead  Command   Shared Object      Symbol
        # ........  ........  .................  ...........................................................................................
        #
            65.49%  swapper   [kernel.kallsyms]  [k] native_safe_halt
             6.45%  chromium  libblink_core.so   [.] blink::SelectorChecker::CheckOne
             4.08%  chromium  libblink_core.so   [.] blink::SelectorQuery::ExecuteForTraverseRoot<blink::AllElementsSelectorQueryTrait>
             2.25%  chromium  libblink_core.so   [.] blink::SelectorQuery::FindTraverseRootsAndExecute<blink::AllElementsSelectorQueryTrait>
             2.11%  chromium  libblink_core.so   [.] blink::SelectorChecker::MatchSelector
             1.91%  chromium  libblink_core.so   [.] blink::Node::OwnerShadowHost
             1.31%  chromium  libblink_core.so   [.] blink::Node::parentNode@plt
             1.22%  chromium  libblink_core.so   [.] blink::Node::parentNode
             0.59%  chromium  libblink_core.so   [.] blink::AnyAttributeMatches
             0.58%  chromium  libv8.so           [.] v8::internal::GlobalHandles::Create
             0.58%  chromium  libblink_core.so   [.] blink::NodeTraversal::NextAncestorSibling
             0.55%  chromium  libv8.so           [.] v8::internal::RegExpGlobalCache::RegExpGlobalCache
             0.55%  chromium  libblink_core.so   [.] blink::Node::ContainingShadowRoot
             0.55%  chromium  libblink_core.so   [.] blink::NodeTraversal::NextAncestorSibling@plt
        #
      Original-patch-by: default avatarIan Rogers <irogers@google.com>
      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: Ian Rogers <irogers@google.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Khuong <pvk@pvk.ca>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20200507095024.2789147-4-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      14d3d540
    • Jiri Olsa's avatar
      perf tools: Do not seek in pipe fd during tracing data processing · b491198d
      Jiri Olsa authored
      There's no need to set 'fd' position in pipe mode, the file descriptor
      is already in proper place. Moreover the lseek will fail on pipe
      descriptor and that's why it's been working properly.
      
      I was tempted to remove the lseek calls completely, because it seems
      that tracing data event was always synthesized only in pipe mode, so
      there's no need for 'file' mode handling. But I guess there was a reason
      behind this and there might (however unlikely) be a perf.data that we
      could break processing for.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Khuong <pvk@pvk.ca>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20200507095024.2789147-3-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b491198d
    • Jiri Olsa's avatar
      perf tools: Do not display extra info when there is nothing to build · fdb071f8
      Jiri Olsa authored
      Even with fully built tree, we still display extra output when make is
      invoked, like:
      
        $ make
          BUILD:   Doing 'make -j8' parallel build
          DESCEND  plugins
        make[3]: Nothing to be done for 'plugins/libtraceevent-dynamic-list'.
      
      Changing the make descend directly to plugins directory, which quiets
      those messages down.
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      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: Ian Rogers <irogers@google.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Khuong <pvk@pvk.ca>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20200507095024.2789147-2-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      fdb071f8
    • Masami Hiramatsu's avatar
      perf probe: Do not show the skipped events · f41ebe9d
      Masami Hiramatsu authored
      When a probe point is expanded to several places (like inlined) and if
      some of them are skipped because of blacklisted or __init function,
      those trace_events has no event name. It must be skipped while showing
      results.
      
      Without this fix, you can see "(null):(null)" on the list,
      
        # ./perf probe request_resource
        reserve_setup is out of .text, skip it.
        Added new events:
          (null):(null)        (on request_resource)
          probe:request_resource (on request_resource)
      
        You can now use it in all perf tools, such as:
      
        	perf record -e probe:request_resource -aR sleep 1
      
        #
      
      With this fix, it is ignored:
      
        # ./perf probe request_resource
        reserve_setup is out of .text, skip it.
        Added new events:
          probe:request_resource (on request_resource)
      
        You can now use it in all perf tools, such as:
      
        	perf record -e probe:request_resource -aR sleep 1
      
        #
      
      Fixes: 5a51fcd1 ("perf probe: Skip kernel symbols which is out of .text")
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: stable@vger.kernel.org
      Link: http://lore.kernel.org/lkml/158763968263.30755.12800484151476026340.stgit@devnote2Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f41ebe9d
    • Masami Hiramatsu's avatar
      perf probe: Check address correctness by map instead of _etext · 2ae5d0d7
      Masami Hiramatsu authored
      Since commit 03db8b58 ("perf tools: Fix
      maps__find_symbol_by_name()") introduced map address range check in
      maps__find_symbol_by_name(), we can not get "_etext" from kernel map
      because _etext is placed on the edge of the kernel .text section (=
      kernel map in perf.)
      
      To fix this issue, this checks the address correctness by map address
      range information (map->start and map->end) instead of using _etext
      address.
      
      This can cause an error if the target inlined function is embedded in
      both __init function and normal function.
      
      For exaample, request_resource() is a normal function but also embedded
      in __init reserve_setup(). In this case, the probe point in
      reserve_setup() must be skipped.
      
      However, without this fix, it failes to setup all probe points:
      
        # ./perf probe -v request_resource
        probe-definition(0): request_resource
        symbol:request_resource file:(null) line:0 offset:0 return:0 lazy:(null)
        0 arguments
        Looking at the vmlinux_path (8 entries long)
        Using /usr/lib/debug/lib/modules/5.5.17-200.fc31.x86_64/vmlinux for symbols
        Open Debuginfo file: /usr/lib/debug/lib/modules/5.5.17-200.fc31.x86_64/vmlinux
        Try to find probe point from debuginfo.
        Matched function: request_resource [15e29ad]
        found inline addr: 0xffffffff82fbf892
        Probe point found: reserve_setup+204
        found inline addr: 0xffffffff810e9790
        Probe point found: request_resource+0
        Found 2 probe_trace_events.
        Opening /sys/kernel/debug/tracing//kprobe_events write=1
        Opening /sys/kernel/debug/tracing//README write=0
        Writing event: p:probe/request_resource _text+33290386
        Failed to write event: Invalid argument
          Error: Failed to add events. Reason: Invalid argument (Code: -22)
        #
      
      With this fix,
      
        # ./perf probe request_resource
        reserve_setup is out of .text, skip it.
        Added new events:
          (null):(null)        (on request_resource)
          probe:request_resource (on request_resource)
      
        You can now use it in all perf tools, such as:
      
        	perf record -e probe:request_resource -aR sleep 1
      
        #
      
      Fixes: 03db8b58 ("perf tools: Fix maps__find_symbol_by_name()")
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@kernel.org>
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: stable@vger.kernel.org
      Link: http://lore.kernel.org/lkml/158763967332.30755.4922496724365529088.stgit@devnote2Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2ae5d0d7
    • Masami Hiramatsu's avatar
      perf probe: Fix to check blacklist address correctly · 80526491
      Masami Hiramatsu authored
      Fix to check kprobe blacklist address correctly with relocated address
      by adjusting debuginfo address.
      
      Since the address in the debuginfo is same as objdump, it is different
      from relocated kernel address with KASLR.  Thus, 'perf probe' always
      misses to catch the blacklisted addresses.
      
      Without this patch, 'perf probe' can not detect the blacklist addresses
      on a KASLR enabled kernel.
      
        # perf probe kprobe_dispatcher
        Failed to write event: Invalid argument
          Error: Failed to add events.
        #
      
      With this patch, it correctly shows the error message.
      
        # perf probe kprobe_dispatcher
        kprobe_dispatcher is blacklisted function, skip it.
        Probe point 'kprobe_dispatcher' not found.
          Error: Failed to add events.
        #
      
      Fixes: 9aaf5a5f ("perf probe: Check kprobes blacklist when adding new events")
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: stable@vger.kernel.org
      Link: http://lore.kernel.org/lkml/158763966411.30755.5882376357738273695.stgit@devnote2Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      80526491
    • Masami Hiramatsu's avatar
      perf probe: Accept the instance number of kretprobe event · c6aab66a
      Masami Hiramatsu authored
      Since the commit 6a13a0d7 ("ftrace/kprobe: Show the maxactive number
      on kprobe_events") introduced to show the instance number of kretprobe
      events, the length of the 1st format of the kprobe event will not 1, but
      it can be longer.  This caused a parser error in perf-probe.
      
      Skip the length check the 1st format of the kprobe event to accept this
      instance number.
      
      Without this fix:
      
        # perf probe -a vfs_read%return
        Added new event:
          probe:vfs_read__return (on vfs_read%return)
      
        You can now use it in all perf tools, such as:
      
        	perf record -e probe:vfs_read__return -aR sleep 1
      
        # perf probe -l
        Semantic error :Failed to parse event name: r16:probe/vfs_read__return
          Error: Failed to show event list.
      
      And with this fixes:
      
        # perf probe -a vfs_read%return
        ...
        # perf probe -l
          probe:vfs_read__return (on vfs_read%return)
      
      Fixes: 6a13a0d7 ("ftrace/kprobe: Show the maxactive number on kprobe_events")
      Reported-by: default avatarYuxuan Shui <yshuiv7@gmail.com>
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Tested-by: default avatarYuxuan Shui <yshuiv7@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: stable@vger.kernel.org
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=207587
      Link: http://lore.kernel.org/lkml/158877535215.26469.1113127926699134067.stgit@devnote2Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c6aab66a
    • Arnaldo Carvalho de Melo's avatar
      perf counts: Rename perf_evsel__*counts() to evsel__*counts() · 7d1e239e
      Arnaldo Carvalho de Melo authored
      As these are 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7d1e239e
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__[hs]w_cache* to evsel__[hs]w_cache* · c64e85e1
      Arnaldo Carvalho de Melo authored
      As those are 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c64e85e1
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__new*() to evsel__new*() · 8f6725a2
      Arnaldo Carvalho de Melo authored
      As these are 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8f6725a2
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename *perf_evsel__get_config_term() & friends to evsel__env() · 35ac0cad
      Arnaldo Carvalho de Melo authored
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      35ac0cad
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() · 2dbfc945
      Arnaldo Carvalho de Melo authored
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2dbfc945
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__resort*() to evsel__resort*() · 10c513f7
      Arnaldo Carvalho de Melo authored
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      10c513f7
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__object_config() to evsel__object_config() · 4c703828
      Arnaldo Carvalho de Melo authored
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4c703828
    • Stephane Eranian's avatar
      perf/x86/rapl: Add AMD Fam17h RAPL support · 5cde2653
      Stephane Eranian authored
      This patch enables AMD Fam17h RAPL support for the Package level metric.
      The support is as per AMD Fam17h Model31h (Zen2) and model 00-ffh (Zen1) PPR.
      
      The same output is available via the energy-pkg pseudo event:
      
        $ perf stat -a -I 1000 --per-socket -e power/energy-pkg/
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/20200527224659.206129-6-eranian@google.com
      5cde2653
    • Stephane Eranian's avatar
      perf/x86/rapl: Make perf_probe_msr() more robust and flexible · 4c953f87
      Stephane Eranian authored
      This patch modifies perf_probe_msr() by allowing passing of
      struct perf_msr array where some entries are not populated, i.e.,
      they have either an msr address of 0 or no attribute_group pointer.
      This helps with certain call paths, e.g., RAPL.
      
      In case the grp is NULL, the default sysfs visibility rule
      applies which is to make the group visible. Without the patch,
      you would get a kernel crash with a NULL group.
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/20200527224659.206129-5-eranian@google.com
      4c953f87
    • Stephane Eranian's avatar
      perf/x86/rapl: Flip logic on default events visibility · 2a3e3f73
      Stephane Eranian authored
      This patch modifies the default visibility of the attribute_group
      for each RAPL event. By default if the grp.is_visible field is NULL,
      sysfs considers that it must display the attribute group.
      If the field is not NULL (callback function), then the return value
      of the callback determines the visibility (0 = not visible). The RAPL
      attribute groups had the field set to NULL, meaning that unless they
      failed the probing from perf_msr_probe(), they would be visible. We want
      to avoid having to specify attribute groups that are not supported by the HW
      in the rapl_msrs[] array, they don't have an MSR address to begin with.
      
      Therefore, we intialize the visible field of all RAPL attribute groups
      to a callback that returns 0. If the RAPL msr goes through probing
      and succeeds the is_visible field will be set back to NULL (visible).
      If the probing fails the field is set to a callback that return 0 (not visible).
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/20200527224659.206129-4-eranian@google.com
      2a3e3f73
    • Stephane Eranian's avatar
      perf/x86/rapl: Refactor to share the RAPL code between Intel and AMD CPUs · 5c95c689
      Stephane Eranian authored
      This patch modifies the rapl_model struct to include architecture specific
      knowledge in this previously Intel specific structure, and in particular
      it adds the MSR for POWER_UNIT and the rapl_msrs array.
      
      No functional changes.
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/20200527224659.206129-3-eranian@google.com
      5c95c689
    • Stephane Eranian's avatar
      perf/x86/rapl: Move RAPL support to common x86 code · fd3ae1e1
      Stephane Eranian authored
      To prepare for support of both Intel and AMD RAPL.
      
      As per the AMD PPR, Fam17h support Package RAPL counters to monitor power usage.
      The RAPL counter operates as with Intel RAPL, and as such it is beneficial
      to share the code.
      
      No change in functionality.
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/20200527224659.206129-2-eranian@google.com
      fd3ae1e1
    • Ingo Molnar's avatar
      0bffedbc
  2. 24 May, 2020 5 commits
    • Linus Torvalds's avatar
      Linux 5.7-rc7 · 9cb1fd0e
      Linus Torvalds authored
      9cb1fd0e
    • Linus Torvalds's avatar
      Merge tag 'efi-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98790bba
      Linus Torvalds authored
      Pull EFI fixes from Thomas Gleixner:
       "A set of EFI fixes:
      
         - Don't return a garbage screen info when EFI framebuffer is not
           available
      
         - Make the early EFI console work properly with wider fonts instead
           of drawing garbage
      
         - Prevent a memory buffer leak in allocate_e820()
      
         - Print the firmware error record properly so it can be decoded by
           users
      
         - Fix a symbol clash in the host tool build which only happens with
           newer compilers.
      
         - Add a missing check for the event log version of TPM which caused
           boot failures on several Dell systems due to an attempt to decode
           SHA-1 format with the crypto agile algorithm"
      
      * tag 'efi-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tpm: check event log version before reading final events
        efi: Pull up arch-specific prototype efi_systab_show_arch()
        x86/boot: Mark global variables as static
        efi: cper: Add support for printing Firmware Error Record Reference
        efi/libstub/x86: Avoid EFI map buffer alloc in allocate_e820()
        efi/earlycon: Fix early printk for wider fonts
        efi/libstub: Avoid returning uninitialized data from setup_graphics()
      98790bba
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 667b6249
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "Two fixes for x86:
      
         - Unbreak stack dumps for inactive tasks by interpreting the special
           first frame left by __switch_to_asm() correctly.
      
           The recent change not to skip the first frame so ORC and frame
           unwinder behave in the same way caused all entries to be
           unreliable, i.e. prepended with '?'.
      
         - Use cpumask_available() instead of an implicit NULL check of a
           cpumask_var_t in mmio trace to prevent a Clang build warning"
      
      * tag 'x86-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks
        x86/mmiotrace: Use cpumask_available() for cpumask_var_t variables
      667b6249
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9e61d12b
      Linus Torvalds authored
      Pull scheduler fixes from Thomas Gleixner:
       "A set of fixes for the scheduler:
      
         - Fix handling of throttled parents in enqueue_task_fair() completely.
      
           The recent fix overlooked a corner case where the first iteration
           terminates due to an entity already being on the runqueue which
           makes the list management incomplete and later triggers the
           assertion which checks for completeness.
      
         - Fix a similar problem in unthrottle_cfs_rq().
      
         - Show the correct uclamp values in procfs which prints the effective
           value twice instead of requested and effective"
      
      * tag 'sched-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Fix unthrottle_cfs_rq() for leaf_cfs_rq list
        sched/debug: Fix requested task uclamp values shown in procfs
        sched/fair: Fix enqueue_task_fair() warning some more
      9e61d12b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · caffb99b
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix RCU warnings in ipv6 multicast router code, from Madhuparna
          Bhowmik.
      
       2) Nexthop attributes aren't being checked properly because of
          mis-initialized iterator, from David Ahern.
      
       3) Revert iop_idents_reserve() change as it caused performance
          regressions and was just working around what is really a UBSAN bug
          in the compiler. From Yuqi Jin.
      
       4) Read MAC address properly from ROM in bmac driver (double iteration
          proceeds past end of address array), from Jeremy Kerr.
      
       5) Add Microsoft Surface device IDs to r8152, from Marc Payne.
      
       6) Prevent reference to freed SKB in __netif_receive_skb_core(), from
          Boris Sukholitko.
      
       7) Fix ACK discard behavior in rxrpc, from David Howells.
      
       8) Preserve flow hash across packet scrubbing in wireguard, from Jason
          A. Donenfeld.
      
       9) Cap option length properly for SO_BINDTODEVICE in AX25, from Eric
          Dumazet.
      
      10) Fix encryption error checking in kTLS code, from Vadim Fedorenko.
      
      11) Missing BPF prog ref release in flow dissector, from Jakub Sitnicki.
      
      12) dst_cache must be used with BH disabled in tipc, from Eric Dumazet.
      
      13) Fix use after free in mlxsw driver, from Jiri Pirko.
      
      14) Order kTLS key destruction properly in mlx5 driver, from Tariq
          Toukan.
      
      15) Check devm_platform_ioremap_resource() return value properly in
          several drivers, from Tiezhu Yang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (71 commits)
        net: smsc911x: Fix runtime PM imbalance on error
        net/mlx4_core: fix a memory leak bug.
        net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend
        net: phy: mscc: fix initialization of the MACsec protocol mode
        net: stmmac: don't attach interface until resume finishes
        net: Fix return value about devm_platform_ioremap_resource()
        net/mlx5: Fix error flow in case of function_setup failure
        net/mlx5e: CT: Correctly get flow rule
        net/mlx5e: Update netdev txq on completions during closure
        net/mlx5: Annotate mutex destroy for root ns
        net/mlx5: Don't maintain a case of del_sw_func being null
        net/mlx5: Fix cleaning unmanaged flow tables
        net/mlx5: Fix memory leak in mlx5_events_init
        net/mlx5e: Fix inner tirs handling
        net/mlx5e: kTLS, Destroy key object after destroying the TIS
        net/mlx5e: Fix allowed tc redirect merged eswitch offload cases
        net/mlx5: Avoid processing commands before cmdif is ready
        net/mlx5: Fix a race when moving command interface to events mode
        net/mlx5: Add command entry handling completion
        rxrpc: Fix a memory leak in rxkad_verify_response()
        ...
      caffb99b
  3. 23 May, 2020 12 commits
    • Dinghao Liu's avatar
      net: smsc911x: Fix runtime PM imbalance on error · 539d39ad
      Dinghao Liu authored
      Remove runtime PM usage counter decrement when the
      increment function has not been called to keep the
      counter balanced.
      Signed-off-by: default avatarDinghao Liu <dinghao.liu@zju.edu.cn>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      539d39ad
    • David S. Miller's avatar
      Merge tag 'mlx5-fixes-2020-05-22' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · e3181e9a
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      mlx5 fixes 2020-05-22
      
      This series introduces some fixes to mlx5 driver.
      
      Please pull and let me know if there is any problem.
      
      For -stable v4.13
         ('net/mlx5: Add command entry handling completion')
      
      For -stable v5.2
         ('net/mlx5: Fix error flow in case of function_setup failure')
         ('net/mlx5: Fix memory leak in mlx5_events_init')
      
      For -stable v5.3
         ('net/mlx5e: Update netdev txq on completions during closure')
         ('net/mlx5e: kTLS, Destroy key object after destroying the TIS')
         ('net/mlx5e: Fix inner tirs handling')
      
      For -stable v5.6
         ('net/mlx5: Fix cleaning unmanaged flow tables')
         ('net/mlx5: Fix a race when moving command interface to events mode')
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e3181e9a
    • Qiushi Wu's avatar
      net/mlx4_core: fix a memory leak bug. · febfd9d3
      Qiushi Wu authored
      In function mlx4_opreq_action(), pointer "mailbox" is not released,
      when mlx4_cmd_box() return and error, causing a memory leak bug.
      Fix this issue by going to "out" label, mlx4_free_cmd_mailbox() can
      free this pointer.
      
      Fixes: fe6f700d ("net/mlx4_core: Respond to operation request by firmware")
      Signed-off-by: default avatarQiushi Wu <wu000273@umn.edu>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      febfd9d3
    • Grygorii Strashko's avatar
      net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend · 4c64b83d
      Grygorii Strashko authored
      vlan_for_each() are required to be called with rtnl_lock taken, otherwise
      ASSERT_RTNL() warning will be triggered - which happens now during System
      resume from suspend:
        cpsw_suspend()
        |- cpsw_ndo_stop()
          |- __hw_addr_ref_unsync_dev()
            |- cpsw_purge_all_mc()
               |- vlan_for_each()
                  |- ASSERT_RTNL();
      
      Hence, fix it by surrounding cpsw_ndo_stop() by rtnl_lock/unlock() calls.
      
      Fixes: 15180eca ("net: ethernet: ti: cpsw: fix vlan mcast")
      Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4c64b83d
    • Antoine Tenart's avatar
      net: phy: mscc: fix initialization of the MACsec protocol mode · 0ddfee1f
      Antoine Tenart authored
      At the very end of the MACsec block initialization in the MSCC PHY
      driver, the MACsec "protocol mode" is set. This setting should be set
      based on the PHY id within the package, as the bank used to access the
      register used depends on this. This was not done correctly, and only the
      first bank was used leading to the two upper PHYs being unstable when
      using the VSC8584. This patch fixes it.
      
      Fixes: 1bbe0ecc ("net: phy: mscc: macsec initialization")
      Signed-off-by: default avatarAntoine Tenart <antoine.tenart@bootlin.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0ddfee1f
    • Leon Yu's avatar
      net: stmmac: don't attach interface until resume finishes · 31096c3e
      Leon Yu authored
      Commit 14b41a29 ("net: stmmac: Delete txtimer in suspend") was the
      first attempt to fix a race between mod_timer() and setup_timer()
      during stmmac_resume(). However the issue still exists as the commit
      only addressed half of the issue.
      
      Same race can still happen as stmmac_resume() re-attaches interface
      way too early - even before hardware is fully initialized.  Worse,
      doing so allows network traffic to restart and stmmac_tx_timer_arm()
      being called in the middle of stmmac_resume(), which re-init tx timers
      in stmmac_init_coalesce().  timer_list will be corrupted and system
      crashes as a result of race between mod_timer() and setup_timer().
      
        systemd--1995    2.... 552950018us : stmmac_suspend: 4994
        ksoftirq-9       0..s2 553123133us : stmmac_tx_timer_arm: 2276
        systemd--1995    0.... 553127896us : stmmac_resume: 5101
        systemd--320     7...2 553132752us : stmmac_tx_timer_arm: 2276
        (sd-exec-1999    5...2 553135204us : stmmac_tx_timer_arm: 2276
        ---------------------------------
        pc : run_timer_softirq+0x468/0x5e0
        lr : run_timer_softirq+0x570/0x5e0
        Call trace:
         run_timer_softirq+0x468/0x5e0
         __do_softirq+0x124/0x398
         irq_exit+0xd8/0xe0
         __handle_domain_irq+0x6c/0xc0
         gic_handle_irq+0x60/0xb0
         el1_irq+0xb8/0x180
         arch_cpu_idle+0x38/0x230
         default_idle_call+0x24/0x3c
         do_idle+0x1e0/0x2b8
         cpu_startup_entry+0x28/0x48
         secondary_start_kernel+0x1b4/0x208
      
      Fix this by deferring netif_device_attach() to the end of
      stmmac_resume().
      Signed-off-by: default avatarLeon Yu <leoyu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      31096c3e
    • Tiezhu Yang's avatar
      net: Fix return value about devm_platform_ioremap_resource() · ef24d6c3
      Tiezhu Yang authored
      When call function devm_platform_ioremap_resource(), we should use IS_ERR()
      to check the return value and return PTR_ERR() if failed.
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ef24d6c3
    • Mike Rapoport's avatar
      sparc32: fix page table traversal in srmmu_nocache_init() · 0cfc8a8d
      Mike Rapoport authored
      The srmmu_nocache_init() uses __nocache_fix() macro to add an offset to
      page table entry to access srmmu_nocache_pool.
      
      But since sparc32 has only three actual page table levels, pgd, p4d and
      pud are essentially the same thing and pgd_offset() and p4d_offset() are
      no-ops, the __nocache_fix() should be done only at PUD level.
      
      Remove __nocache_fix() for p4d_offset() and pud_offset() and keep it
      only for PUD and lower levels.
      
      Fixes: c2bc26f7 ("sparc32: use PUD rather than PGD to get PMD in srmmu_nocache_init()")
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0cfc8a8d
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 423b8baf
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "11 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        MAINTAINERS: add files related to kdump
        z3fold: fix use-after-free when freeing handles
        sparc32: use PUD rather than PGD to get PMD in srmmu_nocache_init()
        MAINTAINERS: update email address for Naoya Horiguchi
        sh: include linux/time_types.h for sockios
        kasan: disable branch tracing for core runtime
        selftests/vm/write_to_hugetlbfs.c: fix unused variable warning
        selftests/vm/.gitignore: add mremap_dontunmap
        rapidio: fix an error in get_user_pages_fast() error handling
        x86: bitops: fix build regression
        device-dax: don't leak kernel memory to user space after unloading kmem
      423b8baf
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 23f0dac8
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "So, turns out the kobject fix didn't quite work, so here are four
        patches that in the end, result in just two driver core fixes for
        reported issues that no one has had problems with.
      
        The kobject patch that was originally in here has now been reverted,
        as Guenter reported boot problems with it on some of his systems"
      
      * tag 'driver-core-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        Revert "kobject: Make sure the parent does not get released before its children"
        kobject: Make sure the parent does not get released before its children
        driver core: Fix handling of SYNC_STATE_ONLY + STATELESS device links
        driver core: Fix SYNC_STATE_ONLY device link implementation
      23f0dac8
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 0e36fd45
      Linus Torvalds authored
      Pull char/misc fixes from Greg KH:
       "Here are some small char/misc driver fixes for 5.7-rc7 that resolve
        some reported issues. Included in here are tiny fixes for the mei,
        coresight, rtsx, ipack, and mhi drivers.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'char-misc-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        misc: rtsx: Add short delay after exit from ASPM
        bus: mhi: core: Fix some error return code
        ipack: tpci200: fix error return code in tpci200_register()
        coresight: cti: remove incorrect NULL return check
        mei: release me_cl object reference
      0e36fd45
    • Linus Torvalds's avatar
      Merge tag 'staging-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 8f261041
      Linus Torvalds authored
      Pull staging/iio fixes from Greg KH:
       "Here are some small staging and IIO driver fixes for 5.7-rc7
      
        Nothing major, just a collection of IIO driver fixes for reported
        issues, and a few small staging driver fixes that people have found.
        Full details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: wfx: unlock on error path
        staging: greybus: Fix uninitialized scalar variable
        staging: kpc2000: fix error return code in kp2000_pcie_probe()
        iio: sca3000: Remove an erroneous 'get_device()'
        iio: adc: stm32-dfsdm: fix device used to request dma
        iio: adc: stm32-adc: fix device used to request dma
        iio: adc: ti-ads8344: Fix channel selection
        staging: iio: ad2s1210: Fix SPI reading
        iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()'
        iio: imu: st_lsm6dsx: unlock on error in st_lsm6dsx_shub_write_raw()
        iio: chemical: atlas-sensor: correct DO-SM channels
      8f261041