1. 28 Aug, 2022 2 commits
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2022-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4459d800
      Linus Torvalds authored
      Pull x86 perf fixes from Ingo Molnar:
       "Misc fixes: an Arch-LBR fix, a PEBS enumeration fix, an Intel DS fix,
        PEBS constraints fix on Alder Lake CPUs and an Intel uncore PMU fix"
      
      * tag 'perf-urgent-2022-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel/uncore: Fix broken read_counter() for SNB IMC PMU
        perf/x86/intel: Fix pebs event constraints for ADL
        perf/x86/intel/ds: Fix precise store latency handling
        perf/x86/core: Set pebs_capable and PMU_FL_PEBS_ALL for the Baseline
        perf/x86/lbr: Enable the branch type for the Arch LBR by default
      4459d800
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-27' of... · 611875d5
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-27' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fixup setup of weak groups when using 'perf stat --repeat', add a
         'perf test' for it.
      
       - Fix memory leaks in 'perf sched record' detected with
         -fsanitize=address.
      
       - Fix build when PYTHON_CONFIG is user supplied.
      
       - Capitalize topdown metrics' names in 'perf stat', so that the output,
         sometimes parsed, matches the Intel SDM docs.
      
       - Make sure the documentation for the save_type filter about Intel
         systems with Arch LBR support (12th-Gen+ client or 4th-Gen Xeon+
         server) reflects recent related kernel changes.
      
       - Fix 'perf record' man page formatting of description of support to
         hybrid systems.
      
       - Update arm64´s KVM header from the kernel sources.
      
      * tag 'perf-tools-fixes-for-v6.0-2022-08-27' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf stat: Capitalize topdown metrics' names
        perf docs: Update the documentation for the save_type filter
        perf sched: Fix memory leaks in __cmd_record detected with -fsanitize=address
        perf record: Fix manpage formatting of description of support to hybrid systems
        perf test: Stat test for repeat with a weak group
        perf stat: Clear evsel->reset_group for each stat run
        tools kvm headers arm64: Update KVM header from the kernel sources
        perf python: Fix build when PYTHON_CONFIG is user supplied
      611875d5
  2. 27 Aug, 2022 18 commits
  3. 26 Aug, 2022 10 commits
    • Stephane Eranian's avatar
      perf/x86/intel/uncore: Fix broken read_counter() for SNB IMC PMU · 11745ecf
      Stephane Eranian authored
      Existing code was generating bogus counts for the SNB IMC bandwidth counters:
      
      $ perf stat -a -I 1000 -e uncore_imc/data_reads/,uncore_imc/data_writes/
           1.000327813           1,024.03 MiB  uncore_imc/data_reads/
           1.000327813              20.73 MiB  uncore_imc/data_writes/
           2.000580153         261,120.00 MiB  uncore_imc/data_reads/
           2.000580153              23.28 MiB  uncore_imc/data_writes/
      
      The problem was introduced by commit:
        07ce734d ("perf/x86/intel/uncore: Clean up client IMC")
      
      Where the read_counter callback was replace to point to the generic
      uncore_mmio_read_counter() function.
      
      The SNB IMC counters are freerunnig 32-bit counters laid out contiguously in
      MMIO. But uncore_mmio_read_counter() is using a readq() call to read from
      MMIO therefore reading 64-bit from MMIO. Although this is okay for the
      uncore_perf_event_update() function because it is shifting the value based
      on the actual counter width to compute a delta, it is not okay for the
      uncore_pmu_event_start() which is simply reading the counter  and therefore
      priming the event->prev_count with a bogus value which is responsible for
      causing bogus deltas in the perf stat command above.
      
      The fix is to reintroduce the custom callback for read_counter for the SNB
      IMC PMU and use readl() instead of readq(). With the change the output of
      perf stat is back to normal:
      $ perf stat -a -I 1000 -e uncore_imc/data_reads/,uncore_imc/data_writes/
           1.000120987             296.94 MiB  uncore_imc/data_reads/
           1.000120987             138.42 MiB  uncore_imc/data_writes/
           2.000403144             175.91 MiB  uncore_imc/data_reads/
           2.000403144              68.50 MiB  uncore_imc/data_writes/
      
      Fixes: 07ce734d ("perf/x86/intel/uncore: Clean up client IMC")
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Reviewed-by: default avatarKan Liang <kan.liang@linux.intel.com>
      Link: https://lore.kernel.org/r/20220803160031.1379788-1-eranian@google.com
      11745ecf
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · e022620b
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "A bumper crop of arm64 fixes for -rc3.
      
        The largest change is fixing our parsing of the 'rodata=full' command
        line option, which kstrtobool() started treating as 'rodata=false'.
        The fix actually makes the parsing of that option much less fragile
        and updates the documentation at the same time.
      
        We still have a boot issue pending when KASLR is disabled at compile
        time, but there's a fresh fix on the list which I'll send next week if
        it holds up to testing.
      
        Summary:
      
         - Fix workaround for Cortex-A76 erratum #1286807
      
         - Add workaround for AMU erratum #2457168 on Cortex-A510
      
         - Drop reference to removed CONFIG_ARCH_RANDOM #define
      
         - Fix parsing of the "rodata=full" cmdline option
      
         - Fix a bunch of issues in the SME register state switching and sigframe code
      
         - Fix incorrect extraction of the CTR_EL0.CWG register field
      
         - Fix ACPI cache topology probing when the PPTT is not present
      
         - Trivial comment and whitespace fixes"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64/sme: Don't flush SVE register state when handling SME traps
        arm64/sme: Don't flush SVE register state when allocating SME storage
        arm64/signal: Flush FPSIMD register state when disabling streaming mode
        arm64/signal: Raise limit on stack frames
        arm64/cache: Fix cache_type_cwg() for register generation
        arm64/sysreg: Guard SYS_FIELD_ macros for asm
        arm64/sysreg: Directly include bitfield.h
        arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level
        arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly
        arm64: fix rodata=full
        arm64: Fix comment typo
        docs/arm64: elf_hwcaps: unify newlines in HWCAP lists
        arm64: adjust KASLR relocation after ARCH_RANDOM removal
        arm64: Fix match_list for erratum 1286807 on Arm Cortex-A76
      e022620b
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 012bd7e8
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - A handful of fixes for the Microchip device trees
      
       - A pair of fixes to eliminate build warnings
      
      * tag 'riscv-for-linus-6.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: dts: microchip: mpfs: remove pci axi address translation property
        riscv: dts: microchip: mpfs: remove bogus card-detect-delay
        riscv: dts: microchip: mpfs: remove ti,fifo-depth property
        riscv: dts: microchip: mpfs: fix incorrect pcie child node name
        riscv: traps: add missing prototype
        riscv: signal: fix missing prototype warning
        riscv: dts: microchip: correct L2 cache interrupts
      012bd7e8
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-6.0-1' of... · c23f864d
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen:
       "Fix a bunch of build errors/warnings, a poweroff error and an
        unbalanced locking in do_page_fault()"
      
      * tag 'loongarch-fixes-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: mm: Avoid unnecessary page fault retires on shared memory types
        LoongArch: Add subword xchg/cmpxchg emulation
        LoongArch: Cleanup headers to avoid circular dependency
        LoongArch: Cleanup reset routines with new API
        LoongArch: Fix build warnings in VDSO
        LoongArch: Select PCI_QUIRKS to avoid build error
      c23f864d
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-08-26-1' of git://anongit.freedesktop.org/drm/drm · 78effb4a
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Weekly fixes, lots of amdgpu fixes mostly for IP blocks introduced in
        6.0-rc1, otherwise vc4, nouveau fixes.
      
        gem:
         - Fix handle release leak
      
        nouveau:
         - Fix fencing when moving BO
      
        vc4:
         - HDMI fixes
      
        amdgpu:
         - GFX 11.0 fixes
         - PSP XGMI handling fixes
         - GFX9 fix for compute-only IPs
         - Drop duplicated function call
         - Fix warning due to missing header
         - NBIO 7.7 fixes
         - DCN 3.1.4 fixes
         - SDMA 6.0 fixes
         - SMU 13.0 fixes
         - Arcturus GPUVM page table fix
         - MMHUB 1.0 fix
      
        amdkfd:
         - GC 10.3.7 fix
      
        radeon:
         - Delayed work flush fix"
      
      * tag 'drm-fixes-2022-08-26-1' of git://anongit.freedesktop.org/drm/drm: (21 commits)
        drm/amdgpu: mmVM_L2_CNTL3 register not initialized correctly
        drm/amdgpu: add MGCG perfmon setting for gfx11
        drm/amdkfd: Fix isa version for the GC 10.3.7
        drm/amdgpu: Fix page table setup on Arcturus
        drm/amd/pm: update SMU 13.0.0 driver_if header
        drm/amdgpu: add sdma instance check for gfx11 CGCG
        drm/amd/display: enable PCON support for dcn314
        drm/amdgpu: enable NBIO IP v7.7.0 Clock Gating
        drm/amdgpu: add NBIO IP v7.7.0 Clock Gating support
        drm/amdgpu: add TX_POWER_CTRL_1 macro definitions for NBIO IP v7.7.0
        nouveau: explicitly wait on the fence in nouveau_bo_move_m2mf
        drm/radeon: add a force flush to delay work when radeon
        drm/amd/display: Include missing header
        drm/amdgpu: Remove the additional kfd pre reset call for sriov
        drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup.
        drm/amdgpu: fix hive reference leak when adding xgmi device
        drm/amdgpu: Move psp_xgmi_terminate call from amdgpu_xgmi_remove_device to psp_hw_fini
        drm/amdgpu: enable GFXOFF allow control for GC IP v11.0.1
        drm/gem: Fix GEM handle release errors
        drm/vc4: hdmi: Rework power up
        ...
      78effb4a
    • Linus Torvalds's avatar
      Merge tag 'block-6.0-2022-08-26' of git://git.kernel.dk/linux-block · 3e5c673f
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - MD pull request via Song:
            - Fix for clustered raid (Guoqing Jiang)
            - req_op fix (Bart Van Assche)
            - Fix race condition in raid recreate (David Sloan)
      
       - loop configuration overflow fix (Siddh)
      
       - Fix missing commit_rqs call for certain conditions (Yu)
      
      * tag 'block-6.0-2022-08-26' of git://git.kernel.dk/linux-block:
        md: call __md_stop_writes in md_stop
        Revert "md-raid: destroy the bitmap after destroying the thread"
        md: Flush workqueue md_rdev_misc_wq in md_alloc()
        md/raid10: Fix the data type of an r10_sync_page_io() argument
        loop: Check for overflow while configuring loop
        blk-mq: fix io hung due to missing commit_rqs
      3e5c673f
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.0-2022-08-26' of git://git.kernel.dk/linux-block · 0b0861eb
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Add missing header file to the MAINTAINERS entry for io_uring (Ammar)
      
       - liburing and the kernel ship the same io_uring.h header, but one
         change we've had for a long time only in liburing is to ensure it's
         C++ safe. Add extern C around it, so we can more easily sync them in
         the future (Ammar)
      
       - Fix an off-by-one in the sync cancel added in this merge window (me)
      
       - Error handling fix for passthrough (Kanchan)
      
       - Fix for address saving for async execution for the zc tx support
         (Pavel)
      
       - Fix ordering for TCP zc notifications, so we always have them ordered
         correctly between "data was sent" and "data was acked". This isn't
         strictly needed with the notification slots, but we've been pondering
         disabling the slot support for 6.0 - and if we do, then we do require
         the ordering to be sane. Regardless of that, it's the sane thing to
         do in terms of API (Pavel)
      
       - Minor cleanup for indentation and lockdep annotation (Pavel)
      
      * tag 'io_uring-6.0-2022-08-26' of git://git.kernel.dk/linux-block:
        io_uring/net: save address for sendzc async execution
        io_uring: conditional ->async_data allocation
        io_uring/notif: order notif vs send CQEs
        io_uring/net: fix indentation
        io_uring/net: fix zc send link failing
        io_uring/net: fix must_hold annotation
        io_uring: fix submission-failure handling for uring-cmd
        io_uring: fix off-by-one in sync cancelation file check
        io_uring: uapi: Add `extern "C"` in io_uring.h for liburing
        MAINTAINERS: Add `include/linux/io_uring_types.h`
      0b0861eb
    • Shigeru Yoshida's avatar
      fbdev: fbcon: Properly revert changes when vc_resize() failed · a5a92303
      Shigeru Yoshida authored
      fbcon_do_set_font() calls vc_resize() when font size is changed.
      However, if if vc_resize() failed, current implementation doesn't
      revert changes for font size, and this causes inconsistent state.
      
      syzbot reported unable to handle page fault due to this issue [1].
      syzbot's repro uses fault injection which cause failure for memory
      allocation, so vc_resize() failed.
      
      This patch fixes this issue by properly revert changes for font
      related date when vc_resize() failed.
      
      Link: https://syzkaller.appspot.com/bug?id=3443d3a1fa6d964dd7310a0cb1696d165a3e07c4 [1]
      Reported-by: syzbot+a168dbeaaa7778273c1b@syzkaller.appspotmail.com
      Signed-off-by: default avatarShigeru Yoshida <syoshida@redhat.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      CC: stable@vger.kernel.org # 5.15+
      a5a92303
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 5373081b
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Ten fixes.
      
        Of the three core changes, the two large ones are a complete reversion
        of the async rework and an ALUA timing rework (the latter shouldn't
        affect non-ALUA paths).
      
        The remaining patches are all small and all but one in drivers"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: sd: Revert "Rework asynchronous resume support"
        scsi: core: Fix passthrough retry counter handling
        scsi: ufs: core: Reduce the power mode change timeout
        scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq
        scsi: ufs: host: ufs-exynos: Make fsd_ufs_drvs static
        scsi: megaraid_sas: Remove unnecessary kfree()
        scsi: megaraid_sas: Fix double kfree()
        scsi: ufs: core: Enable link lost interrupt
        scsi: core: Allow the ALUA transitioning state enough time
        scsi: qla2xxx: Disable ATIO interrupt coalesce for quad port ISP27XX
      5373081b
    • Mikulas Patocka's avatar
      wait_on_bit: add an acquire memory barrier · 8238b457
      Mikulas Patocka authored
      There are several places in the kernel where wait_on_bit is not followed
      by a memory barrier (for example, in drivers/md/dm-bufio.c:new_read).
      
      On architectures with weak memory ordering, it may happen that memory
      accesses that follow wait_on_bit are reordered before wait_on_bit and
      they may return invalid data.
      
      Fix this class of bugs by introducing a new function "test_bit_acquire"
      that works like test_bit, but has acquire memory ordering semantics.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8238b457
  4. 25 Aug, 2022 10 commits