1. 19 Nov, 2020 16 commits
    • Linus Torvalds's avatar
      Merge tag 'powerpc-cve-2020-4788' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · dda3f425
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Fixes for CVE-2020-4788.
      
        From Daniel's cover letter:
      
        IBM Power9 processors can speculatively operate on data in the L1
        cache before it has been completely validated, via a way-prediction
        mechanism. It is not possible for an attacker to determine the
        contents of impermissible memory using this method, since these
        systems implement a combination of hardware and software security
        measures to prevent scenarios where protected data could be leaked.
      
        However these measures don't address the scenario where an attacker
        induces the operating system to speculatively execute instructions
        using data that the attacker controls. This can be used for example to
        speculatively bypass "kernel user access prevention" techniques, as
        discovered by Anthony Steinhauser of Google's Safeside Project. This
        is not an attack by itself, but there is a possibility it could be
        used in conjunction with side-channels or other weaknesses in the
        privileged code to construct an attack.
      
        This issue can be mitigated by flushing the L1 cache between privilege
        boundaries of concern.
      
        This patch series flushes the L1 cache on kernel entry (patch 2) and
        after the kernel performs any user accesses (patch 3). It also adds a
        self-test and performs some related cleanups"
      
      * tag 'powerpc-cve-2020-4788' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/64s: rename pnv|pseries_setup_rfi_flush to _setup_security_mitigations
        selftests/powerpc: refactor entry and rfi_flush tests
        selftests/powerpc: entry flush test
        powerpc: Only include kup-radix.h for 64-bit Book3S
        powerpc/64s: flush L1D after user accesses
        powerpc/64s: flush L1D on kernel entry
        selftests/powerpc: rfi_flush: disable entry flush if present
      dda3f425
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20201119' of git://github.com/jcmvbkbc/linux-xtensa · 3494d588
      Linus Torvalds authored
      Pull xtensa fixes from Max Filippov:
      
       - fix placement of cache alias remapping area
      
       - disable preemption around cache alias management calls
      
       - add missing __user annotation to strncpy_from_user argument
      
      * tag 'xtensa-20201119' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: uaccess: Add missing __user to strncpy_from_user() prototype
        xtensa: disable preemption around cache alias management calls
        xtensa: fix TLBTEMP area placement
      3494d588
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 131ad0b6
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These fix recent regression in the APEI code and initialization issue
        in the ACPI fan driver.
      
        Specifics:
      
         - Make the APEI code avoid attempts to obtain logical addresses for
           registers located in the I/O address space to fix initialization
           issues (Aili Yao)
      
         - Fix sysfs attribute initialization in the ACPI fan driver (Guenter
           Roeck)"
      
      * tag 'acpi-5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI, APEI, Fix error return value in apei_map_generic_address()
        ACPI: fan: Initialize performance state sysfs attribute
      131ad0b6
    • Linus Torvalds's avatar
      Merge tag 'pm-5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 4ca35b4f
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix two issues in ARM cpufreq drivers and one cpuidle driver
        issue.
      
        Specifics:
      
         - Add missing RCU_NONIDLE() annotations to the Tegra cpuidle driver
           (Dmitry Osipenko)
      
         - Fix boot frequency computation in the tegra186 cpufreq driver (Jon
           Hunter)
      
         - Make the SCMI cpufreq driver register a dummy clock provider to
           avoid OPP addition failures (Sudeep Holla)"
      
      * tag 'pm-5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: scmi: Fix OPP addition failure with a dummy clock provider
        cpufreq: tegra186: Fix get frequency callback
        cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE
      4ca35b4f
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · fee3c824
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "This is a relatively large set of fixes, the bulk of it being a series
        from Lukas Wunner which fixes confusion with the lifetime of driver
        data allocated along with the SPI controller structure that's been
        created as part of the conversion to devm APIs.
      
        The simplest fix, explained in detail in Lukas' commit message, is to
        move to a devm_ function for allocation of the controller and hence
        driver data in order to push the free of that after anything tries to
        reference the driver data in the remove path. This results in a
        relatively large diff due to the addition of a new function but isn't
        particularly complex.
      
        There's also a fix from Sven van Asbroeck which fixes yet more fallout
        from the conflicts between the various different places one can
        configure the polarity of GPIOs in modern systems.
      
        Otherwise everything is fairly small and driver specific"
      
      * tag 'spi-fix-v5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: npcm-fiu: Don't leak SPI master in probe error path
        spi: dw: Set transfer handler before unmasking the IRQs
        spi: cadence-quadspi: Fix error return code in cqspi_probe
        spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
        spi: lpspi: Fix use-after-free on unbind
        spi: bcm-qspi: Fix use-after-free on unbind
        spi: bcm2835aux: Fix use-after-free on unbind
        spi: bcm2835: Fix use-after-free on unbind
        spi: Introduce device-managed SPI controller allocation
        spi: fsi: Fix transfer returning without finalizing message
        spi: fix client driver breakages when using GPIO descriptors
      fee3c824
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v5.10-rc4' of... · d748287a
      Linus Torvalds authored
      Merge tag 'regulator-fix-v5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "Mostly core fixes here, one set from Michał Mirosław which cleans up
        some issues introduced as part of the coupled regulators work, one
        memory leak during probe and two due to regulators which have an input
        supply name and regulator name which are identical, which is very
        unusual.
      
        There's also a fix for our handling of the similarly unusual case
        where we can't determine if a regulator is enabled during boot"
      
      * tag 'regulator-fix-v5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: ti-abb: Fix array out of bound read access on the first transition
        regulator: workaround self-referent regulators
        regulator: avoid resolve_supply() infinite recursion
        regulator: fix memory leak with repeated set_machine_constraints()
        regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200}
        regulator: core: don't disable regulator if is_enabled return error.
      d748287a
    • Linus Torvalds's avatar
      Merge tag 'thermal-v5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux · 841d6e9e
      Linus Torvalds authored
      Pull thermal fix from Daniel Lezcano:
       "Disable the CPU PM notifier for OMAP4430 for suspend in order to
        prevent wrong temperature leading to a critical shutdown (Peter
        Ujfalusi)"
      
      * tag 'thermal-v5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux:
        thermal: ti-soc-thermal: Disable the CPU PM notifier for OMAP4430
      841d6e9e
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-fan' · de15e20f
      Rafael J. Wysocki authored
      * acpi-fan:
        ACPI: fan: Initialize performance state sysfs attribute
      de15e20f
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpuidle' · 3a8ac4d3
      Rafael J. Wysocki authored
      * pm-cpuidle:
        cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE
      3a8ac4d3
    • Daniel Axtens's avatar
      powerpc/64s: rename pnv|pseries_setup_rfi_flush to _setup_security_mitigations · da631f7f
      Daniel Axtens authored
      pseries|pnv_setup_rfi_flush already does the count cache flush setup, and
      we just added entry and uaccess flushes. So the name is not very accurate
      any more. In both platforms we then also immediately setup the STF flush.
      
      Rename them to _setup_security_mitigations and fold the STF flush in.
      Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      da631f7f
    • Daniel Axtens's avatar
      selftests/powerpc: refactor entry and rfi_flush tests · 0d239f3b
      Daniel Axtens authored
      For simplicity in backporting, the original entry_flush test contained
      a lot of duplicated code from the rfi_flush test. De-duplicate that code.
      Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      0d239f3b
    • Daniel Axtens's avatar
      selftests/powerpc: entry flush test · 89a83a0c
      Daniel Axtens authored
      Add a test modelled on the RFI flush test which counts the number
      of L1D misses doing a simple syscall with the entry flush on and off.
      
      For simplicity of backporting, this test duplicates a lot of code from
      rfi_flush. We clean that up in the next patch.
      Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      89a83a0c
    • Michael Ellerman's avatar
      powerpc: Only include kup-radix.h for 64-bit Book3S · 178d52c6
      Michael Ellerman authored
      In kup.h we currently include kup-radix.h for all 64-bit builds, which
      includes Book3S and Book3E. The latter doesn't make sense, Book3E
      never uses the Radix MMU.
      
      This has worked up until now, but almost by accident, and the recent
      uaccess flush changes introduced a build breakage on Book3E because of
      the bad structure of the code.
      
      So disentangle things so that we only use kup-radix.h for Book3S. This
      requires some more stubs in kup.h and fixing an include in
      syscall_64.c.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      178d52c6
    • Nicholas Piggin's avatar
      powerpc/64s: flush L1D after user accesses · 9a32a7e7
      Nicholas Piggin authored
      IBM Power9 processors can speculatively operate on data in the L1 cache
      before it has been completely validated, via a way-prediction mechanism. It
      is not possible for an attacker to determine the contents of impermissible
      memory using this method, since these systems implement a combination of
      hardware and software security measures to prevent scenarios where
      protected data could be leaked.
      
      However these measures don't address the scenario where an attacker induces
      the operating system to speculatively execute instructions using data that
      the attacker controls. This can be used for example to speculatively bypass
      "kernel user access prevention" techniques, as discovered by Anthony
      Steinhauser of Google's Safeside Project. This is not an attack by itself,
      but there is a possibility it could be used in conjunction with
      side-channels or other weaknesses in the privileged code to construct an
      attack.
      
      This issue can be mitigated by flushing the L1 cache between privilege
      boundaries of concern. This patch flushes the L1 cache after user accesses.
      
      This is part of the fix for CVE-2020-4788.
      Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
      Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      9a32a7e7
    • Nicholas Piggin's avatar
      powerpc/64s: flush L1D on kernel entry · f7964378
      Nicholas Piggin authored
      IBM Power9 processors can speculatively operate on data in the L1 cache
      before it has been completely validated, via a way-prediction mechanism. It
      is not possible for an attacker to determine the contents of impermissible
      memory using this method, since these systems implement a combination of
      hardware and software security measures to prevent scenarios where
      protected data could be leaked.
      
      However these measures don't address the scenario where an attacker induces
      the operating system to speculatively execute instructions using data that
      the attacker controls. This can be used for example to speculatively bypass
      "kernel user access prevention" techniques, as discovered by Anthony
      Steinhauser of Google's Safeside Project. This is not an attack by itself,
      but there is a possibility it could be used in conjunction with
      side-channels or other weaknesses in the privileged code to construct an
      attack.
      
      This issue can be mitigated by flushing the L1 cache between privilege
      boundaries of concern. This patch flushes the L1 cache on kernel entry.
      
      This is part of the fix for CVE-2020-4788.
      Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
      Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      f7964378
    • Russell Currey's avatar
      selftests/powerpc: rfi_flush: disable entry flush if present · fcb48454
      Russell Currey authored
      We are about to add an entry flush. The rfi (exit) flush test measures
      the number of L1D flushes over a syscall with the RFI flush enabled and
      disabled. But if the entry flush is also enabled, the effect of enabling
      and disabling the RFI flush is masked.
      
      If there is a debugfs entry for the entry flush, disable it during the RFI
      flush and restore it later.
      Reported-by: default avatarSpoorthy S <spoorts2@in.ibm.com>
      Signed-off-by: default avatarRussell Currey <ruscur@russell.cc>
      Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      fcb48454
  2. 18 Nov, 2020 5 commits
  3. 17 Nov, 2020 13 commits
  4. 16 Nov, 2020 6 commits
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-fixes-v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 9c87c9f4
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Around one third of the fixes this time are for dts files that list
        their ethernet controller as using 'phy-mode="rgmii"' but are changed
        to 'phy-mode="rgmii-id"' now, because the PHY drivers (realtek,
        ksz9031, dp83867, ...) now configure the internal delay based on that
        when they used to stay on the hardware default.
      
        The long story is archived at
      
          https://lore.kernel.org/netdev/CAMj1kXEEF_Un-4NTaD5iUN0NoZYaJQn-rPediX0S6oRiuVuW-A@mail.gmail.com/
      
        I was trying to hold off on the bugfixes until there was a solution
        that would avoid breaking all boards, but that does not seem to be
        happening any time soon, so I am now sending the correct version of
        the dts files to ensure that at least these machines can use their
        network devices again.
      
        The other changes this time are:
      
         - Updating the MAINTAINER lists for Allwinner and Samsung SoCs
      
         - Multiple i.MX8MN machines get updates for their CPU operating
           points to match the data sheet
      
         - A revert for a dts patch that caused a regression in USB support on
           Odroid U3
      
         - Two fixes for the AMD Tee driver, addressing a memory leak and
           missing locking
      
         - Mark the network subsystem on qoriq-fman3 as cache coherent for
           correctness as better performance.
      
         - Minor dts fixes elsewhere, addressing dtc warnings and similar
           problems"
      
      * tag 'arm-soc-fixes-v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (48 commits)
        ARM: dts: exynos: revert "add input clock to CMU in Exynos4412 Odroid"
        ARM: dts: imx50-evk: Fix the chip select 1 IOMUX
        arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point
        ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM
        ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor
        ARM: dts: stm32: Define VIO regulator supply on DHCOM
        ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2
        ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2
        arm64: dts: renesas: r8a774e1: Add missing audio_clk_b
        tee: amdtee: synchronize access to shm list
        tee: amdtee: fix memory leak due to reset of global shm list
        arm64: dts: agilex/stratix10: Fix qspi node compatible
        ARM: dts: imx6q-prti6q: fix PHY address
        ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking
        arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy
        arm64: dts imx8mn: Remove non-existent USB OTG2
        arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio
        arm64: dts: fsl: DPAA FMan DMA operations are coherent
        arm64: dts: fsl: fix endianness issue of rcpm
        arm64: dts: imx8mn-evk: fix missing PMIC's interrupt line pull-up
        ...
      9c87c9f4
    • Linus Torvalds's avatar
      Merge tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux · a5698b38
      Linus Torvalds authored
      Pull Hyper-V fix from Wei Liu:
       "One patch from Chris to fix kexec on Hyper-V"
      
      * tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected
      a5698b38
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · a08f4523
      Linus Torvalds authored
      Pull vhost fixes from Michael Tsirkin:
       "Fixes all over the place, most notably vhost scsi IO error fixes"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost scsi: Add support for LUN resets.
        vhost scsi: add lun parser helper
        vhost scsi: fix cmd completion race
        vhost scsi: alloc cmds per vq instead of session
        vhost: add helper to check if a vq has been setup
        vdpasim: fix "mac_pton" undefined error
        swiotlb: using SIZE_MAX needs limits.h included
      a08f4523
    • Zhihao Cheng's avatar
      spi: cadence-quadspi: Fix error return code in cqspi_probe · ac9978fc
      Zhihao Cheng authored
      Fix to return the error code from
      devm_reset_control_get_optional_exclusive() instaed of 0
      in cqspi_probe().
      
      Fixes: 31fb632b ("spi: Move cadence-quadspi driver to drivers/spi/")
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
      Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Link: https://lore.kernel.org/r/20201116141836.2970579-1-chengzhihao1@huawei.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      ac9978fc
    • Aili Yao's avatar
      ACPI, APEI, Fix error return value in apei_map_generic_address() · 4fba15fb
      Aili Yao authored
      From commit 6915564d ("ACPI: OSL: Change the type of
      acpi_os_map_generic_address() return value"),
      acpi_os_map_generic_address() will return logical address or NULL
      for error, but for ACPI_ADR_SPACE_SYSTEM_IO case, it should be also
      return 0 as it's a normal case, but now it will return -ENXIO.
      
      So check it out for such case to avoid einj module initialization
      fail.
      
      Fixes: 6915564d ("ACPI: OSL: Change the type of acpi_os_map_generic_address() return value")
      Cc: <stable@vger.kernel.org>
      Reviewed-by: default avatarJames Morse <james.morse@arm.com>
      Tested-by: default avatarTony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarAili Yao <yaoaili@kingsoft.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4fba15fb
    • Ian Rogers's avatar
      perf test: Avoid an msan warning in a copied stack. · 568beb27
      Ian Rogers authored
      This fix is for a failure that occurred in the DWARF unwind perf test.
      
      Stack unwinders may probe memory when looking for frames.
      
      Memory sanitizer will poison and track uninitialized memory on the
      stack, and on the heap if the value is copied to the heap.
      
      This can lead to false memory sanitizer failures for the use of an
      uninitialized value.
      
      Avoid this problem by removing the poison on the copied stack.
      
      The full msan failure with track origins looks like:
      
      ==2168==WARNING: MemorySanitizer: use-of-uninitialized-value
          #0 0x559ceb10755b in handle_cfi elfutils/libdwfl/frame_unwind.c:648:8
          #1 0x559ceb105448 in __libdwfl_frame_unwind elfutils/libdwfl/frame_unwind.c:741:4
          #2 0x559ceb0ece90 in dwfl_thread_getframes elfutils/libdwfl/dwfl_frame.c:435:7
          #3 0x559ceb0ec6b7 in get_one_thread_frames_cb elfutils/libdwfl/dwfl_frame.c:379:10
          #4 0x559ceb0ec6b7 in get_one_thread_cb elfutils/libdwfl/dwfl_frame.c:308:17
          #5 0x559ceb0ec6b7 in dwfl_getthreads elfutils/libdwfl/dwfl_frame.c:283:17
          #6 0x559ceb0ec6b7 in getthread elfutils/libdwfl/dwfl_frame.c:354:14
          #7 0x559ceb0ec6b7 in dwfl_getthread_frames elfutils/libdwfl/dwfl_frame.c:388:10
          #8 0x559ceaff6ae6 in unwind__get_entries tools/perf/util/unwind-libdw.c:236:8
          #9 0x559ceabc9dbc in test_dwarf_unwind__thread tools/perf/tests/dwarf-unwind.c:111:8
          #10 0x559ceabca5cf in test_dwarf_unwind__compare tools/perf/tests/dwarf-unwind.c:138:26
          #11 0x7f812a6865b0 in bsearch (libc.so.6+0x4e5b0)
          #12 0x559ceabca871 in test_dwarf_unwind__krava_3 tools/perf/tests/dwarf-unwind.c:162:2
          #13 0x559ceabca926 in test_dwarf_unwind__krava_2 tools/perf/tests/dwarf-unwind.c:169:9
          #14 0x559ceabca946 in test_dwarf_unwind__krava_1 tools/perf/tests/dwarf-unwind.c:174:9
          #15 0x559ceabcae12 in test__dwarf_unwind tools/perf/tests/dwarf-unwind.c:211:8
          #16 0x559ceabbc4ab in run_test tools/perf/tests/builtin-test.c:418:9
          #17 0x559ceabbc4ab in test_and_print tools/perf/tests/builtin-test.c:448:9
          #18 0x559ceabbac70 in __cmd_test tools/perf/tests/builtin-test.c:669:4
          #19 0x559ceabbac70 in cmd_test tools/perf/tests/builtin-test.c:815:9
          #20 0x559cea960e30 in run_builtin tools/perf/perf.c:313:11
          #21 0x559cea95fbce in handle_internal_command tools/perf/perf.c:365:8
          #22 0x559cea95fbce in run_argv tools/perf/perf.c:409:2
          #23 0x559cea95fbce in main tools/perf/perf.c:539:3
      
        Uninitialized value was stored to memory at
          #0 0x559ceb106acf in __libdwfl_frame_reg_set elfutils/libdwfl/frame_unwind.c:77:22
          #1 0x559ceb106acf in handle_cfi elfutils/libdwfl/frame_unwind.c:627:13
          #2 0x559ceb105448 in __libdwfl_frame_unwind elfutils/libdwfl/frame_unwind.c:741:4
          #3 0x559ceb0ece90 in dwfl_thread_getframes elfutils/libdwfl/dwfl_frame.c:435:7
          #4 0x559ceb0ec6b7 in get_one_thread_frames_cb elfutils/libdwfl/dwfl_frame.c:379:10
          #5 0x559ceb0ec6b7 in get_one_thread_cb elfutils/libdwfl/dwfl_frame.c:308:17
          #6 0x559ceb0ec6b7 in dwfl_getthreads elfutils/libdwfl/dwfl_frame.c:283:17
          #7 0x559ceb0ec6b7 in getthread elfutils/libdwfl/dwfl_frame.c:354:14
          #8 0x559ceb0ec6b7 in dwfl_getthread_frames elfutils/libdwfl/dwfl_frame.c:388:10
          #9 0x559ceaff6ae6 in unwind__get_entries tools/perf/util/unwind-libdw.c:236:8
          #10 0x559ceabc9dbc in test_dwarf_unwind__thread tools/perf/tests/dwarf-unwind.c:111:8
          #11 0x559ceabca5cf in test_dwarf_unwind__compare tools/perf/tests/dwarf-unwind.c:138:26
          #12 0x7f812a6865b0 in bsearch (libc.so.6+0x4e5b0)
          #13 0x559ceabca871 in test_dwarf_unwind__krava_3 tools/perf/tests/dwarf-unwind.c:162:2
          #14 0x559ceabca926 in test_dwarf_unwind__krava_2 tools/perf/tests/dwarf-unwind.c:169:9
          #15 0x559ceabca946 in test_dwarf_unwind__krava_1 tools/perf/tests/dwarf-unwind.c:174:9
          #16 0x559ceabcae12 in test__dwarf_unwind tools/perf/tests/dwarf-unwind.c:211:8
          #17 0x559ceabbc4ab in run_test tools/perf/tests/builtin-test.c:418:9
          #18 0x559ceabbc4ab in test_and_print tools/perf/tests/builtin-test.c:448:9
          #19 0x559ceabbac70 in __cmd_test tools/perf/tests/builtin-test.c:669:4
          #20 0x559ceabbac70 in cmd_test tools/perf/tests/builtin-test.c:815:9
          #21 0x559cea960e30 in run_builtin tools/perf/perf.c:313:11
          #22 0x559cea95fbce in handle_internal_command tools/perf/perf.c:365:8
          #23 0x559cea95fbce in run_argv tools/perf/perf.c:409:2
          #24 0x559cea95fbce in main tools/perf/perf.c:539:3
      
        Uninitialized value was stored to memory at
          #0 0x559ceb106a54 in handle_cfi elfutils/libdwfl/frame_unwind.c:613:9
          #1 0x559ceb105448 in __libdwfl_frame_unwind elfutils/libdwfl/frame_unwind.c:741:4
          #2 0x559ceb0ece90 in dwfl_thread_getframes elfutils/libdwfl/dwfl_frame.c:435:7
          #3 0x559ceb0ec6b7 in get_one_thread_frames_cb elfutils/libdwfl/dwfl_frame.c:379:10
          #4 0x559ceb0ec6b7 in get_one_thread_cb elfutils/libdwfl/dwfl_frame.c:308:17
          #5 0x559ceb0ec6b7 in dwfl_getthreads elfutils/libdwfl/dwfl_frame.c:283:17
          #6 0x559ceb0ec6b7 in getthread elfutils/libdwfl/dwfl_frame.c:354:14
          #7 0x559ceb0ec6b7 in dwfl_getthread_frames elfutils/libdwfl/dwfl_frame.c:388:10
          #8 0x559ceaff6ae6 in unwind__get_entries tools/perf/util/unwind-libdw.c:236:8
          #9 0x559ceabc9dbc in test_dwarf_unwind__thread tools/perf/tests/dwarf-unwind.c:111:8
          #10 0x559ceabca5cf in test_dwarf_unwind__compare tools/perf/tests/dwarf-unwind.c:138:26
          #11 0x7f812a6865b0 in bsearch (libc.so.6+0x4e5b0)
          #12 0x559ceabca871 in test_dwarf_unwind__krava_3 tools/perf/tests/dwarf-unwind.c:162:2
          #13 0x559ceabca926 in test_dwarf_unwind__krava_2 tools/perf/tests/dwarf-unwind.c:169:9
          #14 0x559ceabca946 in test_dwarf_unwind__krava_1 tools/perf/tests/dwarf-unwind.c:174:9
          #15 0x559ceabcae12 in test__dwarf_unwind tools/perf/tests/dwarf-unwind.c:211:8
          #16 0x559ceabbc4ab in run_test tools/perf/tests/builtin-test.c:418:9
          #17 0x559ceabbc4ab in test_and_print tools/perf/tests/builtin-test.c:448:9
          #18 0x559ceabbac70 in __cmd_test tools/perf/tests/builtin-test.c:669:4
          #19 0x559ceabbac70 in cmd_test tools/perf/tests/builtin-test.c:815:9
          #20 0x559cea960e30 in run_builtin tools/perf/perf.c:313:11
          #21 0x559cea95fbce in handle_internal_command tools/perf/perf.c:365:8
          #22 0x559cea95fbce in run_argv tools/perf/perf.c:409:2
          #23 0x559cea95fbce in main tools/perf/perf.c:539:3
      
        Uninitialized value was stored to memory at
          #0 0x559ceaff8800 in memory_read tools/perf/util/unwind-libdw.c:156:10
          #1 0x559ceb10f053 in expr_eval elfutils/libdwfl/frame_unwind.c:501:13
          #2 0x559ceb1060cc in handle_cfi elfutils/libdwfl/frame_unwind.c:603:18
          #3 0x559ceb105448 in __libdwfl_frame_unwind elfutils/libdwfl/frame_unwind.c:741:4
          #4 0x559ceb0ece90 in dwfl_thread_getframes elfutils/libdwfl/dwfl_frame.c:435:7
          #5 0x559ceb0ec6b7 in get_one_thread_frames_cb elfutils/libdwfl/dwfl_frame.c:379:10
          #6 0x559ceb0ec6b7 in get_one_thread_cb elfutils/libdwfl/dwfl_frame.c:308:17
          #7 0x559ceb0ec6b7 in dwfl_getthreads elfutils/libdwfl/dwfl_frame.c:283:17
          #8 0x559ceb0ec6b7 in getthread elfutils/libdwfl/dwfl_frame.c:354:14
          #9 0x559ceb0ec6b7 in dwfl_getthread_frames elfutils/libdwfl/dwfl_frame.c:388:10
          #10 0x559ceaff6ae6 in unwind__get_entries tools/perf/util/unwind-libdw.c:236:8
          #11 0x559ceabc9dbc in test_dwarf_unwind__thread tools/perf/tests/dwarf-unwind.c:111:8
          #12 0x559ceabca5cf in test_dwarf_unwind__compare tools/perf/tests/dwarf-unwind.c:138:26
          #13 0x7f812a6865b0 in bsearch (libc.so.6+0x4e5b0)
          #14 0x559ceabca871 in test_dwarf_unwind__krava_3 tools/perf/tests/dwarf-unwind.c:162:2
          #15 0x559ceabca926 in test_dwarf_unwind__krava_2 tools/perf/tests/dwarf-unwind.c:169:9
          #16 0x559ceabca946 in test_dwarf_unwind__krava_1 tools/perf/tests/dwarf-unwind.c:174:9
          #17 0x559ceabcae12 in test__dwarf_unwind tools/perf/tests/dwarf-unwind.c:211:8
          #18 0x559ceabbc4ab in run_test tools/perf/tests/builtin-test.c:418:9
          #19 0x559ceabbc4ab in test_and_print tools/perf/tests/builtin-test.c:448:9
          #20 0x559ceabbac70 in __cmd_test tools/perf/tests/builtin-test.c:669:4
          #21 0x559ceabbac70 in cmd_test tools/perf/tests/builtin-test.c:815:9
          #22 0x559cea960e30 in run_builtin tools/perf/perf.c:313:11
          #23 0x559cea95fbce in handle_internal_command tools/perf/perf.c:365:8
          #24 0x559cea95fbce in run_argv tools/perf/perf.c:409:2
          #25 0x559cea95fbce in main tools/perf/perf.c:539:3
      
        Uninitialized value was stored to memory at
          #0 0x559cea9027d9 in __msan_memcpy llvm/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1558:3
          #1 0x559cea9d2185 in sample_ustack tools/perf/arch/x86/tests/dwarf-unwind.c:41:2
          #2 0x559cea9d202c in test__arch_unwind_sample tools/perf/arch/x86/tests/dwarf-unwind.c:72:9
          #3 0x559ceabc9cbd in test_dwarf_unwind__thread tools/perf/tests/dwarf-unwind.c:106:6
          #4 0x559ceabca5cf in test_dwarf_unwind__compare tools/perf/tests/dwarf-unwind.c:138:26
          #5 0x7f812a6865b0 in bsearch (libc.so.6+0x4e5b0)
          #6 0x559ceabca871 in test_dwarf_unwind__krava_3 tools/perf/tests/dwarf-unwind.c:162:2
          #7 0x559ceabca926 in test_dwarf_unwind__krava_2 tools/perf/tests/dwarf-unwind.c:169:9
          #8 0x559ceabca946 in test_dwarf_unwind__krava_1 tools/perf/tests/dwarf-unwind.c:174:9
          #9 0x559ceabcae12 in test__dwarf_unwind tools/perf/tests/dwarf-unwind.c:211:8
          #10 0x559ceabbc4ab in run_test tools/perf/tests/builtin-test.c:418:9
          #11 0x559ceabbc4ab in test_and_print tools/perf/tests/builtin-test.c:448:9
          #12 0x559ceabbac70 in __cmd_test tools/perf/tests/builtin-test.c:669:4
          #13 0x559ceabbac70 in cmd_test tools/perf/tests/builtin-test.c:815:9
          #14 0x559cea960e30 in run_builtin tools/perf/perf.c:313:11
          #15 0x559cea95fbce in handle_internal_command tools/perf/perf.c:365:8
          #16 0x559cea95fbce in run_argv tools/perf/perf.c:409:2
          #17 0x559cea95fbce in main tools/perf/perf.c:539:3
      
        Uninitialized value was created by an allocation of 'bf' in the stack frame of function 'perf_event__synthesize_mmap_events'
          #0 0x559ceafc5f60 in perf_event__synthesize_mmap_events tools/perf/util/synthetic-events.c:445
      
      SUMMARY: MemorySanitizer: use-of-uninitialized-value elfutils/libdwfl/frame_unwind.c:648:8 in handle_cfi
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: clang-built-linux@googlegroups.com
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sandeep Dasgupta <sdasgup@google.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lore.kernel.org/lkml/20201113182053.754625-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      568beb27