1. 21 Aug, 2022 1 commit
  2. 20 Aug, 2022 15 commits
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.0' of... · 15b3f48a
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix module versioning broken on some architectures
      
       - Make dummy-tools enable CONFIG_PPC_LONG_DOUBLE_128
      
       - Remove -Wformat-zero-length, which has no warning instance
      
       - Fix the order between drivers and libs in modules.order
      
       - Fix false-positive warnings in clang-analyzer
      
      * tag 'kbuild-fixes-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        scripts/clang-tools: Remove DeprecatedOrUnsafeBufferHandling check
        kbuild: fix the modules order between drivers and libs
        scripts/Makefile.extrawarn: Do not disable clang's -Wformat-zero-length
        kbuild: dummy-tools: pretend we understand __LONG_DOUBLE_128__
        modpost: fix module versioning when a symbol lacks valid CRC
      15b3f48a
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-19' of... · 16b3d851
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-19' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fix alignment for cpu map masks in event encoding.
      
       - Support reading PERF_FORMAT_LOST, perf tool counterpart for a feature
         that was added in this merge window.
      
       - Sync perf tools copies of kernel headers: socket, msr-index, fscrypt,
         cpufeatures, i915_drm, kvm, vhost, perf_event.
      
      * tag 'perf-tools-fixes-for-v6.0-2022-08-19' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf tools: Support reading PERF_FORMAT_LOST
        libperf: Add a test case for read formats
        libperf: Handle read format in perf_evsel__read()
        tools headers UAPI: Sync linux/perf_event.h with the kernel sources
        tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources
        tools headers UAPI: Sync KVM's vmx.h header with the kernel sources
        tools include UAPI: Sync linux/vhost.h with the kernel sources
        tools headers kvm s390: Sync headers with the kernel sources
        tools headers UAPI: Sync linux/kvm.h with the kernel sources
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        tools headers cpufeatures: Sync with the kernel sources
        tools headers UAPI: Sync linux/fscrypt.h with the kernel sources
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        perf beauty: Update copy of linux/socket.h with the kernel sources
        perf cpumap: Fix alignment for masks in event encoding
        perf cpumap: Compute mask size in constant time
        perf cpumap: Synthetic events and const/static
        perf cpumap: Const map for max()
      16b3d851
    • Linus Torvalds's avatar
      Merge tag 's390-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · cc1807b9
      Linus Torvalds authored
      Pull s390 updates from Alexander Gordeev:
      
       - Fix a KVM crash on z12 and older machines caused by a wrong
         assumption that Query AP Configuration Information is always
         available.
      
       - Lower severity of excessive Hypervisor filesystem error messages
         when booting under KVM.
      
      * tag 's390-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/ap: fix crash on older machines based on QCI info missing
        s390/hypfs: avoid error message under KVM
      cc1807b9
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 32dd68f1
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix atomic sleep warnings at boot due to get_phb_number() taking a
         mutex with a spinlock held on some machines.
      
       - Add missing PMU selftests to .gitignores.
      
      Thanks to Guenter Roeck and Russell Currey.
      
      * tag 'powerpc-6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        selftests/powerpc: Add missing PMU selftests to .gitignores
        powerpc/pci: Fix get_phb_number() locking
      32dd68f1
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · f31c32ef
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "A few minor fixes:
      
         - Fix buffer management in SRP to correct a regression with the login
           authentication feature from v5.17
      
         - Don't iterate over non-present ports in mlx5
      
         - Fix an error introduced by the foritify work in cxgb4
      
         - Two bug fixes for the recently merged ERDMA driver
      
         - Unbreak RDMA dmabuf support, a regresion from v5.19"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA: Handle the return code from dma_resv_wait_timeout() properly
        RDMA/erdma: Correct the max_qp and max_cq capacities of the device
        RDMA/erdma: Using the key in FMR WR instead of MR structure
        RDMA/cxgb4: fix accept failure due to increased cpl_t5_pass_accept_rpl size
        RDMA/mlx5: Use the proper number of ports
        IB/iser: Fix login with authentication
      f31c32ef
    • Guru Das Srinagesh's avatar
      scripts/clang-tools: Remove DeprecatedOrUnsafeBufferHandling check · 4be72c1b
      Guru Das Srinagesh authored
      This `clang-analyzer` check flags the use of memset(), suggesting a more
      secure version of the API, such as memset_s(), which does not exist in
      the kernel:
      
        warning: Call to function 'memset' is insecure as it does not provide
        security checks introduced in the C11 standard. Replace with analogous
        functions that support length arguments or provides boundary checks such
        as 'memset_s' in case of C11
        [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
      Signed-off-by: default avatarGuru Das Srinagesh <quic_gurus@quicinc.com>
      Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      4be72c1b
    • Masahiro Yamada's avatar
      kbuild: fix the modules order between drivers and libs · 11314751
      Masahiro Yamada authored
      Commit b2c88554 ("kbuild: update modules.order only when contained
      modules are updated") accidentally changed the modules order.
      
      Prior to that commit, the modules order was determined based on
      vmlinux-dirs, which lists core-y/m, drivers-y/m, libs-y/m, in this order.
      
      Now, subdir-modorder lists them in a different order: core-y/m, libs-y/m,
      drivers-y/m.
      
      Presumably, there was no practical issue because the modules in drivers
      and libs are orthogonal, but there is no reason to have this distortion.
      
      Get back to the original order.
      
      Fixes: b2c88554 ("kbuild: update modules.order only when contained modules are updated")
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      11314751
    • Nathan Chancellor's avatar
      scripts/Makefile.extrawarn: Do not disable clang's -Wformat-zero-length · 370655bc
      Nathan Chancellor authored
      There are no instances of this warning in the tree across several
      difference architectures and configurations. This was added by
      commit 26ea6bb1 ("kbuild, LLVMLinux: Supress warnings unless W=1-3")
      back in 2014, where it might have been necessary, but there are no
      instances of it now so stop disabling it to increase warning coverage
      for clang.
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      370655bc
    • Jiri Slaby's avatar
      kbuild: dummy-tools: pretend we understand __LONG_DOUBLE_128__ · 0df499ea
      Jiri Slaby authored
      There is a test in powerpc's Kconfig which checks __LONG_DOUBLE_128__
      and sets CONFIG_PPC_LONG_DOUBLE_128 if it is understood by the compiler.
      
      We currently don't handle it, so this results in PPC_LONG_DOUBLE_128 not
      being in super-config generated by dummy-tools. So take this into
      account in the gcc script and preprocess __LONG_DOUBLE_128__ as "1".
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      0df499ea
    • Masahiro Yamada's avatar
      modpost: fix module versioning when a symbol lacks valid CRC · 5b8a9a8f
      Masahiro Yamada authored
      Since commit 7b453719 ("kbuild: link symbol CRCs at final link,
      removing CONFIG_MODULE_REL_CRCS"), module versioning is broken on
      some architectures. Loading a module fails with "disagrees about
      version of symbol module_layout".
      
      On such architectures (e.g. ARCH=sparc build with sparc64_defconfig),
      modpost shows a warning, like follows:
      
        WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned.
        Is "_mcount" prototyped in <asm/asm-prototypes.h>?
      
      Previously, it was a harmless warning (CRC check was just skipped),
      but now wrong CRCs are used for comparison because invalid CRCs are
      just skipped.
      
        $ sparc64-linux-gnu-nm -n vmlinux
          [snip]
        0000000000c2cea0 r __ksymtab__kstrtol
        0000000000c2ceb8 r __ksymtab__kstrtoul
        0000000000c2ced0 r __ksymtab__local_bh_enable
        0000000000c2cee8 r __ksymtab__mcount
        0000000000c2cf00 r __ksymtab__printk
        0000000000c2cf18 r __ksymtab__raw_read_lock
        0000000000c2cf30 r __ksymtab__raw_read_lock_bh
          [snip]
        0000000000c53b34 D __crc__kstrtol
        0000000000c53b38 D __crc__kstrtoul
        0000000000c53b3c D __crc__local_bh_enable
        0000000000c53b40 D __crc__printk
        0000000000c53b44 D __crc__raw_read_lock
        0000000000c53b48 D __crc__raw_read_lock_bh
      
      Please notice __crc__mcount is missing here.
      
      When the module subsystem looks up a CRC that comes after, it results
      in reading out a wrong address. For example, when __crc__printk is
      needed, the module subsystem reads 0xc53b44 instead of 0xc53b40.
      
      All CRC entries must be output for correct index accessing. Invalid
      CRCs will be unused, but are needed to keep the one-to-one mapping
      between __ksymtab_* and __crc_*.
      
      The best is to fix all modpost warnings, but several warnings are still
      remaining on less popular architectures.
      
      Fixes: 7b453719 ("kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS")
      Reported-by: default avatarmatoro <matoro_mailinglist_kernel@matoro.tk>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarmatoro <matoro_mailinglist_kernel@matoro.tk>
      5b8a9a8f
    • Linus Torvalds's avatar
      Merge tag 'block-6.0-2022-08-19' of git://git.kernel.dk/linux-block · b9bce6e5
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A few fixes that should go into this release:
      
         - Small series of patches for ublk (ZiyangZhang)
      
         - Remove dead function (Yu)
      
         - Fix for running a block queue in case of resource starvation
           (Yufen)"
      
      * tag 'block-6.0-2022-08-19' of git://git.kernel.dk/linux-block:
        blk-mq: run queue no matter whether the request is the last request
        blk-mq: remove unused function blk_mq_queue_stopped()
        ublk_drv: do not add a re-issued request aborted previously to ioucmd's task_work
        ublk_drv: update comment for __ublk_fail_req()
        ublk_drv: check ubq_daemon_is_dying() in __ublk_rq_task_work()
        ublk_drv: update iod->addr for UBLK_IO_NEED_GET_DATA
      b9bce6e5
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.0-2022-08-19' of git://git.kernel.dk/linux-block · beaf1397
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A few fixes for regressions in this cycle:
      
         - Two instances of using the wrong "has async data" helper (Pavel)
      
         - Fixup zero-copy address import (Pavel)
      
         - Bump zero-copy notification slot limit (Pavel)"
      
      * tag 'io_uring-6.0-2022-08-19' of git://git.kernel.dk/linux-block:
        io_uring/net: use right helpers for async_data
        io_uring/notif: raise limit on notification slots
        io_uring/net: improve zc addr import error handling
        io_uring/net: use right helpers for async recycle
      beaf1397
    • Linus Torvalds's avatar
      Merge tag 'ata-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 044610f8
      Linus Torvalds authored
      Pull ATA fixes from Damien Le Moal:
      
       - Add a missing command name definition for ata_get_cmd_name(), from
         me.
      
       - A fix to address a performance regression due to the default
         max_sectors queue limit for ATA devices connected to AHCI adapters
         being too small, from John.
      
      * tag 'ata-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: libata: Set __ATA_BASE_SHT max_sectors
        ata: libata-eh: Add missing command name
      044610f8
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 4d099c33
      Linus Torvalds authored
      Pull MMC host fixes from Ulf Hansson:
      
       - meson-gx: Fix error handling in ->probe()
      
       - mtk-sd: Fix a command problem when using cqe off/disable
      
       - pxamci: Fix error handling in ->probe()
      
       - sdhci-of-dwcmshc: Fix broken support for the BlueField-3 variant
      
      * tag 'mmc-v6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-of-dwcmshc: Re-enable support for the BlueField-3 SoC
        mmc: meson-gx: Fix an error handling path in meson_mmc_probe()
        mmc: mtk-sd: Clear interrupts when cqe off/disable
        mmc: pxamci: Fix another error handling path in pxamci_probe()
        mmc: pxamci: Fix an error handling path in pxamci_probe()
      4d099c33
    • John Garry's avatar
      ata: libata: Set __ATA_BASE_SHT max_sectors · a357f7b4
      John Garry authored
      Commit 0568e612 ("ata: libata-scsi: cap ata_device->max_sectors
      according to shost->max_sectors") inadvertently capped the max_sectors
      value for some SATA disks to a value which is lower than we would want.
      
      For a device which supports LBA48, we would previously have request queue
      max_sectors_kb and max_hw_sectors_kb values of 1280 and 32767 respectively.
      
      For AHCI controllers, the value chosen for shost max sectors comes from
      the minimum of the SCSI host default max sectors in
      SCSI_DEFAULT_MAX_SECTORS (1024) and the shost DMA device mapping limit.
      
      This means that we would now set the max_sectors_kb and max_hw_sectors_kb
      values for a disk which supports LBA48 at 512, ignoring DMA mapping limit.
      
      As report by Oliver at [0], this caused a performance regression.
      
      Fix by picking a large enough max sectors value for ATA host controllers
      such that we don't needlessly reduce max_sectors_kb for LBA48 disks.
      
      [0] https://lore.kernel.org/linux-ide/YvsGbidf3na5FpGb@xsang-OptiPlex-9020/T/#m22d9fc5ad15af66066dd9fecf3d50f1b1ef11da3
      
      Fixes: 0568e612 ("ata: libata-scsi: cap ata_device->max_sectors according to shost->max_sectors")
      Reported-by: default avatarOliver Sang <oliver.sang@intel.com>
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      a357f7b4
  3. 19 Aug, 2022 24 commits
    • Linus Torvalds's avatar
      Merge tag 'execve-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 50cd95ac
      Linus Torvalds authored
      Pull execve fix from Kees Cook:
      
       - Replace remaining kmap() uses with kmap_local_page() (Fabio M. De
         Francesco)
      
      * tag 'execve-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        exec: Replace kmap{,_atomic}() with kmap_local_page()
      50cd95ac
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · e45c8901
      Linus Torvalds authored
      Pull hardening fixes from Kees Cook:
      
       - Also undef LATENT_ENTROPY_PLUGIN for per-file disabling (Andrew
         Donnellan)
      
       - Return EFAULT on copy_from_user() failures in LoadPin (Kees Cook)
      
      * tag 'hardening-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file
        LoadPin: Return EFAULT on copy_from_user() failures
      e45c8901
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 8fd00059
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - A fix to make the ISA extension static keys writable after init. This
         manifests at least as a crash when loading modules (including KVM).
      
       - A fixup for a build warning related to a poorly formed comment in our
         perf driver.
      
      * tag 'riscv-for-linus-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        perf: riscv legacy: fix kerneldoc comment warning
        riscv: Ensure isa-ext static keys are writable
      8fd00059
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · ca052cfd
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "ARM:
      
         - Fix unexpected sign extension of KVM_ARM_DEVICE_ID_MASK
      
         - Tidy-up handling of AArch32 on asymmetric systems
      
        x86:
      
         - Fix 'missing ENDBR' BUG for fastop functions
      
        Generic:
      
         - Some cleanup and static analyzer patches
      
         - More fixes to KVM_CREATE_VM unwind paths"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: Drop unnecessary initialization of "ops" in kvm_ioctl_create_device()
        KVM: Drop unnecessary initialization of "npages" in hva_to_pfn_slow()
        x86/kvm: Fix "missing ENDBR" BUG for fastop functions
        x86/kvm: Simplify FOP_SETCC()
        x86/ibt, objtool: Add IBT_NOSEAL()
        KVM: Rename mmu_notifier_* to mmu_invalidate_*
        KVM: Rename KVM_PRIVATE_MEM_SLOTS to KVM_INTERNAL_MEM_SLOTS
        KVM: MIPS: remove unnecessary definition of KVM_PRIVATE_MEM_SLOTS
        KVM: Move coalesced MMIO initialization (back) into kvm_create_vm()
        KVM: Unconditionally get a ref to /dev/kvm module when creating a VM
        KVM: Properly unwind VM creation if creating debugfs fails
        KVM: arm64: Reject 32bit user PSTATE on asymmetric systems
        KVM: arm64: Treat PMCR_EL1.LC as RES1 on asymmetric systems
        KVM: arm64: Fix compile error due to sign extension
      ca052cfd
    • Linus Torvalds's avatar
      Merge tag 'for-6.0-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 42c54d54
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few short fixes and a lockdep warning fix (needs moving some code):
      
         - tree-log replay fixes:
            - fix error handling when looking up extent refs
            - fix warning when setting inode number of links
      
         - relocation fixes:
            - reset block group read-only status when relocation fails
            - unset control structure if transaction fails when starting
              to process a block group
            - add lockdep annotations to fix a warning during relocation
              where blocks temporarily belong to another tree and can lead
              to reversed dependencies
      
         - tree-checker verifies that extent items don't overlap"
      
      * tag 'for-6.0-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: tree-checker: check for overlapping extent items
        btrfs: fix warning during log replay when bumping inode link count
        btrfs: fix lost error handling when looking up extended ref on log replay
        btrfs: fix lockdep splat with reloc root extent buffers
        btrfs: move lockdep class helpers to locking.c
        btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
        btrfs: reset RO counter on block group if we fail to relocate
      42c54d54
    • Linus Torvalds's avatar
      Merge tag '5.20-rc2-ksmbd-smb3-server-fixes' of git://git.samba.org/ksmbd · a3a78b63
      Linus Torvalds authored
      Pull ksmbd server fixes from Steve French:
      
       - important sparse file fix
      
       - allocation size fix
      
       - fix incorrect rc on bad share
      
       - share config fix
      
      * tag '5.20-rc2-ksmbd-smb3-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: don't remove dos attribute xattr on O_TRUNC open
        ksmbd: remove unnecessary generic_fillattr in smb2_open
        ksmbd: request update to stale share config
        ksmbd: return STATUS_BAD_NETWORK_NAME error status if share is not configured
      a3a78b63
    • Namhyung Kim's avatar
      perf tools: Support reading PERF_FORMAT_LOST · f52679b7
      Namhyung Kim authored
      The recent kernel added lost count can be read from either read(2) or
      ring buffer data with PERF_SAMPLE_READ.  As it's a variable length data
      we need to access it according to the format info.
      
      But for perf tools use cases, PERF_FORMAT_ID is always set.  So we can
      only check PERF_FORMAT_LOST bit to determine the data format.
      
      Add sample_read_value_size() and next_sample_read_value() helpers to
      make it a bit easier to access.  Use them in all places where it reads
      the struct sample_read_value.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220819003644.508916-5-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f52679b7
    • Namhyung Kim's avatar
      libperf: Add a test case for read formats · 6d395a51
      Namhyung Kim authored
      It checks a various combination of the read format settings and verify
      it return the value in a proper position.  The test uses task-clock
      software events to guarantee it's always active and sets enabled/running
      time.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220819003644.508916-4-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6d395a51
    • Namhyung Kim's avatar
      libperf: Handle read format in perf_evsel__read() · 89e3106f
      Namhyung Kim authored
      The perf_counts_values should be increased to read the new lost data.
      Also adjust values after read according the read format.
      
      This supports PERF_FORMAT_GROUP which has a different data format but
      it's only available for leader events.  Currently it doesn't have an API
      to read sibling (member) events in the group.  But users may read the
      sibling event directly.
      
      Also reading from mmap would be disabled when the read format has ID or
      LOST bit as it's not exposed via mmap.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220819003644.508916-3-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      89e3106f
    • Namhyung Kim's avatar
      tools headers UAPI: Sync linux/perf_event.h with the kernel sources · 65ba872a
      Namhyung Kim authored
      To pick the trivial change in:
      
        119a784c ("perf/core: Add a new read format to get a number of lost samples")
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220819003644.508916-2-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      65ba872a
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources · e5bc0dea
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        43bb9e00 ("KVM: x86: Tweak name of MONITOR/MWAIT #UD quirk to make it #UD specific")
        94dfc73e ("treewide: uapi: Replace zero-length arrays with flexible-array members")
        bfbcc81b ("KVM: x86: Add a quirk for KVM's "MONITOR/MWAIT are NOPs!" behavior")
        b1728622 ("KVM: x86: PIT: Preserve state of speaker port data bit")
        ed235117 ("KVM: x86: Extend KVM_{G,S}ET_VCPU_EVENTS to support pending triple fault")
      
      That just rebuilds kvm-stat.c on x86, no change in functionality.
      
      This silences these perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' differs from latest version at 'arch/x86/include/uapi/asm/kvm.h'
        diff -u tools/arch/x86/include/uapi/asm/kvm.h arch/x86/include/uapi/asm/kvm.h
      
      Cc: Chenyi Qiang <chenyi.qiang@intel.com>
      Cc: Sean Christopherson <seanjc@google.com>
      Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Paul Durrant <pdurrant@amazon.com>
      Link: https://lore.kernel.org/lkml/Yv6OMPKYqYSbUxwZ@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e5bc0dea
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync KVM's vmx.h header with the kernel sources · eea085d1
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        2f4073e0 ("KVM: VMX: Enable Notify VM exit")
      
      That makes 'perf kvm-stat' aware of this new NOTIFY exit reason, thus
      addressing the following perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/vmx.h' differs from latest version at 'arch/x86/include/uapi/asm/vmx.h'
        diff -u tools/arch/x86/include/uapi/asm/vmx.h arch/x86/include/uapi/asm/vmx.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Tao Xu <tao3.xu@intel.com>
      Link: http://lore.kernel.org/lkml/Yv6LavXMZ+njijpq@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      eea085d1
    • Arnaldo Carvalho de Melo's avatar
      tools include UAPI: Sync linux/vhost.h with the kernel sources · 898d2403
      Arnaldo Carvalho de Melo authored
      To get the changes in:
      
        f345a014 ("vhost-vdpa: uAPI to suspend the device")
      
      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-08-18 09:46:12.355958316 -0300
        +++ after	2022-08-18 09:46:19.701182822 -0300
        @@ -29,6 +29,7 @@
         	[0x75] = "VDPA_SET_VRING_ENABLE",
         	[0x77] = "VDPA_SET_CONFIG_CALL",
         	[0x7C] = "VDPA_SET_GROUP_ASID",
        +	[0x7D] = "VDPA_SUSPEND",
         };
         = {
         	[0x00] = "GET_FEATURES",
        $
      
      For instance, see how those 'cmd' ioctl arguments get translated, now
      VDPA_SUSPEND will be as well:
      
        # perf trace -a -e ioctl --max-events=10
             0.000 ( 0.011 ms): pipewire/2261 ioctl(fd: 60, cmd: SNDRV_PCM_HWSYNC, arg: 0x1)                        = 0
            21.353 ( 0.014 ms): pipewire/2261 ioctl(fd: 60, cmd: SNDRV_PCM_HWSYNC, arg: 0x1)                        = 0
            25.766 ( 0.014 ms): gnome-shell/2196 ioctl(fd: 14, cmd: DRM_I915_IRQ_WAIT, arg: 0x7ffe4a22c740)            = 0
            25.845 ( 0.034 ms): gnome-shel:cs0/2212 ioctl(fd: 14, cmd: DRM_I915_IRQ_EMIT, arg: 0x7fd43915dc70)            = 0
            25.916 ( 0.011 ms): gnome-shell/2196 ioctl(fd: 9, cmd: DRM_MODE_ADDFB2, arg: 0x7ffe4a22c8a0)               = 0
            25.941 ( 0.025 ms): gnome-shell/2196 ioctl(fd: 9, cmd: DRM_MODE_ATOMIC, arg: 0x7ffe4a22c840)               = 0
            32.915 ( 0.009 ms): gnome-shell/2196 ioctl(fd: 9, cmd: DRM_MODE_RMFB, arg: 0x7ffe4a22cf9c)                 = 0
            42.522 ( 0.013 ms): gnome-shell/2196 ioctl(fd: 14, cmd: DRM_I915_IRQ_WAIT, arg: 0x7ffe4a22c740)            = 0
            42.579 ( 0.031 ms): gnome-shel:cs0/2212 ioctl(fd: 14, cmd: DRM_I915_IRQ_EMIT, arg: 0x7fd43915dc70)            = 0
            42.644 ( 0.010 ms): gnome-shell/2196 ioctl(fd: 9, cmd: DRM_MODE_ADDFB2, arg: 0x7ffe4a22c8a0)               = 0
        #
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Eugenio Pérez <eperezma@redhat.com>
      Cc: Ian Rogers <irogers@google.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/Yv6Kb4OESuNJuH6X@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      898d2403
    • Arnaldo Carvalho de Melo's avatar
      tools headers kvm s390: Sync headers with the kernel sources · 25f30895
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        f5ecfee9 ("KVM: s390: resetting the Topology-Change-Report")
      
      None of them trigger any changes in tooling, this time this is just to silence
      these perf build warnings:
      
        Warning: Kernel ABI header at 'tools/arch/s390/include/uapi/asm/kvm.h' differs from latest version at 'arch/s390/include/uapi/asm/kvm.h'
        diff -u tools/arch/s390/include/uapi/asm/kvm.h arch/s390/include/uapi/asm/kvm.h
      
      Cc: Janosch Frank <frankja@linux.ibm.com>
      Cc: Pierre Morel <pmorel@linux.ibm.com>
      Link: http://lore.kernel.org/lkml/YvzwMXzaIzOU4WAY@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      25f30895
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync linux/kvm.h with the kernel sources · bf465ca8
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        8a061562 ("RISC-V: KVM: Add extensible CSR emulation framework")
        f5ecfee9 ("KVM: s390: resetting the Topology-Change-Report")
        450a5639 ("KVM: stats: Fix value for KVM_STATS_UNIT_MAX for boolean stats")
        1b870fa5 ("kvm: stats: tell userspace which values are boolean")
        db1c875e ("KVM: s390: add KVM_S390_ZPCI_OP to manage guest zPCI devices")
        94dfc73e ("treewide: uapi: Replace zero-length arrays with flexible-array members")
        084cc29f ("KVM: x86/MMU: Allow NX huge pages to be disabled on a per-vm basis")
        2f4073e0 ("KVM: VMX: Enable Notify VM exit")
        ed235117 ("KVM: x86: Extend KVM_{G,S}ET_VCPU_EVENTS to support pending triple fault")
        e9bf3acb ("KVM: s390: Add KVM_CAP_S390_PROTECTED_DUMP")
        8aba0958 ("KVM: s390: Add CPU dump functionality")
        0460eb35 ("KVM: s390: Add configuration dump functionality")
        fe9a93e0 ("KVM: s390: pv: Add query dump information")
        35d02493 ("KVM: s390: pv: Add query interface")
        c24a950e ("KVM, SEV: Add KVM_EXIT_SHUTDOWN metadata for SEV-ES")
        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 just rebuilds perf, as these patches add just an ioctl that is S390
      specific and may clash with other arches, so are so far being excluded
      in the harvester script:
      
        $ 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
        $ grep 390 tools/perf/trace/beauty/kvm_ioctl.sh
        	egrep -v " ((ARM|PPC|S390)_|[GS]ET_(DEBUGREGS|PIT2|XSAVE|TSC_KHZ)|CREATE_SPAPR_TCE_64)" | \
        $
      
      This is also by now used by tools/testing/selftests/kvm/, a simple test
      build succeeded.
      
      This silences this 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: Anup Patel <anup@brainfault.org>
      Cc: Ben Gardon <bgardon@google.com>
      Cc: Chenyi Qiang <chenyi.qiang@intel.com>
      Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
      Cc: David Woodhouse <dwmw@amazon.co.uk>
      Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
      Cc: Janosch Frank <frankja@linux.ibm.com>
      Cc: João Martins <joao.m.martins@oracle.com>
      Cc: Matthew Rosato <mjrosato@linux.ibm.com>
      Cc: Oliver Upton <oupton@google.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Peter Gonda <pgonda@google.com>
      Cc: Pierre Morel <pmorel@linux.ibm.com>
      Cc: Tao Xu <tao3.xu@intel.com>
      Link: https://lore.kernel.org/lkml/YvzuryClcn%2FvA0Gn@kernel.org/Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      bf465ca8
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync drm/i915_drm.h with the kernel sources · 54cd4cde
      Arnaldo Carvalho de Melo authored
      To pick up the changes in:
      
        a913bde8 ("drm/i915: Update i915 uapi documentation")
        525e93f6 ("drm/i915/uapi: add NEEDS_CPU_ACCESS hint")
        141f733b ("drm/i915/uapi: expose the avail tracking")
        3f4309cb ("drm/i915/uapi: add probed_cpu_visible_size")
        a50794f2 ("uapi/drm/i915: Document memory residency and Flat-CCS capability of obj")
      
      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: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
      Cc: Ramalingam C <ramalingam.c@intel.com>
      Link: http://lore.kernel.org/lkml/Yvzrp9RFIeEkb5fI@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      54cd4cde
    • Arnaldo Carvalho de Melo's avatar
      tools headers cpufeatures: Sync with the kernel sources · 62ed93d1
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        2b129932 ("x86/speculation: Add RSB VM Exit protections")
        28a99e95 ("x86/amd: Use IBPB for firmware calls")
        4ad3278d ("x86/speculation: Disable RRSBA behavior")
        26aae8cc ("x86/cpu/amd: Enumerate BTC_NO")
        9756bba2 ("x86/speculation: Fill RSB on vmexit for IBRS")
        3ebc1700 ("x86/bugs: Add retbleed=ibpb")
        2dbb887e ("x86/entry: Add kernel IBRS implementation")
        6b80b59b ("x86/bugs: Report AMD retbleed vulnerability")
        a149180f ("x86: Add magic AMD return-thunk")
        15e67227 ("x86: Undo return-thunk damage")
        a883d624 ("x86/cpufeatures: Move RETPOLINE flags to word 11")
        aae99a7c ("x86/cpufeatures: Introduce x2AVIC CPUID bit")
        6f33a9da ("x86: Fix comment for X86_FEATURE_ZEN")
        51802186 ("x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug")
      
      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
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexandre Chartre <alexandre.chartre@oracle.com>
      Cc: Andrew Cooper <andrew.cooper3@citrix.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Daniel Sneddon <daniel.sneddon@linux.intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Josh Poimboeuf <jpoimboe@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Cc: Wyes Karny <wyes.karny@amd.com>
      Link: https://lore.kernel.org/lkml/Yvznmu5oHv0ZDN2w@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      62ed93d1
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync linux/fscrypt.h with the kernel sources · fabe0c61
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        6b2a51ff ("fscrypt: Add HCTR2 support for filename encryption")
      
      That don't result in any changes in tooling, just causes this to be
      rebuilt:
      
        CC      /tmp/build/perf-urgent/trace/beauty/sync_file_range.o
        LD      /tmp/build/perf-urgent/trace/beauty/perf-in.o
      
      addressing this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/fscrypt.h' differs from latest version at 'include/uapi/linux/fscrypt.h'
        diff -u tools/include/uapi/linux/fscrypt.h include/uapi/linux/fscrypt.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Nathan Huckleberry <nhuck@google.com>
      Link: https://lore.kernel.org/lkml/Yvzl8C7O1b+hf9GS@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      fabe0c61
    • Arnaldo Carvalho de Melo's avatar
      tools arch x86: Sync the msr-index.h copy with the kernel sources · 7f7f86a7
      Arnaldo Carvalho de Melo authored
      To pick up the changes in:
      
        2b129932 ("x86/speculation: Add RSB VM Exit protections")
        4af184ee ("tools/power turbostat: dump secondary Turbo-Ratio-Limit")
        4ad3278d ("x86/speculation: Disable RRSBA behavior")
        d7caac99 ("x86/cpu/amd: Add Spectral Chicken")
        6ad0ad2b ("x86/bugs: Report Intel retbleed vulnerability")
        c59a1f10 ("KVM: x86/pmu: Add IA32_PEBS_ENABLE MSR emulation for extended PEBS")
        465932db ("x86/cpu: Add new VMX feature, Tertiary VM-Execution control")
        027bbb88 ("KVM: x86/speculation: Disable Fill buffer clear within guests")
        51802186 ("x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug")
      
      Addressing these tools/perf build warnings:
      
          diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h
          Warning: Kernel ABI header at 'tools/arch/x86/include/asm/msr-index.h' differs from latest version at 'arch/x86/include/asm/msr-index.h'
      
      That makes the beautification scripts to pick some new entries:
      
        $ tools/perf/trace/beauty/tracepoints/x86_msr.sh > before
        $ cp arch/x86/include/asm/msr-index.h tools/arch/x86/include/asm/msr-index.h
        $ tools/perf/trace/beauty/tracepoints/x86_msr.sh > after
        $ diff -u before after
        --- before	2022-08-17 09:05:13.938246475 -0300
        +++ after	2022-08-17 09:05:22.221455851 -0300
        @@ -161,6 +161,7 @@
         	[0x0000048f] = "IA32_VMX_TRUE_EXIT_CTLS",
         	[0x00000490] = "IA32_VMX_TRUE_ENTRY_CTLS",
         	[0x00000491] = "IA32_VMX_VMFUNC",
        +	[0x00000492] = "IA32_VMX_PROCBASED_CTLS3",
         	[0x000004c1] = "IA32_PMC0",
         	[0x000004d0] = "IA32_MCG_EXT_CTL",
         	[0x00000560] = "IA32_RTIT_OUTPUT_BASE",
        @@ -212,6 +213,7 @@
         	[0x0000064D] = "PLATFORM_ENERGY_STATUS",
         	[0x0000064e] = "PPERF",
         	[0x0000064f] = "PERF_LIMIT_REASONS",
        +	[0x00000650] = "SECONDARY_TURBO_RATIO_LIMIT",
         	[0x00000658] = "PKG_WEIGHTED_CORE_C0_RES",
         	[0x00000659] = "PKG_ANY_CORE_C0_RES",
         	[0x0000065A] = "PKG_ANY_GFXE_C0_RES",
        $
      
      Now one can trace systemwide asking to see backtraces to where those
      MSRs are being read/written, see this example with a previous update:
      
        # perf trace -e msr:*_msr/max-stack=32/ --filter="msr>=IA32_U_CET && msr<=IA32_INT_SSP_TAB"
        ^C#
      
      If we use -v (verbose mode) we can see what it does behind the scenes:
      
        # perf trace -v -e msr:*_msr/max-stack=32/ --filter="msr>=IA32_U_CET && msr<=IA32_INT_SSP_TAB"
        Using CPUID AuthenticAMD-25-21-0
        0x6a0
        0x6a8
        New filter for msr:read_msr: (msr>=0x6a0 && msr<=0x6a8) && (common_pid != 597499 && common_pid != 3313)
        0x6a0
        0x6a8
        New filter for msr:write_msr: (msr>=0x6a0 && msr<=0x6a8) && (common_pid != 597499 && common_pid != 3313)
        mmap size 528384B
        ^C#
      
      Example with a frequent msr:
      
        # perf trace -v -e msr:*_msr/max-stack=32/ --filter="msr==IA32_SPEC_CTRL" --max-events 2
        Using CPUID AuthenticAMD-25-21-0
        0x48
        New filter for msr:read_msr: (msr==0x48) && (common_pid != 2612129 && common_pid != 3841)
        0x48
        New filter for msr:write_msr: (msr==0x48) && (common_pid != 2612129 && common_pid != 3841)
        mmap size 528384B
        Looking at the vmlinux_path (8 entries long)
        symsrc__init: build id mismatch for vmlinux.
        Using /proc/kcore for kernel data
        Using /proc/kallsyms for symbols
           0.000 Timer/2525383 msr:write_msr(msr: IA32_SPEC_CTRL, val: 6)
                                             do_trace_write_msr ([kernel.kallsyms])
                                             do_trace_write_msr ([kernel.kallsyms])
                                             __switch_to_xtra ([kernel.kallsyms])
                                             __switch_to ([kernel.kallsyms])
                                             __schedule ([kernel.kallsyms])
                                             schedule ([kernel.kallsyms])
                                             futex_wait_queue_me ([kernel.kallsyms])
                                             futex_wait ([kernel.kallsyms])
                                             do_futex ([kernel.kallsyms])
                                             __x64_sys_futex ([kernel.kallsyms])
                                             do_syscall_64 ([kernel.kallsyms])
                                             entry_SYSCALL_64_after_hwframe ([kernel.kallsyms])
                                             __futex_abstimed_wait_common64 (/usr/lib64/libpthread-2.33.so)
           0.030 :0/0 msr:write_msr(msr: IA32_SPEC_CTRL, val: 2)
                                             do_trace_write_msr ([kernel.kallsyms])
                                             do_trace_write_msr ([kernel.kallsyms])
                                             __switch_to_xtra ([kernel.kallsyms])
                                             __switch_to ([kernel.kallsyms])
                                             __schedule ([kernel.kallsyms])
                                             schedule_idle ([kernel.kallsyms])
                                             do_idle ([kernel.kallsyms])
                                             cpu_startup_entry ([kernel.kallsyms])
                                             secondary_startup_64_no_verify ([kernel.kallsyms])
        #
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Daniel Sneddon <daniel.sneddon@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Like Xu <like.xu@linux.intel.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Robert Hoo <robert.hu@linux.intel.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/lkml/YvzbT24m2o5U%2F7+q@kernel.org/Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7f7f86a7
    • Arnaldo Carvalho de Melo's avatar
      perf beauty: Update copy of linux/socket.h with the kernel sources · cf1258ac
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        7fa875b8 ("net: copy from user before calling __copy_msghdr")
        ebe73a28 ("net: Allow custom iter handler in msghdr")
        7c701d92 ("skbuff: carry external ubuf_info in msghdr")
        c0424532 ("net: make __sys_accept4_file() static")
      
      That don't result in any changes in the tables generated from that
      header.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/perf/trace/beauty/include/linux/socket.h' differs from latest version at 'include/linux/socket.h'
        diff -u tools/perf/trace/beauty/include/linux/socket.h include/linux/socket.h
      
      Cc: David Ahern <dsahern@kernel.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Dylan Yudaken <dylany@fb.com>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Pavel Begunkov <asml.silence@gmail.com>
      Cc: Yajun Deng <yajun.deng@linux.dev>
      Link: https://lore.kernel.org/lkml/YvzYs+F+Xzq8Hvvp@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      cf1258ac
    • Ian Rogers's avatar
      perf cpumap: Fix alignment for masks in event encoding · b2f10cd4
      Ian Rogers authored
      A mask encoding of a cpu map is laid out as:
      
        u16 nr
        u16 long_size
        unsigned long mask[];
      
      However, the mask may be 8-byte aligned meaning there is a 4-byte pad
      after long_size. This means 32-bit and 64-bit builds see the mask as
      being at different offsets. On top of this the structure is in the byte
      data[] encoded as:
      
        u16 type
        char data[]
      
      This means the mask's struct isn't the required 4 or 8 byte aligned, but
      is offset by 2. Consequently the long reads and writes are causing
      undefined behavior as the alignment is broken.
      
      Fix the mask struct by creating explicit 32 and 64-bit variants, use a
      union to avoid data[] and casts; the struct must be packed so the
      layout matches the existing perf.data layout. Taking an address of a
      member of a packed struct breaks alignment so pass the packed
      perf_record_cpu_map_data to functions, so they can access variables with
      the right alignment.
      
      As the 64-bit version has 4 bytes of padding, optimizing writing to only
      write the 32-bit version.
      
      Committer notes:
      
      Disable warnings about 'packed' that break the build in some arches like
      riscv64, but just around that specific struct.
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Bayduraev <alexey.v.bayduraev@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: German Gomez <german.gomez@arm.com>
      Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Kees Kook <keescook@chromium.org>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: https://lore.kernel.org/r/20220614143353.1559597-5-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b2f10cd4
    • Linus Torvalds's avatar
      Merge tag 'sound-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 963a70be
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "The only significant core change is ASoC DPCM fix for asymmetric
        setup; other remaining changes are device-specific fixes, including
        the hardening of string manipulations.
      
        One change in platform/x86 is the patch I forgot to apply from a
        series for CS35L41 codec"
      
      * tag 'sound-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (21 commits)
        ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU
        ALSA: info: Fix llseek return value when using callback
        ALSA: hda/cs8409: Support new Dolphin Variants
        platform/x86: serial-multi-instantiate: Add CLSA0101 Laptop
        ALSA: hda/realtek: Add quirk for Lenovo Yoga7 14IAL7
        ALSA: hda: cs35l41: Clarify support for CSC3551 without _DSD Properties
        ALSA: hda/realtek: Add quirks for ASUS Zenbooks using CS35L41
        ASoC: codec: tlv320aic32x4: fix mono playback via I2S
        ASoC: rt5640: Fix the JD voltage dropping issue
        ASoC: tas2770: Fix handling of mute/unmute
        ASoC: tas2770: Drop conflicting set_bias_level power setting
        ASoC: tas2770: Allow mono streams
        ASoC: tas2770: Set correct FSYNC polarity
        ASoC: Intel: fix sof_es8336 probe
        ASoC: DPCM: Don't pick up BE without substream
        ASoC: SOF: ipc3-topology: Fix clang -Wformat warning
        ASoC: sh: rz-ssi: Improve error handling in rz_ssi_probe() error path
        ASoC: SOF: Intel: hda: Fix potential buffer overflow by snprintf()
        ASoC: SOF: debug: Fix potential buffer overflow by snprintf()
        ASoC: Intel: avs: Fix potential buffer overflow by snprintf()
        ...
      963a70be
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-08-19' of git://anongit.freedesktop.org/drm/drm · adb67b37
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular weekly fixes.
      
        The nouveau patch just enables modesetting on GA103 hw which is like
        other ampere cards that are already supported. amdgpu has 2 weeks of
        fixes, as Alex was away, so a bit larger than usual, otherwise some
        i915 and misc other fixes.
      
        ttm:
         - NULL ptr dereference
      
        i915:
         - disable pci resize on 32-bit systems
         - don't leak the ccs state
         - TLB invalidation fixes
      
        nouveau:
         - GA103 enablement
         - off-by-one fix
      
        amdgpu:
         - Revert some DML stack changes
         - Rounding fixes in KFD allocations
         - atombios vram info table parsing fix
         - DCN 3.1.4 fixes
         - Clockgating fixes for various new IPs
         - SMU 13.0.4 fixes
         - DCN 3.1.4 FP fixes
         - TMDS fixes for YCbCr420 4k modes
         - DCN 3.2.x fixes
         - USB 4 fixes
         - SMU 13.0 fixes
         - SMU driver unload memory leak fixes
         - Display orientation fix
         - Regression fix for generic fbdev conversion
         - SDMA 6.x fixes
         - SR-IOV fixes
         - IH 6.x fixes
         - Use after free fix in bo list handling
         - Revert pipe1 support
         - XGMI hive reset fix
      
        amdkfd:
         - Fix potential crach in kfd_create_indirect_link_prop()
      
        imx:
         - warning fix
      
        meson:
         - refcounting fix
      
        lvds-codec:
         - error check fix
      
        sun4i:
         - underflow fix
         - dt-binding fix"
      
      * tag 'drm-fixes-2022-08-19' of git://anongit.freedesktop.org/drm/drm: (109 commits)
        Revert "drm/amd/amdgpu: add pipe1 hardware support"
        drm/amdgpu: Fix use-after-free on amdgpu_bo_list mutex
        drm/amdgpu: Fix interrupt handling on ih_soft ring
        drm/amdgpu: Add secure display TA load for Renoir
        drm/amd/display: Include scaling factor for SubVP command
        drm/amdgpu/vcn: Return void from the stop_dbg_mode
        drm/amdgpu: remove useless condition in amdgpu_job_stop_all_jobs_on_sched()
        drm/amdgpu: Add decode_iv_ts helper for ih_v6 block
        drm/amd/display: add chip revision to DCN32
        drm/amd/display: avoid doing vm_init multiple time
        drm/amd/display: Use pitch when calculating size to cache in MALL
        drm/amd/display: Don't set DSC for phantom pipes
        drm/amd/display: Update clock table policy for DCN314
        drm/amd/display: Modify header inclusion pattern
        drm/amd/display: Fix plug/unplug external monitor will hang while playback MPO video
        drm/amd/display: Add debug parameter to retain default clock table
        drm/amdgpu: Increase tlb flush timeout for sriov
        drm/amd/display: do not compare integers of different widths
        drm/amd/display: Add reserved dc_log_type.
        drm/amd/display: Fix pixel clock programming
        ...
      adb67b37
    • Linus Torvalds's avatar
      Merge tag 'bitmap-6.0-rc2' of https://github.com/norov/linux · a4ee891b
      Linus Torvalds authored
      Pull bitmap updates from Yury Norov:
       "cpumask: UP optimisation fixes follow-up
      
        As an older version of the UP optimisation fixes was merged, not all
        review feedback has been implemented.
      
        This implements the feedback received on the merged version [1], and
        the respin [2], for changes related to <linux/cpumask.h> and
        lib/cpumask.c"
      
      Link: https://lore.kernel.org/lkml/cover.1656777646.git.sander@svanheule.net/ [1]
      Link: https://lore.kernel.org/lkml/cover.1659077534.git.sander@svanheule.net/ [2]
      
      It spent for more than a week with no issues.
      
      * tag 'bitmap-6.0-rc2' of https://github.com/norov/linux:
        lib/cpumask: drop always-true preprocessor guard
        lib/cpumask: add inline cpumask_next_wrap() for UP
        cpumask: align signatures of UP implementations
      a4ee891b