1. 14 Apr, 2022 5 commits
    • Athira Rajeev's avatar
      perf bench: Fix numa bench to fix usage of affinity for machines with #CPUs > 1K · f58faed7
      Athira Rajeev authored
      The 'perf bench numa' testcase fails on systems with more than 1K CPUs.
      
      Testcase: perf bench numa mem -p 1 -t 3 -P 512 -s 100 -zZ0qcm --thp  1
      
      Snippet of code:
      
        <<>>
        perf: bench/numa.c:302: bind_to_node: Assertion `!(ret)' failed.
        Aborted (core dumped)
        <<>>
      
      bind_to_node() uses "sched_getaffinity" to save the original cpumask and
      this call is returning EINVAL ((invalid argument).
      
      This happens because the default mask size in glibc is 1024.  To
      overcome this 1024 CPUs mask size limitation of cpu_set_t, change the
      mask size using the CPU_*_S macros ie, use CPU_ALLOC to allocate
      cpumask, CPU_ALLOC_SIZE for size.
      
      Apart from fixing this for "orig_mask", apply same logic to "mask" as
      well which is used to setaffinity so that mask size is large enough to
      represent number of possible CPU's in the system.
      
      sched_getaffinity is used in one more place in perf numa bench. It is in
      "bind_to_cpu" function. Apply the same logic there also. Though
      currently no failure is reported from there, it is ideal to change
      getaffinity to work with such system configurations having CPU's more
      than default mask size supported by glibc.
      
      Also fix "sched_setaffinity" to use mask size which is large enough to
      represent number of possible CPU's in the system.
      
      Fixed all places where "bind_cpumask" which is part of "struct
      thread_data" is used such that bind_cpumask works in all configuration.
      Reported-by: default avatarDisha Goel <disgoel@linux.vnet.ibm.com>
      Signed-off-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nageswara R Sastry <rnsastry@linux.ibm.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: linuxppc-dev@lists.ozlabs.org
      Link: https://lore.kernel.org/r/20220412164059.42654-3-atrajeev@linux.vnet.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f58faed7
    • Athira Rajeev's avatar
      perf bench: Fix numa testcase to check if CPU used to bind task is online · 8cb7a188
      Athira Rajeev authored
      Perf numa bench test fails with error:
      
      Testcase:
      
        ./perf bench numa mem -p 2 -t 1 -P 1024 -C 0,8 -M 1,0 -s 20 -zZq --thp  1 --no-data_rand_walk
      
      Failure snippet:
      
      <<>>
        Running 'numa/mem' benchmark:
      
        # Running main, "perf bench numa numa-mem -p 2 -t 1 -P 1024 -C 0,8 -M 1,0 -s 20 -zZq --thp 1 --no-data_rand_walk"
      
        perf: bench/numa.c:333: bind_to_cpumask: Assertion `!(ret)' failed.
      <<>>
      
      The Testcases uses CPU's 0 and 8. In function "parse_setup_cpu_list",
      There is check to see if cpu number is greater than max cpu's possible
      in the system ie via "if (bind_cpu_0 >= g->p.nr_cpus || bind_cpu_1 >=
      g->p.nr_cpus) {".
      
      But it could happen that system has say 48 CPU's, but only number of
      online CPU's is 0-7. Other CPU's are offlined. Since "g->p.nr_cpus" is
      48, so function will go ahead and set bit for CPU 8 also in cpumask (
      td->bind_cpumask).
      
      bind_to_cpumask function is called to set affinity using
      sched_setaffinity and the cpumask. Since the CPU8 is not present, set
      affinity will fail here with EINVAL.
      
      Fix this issue by adding a check to make sure that, CPU's provided in
      the input argument values are online before proceeding further and skip
      the test. For this, include new helper function "is_cpu_online" in
      "tools/perf/util/header.c".
      
      Since "BIT(x)" definition will get included from header.h, remove
      that from bench/numa.c
      Reported-by: default avatarDisha Goel <disgoel@linux.vnet.ibm.com>
      Signed-off-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Tested-by: default avatarDisha Goel <disgoel@linux.vnet.ibm.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nageswara R Sastry <rnsastry@linux.ibm.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: linuxppc-dev@lists.ozlabs.org
      Link: https://lore.kernel.org/r/20220412164059.42654-2-atrajeev@linux.vnet.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8cb7a188
    • Alexey Bayduraev's avatar
      perf record: Fix per-thread option · 23380e4d
      Alexey Bayduraev authored
      Per-thread mode doesn't have specific CPUs for events, add checks for
      this case.
      
      Minor fix to a pr_debug by Ian Rogers <irogers@google.com> to avoid an
      out of bound array access.
      
      Fixes: 7954f716 ("perf record: Introduce thread affinity and mmap masks")
      Reported-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarAlexey Bayduraev <alexey.bayduraev@gmail.com>
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
      Cc: Andi Kleen <ak@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>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: https://lore.kernel.org/r/20220414014642.3308206-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      23380e4d
    • Adrian Hunter's avatar
      perf tools: Fix segfault accessing sample_id xyarray · a668cc07
      Adrian Hunter authored
      perf_evsel::sample_id is an xyarray which can cause a segfault when
      accessed beyond its size. e.g.
      
        # perf record -e intel_pt// -C 1 sleep 1
        Segmentation fault (core dumped)
        #
      
      That is happening because a dummy event is opened to capture text poke
      events accross all CPUs, however the mmap logic is allocating according
      to the number of user_requested_cpus.
      
      In general, perf sometimes uses the evsel cpus to open events, and
      sometimes the evlist user_requested_cpus. However, it is not necessary
      to determine which case is which because the opened event file
      descriptors are also in an xyarray, the size of whch can be used
      to correctly allocate the size of the sample_id xyarray, because there
      is one ID per file descriptor.
      
      Note, in the affected code path, perf_evsel fd array is subsequently
      used to get the file descriptor for the mmap, so it makes sense for the
      xyarrays to be the same size there.
      
      Fixes: d1a17759 ("libperf: Adopt perf_evlist__mmap()/munmap() from tools/perf")
      Fixes: 246eba8e ("perf tools: Add support for PERF_RECORD_TEXT_POKE")
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: stable@vger.kernel.org # 5.5+
      Link: https://lore.kernel.org/r/20220413114232.26914-1-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a668cc07
    • Lv Ruyi's avatar
      perf stat: Fix error check return value of hashmap__new(), must use IS_ERR() · d73f5d14
      Lv Ruyi authored
      hashmap__new() returns ERR_PTR(-ENOMEM) when it fails, so we should use
      IS_ERR() to check it in error handling path.
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Signed-off-by: default avatarLv Ruyi <lv.ruyi@zte.com.cn>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Clark <james.clark@arm.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/20220413093302.2538128-1-lv.ruyi@zte.com.cnSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d73f5d14
  2. 13 Apr, 2022 5 commits
    • Adrian Hunter's avatar
      perf tools: Fix misleading add event PMU debug message · f034fc50
      Adrian Hunter authored
      Fix incorrect debug message:
      
         Attempting to add event pmu 'intel_pt' with '' that may result in
         non-fatal errors
      
      which always appears with perf record -vv and intel_pt e.g.
      
          perf record -vv -e intel_pt//u uname
      
      The message is incorrect because there will never be non-fatal errors.
      
      Suppress the message if the PMU is 'selectable' i.e. meant to be
      selected directly as an event.
      
      Fixes: 4ac22b48 ("perf parse-events: Make add PMU verbose output clearer")
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Link: http://lore.kernel.org/lkml/20220411061758.2458417-1-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f034fc50
    • Linus Torvalds's avatar
      Merge tag 'hardening-v5.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · a1994480
      Linus Torvalds authored
      Pull hardening fixes from Kees Cook:
      
       - latent_entropy: Use /dev/urandom instead of small GCC seed (Jason
         Donenfeld)
      
       - uapi/stddef.h: add missed include guards (Tadeusz Struk)
      
      * tag 'hardening-v5.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: latent_entropy: use /dev/urandom
        uapi/linux/stddef.h: Add include guards
      a1994480
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · c1488c97
      Linus Torvalds authored
      Pull nfsd fixes from Chuck Lever:
      
       - Fix a write performance regression
      
       - Fix crashes during request deferral on RDMA transports
      
      * tag 'nfsd-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        SUNRPC: Fix the svc_deferred_event trace class
        SUNRPC: Fix NFSD's request deferral on RDMA transports
        nfsd: Clean up nfsd_file_put()
        nfsd: Fix a write performance regression
        SUNRPC: Return true/false (not 1/0) from bool functions
      c1488c97
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 453096eb
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "x86:
      
         - Miscellaneous bugfixes
      
         - A small cleanup for the new workqueue code
      
         - Documentation syntax fix
      
        RISC-V:
      
         - Remove hgatp zeroing in kvm_arch_vcpu_put()
      
         - Fix alignment of the guest_hang() in KVM selftest
      
         - Fix PTE A and D bits in KVM selftest
      
         - Missing #include in vcpu_fp.c
      
        ARM:
      
         - Some PSCI fixes after introducing PSCIv1.1 and SYSTEM_RESET2
      
         - Fix the MMU write-lock not being taken on THP split
      
         - Fix mixed-width VM handling
      
         - Fix potential UAF when debugfs registration fails
      
         - Various selftest updates for all of the above"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (24 commits)
        KVM: x86: hyper-v: Avoid writing to TSC page without an active vCPU
        KVM: SVM: Do not activate AVIC for SEV-enabled guest
        Documentation: KVM: Add SPDX-License-Identifier tag
        selftests: kvm: add tsc_scaling_sync to .gitignore
        RISC-V: KVM: include missing hwcap.h into vcpu_fp
        KVM: selftests: riscv: Fix alignment of the guest_hang() function
        KVM: selftests: riscv: Set PTE A and D bits in VS-stage page table
        RISC-V: KVM: Don't clear hgatp CSR in kvm_arch_vcpu_put()
        selftests: KVM: Free the GIC FD when cleaning up in arch_timer
        selftests: KVM: Don't leak GIC FD across dirty log test iterations
        KVM: Don't create VM debugfs files outside of the VM directory
        KVM: selftests: get-reg-list: Add KVM_REG_ARM_FW_REG(3)
        KVM: avoid NULL pointer dereference in kvm_dirty_ring_push
        KVM: arm64: selftests: Introduce vcpu_width_config
        KVM: arm64: mixed-width check should be skipped for uninitialized vCPUs
        KVM: arm64: vgic: Remove unnecessary type castings
        KVM: arm64: Don't split hugepages outside of MMU write lock
        KVM: arm64: Drop unneeded minor version check from PSCI v1.x handler
        KVM: arm64: Actually prevent SMC64 SYSTEM_RESET2 from AArch32
        KVM: arm64: Generally disallow SMC64 for AArch32 guests
        ...
      453096eb
    • Linus Torvalds's avatar
      Merge tag 'media/v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 7083b89e
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
       - a regression fix for si2157
      
       - a Kconfig dependency fix for imx-mipi-csis
      
       - fix the rockchip/rga driver probing logic
      
      * tag 'media/v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: si2157: unknown chip version Si2147-A30 ROM 0x50
        media: platform: imx-mipi-csis: Add dependency on VIDEO_DEV
        media: rockchip/rga: do proper error checking in probe
      7083b89e
  3. 12 Apr, 2022 3 commits
    • Mikulas Patocka's avatar
      stat: fix inconsistency between struct stat and struct compat_stat · 932aba1e
      Mikulas Patocka authored
      struct stat (defined in arch/x86/include/uapi/asm/stat.h) has 32-bit
      st_dev and st_rdev; struct compat_stat (defined in
      arch/x86/include/asm/compat.h) has 16-bit st_dev and st_rdev followed by
      a 16-bit padding.
      
      This patch fixes struct compat_stat to match struct stat.
      
      [ Historical note: the old x86 'struct stat' did have that 16-bit field
        that the compat layer had kept around, but it was changes back in 2003
        by "struct stat - support larger dev_t":
      
          https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/?id=e95b2065677fe32512a597a79db94b77b90c968d
      
        and back in those days, the x86_64 port was still new, and separate
        from the i386 code, and had already picked up the old version with a
        16-bit st_dev field ]
      
      Note that we can't change compat_dev_t because it is used by
      compat_loop_info.
      
      Also, if the st_dev and st_rdev values are 32-bit, we don't have to use
      old_valid_dev to test if the value fits into them.  This fixes
      -EOVERFLOW on filesystems that are on NVMe because NVMe uses the major
      number 259.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Cc: Andreas Schwab <schwab@linux-m68k.org>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      932aba1e
    • Jason A. Donenfeld's avatar
      gcc-plugins: latent_entropy: use /dev/urandom · c40160f2
      Jason A. Donenfeld authored
      While the latent entropy plugin mostly doesn't derive entropy from
      get_random_const() for measuring the call graph, when __latent_entropy is
      applied to a constant, then it's initialized statically to output from
      get_random_const(). In that case, this data is derived from a 64-bit
      seed, which means a buffer of 512 bits doesn't really have that amount
      of compile-time entropy.
      
      This patch fixes that shortcoming by just buffering chunks of
      /dev/urandom output and doling it out as requested.
      
      At the same time, it's important that we don't break the use of
      -frandom-seed, for people who want the runtime benefits of the latent
      entropy plugin, while still having compile-time determinism. In that
      case, we detect whether gcc's set_random_seed() has been called by
      making a call to get_random_seed(noinit=true) in the plugin init
      function, which is called after set_random_seed() is called but before
      anything that calls get_random_seed(noinit=false), and seeing if it's
      zero or not. If it's not zero, we're in deterministic mode, and so we
      just generate numbers with a basic xorshift prng.
      
      Note that we don't detect if -frandom-seed is being used using the
      documented local_tick variable, because it's assigned via:
         local_tick = (unsigned) tv.tv_sec * 1000 + tv.tv_usec / 1000;
      which may well overflow and become -1 on its own, and so isn't
      reliable: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105171
      
      [kees: The 256 byte rnd_buf size was chosen based on average (250),
       median (64), and std deviation (575) bytes of used entropy for a
       defconfig x86_64 build]
      
      Fixes: 38addce8 ("gcc-plugins: Add latent_entropy plugin")
      Cc: stable@vger.kernel.org
      Cc: PaX Team <pageexec@freemail.hu>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lore.kernel.org/r/20220405222815.21155-1-Jason@zx2c4.com
      c40160f2
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.18-2' of... · 7281a59c
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform drivers fixes from Hans de Goede:
      
       - Documentation and compilation warning fixes
      
       - Kconfig dep fixes
      
       - Misc small code cleanups
      
      * tag 'platform-drivers-x86-v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: amd-pmc: Fix compilation without CONFIG_SUSPEND
        platform/x86: acerhdf: Cleanup str_starts_with()
        Documentation/ABI: sysfs-class-firmware-attributes: Misc. cleanups
        Documentation/ABI: sysfs-class-firmware-attributes: Fix Sphinx errors
        Documentation/ABI: sysfs-driver-intel_sdsi: Fix sphinx warnings
        platform/x86: barco-p50-gpio: Fix duplicate included linux/io.h
        platform/x86: samsung-laptop: Fix an unsigned comparison which can never be negative
        platform/x86: think-lmi: certificate support clean ups
      7281a59c
  4. 11 Apr, 2022 6 commits
  5. 10 Apr, 2022 13 commits
    • Linus Torvalds's avatar
      Merge tag 'tty-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 8b57b304
      Linus Torvalds authored
      Pull serial driver fix from Greg KH:
       "This is a single serial driver fix for a build issue that showed up
        due to changes that came in through the tty tree in 5.18-rc1 that were
        missed previously. It resolves a build error with the mpc52xx_uart
        driver.
      
        It has been in linux-next this week with no reported problems"
      
      * tag 'tty-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: serial: mpc52xx_uart: make rx/tx hooks return unsigned, part II.
      8b57b304
    • Linus Torvalds's avatar
      Merge tag 'staging-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 95aa17c3
      Linus Torvalds authored
      Pull staging driver fix from Greg KH:
       "Here is a single staging driver fix for 5.18-rc2 that resolves an
        endian issue for the r8188eu driver. It has been in linux-next all
        this week with no reported problems"
      
      * tag 'staging-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8188eu: Fix PPPoE tag insertion on little endian systems
      95aa17c3
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.18-rc2' of... · 33563138
      Linus Torvalds authored
      Merge tag 'driver-core-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here are two small driver core changes for 5.18-rc2.
      
        They are the final bits in the removal of the default_attrs field in
        struct kobj_type. I had to wait until after 5.18-rc1 for all of the
        changes to do this came in through different development trees, and
        then one new user snuck in. So this series has two changes:
      
         - removal of the default_attrs field in the powerpc/pseries/vas code.
      
           The change has been acked by the PPC maintainers to come through
           this tree
      
         - removal of default_attrs from struct kobj_type now that all
           in-kernel users are removed.
      
           This cleans up the kobject code a little bit and removes some
           duplicated functionality that confused people (now there is only
           one way to do default groups)
      
        Both of these have been in linux-next for all of this week with no
        reported problems"
      
      * tag 'driver-core-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        kobject: kobj_type: remove default_attrs
        powerpc/pseries/vas: use default_groups in kobj_type
      33563138
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f58d3410
      Linus Torvalds authored
      Pull char/misc driver fix from Greg KH:
       "A single driver fix. It resolves the build warning issue on 32bit
        systems in the habannalabs driver that came in during the 5.18-rc1
        merge cycle.
      
        It has been in linux-next for all this week with no reported problems"
      
      * tag 'char-misc-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        habanalabs: Fix test build failures
      f58d3410
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 4ea3c642
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix KVM "lost kick" race, where an attempt to pull a vcpu out of the
         guest could be lost (or delayed until the next guest exit).
      
       - Disable SCV (system call vectored) when PR KVM guests could be run.
      
       - Fix KVM PR guests using SCV, by disallowing AIL != 0 for KVM PR
         guests.
      
       - Add a new KVM CAP to indicate if AIL == 3 is supported.
      
       - Fix a regression when hotplugging a CPU to a memoryless/cpuless node.
      
       - Make virt_addr_valid() stricter for 64-bit Book3E & 32-bit, which
         fixes crashes seen due to hardened usercopy.
      
       - Revert a change to max_mapnr which broke HIGHMEM.
      
      Thanks to Christophe Leroy, Fabiano Rosas, Kefeng Wang, Nicholas Piggin,
      and Srikar Dronamraju.
      
      * tag 'powerpc-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        Revert "powerpc: Set max_mapnr correctly"
        powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit
        KVM: PPC: Move kvmhv_on_pseries() into kvm_ppc.h
        powerpc/numa: Handle partially initialized numa nodes
        powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S
        KVM: PPC: Use KVM_CAP_PPC_AIL_MODE_3
        KVM: PPC: Book3S PR: Disallow AIL != 0
        KVM: PPC: Book3S PR: Disable SCV when AIL could be disabled
        KVM: PPC: Book3S HV P9: Fix "lost kick" race
      4ea3c642
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2022-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1519610b
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A set of interrupt chip driver fixes:
      
         - A fix for a long standing bug in the ARM GICv3 redistributor
           polling which uses the wrong bit number to test.
      
         - Prevent translation of bogus ACPI table entries which map device
           interrupts into the IPI space on ARM GICs.
      
         - Don't write into the pending register of ARM GICV4 before the scan
           in hardware has completed.
      
         - A set of build and correctness fixes for the Qualcomm MPM driver"
      
      * tag 'irq-urgent-2022-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic, gic-v3: Prevent GSI to SGI translations
        irqchip/gic-v3: Fix GICR_CTLR.RWP polling
        irqchip/gic-v4: Wait for GICR_VPENDBASER.Dirty to clear before descheduling
        irqchip/irq-qcom-mpm: fix return value check in qcom_mpm_init()
        irq/qcom-mpm: Fix build error without MAILBOX
      1519610b
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c6913b7
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Fix the MSI message data struct definition
      
       - Use local labels in the exception table macros to avoid symbol
         conflicts with clang LTO builds
      
       - A couple of fixes to objtool checking of the relatively newly added
         SLS and IBT code
      
       - Rename a local var in the WARN* macro machinery to prevent shadowing
      
      * tag 'x86_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/msi: Fix msi message data shadow struct
        x86/extable: Prefer local labels in .set directives
        x86,bpf: Avoid IBT objtool warning
        objtool: Fix SLS validation for kcov tail-call replacement
        objtool: Fix IBT tail-call detection
        x86/bug: Prevent shadowing in __WARN_FLAGS
        x86/mm/tlb: Revert retpoline avoidance approach
      9c6913b7
    • Linus Torvalds's avatar
      Merge tag 'perf_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b51f86e9
      Linus Torvalds authored
      Pull perf fixes from Borislav Petkov:
      
       - A couple of fixes to cgroup-related handling of perf events
      
       - A couple of fixes to event encoding on Sapphire Rapids
      
       - Pass event caps of inherited events so that perf doesn't fail wrongly
         at fork()
      
       - Add support for a new Raptor Lake CPU
      
      * tag 'perf_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Always set cpuctx cgrp when enable cgroup event
        perf/core: Fix perf_cgroup_switch()
        perf/core: Use perf_cgroup_info->active to check if cgroup is active
        perf/core: Don't pass task around when ctx sched in
        perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids
        perf/x86/intel: Don't extend the pseudo-encoding to GP counters
        perf/core: Inherit event_caps
        perf/x86/uncore: Add Raptor Lake uncore support
        perf/x86/msr: Add Raptor Lake CPU support
        perf/x86/cstate: Add Raptor Lake support
        perf/x86: Add Intel Raptor Lake support
      b51f86e9
    • Linus Torvalds's avatar
      Merge tag 'locking_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 50c94de6
      Linus Torvalds authored
      Pull locking fixes from Borislav Petkov:
      
       - Allow the compiler to optimize away unused percpu accesses and change
         the local_lock_* macros back to inline functions
      
       - A couple of fixes to static call insn patching
      
      * tag 'locking_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "mm/page_alloc: mark pagesets as __maybe_unused"
        Revert "locking/local_lock: Make the empty local_lock_*() function a macro."
        x86/percpu: Remove volatile from arch_raw_cpu_ptr().
        static_call: Remove __DEFINE_STATIC_CALL macro
        static_call: Properly initialise DEFINE_STATIC_CALL_RET0()
        static_call: Don't make __static_call_return0 static
        x86,static_call: Fix __static_call_return0 for i386
      50c94de6
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7136849e
      Linus Torvalds authored
      Pull scheduler fixes from Borislav Petkov:
      
       - Use the correct static key checking primitive on the IRQ exit path
      
       - Two fixes for the new forceidle balancer
      
      * tag 'sched_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        entry: Fix compile error in dynamic_irqentry_exit_cond_resched()
        sched: Teach the forced-newidle balancer about CPU affinity limitation.
        sched/core: Fix forceidle balancing
      7136849e
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.18-2022-04-09' of... · 1862a69c
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.18-2022-04-09' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fix the clang command line option probing and remove some options to
         filter out, fixing the build with the latest clang versions
      
       - Fix 'perf bench' futex and epoll benchmarks to deal with machines
         with more than 1K CPUs
      
       - Fix 'perf test tsc' error message when not supported
      
       - Remap perf ring buffer if there is no space for event, fixing perf
         usage in 32-bit ChromeOS
      
       - Drop objdump stderr to avoid getting stuck waiting for stdout output
         in 'perf annotate'
      
       - Fix up garbled output by now showing unwind error messages when
         augmenting frame in best effort mode
      
       - Fix perf's libperf_print callback, use the va_args eprintf() variant
      
       - Sync vhost and arm64 cputype headers with the kernel sources
      
       - Fix 'perf report --mem-mode' with ARM SPE
      
       - Add missing external commands ('iiostat', etc) to 'perf --list-cmds'
      
      * tag 'perf-tools-fixes-for-v5.18-2022-04-09' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf annotate: Drop objdump stderr to avoid getting stuck waiting for stdout output
        perf tools: Add external commands to list-cmds
        perf docs: Add perf-iostat link to manpages
        perf session: Remap buf if there is no space for event
        perf bench: Fix epoll bench to correct usage of affinity for machines with #CPUs > 1K
        perf bench: Fix futex bench to correct usage of affinity for machines with #CPUs > 1K
        perf tools: Fix perf's libperf_print callback
        perf: arm-spe: Fix perf report --mem-mode
        perf unwind: Don't show unwind error messages when augmenting frame pointer stack
        tools headers arm64: Sync arm64's cputype.h with the kernel sources
        perf test tsc: Fix error message when not supported
        perf build: Don't use -ffat-lto-objects in the python feature test when building with clang-13
        perf python: Fix probing for some clang command line options
        tools build: Filter out options and warnings not supported by clang
        tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts
        tools include UAPI: Sync linux/vhost.h with the kernel sources
      1862a69c
    • Linus Torvalds's avatar
      Merge tag 'cxl+nvdimm-for-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 94a4c2bb
      Linus Torvalds authored
      Pull cxl and nvdimm fixes from Dan Williams:
      
       - Fix a compile error in the nvdimm unit tests
      
       - Fix a shadowed variable warning in the CXL PCI driver
      
      * tag 'cxl+nvdimm-for-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        cxl/pci: Drop shadowed variable
        tools/testing/nvdimm: Fix security_init() symbol collision
      94a4c2bb
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · fa3b895d
      Linus Torvalds authored
      Pull gpio fix from Bartosz Golaszewski:
      
       - fix a race condition with consumers accessing the fields of GPIO IRQ
         chips before they're fully initialized
      
      * tag 'gpio-fixes-for-v5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: Restrict usage of GPIO chip irq members before initialization
      fa3b895d
  6. 09 Apr, 2022 8 commits