1. 02 Jul, 2022 1 commit
    • Ivan Babrou's avatar
      perf unwind: Fix unitialized 'offset' variable on aarch64 · 5eb502b2
      Ivan Babrou authored
      Commit dc2cf4ca ("perf unwind: Fix segbase for ld.lld linked
      objects") uncovered the following issue on aarch64:
      
          util/unwind-libunwind-local.c: In function 'find_proc_info':
          util/unwind-libunwind-local.c:386:28: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
          386 |                         if (ofs > 0) {
              |                            ^
          util/unwind-libunwind-local.c:199:22: note: 'offset' was declared here
          199 |         u64 address, offset;
              |                      ^~~~~~
          util/unwind-libunwind-local.c:371:20: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
          371 |                 if (ofs <= 0) {
              |                    ^
          util/unwind-libunwind-local.c:199:22: note: 'offset' was declared here
          199 |         u64 address, offset;
              |                      ^~~~~~
          util/unwind-libunwind-local.c:363:20: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
          363 |                 if (ofs <= 0) {
              |                    ^
          util/unwind-libunwind-local.c:199:22: note: 'offset' was declared here
          199 |         u64 address, offset;
              |                      ^~~~~~
          In file included from util/libunwind/arm64.c:37:
      
      Fixes: dc2cf4ca ("perf unwind: Fix segbase for ld.lld linked objects")
      Signed-off-by: default avatarIvan Babrou <ivan@cloudflare.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Fangrui Song <maskray@google.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: kernel-team@cloudflare.com
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20220701182046.12589-1-ivan@cloudflare.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5eb502b2
  2. 28 Jun, 2022 5 commits
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync linux/kvm.h with the kernel sources · 7fe718fb
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        bfbab445 ("KVM: arm64: Implement PSCI SYSTEM_SUSPEND")
        7b33a09d ("KVM: arm64: Add support for userspace to suspend a vCPU")
        ffbb61d0 ("KVM: x86: Accept KVM_[GS]ET_TSC_KHZ as a VM ioctl.")
        661a20fa ("KVM: x86/xen: Advertise and document KVM_XEN_HVM_CONFIG_EVTCHN_SEND")
        fde0451b ("KVM: x86/xen: Support per-vCPU event channel upcall via local APIC")
        28d1629f ("KVM: x86/xen: Kernel acceleration for XENVER_version")
        53639526 ("KVM: x86/xen: handle PV timers oneshot mode")
        942c2490 ("KVM: x86/xen: Add KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID")
        2fd6df2f ("KVM: x86/xen: intercept EVTCHNOP_send from guests")
        35025735 ("KVM: x86/xen: Support direct injection of event channel events")
      
      That automatically adds support for this new ioctl:
      
        $ tools/perf/trace/beauty/kvm_ioctl.sh > before
        $ cp include/uapi/linux/kvm.h tools/include/uapi/linux/kvm.h
        $ tools/perf/trace/beauty/kvm_ioctl.sh > after
        $ diff -u before after
        --- before	2022-06-28 12:13:07.281150509 -0300
        +++ after	2022-06-28 12:13:16.423392896 -0300
        @@ -98,6 +98,7 @@
         	[0xcc] = "GET_SREGS2",
         	[0xcd] = "SET_SREGS2",
         	[0xce] = "GET_STATS_FD",
        +	[0xd0] = "XEN_HVM_EVTCHN_SEND",
         	[0xe0] = "CREATE_DEVICE",
         	[0xe1] = "SET_DEVICE_ATTR",
         	[0xe2] = "GET_DEVICE_ATTR",
        $
      
      This silences these perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
        diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Woodhouse <dwmw@amazon.co.uk>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Joao Martins <joao.m.martins@oracle.com>
      Cc: Marc Zyngier <maz@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Oliver Upton <oupton@google.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Link: http://lore.kernel.org/lkml/Yrs4RE+qfgTaWdAt@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7fe718fb
    • Ian Rogers's avatar
      perf bpf: 8 byte align bpil data · 579d6c6d
      Ian Rogers authored
      bpil data is accessed assuming 64-bit alignment resulting in undefined
      behavior as the data is just byte aligned. With an -fsanitize=undefined
      build the following errors are observed:
      
        $ sudo perf record -a sleep 1
        util/bpf-event.c:310:22: runtime error: load of misaligned address 0x55f61084520f for type '__u64', which requires 8 byte alignment
        0x55f61084520f: note: pointer points here
         a8 fe ff ff 3c  51 d3 c0 ff ff ff ff 04  84 d3 c0 ff ff ff ff d8  aa d3 c0 ff ff ff ff a4  c0 d3 c0
                     ^
        util/bpf-event.c:311:20: runtime error: load of misaligned address 0x55f61084522f for type '__u32', which requires 4 byte alignment
        0x55f61084522f: note: pointer points here
         ff ff ff ff c7  17 00 00 f1 02 00 00 1f  04 00 00 58 04 00 00 00  00 00 00 0f 00 00 00 63  02 00 00
                     ^
        util/bpf-event.c:198:33: runtime error: member access within misaligned address 0x55f61084523f for type 'const struct bpf_func_info', which requires 4 byte alignment
        0x55f61084523f: note: pointer points here
         58 04 00 00 00  00 00 00 0f 00 00 00 63  02 00 00 3b 00 00 00 ab  02 00 00 44 00 00 00 14  03 00 00
      
      Correct this by rouding up the data sizes and aligning the pointers.
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Acked-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Dave Marchevsky <davemarchevsky@fb.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: John Fastabend <john.fastabend@gmail.com>
      Cc: KP Singh <kpsingh@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Quentin Monnet <quentin@isovalent.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: bpf@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Link: https://lore.kernel.org/r/20220614014714.1407239-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      579d6c6d
    • Arnaldo Carvalho de Melo's avatar
      tools kvm headers arm64: Update KVM headers from the kernel sources · 117c4950
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        2cde51f1 ("KVM: arm64: Hide KVM_REG_ARM_*_BMAP_BIT_COUNT from userspace")
        b22216e1 ("KVM: arm64: Add vendor hypervisor firmware register")
        428fd678 ("KVM: arm64: Add standard hypervisor firmware register")
        05714cab ("KVM: arm64: Setup a framework for hypercall bitmap firmware registers")
        18f3976f ("KVM: arm64: uapi: Add kvm_debug_exit_arch.hsr_high")
        a5905d6a ("KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated")
      
      That don't causes any changes in tooling (when built on x86), only
      addresses this perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
        diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexandru Elisei <alexandru.elisei@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: James Morse <james.morse@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Marc Zyngier <maz@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Raghavendra Rao Ananta <rananta@google.com>
      Link: https://lore.kernel.org/lkml/YrsWcDQyJC+xsfmm@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      117c4950
    • Namhyung Kim's avatar
      perf offcpu: Accept allowed sample types only · 49c692b7
      Namhyung Kim authored
      As offcpu-time event is synthesized at the end, it could not get the
      all the sample info.  Define OFFCPU_SAMPLE_TYPES for allowed ones and
      mask out others in evsel__config() to prevent parse errors.
      
      Because perf sample parsing assumes a specific ordering with the
      sample types, setting unsupported one would make it fail to read
      data like perf record -d/--data.
      
      Fixes: edc41a10 ("perf record: Enable off-cpu analysis with BPF")
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Blake Jones <blakejones@google.com>
      Cc: Hao Luo <haoluo@google.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Milian Wolff <milian.wolff@kdab.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: bpf@vger.kernel.org
      Link: http://lore.kernel.org/lkml/20220624231313.367909-3-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      49c692b7
    • Namhyung Kim's avatar
      perf offcpu: Fix build failure on old kernels · d6838ec4
      Namhyung Kim authored
      Old kernels have a 'struct task_struct' which contains a "state" field
      and newer kernels have "__state" instead.
      
      While the get_task_state() in the BPF code handles that in some way, it
      assumed the current kernel has the new definition and it caused a build
      error on old kernels.
      
      We should not assume anything and access them carefully.  Do not use
      'task struct' directly access it instead using new and old definitions
      in a row.
      
      Fixes: edc41a10 ("perf record: Enable off-cpu analysis with BPF")
      Reported-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Blake Jones <blakejones@google.com>
      Cc: Hao Luo <haoluo@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Milian Wolff <milian.wolff@kdab.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: bpf@vger.kernel.org
      Link: http://lore.kernel.org/lkml/20220624231313.367909-2-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d6838ec4
  3. 27 Jun, 2022 8 commits
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 941e3e79
      Linus Torvalds authored
      Pull virtio fixes from Michael Tsirkin:
       "Fixes all over the place, most notably we are disabling
        IRQ hardening (again!)"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio_ring: make vring_create_virtqueue_split prettier
        vhost-vdpa: call vhost_vdpa_cleanup during the release
        virtio_mmio: Restore guest page size on resume
        virtio_mmio: Add missing PM calls to freeze/restore
        caif_virtio: fix race between virtio_device_ready() and ndo_open()
        virtio-net: fix race between ndo_open() and virtio_device_ready()
        virtio: disable notification hardening by default
        virtio: Remove unnecessary variable assignments
        virtio_ring : keep used_wrap_counter in vq->last_used_idx
        vduse: Tie vduse mgmtdev and its device
        vdpa/mlx5: Initialize CVQ vringh only once
        vdpa/mlx5: Update Control VQ callback information
      941e3e79
    • Masahiro Yamada's avatar
      tick/nohz: unexport __init-annotated tick_nohz_full_setup() · 23900951
      Masahiro Yamada authored
      EXPORT_SYMBOL and __init is a bad combination because the .init.text
      section is freed up after the initialization. Hence, modules cannot
      use symbols annotated __init. The access to a freed symbol may end up
      with kernel panic.
      
      modpost used to detect it, but it had been broken for a decade.
      
      Commit 28438794 ("modpost: fix section mismatch check for exported
      init/exit sections") fixed it so modpost started to warn it again, then
      this showed up:
      
          MODPOST vmlinux.symvers
        WARNING: modpost: vmlinux.o(___ksymtab_gpl+tick_nohz_full_setup+0x0): Section mismatch in reference from the variable __ksymtab_tick_nohz_full_setup to the function .init.text:tick_nohz_full_setup()
        The symbol tick_nohz_full_setup is exported and annotated __init
        Fix this by removing the __init annotation of tick_nohz_full_setup or drop the export.
      
      Drop the export because tick_nohz_full_setup() is only called from the
      built-in code in kernel/sched/isolation.c.
      
      Fixes: ae9e557b ("time: Export tick start/stop functions for rcutorture")
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      23900951
    • Deming Wang's avatar
      virtio_ring: make vring_create_virtqueue_split prettier · c7cc29aa
      Deming Wang authored
      Add some spaces to vring_alloc_queue(make it look prettier).
      Signed-off-by: default avatarDeming Wang <wangdeming@inspur.com>
      Message-Id: <20220622192306.4371-1-wangdeming@inspur.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      c7cc29aa
    • Stefano Garzarella's avatar
      vhost-vdpa: call vhost_vdpa_cleanup during the release · 037d4305
      Stefano Garzarella authored
      Before commit 3d569879 ("vhost-vdpa: introduce asid based IOTLB")
      we call vhost_vdpa_iotlb_free() during the release to clean all regions
      mapped in the iotlb.
      
      That commit removed vhost_vdpa_iotlb_free() and added vhost_vdpa_cleanup()
      to do some cleanup, including deleting all mappings, but we forgot to call
      it in vhost_vdpa_release().
      
      This causes that if an application does not remove all mappings explicitly
      (or it crashes), the mappings remain in the iotlb and subsequent
      applications may fail if they map the same addresses.
      
      Calling vhost_vdpa_cleanup() also fixes a memory leak since we are not
      freeing `v->vdev.vqs` during the release from the same commit.
      
      Since vhost_vdpa_cleanup() calls vhost_dev_cleanup() we can remove its
      call from vhost_vdpa_release().
      
      Fixes: 3d569879 ("vhost-vdpa: introduce asid based IOTLB")
      Cc: gautam.dawar@xilinx.com
      Signed-off-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Message-Id: <20220622151407.51232-1-sgarzare@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Tested-by: default avatarEugenio Pérez <eperezma@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      037d4305
    • Stephan Gerhold's avatar
      virtio_mmio: Restore guest page size on resume · e0c2ce82
      Stephan Gerhold authored
      Virtio devices might lose their state when the VMM is restarted
      after a suspend to disk (hibernation) cycle. This means that the
      guest page size register must be restored for the virtio_mmio legacy
      interface, since otherwise the virtio queues are not functional.
      
      This is particularly problematic for QEMU that currently still defaults
      to using the legacy interface for virtio_mmio. Write the guest page
      size register again in virtio_mmio_restore() to make legacy virtio_mmio
      devices work correctly after hibernation.
      Signed-off-by: default avatarStephan Gerhold <stephan.gerhold@kernkonzept.com>
      Message-Id: <20220621110621.3638025-3-stephan.gerhold@kernkonzept.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      e0c2ce82
    • Stephan Gerhold's avatar
      virtio_mmio: Add missing PM calls to freeze/restore · ed7ac37f
      Stephan Gerhold authored
      Most virtio drivers provide freeze/restore callbacks to finish up
      device usage before suspend and to reinitialize the virtio device after
      resume. However, these callbacks are currently only called when using
      virtio_pci. virtio_mmio does not have any PM ops defined.
      
      This causes problems for example after suspend to disk (hibernation),
      since the virtio devices might lose their state after the VMM is
      restarted. Calling virtio_device_freeze()/restore() ensures that
      the virtio devices are re-initialized correctly.
      
      Fix this by implementing the dev_pm_ops for virtio_mmio,
      similar to virtio_pci_common.
      Signed-off-by: default avatarStephan Gerhold <stephan.gerhold@kernkonzept.com>
      Message-Id: <20220621110621.3638025-2-stephan.gerhold@kernkonzept.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      ed7ac37f
    • Jason Wang's avatar
      caif_virtio: fix race between virtio_device_ready() and ndo_open() · 11a37eb6
      Jason Wang authored
      We currently depend on probe() calling virtio_device_ready() -
      which happens after netdev
      registration. Since ndo_open() can be called immediately
      after register_netdev, this means there exists a race between
      ndo_open() and virtio_device_ready(): the driver may start to use the
      device (e.g. TX) before DRIVER_OK which violates the spec.
      
      Fix this by switching to use register_netdevice() and protect the
      virtio_device_ready() with rtnl_lock() to make sure ndo_open() can
      only be called after virtio_device_ready().
      
      Fixes: 0d2e1a29 ("caif_virtio: Introduce caif over virtio")
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Message-Id: <20220620051115.3142-3-jasowang@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      11a37eb6
    • Jason Wang's avatar
      virtio-net: fix race between ndo_open() and virtio_device_ready() · 50c0ada6
      Jason Wang authored
      We currently call virtio_device_ready() after netdev
      registration. Since ndo_open() can be called immediately
      after register_netdev, this means there exists a race between
      ndo_open() and virtio_device_ready(): the driver may start to use the
      device before DRIVER_OK which violates the spec.
      
      Fix this by switching to use register_netdevice() and protect the
      virtio_device_ready() with rtnl_lock() to make sure ndo_open() can
      only be called after virtio_device_ready().
      
      Fixes: 4baf1e33 ("virtio_net: enable VQs early")
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Message-Id: <20220617072949.30734-1-jasowang@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      50c0ada6
  4. 26 Jun, 2022 24 commits
    • Linus Torvalds's avatar
      Linux 5.19-rc4 · 03c765b0
      Linus Torvalds authored
      03c765b0
    • Linus Torvalds's avatar
      Merge tag 'soc-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 1709b887
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "A number of fixes have accumulated, but they are largely for harmless
        issues:
      
         - Several OF node leak fixes
      
         - A fix to the Exynos7885 UART clock description
      
         - DTS fixes to prevent boot failures on TI AM64 and J721s2
      
         - Bus probe error handling fixes for Baikal-T1
      
         - A fixup to the way STM32 SoCs use separate dts files for different
           firmware stacks
      
         - Multiple code fixes for Arm SCMI firmware, all dealing with
           robustness of the implementation
      
         - Multiple NXP i.MX devicetree fixes, addressing incorrect data in DT
           nodes
      
         - Three updates to the MAINTAINERS file, including Florian Fainelli
           taking over BCM283x/BCM2711 (Raspberry Pi) from Nicolas Saenz
           Julienne"
      
      * tag 'soc-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (29 commits)
        ARM: dts: aspeed: nuvia: rename vendor nuvia to qcom
        arm: mach-spear: Add missing of_node_put() in time.c
        ARM: cns3xxx: Fix refcount leak in cns3xxx_init
        MAINTAINERS: Update email address
        arm64: dts: ti: k3-am64-main: Remove support for HS400 speed mode
        arm64: dts: ti: k3-j721s2: Fix overlapping GICD memory region
        ARM: dts: bcm2711-rpi-400: Fix GPIO line names
        bus: bt1-axi: Don't print error on -EPROBE_DEFER
        bus: bt1-apb: Don't print error on -EPROBE_DEFER
        ARM: Fix refcount leak in axxia_boot_secondary
        ARM: dts: stm32: move SCMI related nodes in a dedicated file for stm32mp15
        soc: imx: imx8m-blk-ctrl: fix display clock for LCDIF2 power domain
        ARM: dts: imx6qdl-colibri: Fix capacitive touch reset polarity
        ARM: dts: imx6qdl: correct PU regulator ramp delay
        firmware: arm_scmi: Fix incorrect error propagation in scmi_voltage_descriptors_get
        firmware: arm_scmi: Avoid using extended string-buffers sizes if not necessary
        firmware: arm_scmi: Fix SENSOR_AXIS_NAME_GET behaviour when unsupported
        ARM: dts: imx7: Move hsic_phy power domain to HSIC PHY node
        soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe
        MAINTAINERS: Update BCM2711/BCM2835 maintainer
        ...
      1709b887
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2022-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 413c1f14
      Linus Torvalds authored
      Pull hotfixes from Andrew Morton:
       "Minor things, mainly - mailmap updates, MAINTAINERS updates, etc.
      
        Fixes for this merge window:
      
         - fix for a damon boot hang, from SeongJae
      
         - fix for a kfence warning splat, from Jason Donenfeld
      
         - fix for zero-pfn pinning, from Alex Williamson
      
         - fix for fallocate hole punch clearing, from Mike Kravetz
      
        Fixes for previous releases:
      
         - fix for a performance regression, from Marcelo
      
         - fix for a hwpoisining BUG from zhenwei pi"
      
      * tag 'mm-hotfixes-stable-2022-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        mailmap: add entry for Christian Marangi
        mm/memory-failure: disable unpoison once hw error happens
        hugetlbfs: zero partial pages during fallocate hole punch
        mm: memcontrol: reference to tools/cgroup/memcg_slabinfo.py
        mm: re-allow pinning of zero pfns
        mm/kfence: select random number before taking raw lock
        MAINTAINERS: add maillist information for LoongArch
        MAINTAINERS: update MM tree references
        MAINTAINERS: update Abel Vesa's email
        MAINTAINERS: add MEMORY HOT(UN)PLUG section and add David as reviewer
        MAINTAINERS: add Miaohe Lin as a memory-failure reviewer
        mailmap: add alias for jarkko@profian.com
        mm/damon/reclaim: schedule 'damon_reclaim_timer' only after 'system_wq' is initialized
        kthread: make it clear that kthread_create_on_node() might be terminated by any fatal signal
        mm: lru_cache_disable: use synchronize_rcu_expedited
        mm/page_isolation.c: fix one kernel-doc comment
      413c1f14
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.19-2022-06-26' of... · 893d1eaa
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.19-2022-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Enable ignore_missing_thread in 'perf stat', enabling counting with
         '--pid' when threads disappear during counting session setup
      
       - Adjust output data offset for backward compatibility in 'perf inject'
      
       - Fix missing free in copy_kcore_dir() in 'perf inject'
      
       - Fix caching files with a wrong build ID
      
       - Sync drm, cpufeatures, vhost and svn headers with the kernel
      
      * tag 'perf-tools-fixes-for-v5.19-2022-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        tools headers UAPI: Synch KVM's svm.h header with the kernel
        tools include UAPI: Sync linux/vhost.h with the kernel sources
        perf stat: Enable ignore_missing_thread
        perf inject: Adjust output data offset for backward compatibility
        perf trace beauty: Fix generation of errno id->str table on ALT Linux
        perf build-id: Fix caching files with a wrong build ID
        tools headers cpufeatures: Sync with the kernel sources
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        perf inject: Fix missing free in copy_kcore_dir()
      893d1eaa
    • Linus Torvalds's avatar
      Merge tag 'for-5.19-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 82708bb1
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - zoned relocation fixes:
            - fix critical section end for extent writeback, this could lead
              to out of order write
            - prevent writing to previous data relocation block group if space
              gets low
      
       - reflink fixes:
            - fix race between reflinking and ordered extent completion
            - proper error handling when block reserve migration fails
            - add missing inode iversion/mtime/ctime updates on each iteration
              when replacing extents
      
       - fix deadlock when running fsync/fiemap/commit at the same time
      
       - fix false-positive KCSAN report regarding pid tracking for read locks
         and data race
      
       - minor documentation update and link to new site
      
      * tag 'for-5.19-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Documentation: update btrfs list of features and link to readthedocs.io
        btrfs: fix deadlock with fsync+fiemap+transaction commit
        btrfs: don't set lock_owner when locking extent buffer for reading
        btrfs: zoned: fix critical section of relocation inode writeback
        btrfs: zoned: prevent allocation from previous data relocation BG
        btrfs: do not BUG_ON() on failure to migrate space when replacing extents
        btrfs: add missing inode updates on each iteration when replacing extents
        btrfs: fix race between reflinking and ordered extent completion
      82708bb1
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.19-2022-06-26' of git://git.infradead.org/users/hch/dma-mapping · c898c67d
      Linus Torvalds authored
      Pull dma-mapping fix from Christoph Hellwig:
      
       - pass the correct size to dma_set_encrypted() when freeing memory
         (Dexuan Cui)
      
      * tag 'dma-mapping-5.19-2022-06-26' of git://git.infradead.org/users/hch/dma-mapping:
        dma-direct: use the correct size for dma_set_encrypted()
      c898c67d
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/fbdev-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · be129fab
      Linus Torvalds authored
      Pull fbdev fixes from Helge Deller:
       "Two bug fixes for the pxa3xx and intelfb drivers:
      
         - pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
      
         - intelfb: Initialize value of stolen size
      
        The other changes are small cleanups, simplifications and
        documentation updates to the cirrusfb, skeletonfb, omapfb,
        intelfb, au1100fb and simplefb drivers"
      
      * tag 'for-5.19/fbdev-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        video: fbdev: omap: Remove duplicate 'the' in comment
        video: fbdev: omapfb: Align '*' in comment
        video: fbdev: simplefb: Check before clk_put() not needed
        video: fbdev: au1100fb: Drop unnecessary NULL ptr check
        video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
        video: fbdev: skeletonfb: Convert to generic power management
        video: fbdev: cirrusfb: Remove useless reference to PCI power management
        video: fbdev: intelfb: Initialize value of stolen size
        video: fbdev: intelfb: Use aperture size from pci_resource_len
        video: fbdev: skeletonfb: Fix syntax errors in comments
      be129fab
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · c0c6a7bd
      Linus Torvalds authored
      Pull parisc architecture fixes from Helge Deller:
      
       - enable ARCH_HAS_STRICT_MODULE_RWX to prevent a boot crash on c8000
         machines
      
       - flush all mappings of a shared anonymous page on PA8800/8900 machines
         via flushing the whole data cache. This may slow down such machines
         but makes sure that the cache is consistent
      
       - Fix duplicate definition build error regarding fb_is_primary_device()
      
      * tag 'for-5.19/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Enable ARCH_HAS_STRICT_MODULE_RWX
        parisc: Fix flush_anon_page on PA8800/PA8900
        parisc: align '*' in comment in math-emu code
        parisc/stifb: Fix fb_is_primary_device() only available with CONFIG_FB_STI
      c0c6a7bd
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20220626' of https://github.com/jcmvbkbc/linux-xtensa · e963d685
      Linus Torvalds authored
      Pull xtensa fixes from Max Filippov:
      
       - fix OF reference leaks in xtensa arch code
      
       - replace '.bss' with '.section .bss' to fix entry.S build with old
         assembler
      
      * tag 'xtensa-20220626' of https://github.com/jcmvbkbc/linux-xtensa:
        xtensa: change '.bss' to '.section .bss'
        xtensa: xtfpga: Fix refcount leak bug in setup
        xtensa: Fix refcount leak bug in time.c
      e963d685
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 8100775d
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - A fix for a CMA change that broke booting guests with > 2G RAM on
         Power8 hosts.
      
       - Fix the RTAS call filter to allow a special case that applications
         rely on.
      
       - A change to our execve path, to make the execve syscall exit
         tracepoint work.
      
       - Three fixes to wire up our various RNGs earlier in boot so they're
         available for use in the initial seeding in random_init().
      
       - A build fix for when KASAN is enabled along with
         STRUCTLEAK_BYREF_ALL.
      
      Thanks to Andrew Donnellan, Aneesh Kumar K.V, Christophe Leroy, Jason
      Donenfeld, Nathan Lynch, Naveen N. Rao, Sathvika Vasireddy, Sumit
      Dubey2, Tyrel Datwyler, and Zi Yan.
      
      * tag 'powerpc-5.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/powernv: wire up rng during setup_arch
        powerpc/prom_init: Fix build failure with GCC_PLUGIN_STRUCTLEAK_BYREF_ALL and KASAN
        powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address
        powerpc: Enable execve syscall exit tracepoint
        powerpc/pseries: wire up rng during setup_arch()
        powerpc/microwatt: wire up rng during setup_arch()
        powerpc/mm: Move CMA reservations after initmem_init()
      8100775d
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.19-2' of... · 393ed5d8
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix modpost to detect EXPORT_SYMBOL marked as __init or__exit
      
       - Update the supported arch list in the LLVM document
      
       - Avoid the second link of vmlinux for CONFIG_TRIM_UNUSED_KSYMS
      
       - Avoid false __KSYM___this_module define in include/generated/autoksyms.h
      
      * tag 'kbuild-fixes-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: Ignore __this_module in gen_autoksyms.sh
        kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
        Documentation/llvm: Update Supported Arch table
        modpost: fix section mismatch check for exported init/exit sections
      393ed5d8
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 97d4d026
      Linus Torvalds authored
      Pull exfat fix from Namjae Jeon:
      
       - Use updated exfat_chain directly instead of snapshot values in
         rename.
      
      * tag 'exfat-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: use updated exfat_chain directly during renaming
      97d4d026
    • Linus Torvalds's avatar
      Merge tag '5.19-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 918c30df
      Linus Torvalds authored
      Pull cifs client fixes from Steve French:
       "Fixes addressing important multichannel, and reconnect issues.
      
        Multichannel mounts when the server network interfaces changed, or ip
        addresses changed, uncovered problems, especially in reconnect, but
        the patches for this were held up until recently due to some lock
        conflicts that are now addressed.
      
        Included in this set of fixes:
      
         - three fixes relating to multichannel reconnect, dynamically
           adjusting the list of server interfaces to avoid problems during
           reconnect
      
         - a lock conflict fix related to the above
      
         - two important fixes for negotiate on secondary channels (null
           netname can unintentionally cause multichannel to be disabled to
           some servers)
      
         - a reconnect fix (reporting incorrect IP address in some cases)"
      
      * tag '5.19-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update cifs_ses::ip_addr after failover
        cifs: avoid deadlocks while updating iface
        cifs: periodically query network interfaces from server
        cifs: during reconnect, update interface if necessary
        cifs: change iface_list from array to sorted linked list
        smb3: use netname when available on secondary channels
        smb3: fix empty netname context on secondary channels
      918c30df
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Synch KVM's svm.h header with the kernel · f8d86619
      Arnaldo Carvalho de Melo authored
      To pick up the changes from:
      
        d5af44dd ("x86/sev: Provide support for SNP guest request NAEs")
        0afb6b66 ("x86/sev: Use SEV-SNP AP creation to start secondary CPUs")
        dc3f3d24 ("x86/mm: Validate memory when changing the C-bit")
        cbd3d4f7 ("x86/sev: Check SEV-SNP features support")
      
      That gets these new SVM exit reasons:
      
      +       { SVM_VMGEXIT_PSC,              "vmgexit_page_state_change" }, \
      +       { SVM_VMGEXIT_GUEST_REQUEST,    "vmgexit_guest_request" }, \
      +       { SVM_VMGEXIT_EXT_GUEST_REQUEST, "vmgexit_ext_guest_request" }, \
      +       { SVM_VMGEXIT_AP_CREATION,      "vmgexit_ap_creation" }, \
      +       { SVM_VMGEXIT_HV_FEATURES,      "vmgexit_hypervisor_feature" }, \
      
      Addressing this perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/svm.h' differs from latest version at 'arch/x86/include/uapi/asm/svm.h'
        diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h
      
      This causes these changes:
      
        CC      /tmp/build/perf-urgent/arch/x86/util/kvm-stat.o
        LD      /tmp/build/perf-urgent/arch/x86/util/perf-in.o
        LD      /tmp/build/perf-urgent/arch/x86/perf-in.o
        LD      /tmp/build/perf-urgent/arch/perf-in.o
        LD      /tmp/build/perf-urgent/perf-in.o
        LINK    /tmp/build/perf-urgent/perf
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Brijesh Singh <brijesh.singh@amd.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f8d86619
    • Arnaldo Carvalho de Melo's avatar
      tools include UAPI: Sync linux/vhost.h with the kernel sources · e2213a2d
      Arnaldo Carvalho de Melo authored
      To get the changes in:
      
        84d7c8fd ("vhost-vdpa: introduce uAPI to set group ASID")
        2d1fcb77 ("vhost-vdpa: uAPI to get virtqueue group id")
        a0c95f20 ("vhost-vdpa: introduce uAPI to get the number of address spaces")
        3ace88bd ("vhost-vdpa: introduce uAPI to get the number of virtqueue groups")
        175d493c ("vhost: move the backend feature bits to vhost_types.h")
      
      Silencing this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/vhost.h' differs from latest version at 'include/uapi/linux/vhost.h'
        diff -u tools/include/uapi/linux/vhost.h include/uapi/linux/vhost.h
      
      To pick up these changes and support them:
      
        $ tools/perf/trace/beauty/vhost_virtio_ioctl.sh > before
        $ cp include/uapi/linux/vhost.h tools/include/uapi/linux/vhost.h
        $ tools/perf/trace/beauty/vhost_virtio_ioctl.sh > after
        $ diff -u before after
        --- before	2022-06-26 12:04:35.982003781 -0300
        +++ after	2022-06-26 12:04:43.819972476 -0300
        @@ -28,6 +28,7 @@
         	[0x74] = "VDPA_SET_CONFIG",
         	[0x75] = "VDPA_SET_VRING_ENABLE",
         	[0x77] = "VDPA_SET_CONFIG_CALL",
        +	[0x7C] = "VDPA_SET_GROUP_ASID",
         };
         static const char *vhost_virtio_ioctl_read_cmds[] = {
         	[0x00] = "GET_FEATURES",
        @@ -39,5 +40,8 @@
         	[0x76] = "VDPA_GET_VRING_NUM",
         	[0x78] = "VDPA_GET_IOVA_RANGE",
         	[0x79] = "VDPA_GET_CONFIG_SIZE",
        +	[0x7A] = "VDPA_GET_AS_NUM",
        +	[0x7B] = "VDPA_GET_VRING_GROUP",
         	[0x80] = "VDPA_GET_VQS_COUNT",
        +	[0x81] = "VDPA_GET_GROUP_NUM",
         };
        $
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Gautam Dawar <gautam.dawar@xilinx.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/lkml/Yrh3xMYbfeAD0MFL@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e2213a2d
    • Gang Li's avatar
      perf stat: Enable ignore_missing_thread · 448ce0e6
      Gang Li authored
      perf already support ignore_missing_thread for -p, but not yet
      applied to `perf stat -p <pid>`. This patch enables ignore_missing_thread
      for `perf stat -p <pid>`.
      
      Committer notes:
      
      And here is a refresher about the 'ignore_missing_thread' knob, from a
      previous patch using it:
      
        ca800068 ("perf evsel: Enable ignore_missing_thread for pid option")
      
        ---
          While monitoring a multithread process with pid option, perf sometimes
          may return sys_perf_event_open failure with 3(No such process) if any of
          the process's threads die before we open the event. However, we want
          perf continue monitoring the remaining threads and do not exit with
          error.
        ---
      Signed-off-by: default avatarGang Li <ligang.bdlg@bytedance.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220622030037.15005-1-ligang.bdlg@bytedance.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      448ce0e6
    • Raul Silvera's avatar
      perf inject: Adjust output data offset for backward compatibility · 37ed2cdd
      Raul Silvera authored
      When 'perf inject' creates a new file, it reuses the data offset from
      the input file. If there has been a change on the size of the header, as
      happened in v5.12 -> v5.13, the new offsets will be wrong, resulting in
      a corrupted output file.
      
      This change adds the function perf_session__data_offset to compute the
      data offset based on the current header size, and uses that instead of
      the offset from the original input file.
      Signed-off-by: default avatarRaul Silvera <rsilvera@google.com>
      Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Colin Ian King <colin.king@intel.com>
      Cc: Dave Marchevsky <davemarchevsky@fb.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220621152725.2668041-1-rsilvera@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      37ed2cdd
    • Arnaldo Carvalho de Melo's avatar
      perf trace beauty: Fix generation of errno id->str table on ALT Linux · 3713e249
      Arnaldo Carvalho de Melo authored
      For some reason using:
      
               cat <<EoFuncBegin
        static const char *errno_to_name__$arch(int err)
        {
               switch (err) {
        EoFuncBegin
      
      In tools/perf/trace/beauty/arch_errno_names.sh isn't working on ALT
      Linux sisyphus (development version), which could be some distro
      specific glitch, so just get this done in an alternative way that works
      everywhere while giving notice to the people working on that distro to
      try and figure our what really took place.
      
      Cc: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3713e249
    • Adrian Hunter's avatar
      perf build-id: Fix caching files with a wrong build ID · ab66fdac
      Adrian Hunter authored
      Build ID events associate a file name with a build ID.  However, when
      using perf inject, there is no guarantee that the file on the current
      machine at the current time has that build ID. Fix by comparing the
      build IDs and skip adding to the cache if they are different.
      
      Example:
      
        $ echo "int main() {return 0;}" > prog.c
        $ gcc -o prog prog.c
        $ perf record --buildid-all ./prog
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.019 MB perf.data ]
        $ file-buildid() { file $1 | awk -F= '{print $2}' | awk -F, '{print $1}' ; }
        $ file-buildid prog
        444ad9be165d8058a48ce2ffb4e9f55854a3293e
        $ file-buildid ~/.debug/$(pwd)/prog/444ad9be165d8058a48ce2ffb4e9f55854a3293e/elf
        444ad9be165d8058a48ce2ffb4e9f55854a3293e
        $ echo "int main() {return 1;}" > prog.c
        $ gcc -o prog prog.c
        $ file-buildid prog
        885524d5aaa24008a3e2b06caa3ea95d013c0fc5
      
      Before:
      
        $ perf buildid-cache --purge $(pwd)/prog
        $ perf inject -i perf.data -o junk
        $ file-buildid ~/.debug/$(pwd)/prog/444ad9be165d8058a48ce2ffb4e9f55854a3293e/elf
        885524d5aaa24008a3e2b06caa3ea95d013c0fc5
        $
      
      After:
      
        $ perf buildid-cache --purge $(pwd)/prog
        $ perf inject -i perf.data -o junk
        $ file-buildid ~/.debug/$(pwd)/prog/444ad9be165d8058a48ce2ffb4e9f55854a3293e/elf
      
        $
      
      Fixes: 454c407e ("perf: add perf-inject builtin")
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Link: https://lore.kernel.org/r/20220621125144.5623-1-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ab66fdac
    • Arnaldo Carvalho de Melo's avatar
      tools headers cpufeatures: Sync with the kernel sources · 4b3f7644
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        d6d0c7f6 ("x86/cpufeatures: Add PerfMonV2 feature bit")
        296d5a17 ("KVM: SEV-ES: Use V_TSC_AUX if available instead of RDTSC/MSR_TSC_AUX intercepts")
        f3090339 ("x86/cpufeatures: Add virtual TSC_AUX feature bit")
        8ad7e8f6 ("x86/fpu/xsave: Support XSAVEC in the kernel")
        59bd54a8 ("x86/tdx: Detect running as a TDX guest in early boot")
        a77d41ac ("x86/cpufeatures: Add AMD Fam19h Branch Sampling feature")
      
      This only causes these perf files to be rebuilt:
      
        CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
        CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
      
      And addresses this perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
        diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h
        Warning: Kernel ABI header at 'tools/arch/x86/include/asm/disabled-features.h' differs from latest version at 'arch/x86/include/asm/disabled-features.h'
        diff -u tools/arch/x86/include/asm/disabled-features.h arch/x86/include/asm/disabled-features.h
      
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sandipan Das <sandipan.das@amd.com>
      Cc: Babu Moger <babu.moger@amd.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/lkml/YrDkgmwhLv+nKeOo@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4b3f7644
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync drm/i915_drm.h with the kernel sources · 0fdd435c
      Arnaldo Carvalho de Melo authored
      To pick up the changes in:
      
        ecf8eca5 ("drm/i915/xehp: Add compute engine ABI")
        991b4de3 ("drm/i915/uapi: Add kerneldoc for engine class enum")
        c94fde8f ("drm/i915/uapi: Add DRM_I915_QUERY_GEOMETRY_SUBSLICES")
        1c671ad7 ("drm/i915/doc: Link query items to their uapi structs")
        a2e54026 ("drm/i915/doc: Convert perf UAPI comments to kerneldoc")
        462ac1cd ("drm/i915/doc: Convert drm_i915_query_topology_info comment to kerneldoc")
        034d47b2 ("drm/i915/uapi: Document DRM_I915_QUERY_HWCONFIG_BLOB")
        78e1fb31 ("drm/i915/uapi: Add query for hwconfig blob")
      
      That don't add any new ioctl, so no changes in tooling.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs from latest version at 'include/uapi/drm/i915_drm.h'
        diff -u tools/include/uapi/drm/i915_drm.h include/uapi/drm/i915_drm.h
      
      Cc: John Harrison <John.C.Harrison@intel.com>
      Cc: Matt Atwood <matthew.s.atwood@intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: http://lore.kernel.org/lkml/YrDi4ALYjv9Mdocq@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0fdd435c
    • Adrian Hunter's avatar
      perf inject: Fix missing free in copy_kcore_dir() · 342cb0d8
      Adrian Hunter authored
      Free string allocated by asprintf().
      
      Fixes: d8fc0855 ("perf inject: Keep a copy of kcore_dir")
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Link: https://lore.kernel.org/r/20220620103904.7960-1-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      342cb0d8
    • Helge Deller's avatar
      parisc: Enable ARCH_HAS_STRICT_MODULE_RWX · 0a1355db
      Helge Deller authored
      Fix a boot crash on a c8000 machine as reported by Dave.  Basically it changes
      patch_map() to return an alias mapping to the to-be-patched code in order to
      prevent writing to write-protected memory.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Suggested-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Cc: stable@vger.kernel.org   # v5.2+
      Link: https://lore.kernel.org/all/e8ec39e8-25f8-e6b4-b7ed-4cb23efc756e@bell.net/
      0a1355db
    • John David Anglin's avatar
      parisc: Fix flush_anon_page on PA8800/PA8900 · e9ed22e6
      John David Anglin authored
      Anonymous pages are allocated with the shared mappings colouring,
      SHM_COLOUR. Since the alias boundary on machines with PA8800 and
      PA8900 processors is unknown, flush_user_cache_page() might not
      flush all mappings of a shared anonymous page. Flushing the whole
      data cache flushes all mappings.
      
      This won't fix all coherency issues with shared mappings but it
      seems to work well in practice.  I haven't seen any random memory
      faults in almost a month on a rp3440 running as a debian buildd
      machine.
      
      There is a small preformance hit.
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org   # v5.18+
      e9ed22e6
  5. 25 Jun, 2022 2 commits