1. 22 Apr, 2022 1 commit
  2. 20 Apr, 2022 1 commit
  3. 07 Apr, 2022 1 commit
  4. 25 Mar, 2022 2 commits
    • Juergen Gross's avatar
      xen: fix is_xen_pmu() · de2ae403
      Juergen Gross authored
      is_xen_pmu() is taking the cpu number as parameter, but it is not using
      it. Instead it just tests whether the Xen PMU initialization on the
      current cpu did succeed. As this test is done by checking a percpu
      pointer, preemption needs to be disabled in order to avoid switching
      the cpu while doing the test. While resuming from suspend() this seems
      not to be the case:
      
      [   88.082751] ACPI: PM: Low-level resume complete
      [   88.087933] ACPI: EC: EC started
      [   88.091464] ACPI: PM: Restoring platform NVS memory
      [   88.097166] xen_acpi_processor: Uploading Xen processor PM info
      [   88.103850] Enabling non-boot CPUs ...
      [   88.108128] installing Xen timer for CPU 1
      [   88.112763] BUG: using smp_processor_id() in preemptible [00000000] code: systemd-sleep/7138
      [   88.122256] caller is is_xen_pmu+0x12/0x30
      [   88.126937] CPU: 0 PID: 7138 Comm: systemd-sleep Tainted: G        W         5.16.13-2.fc32.qubes.x86_64 #1
      [   88.137939] Hardware name: Star Labs StarBook/StarBook, BIOS 7.97 03/21/2022
      [   88.145930] Call Trace:
      [   88.148757]  <TASK>
      [   88.151193]  dump_stack_lvl+0x48/0x5e
      [   88.155381]  check_preemption_disabled+0xde/0xe0
      [   88.160641]  is_xen_pmu+0x12/0x30
      [   88.164441]  xen_smp_intr_init_pv+0x75/0x100
      
      Fix that by replacing is_xen_pmu() by a simple boolean variable which
      reflects the Xen PMU initialization state on cpu 0.
      
      Modify xen_pmu_init() to return early in case it is being called for a
      cpu other than cpu 0 and the boolean variable not being set.
      
      Fixes: bf6dfb15 ("xen/PMU: PMU emulation code")
      Reported-by: default avatarMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Link: https://lore.kernel.org/r/20220325142002.31789-1-jgross@suse.comSigned-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      de2ae403
    • Jakub Kądziołka's avatar
      xen: don't hang when resuming PCI device · ff32baa1
      Jakub Kądziołka authored
      If a xen domain with at least two VCPUs has a PCI device attached which
      enters the D3hot state during suspend, the kernel may hang while
      resuming, depending on the core on which an async resume task gets
      scheduled.
      
      The bug occurs because xen's do_suspend calls dpm_resume_start while
      only the timer of the boot CPU has been resumed (when xen_suspend called
      syscore_resume), before calling xen_arch_suspend to resume the timers of
      the other CPUs. This breaks pci_dev_d3_sleep.
      
      Thus this patch moves the call to xen_arch_resume before the call to
      dpm_resume_start, eliminating the hangs and restoring the stack-like
      structure of the suspend/restore procedure.
      Signed-off-by: default avatarJakub Kądziołka <niedzejkob@invisiblethingslab.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Link: https://lore.kernel.org/r/20220323012103.2537-1-niedzejkob@invisiblethingslab.comSigned-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      ff32baa1
  5. 16 Mar, 2022 3 commits
  6. 10 Mar, 2022 11 commits
  7. 09 Mar, 2022 7 commits
  8. 08 Mar, 2022 12 commits
  9. 07 Mar, 2022 2 commits
    • Linus Torvalds's avatar
      Merge tag 'mtd/fixes-for-5.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · ea4424be
      Linus Torvalds authored
      Pull MTD fix from Miquel Raynal:
       "As part of a previous changeset introducing support for the K3
        architecture, the OMAP_GPMC (a non visible symbol) got selected by the
        selection of MTD_NAND_OMAP2 instead of doing so from the architecture
        directly (like for the other users of these two drivers). Indeed, from
        a hardware perspective, the OMAP NAND controller needs the GPMC to
        work.
      
        This led to a robot error which got addressed in fix merge into -rc4.
        Unfortunately, the approach at this time still used "select" and lead
        to further build error reports (sparc64:allmodconfig).
      
        This time we switch to 'depends on' in order to prevent random
        misconfigurations. The different dependencies will however need a
        future cleanup"
      
      * tag 'mtd/fixes-for-5.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
        mtd: rawnand: omap2: Actually prevent invalid configuration and build error
      ea4424be
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 06be3029
      Linus Torvalds authored
      Pull virtio fixes from Michael Tsirkin:
       "Some last minute fixes that took a while to get ready. Not
        regressions, but they look safe and seem to be worth to have"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        tools/virtio: handle fallout from folio work
        tools/virtio: fix virtio_test execution
        vhost: remove avail_event arg from vhost_update_avail_event()
        virtio: drop default for virtio-mem
        vdpa: fix use-after-free on vp_vdpa_remove
        virtio-blk: Remove BUG_ON() in virtio_queue_rq()
        virtio-blk: Don't use MAX_DISCARD_SEGMENTS if max_discard_seg is zero
        vhost: fix hung thread due to erroneous iotlb entries
        vduse: Fix returning wrong type in vduse_domain_alloc_iova()
        vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command
        vdpa/mlx5: should verify CTRL_VQ feature exists for MQ
        vdpa: factor out vdpa_set_features_unlocked for vdpa internal use
        virtio_console: break out of buf poll on remove
        virtio: document virtio_reset_device
        virtio: acknowledge all features before access
        virtio: unexport virtio_finalize_features
      06be3029