1. 28 Jun, 2022 12 commits
    • Athira Rajeev's avatar
      selftests/powerpc/pmu: Add selftest to check PERF_SAMPLE_REGS_INTR option will... · 11bbc524
      Athira Rajeev authored
      selftests/powerpc/pmu: Add selftest to check PERF_SAMPLE_REGS_INTR option will not crash on any platforms
      
      With sampling, --intr-regs option is used for capturing
      interrupt regs. When --intr-regs option is used, PMU code
      uses is_sier_available() function which uses PMU flags in
      the code. In environment where platform specific PMU is
      not registered, PMU flags is not defined. A fix was added
      in kernel to address crash while accessing is_sier_available()
      function when pmu is not set. commit f75e7d73 ("powerpc/perf:
      Fix crash with is_sier_available when pmu is not set").
      
      Add perf sampling test to exercise this code and make sure
      enabling intr_regs shouldn't crash in any platform. Testcase
      uses software event cycles since software event will work even
      in cases without PMU.
      Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-12-atrajeev@linux.vnet.ibm.com
      
      11bbc524
    • Athira Rajeev's avatar
      selftests/powerpc/pmu: Add selftest to check branch stack enablement will not... · 2ac05f8f
      Athira Rajeev authored
      selftests/powerpc/pmu: Add selftest to check branch stack enablement will not crash on any platforms
      
      While enabling branch stack for an event, BHRB (Branch History
      Rolling Buffer) filter is set using bhrb_filter_map() callback.
      This callback is not defined for cases like generic_compat_pmu
      or in case where there is no PMU registered. A fix was added
      in kernel to address a crash issue observed while enabling branch
      stack for environments which doesn't have this callback.
      commit b460b512 ("powerpc/perf: Fix crashes with
      generic_compat_pmu & BHRB").
      
      Add perf sampling test to exercise this code path and make
      sure enabling branch stack shouldn't crash in any platform.
      Testcase uses software event cycles since software event is
      available and can be used even in cases without PMU.
      Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-11-atrajeev@linux.vnet.ibm.com
      
      2ac05f8f
    • Athira Rajeev's avatar
      selftests/powerpc/pmu: Refactor the platform check and add macros to find array size/PVR · 9cfd110a
      Athira Rajeev authored
      The platform check for selftest support "check_pvr_for_sampling_tests"
      is specific to sampling tests which includes PVR check, presence of
      PMU and extended regs support. Extended regs support is needed for
      sampling tests which tests whether PMU registers are programmed
      correctly. There could be other sampling tests which may not need
      extended regs, example, bhrb filter tests which only needs validity
      check via event open.
      
      Hence refactor the platform check to have a common function
      "platform_check_for_tests" that checks only for PVR check
      and presence of PMU. The existing function
      "check_pvr_for_sampling_tests" will invoke the common function
      and also will include checks for extended regs specific for
      sampling. The common function can also be used by tests other
      than sampling like event code tests.
      
      Add macro to find array size ("ARRAY_SIZE") to sampling
      tests "misc.h" file. This can be used in next tests to
      find event array size. Also update "include/reg.h" to
      add macros to find minor and major version from PVR which
      will be used in testcases.
      Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-10-atrajeev@linux.vnet.ibm.com
      9cfd110a
    • Kajol Jain's avatar
      selftests/powerpc/pmu: Add interface test for bhrb disable field · 84cc4e66
      Kajol Jain authored
      The testcase uses "instructions" event to generate the
      samples and fetch Monitor Mode Control Register A (MMCRA)
      when overflow. Branch History Rolling Buffer(bhrb) disable bit
      is part of MMCRA which need to be verified by perf interface.
      Testcase checks if the bhrb disable bit of MMCRA register is
      programmed correctly via perf interface for ISA v3.1 platform
      Also make get_mmcra_ifm return type as u64.
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-9-atrajeev@linux.vnet.ibm.com
      84cc4e66
    • Kajol Jain's avatar
      selftests/powerpc/pmu: Add interface test for mmcra_ifm field for conditional branch type · 014fb4a3
      Kajol Jain authored
      The testcase uses "instructions" event to check if the
      Instruction filtering mode(IFM) bits are programmed correctly
      for conditional branch type. Testcase checks if IFM bits is
      programmed correctly to Monitor Mode Control Register A (MMCRA)
      via perf interface for ISA v3.1 platform.
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-8-atrajeev@linux.vnet.ibm.com
      014fb4a3
    • Kajol Jain's avatar
      selftests/powerpc/pmu: Add interface test for mmcra_ifm field for any branch type · faa64ddc
      Kajol Jain authored
      The testcase uses "instructions" event to check if the
      Instruction filtering mode(IFM) bits are programmed correctly
      for type any branch. Testcase checks if IFM bits is
      programmed correctly to Monitor Mode Control Register A (MMCRA)
      via perf interface.
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-7-atrajeev@linux.vnet.ibm.com
      faa64ddc
    • Kajol Jain's avatar
      selftests/powerpc/pmu: Add interface test for mmcra_ifm field of indirect call type · c55dabc6
      Kajol Jain authored
      The testcase uses "instructions" event to check if the
      Instruction filtering mode(IFM) bits are programmed correctly
      for indirect branch type. Testcase checks if IFM bits are
      programmed correctly to Monitor Mode Control Register A (MMCRA)
      via perf interface for ISA v3.1 platform.
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-6-atrajeev@linux.vnet.ibm.com
      c55dabc6
    • Kajol Jain's avatar
      selftests/powerpc/pmu: Add support for branch sampling in get_intr_regs function · 61d89900
      Kajol Jain authored
      Add support for sample type as PERF_SAMPLE_BRANCH_STACK in sampling
      tests. This change is a precursor/helper for sampling testcases, that
      test branck stack feature in perf interface.
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-5-atrajeev@linux.vnet.ibm.com
      61d89900
    • Kajol Jain's avatar
      selftests/powerpc/pmu: Add interface test for mmcra_thresh_cmp fields · 50d9c30a
      Kajol Jain authored
      The testcase uses event code 0x35340401e0 for load only sampling, to
      verify the settings of thresh compare field in Monitor Mode Control
      Register A (MMCRA: 9-18 bits for power9 and MMCRA: 8-18 bits for
      power10). Testcase checks if the thresh compare field is programmed
      correctly via perf interface to MMCRA register.
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-4-atrajeev@linux.vnet.ibm.com
      50d9c30a
    • Athira Rajeev's avatar
      selftests/powerpc: Add support to fetch "platform" and "base platform" from... · a069b5f9
      Athira Rajeev authored
      selftests/powerpc: Add support to fetch "platform" and "base platform" from auxv to detect platform.
      
      The /proc/self/auxv contains information about "platform" on any system.
      Also "base platform" which is an indication about platform string
      corresponding to the real PVR. When systems are booted in compat mode,
      say, power10 booted in power9 mode, "platform" will point to power9
      whereas base platform will point to power10. Incase, if the distro
      doesn't support platform indicated by real PVR, base platform will have
      a default value.
      
      The mismatch of platform/base platform is an indication of system booted
      in compat mode. In such cases, distro will have a Generic Compat
      registered which supports basic features for performance monitoring.
      
      Some of the selftest needs to be handled differently ( ex: generic
      events, alternative events, bhrb filter map) in Generic Compat PMU.
      Hence selftest framework needs utility functions to identify such cases.
      One way is make sure of auxv information. Below condition can be used to
      detect if Generic Compat PMU is registered. ie:
      
        if ((AT_PLATFORM != AT_BASE_PLATFORM) && (AT_BASE_PLATFORM != PVR))
      
      this indicates Generic Compat PMU.
      
      Add utility function in "include/utils.h" to return:
      AT_PLATFORM and AT_BASE_PLATFORM from auxv. Also update misc.c in
      "sampling_tests" folder to add function to use above check to determine
      presence of generic compat pmu.
      
      In other architecture ( like x86 ), pmu_name is exposed via
      "/sys/bus/event_source/devices/cpu/caps". The same could be used in
      powerpc in future. Since currently we don't have the "caps" support in
      powerpc, patch uses auxv information to detect platform type and compat
      mode. But as placeholder utility function is added considering
      possiblity of getting "caps" information via sysfs. If that doesn't
      exist, fallback to using auxv information.
      Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-3-atrajeev@linux.vnet.ibm.com
      a069b5f9
    • Kajol Jain's avatar
      selftests/powerpc/pmu: Add mask/shift bits for extracting threshold compare field · 42e0576e
      Kajol Jain authored
      In power10, threshold compare field is not part of the raw event code
      and provided via event attribute config1. Hence add the mask and shift
      bits based on event attribute config1, to extract the threshold compare
      value for power10
      
      Also add a new function called get_thresh_cmp_val to compute and return
      the threshold compare field for a given platform, since incase of
      power10, threshold compare value provided is decimal.
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220610134113.62991-2-atrajeev@linux.vnet.ibm.com
      42e0576e
    • Athira Rajeev's avatar
      powerpc/perf: Optimize clearing the pending PMI and remove WARN_ON for PMI... · 890005a7
      Athira Rajeev authored
      powerpc/perf: Optimize clearing the pending PMI and remove WARN_ON for PMI check in power_pmu_disable
      
      commit 2c9ac51b ("powerpc/perf: Fix PMU callbacks to clear
      pending PMI before resetting an overflown PMC") added a new
      function "pmi_irq_pending" in hw_irq.h. This function is to check
      if there is a PMI marked as pending in Paca (PACA_IRQ_PMI).This is
      used in power_pmu_disable in a WARN_ON. The intention here is to
      provide a warning if there is PMI pending, but no counter is found
      overflown.
      
      During some of the perf runs, below warning is hit:
      
      WARNING: CPU: 36 PID: 0 at arch/powerpc/perf/core-book3s.c:1332 power_pmu_disable+0x25c/0x2c0
       Modules linked in:
       -----
      
       NIP [c000000000141c3c] power_pmu_disable+0x25c/0x2c0
       LR [c000000000141c8c] power_pmu_disable+0x2ac/0x2c0
       Call Trace:
       [c000000baffcfb90] [c000000000141c8c] power_pmu_disable+0x2ac/0x2c0 (unreliable)
       [c000000baffcfc10] [c0000000003e2f8c] perf_pmu_disable+0x4c/0x60
       [c000000baffcfc30] [c0000000003e3344] group_sched_out.part.124+0x44/0x100
       [c000000baffcfc80] [c0000000003e353c] __perf_event_disable+0x13c/0x240
       [c000000baffcfcd0] [c0000000003dd334] event_function+0xc4/0x140
       [c000000baffcfd20] [c0000000003d855c] remote_function+0x7c/0xa0
       [c000000baffcfd50] [c00000000026c394] flush_smp_call_function_queue+0xd4/0x300
       [c000000baffcfde0] [c000000000065b24] smp_ipi_demux_relaxed+0xa4/0x100
       [c000000baffcfe20] [c0000000000cb2b0] xive_muxed_ipi_action+0x20/0x40
       [c000000baffcfe40] [c000000000207c3c] __handle_irq_event_percpu+0x8c/0x250
       [c000000baffcfee0] [c000000000207e2c] handle_irq_event_percpu+0x2c/0xa0
       [c000000baffcff10] [c000000000210a04] handle_percpu_irq+0x84/0xc0
       [c000000baffcff40] [c000000000205f14] generic_handle_irq+0x54/0x80
       [c000000baffcff60] [c000000000015740] __do_irq+0x90/0x1d0
       [c000000baffcff90] [c000000000016990] __do_IRQ+0xc0/0x140
       [c0000009732f3940] [c000000bafceaca8] 0xc000000bafceaca8
       [c0000009732f39d0] [c000000000016b78] do_IRQ+0x168/0x1c0
       [c0000009732f3a00] [c0000000000090c8] hardware_interrupt_common_virt+0x218/0x220
      
      This means that there is no PMC overflown among the active events
      in the PMU, but there is a PMU pending in Paca. The function
      "any_pmc_overflown" checks the PMCs on active events in
      cpuhw->n_events. Code snippet:
      
      <<>>
      if (any_pmc_overflown(cpuhw))
       	clear_pmi_irq_pending();
       else
       	WARN_ON(pmi_irq_pending());
      <<>>
      
      Here the PMC overflown is not from active event. Example: When we do
      perf record, default cycles and instructions will be running on PMC6
      and PMC5 respectively. It could happen that overflowed event is currently
      not active and pending PMI is for the inactive event. Debug logs from
      trace_printk:
      
      <<>>
      any_pmc_overflown: idx is 5: pmc value is 0xd9a
      power_pmu_disable: PMC1: 0x0, PMC2: 0x0, PMC3: 0x0, PMC4: 0x0, PMC5: 0xd9a, PMC6: 0x80002011
      <<>>
      
      Here active PMC (from idx) is PMC5 , but overflown PMC is PMC6(0x80002011).
      When we handle PMI interrupt for such cases, if the PMC overflown is
      from inactive event, it will be ignored. Reference commit:
      commit bc09c219 ("powerpc/perf: Fix finding overflowed PMC in interrupt")
      
      Patch addresses two changes:
      1) Fix 1 : Removal of warning ( WARN_ON(pmi_irq_pending()); )
         We were printing warning if no PMC is found overflown among active PMU
         events, but PMI pending in PACA. But this could happen in cases where
         PMC overflown is not in active PMC. An inactive event could have caused
         the overflow. Hence the warning is not needed. To know pending PMI is
         from an inactive event, we need to loop through all PMC's which will
         cause more SPR reads via mfspr and increase in context switch. Also in
         existing function: perf_event_interrupt, already we ignore PMI's
         overflown when it is from an inactive PMC.
      
      2) Fix 2: optimization in clearing pending PMI.
         Currently we check for any active PMC overflown before clearing PMI
         pending in Paca. This is causing additional SPR read also. From point 1,
         we know that if PMI pending in Paca from inactive cases, that is going
         to be ignored during replay. Hence if there is pending PMI in Paca, just
         clear it irrespective of PMC overflown or not.
      
      In summary, remove the any_pmc_overflown check entirely in
      power_pmu_disable. ie If there is a pending PMI in Paca, clear it, since
      we are in pmu_disable. There could be cases where PMI is pending because
      of inactive PMC ( which later when replayed also will get ignored ), so
      WARN_ON could give false warning. Hence removing it.
      
      Fixes: 2c9ac51b ("powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an overflown PMC")
      Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20220522142256.24699-1-atrajeev@linux.vnet.ibm.com
      
      890005a7
  2. 26 Jun, 2022 3 commits
  3. 22 Jun, 2022 4 commits
  4. 20 Jun, 2022 2 commits
  5. 12 Jun, 2022 10 commits
  6. 11 Jun, 2022 9 commits
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 7a68065e
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "A set of fixes. Most address the new warning we emit at build time
        when irq chips are not immutable with some additional tweaks to
        gpio-crystalcove from Andy and a small tweak to gpio-dwapd.
      
         - make irq_chip structs immutable in several Diolan and intel drivers
           to get rid of the new warning we emit when fiddling with irq chips
      
         - don't print error messages on probe deferral in gpio-dwapb"
      
      * tag 'gpio-fixes-for-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: dwapb: Don't print error on -EPROBE_DEFER
        gpio: dln2: make irq_chip immutable
        gpio: sch: make irq_chip immutable
        gpio: merrifield: make irq_chip immutable
        gpio: wcove: make irq_chip immutable
        gpio: crystalcove: Join function declarations and long lines
        gpio: crystalcove: Use specific type and API for IRQ number
        gpio: crystalcove: make irq_chip immutable
      7a68065e
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · cecb3540
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Driver fixes and and one core patch.
      
        Nine of the driver patches are minor fixes and reworks to lpfc and the
        rest are trivial and minor fixes elsewhere"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: pmcraid: Fix missing resource cleanup in error case
        scsi: ipr: Fix missing/incorrect resource cleanup in error case
        scsi: mpt3sas: Fix out-of-bounds compiler warning
        scsi: lpfc: Update lpfc version to 14.2.0.4
        scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion
        scsi: lpfc: Add more logging of cmd and cqe information for aborted NVMe cmds
        scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
        scsi: lpfc: Resolve NULL ptr dereference after an ELS LOGO is aborted
        scsi: lpfc: Address NULL pointer dereference after starget_to_rport()
        scsi: lpfc: Resolve some cleanup issues following SLI path refactoring
        scsi: lpfc: Resolve some cleanup issues following abort path refactoring
        scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_event()
        scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
        scsi: sd: Fix interpretation of VPD B9h length
      cecb3540
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · abe71eb3
      Linus Torvalds authored
      Pull virtio fixes from Michael Tsirkin:
       "Fixes all over the place, most notably fixes for latent bugs in
        drivers that got exposed by suppressing interrupts before DRIVER_OK,
        which in turn has been done by 8b4ec69d ("virtio: harden vring
        IRQ")"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        um: virt-pci: set device ready in probe()
        vdpa: make get_vq_group and set_group_asid optional
        virtio: Fix all occurences of the "the the" typo
        vduse: Fix NULL pointer dereference on sysfs access
        vringh: Fix loop descriptors check in the indirect cases
        vdpa/mlx5: clean up indenting in handle_ctrl_vlan()
        vdpa/mlx5: fix error code for deleting vlan
        virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
        vdpa/mlx5: Fix syntax errors in comments
        virtio-rng: make device ready before making request
      abe71eb3
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-5.19-1' of... · 0678afa6
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen.
       "Fix build errors and a stale comment"
      
      * tag 'loongarch-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: Remove MIPS comment about cycle counter
        LoongArch: Fix copy_thread() build errors
        LoongArch: Fix the !CONFIG_SMP build
      0678afa6
    • Linus Torvalds's avatar
      iov_iter: fix build issue due to possible type mis-match · 1c27f1fc
      Linus Torvalds authored
      Commit 6c776766 ("iov_iter: Fix iter_xarray_get_pages{,_alloc}()")
      introduced a problem on some 32-bit architectures (at least arm, xtensa,
      csky,sparc and mips), that have a 'size_t' that is 'unsigned int'.
      
      The reason is that we now do
      
          min(nr * PAGE_SIZE - offset, maxsize);
      
      where 'nr' and 'offset' and both 'unsigned int', and PAGE_SIZE is
      'unsigned long'.  As a result, the normal C type rules means that the
      first argument to 'min()' ends up being 'unsigned long'.
      
      In contrast, 'maxsize' is of type 'size_t'.
      
      Now, 'size_t' and 'unsigned long' are always the same physical type in
      the kernel, so you'd think this doesn't matter, and from an actual
      arithmetic standpoint it doesn't.
      
      But on 32-bit architectures 'size_t' is commonly 'unsigned int', even if
      it could also be 'unsigned long'.  In that situation, both are unsigned
      32-bit types, but they are not the *same* type.
      
      And as a result 'min()' will complain about the distinct types (ignore
      the "pointer types" part of the error message: that's an artifact of the
      way we have made 'min()' check types for being the same):
      
        lib/iov_iter.c: In function 'iter_xarray_get_pages':
        include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast [-Werror]
           20 |         (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
              |                                   ^~
        lib/iov_iter.c:1464:16: note: in expansion of macro 'min'
         1464 |         return min(nr * PAGE_SIZE - offset, maxsize);
              |                ^~~
      
      This was not visible on 64-bit architectures (where we always define
      'size_t' to be 'unsigned long').
      
      Force these cases to use 'min_t(size_t, x, y)' to make the type explicit
      and avoid the issue.
      
      [ Nit-picky note: technically 'size_t' doesn't have to match 'unsigned
        long' arithmetically. We've certainly historically seen environments
        with 16-bit address spaces and 32-bit 'unsigned long'.
      
        Similarly, even in 64-bit modern environments, 'size_t' could be its
        own type distinct from 'unsigned long', even if it were arithmetically
        identical.
      
        So the above type commentary is only really descriptive of the kernel
        environment, not some kind of universal truth for the kinds of wild
        and crazy situations that are allowed by the C standard ]
      Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Link: https://lore.kernel.org/all/YqRyL2sIqQNDfky2@debian/
      Cc: Jeff Layton <jlayton@kernel.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c27f1fc
    • Jason A. Donenfeld's avatar
      wireguard: selftests: use maximum cpu features and allow rng seeding · 17b0128a
      Jason A. Donenfeld authored
      By forcing the maximum CPU that QEMU has available, we expose additional
      capabilities, such as the RNDR instruction, which increases test
      coverage. This then allows the CI to skip the fake seeding step in some
      cases. Also enable STRICT_KERNEL_RWX to catch issues related to early
      jump labels when the RNG is initialized at boot.
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      17b0128a
    • Kuan-Ying Lee's avatar
      scripts/gdb: change kernel config dumping method · 1f7a6cf6
      Kuan-Ying Lee authored
      MAGIC_START("IKCFG_ST") and MAGIC_END("IKCFG_ED") are moved out
      from the kernel_config_data variable.
      
      Thus, we parse kernel_config_data directly instead of considering
      offset of MAGIC_START and MAGIC_END.
      
      Fixes: 13610aa9 ("kernel/configs: use .incbin directive to embed config_data.gz")
      Signed-off-by: default avatarKuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      1f7a6cf6
    • Vincent Whitchurch's avatar
      um: virt-pci: set device ready in probe() · eacea844
      Vincent Whitchurch authored
      Call virtio_device_ready() to make this driver work after commit
      b4ec69d7e09 ("virtio: harden vring IRQ"), since the driver uses the
      virtqueues in the probe function.  (The virtio core sets the device
      ready when probe returns.)
      
      Fixes: 8b4ec69d ("virtio: harden vring IRQ")
      Fixes: 68f5d3f3 ("um: add PCI over virtio emulation driver")
      Signed-off-by: default avatarVincent Whitchurch <vincent.whitchurch@axis.com>
      Message-Id: <20220610151203.3492541-1-vincent.whitchurch@axis.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Tested-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      eacea844
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 0885eacd
      Linus Torvalds authored
      Pull nfsd fixes from Chuck Lever:
       "Notable changes:
      
         - There is now a backup maintainer for NFSD
      
        Notable fixes:
      
         - Prevent array overruns in svc_rdma_build_writes()
      
         - Prevent buffer overruns when encoding NFSv3 READDIR results
      
         - Fix a potential UAF in nfsd_file_put()"
      
      * tag 'nfsd-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        SUNRPC: Remove pointer type casts from xdr_get_next_encode_buffer()
        SUNRPC: Clean up xdr_get_next_encode_buffer()
        SUNRPC: Clean up xdr_commit_encode()
        SUNRPC: Optimize xdr_reserve_space()
        SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()
        SUNRPC: Trap RDMA segment overflows
        NFSD: Fix potential use-after-free in nfsd_file_put()
        MAINTAINERS: reciprocal co-maintainership for file locking and nfsd
      0885eacd