--- /dev/null
+From 717e88aad37befedfd531378b632e794e24e9afb Mon Sep 17 00:00:00 2001
+From: Joerg Roedel <jroedel@suse.de>
+Date: Tue, 23 Nov 2021 11:55:07 +0100
+Subject: iommu/amd: Clarify AMD IOMMUv2 initialization messages
+
+From: Joerg Roedel <jroedel@suse.de>
+
+commit 717e88aad37befedfd531378b632e794e24e9afb upstream.
+
+The messages printed on the initialization of the AMD IOMMUv2 driver
+have caused some confusion in the past. Clarify the messages to lower
+the confusion in the future.
+
+Cc: stable@vger.kernel.org
+Signed-off-by: Joerg Roedel <jroedel@suse.de>
+Link: https://lore.kernel.org/r/20211123105507.7654-3-joro@8bytes.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/iommu/amd/iommu_v2.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/iommu/amd/iommu_v2.c
++++ b/drivers/iommu/amd/iommu_v2.c
+@@ -928,10 +928,8 @@ static int __init amd_iommu_v2_init(void
+ {
+ int ret;
+
+- pr_info("AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>\n");
+-
+ if (!amd_iommu_v2_supported()) {
+- pr_info("AMD IOMMUv2 functionality not available on this system\n");
++ pr_info("AMD IOMMUv2 functionality not available on this system - This is not a bug.\n");
+ /*
+ * Load anyway to provide the symbols to other modules
+ * which may use AMD IOMMUv2 optionally.
+@@ -946,6 +944,8 @@ static int __init amd_iommu_v2_init(void
+
+ amd_iommu_register_ppr_notifier(&ppr_nb);
+
++ pr_info("AMD IOMMUv2 loaded and initialized\n");
++
+ return 0;
+
+ out:
riscv-dts-microchip-drop-duplicated-mmc-sdhc-node.patch
cifs-nosharesock-should-not-share-socket-with-future.patch
ceph-properly-handle-statfs-on-multifs-setups.patch
+iommu-amd-clarify-amd-iommuv2-initialization-messages.patch
+vdpa_sim-avoid-putting-an-uninitialized-iova_domain.patch
+vhost-vsock-fix-incorrect-used-length-reported-to-the-guest.patch
--- /dev/null
+From bb93ce4b150dde79f58e34103cbd1fe829796649 Mon Sep 17 00:00:00 2001
+From: Longpeng <longpeng2@huawei.com>
+Date: Wed, 24 Nov 2021 09:52:15 +0800
+Subject: vdpa_sim: avoid putting an uninitialized iova_domain
+
+From: Longpeng <longpeng2@huawei.com>
+
+commit bb93ce4b150dde79f58e34103cbd1fe829796649 upstream.
+
+The system will crash if we put an uninitialized iova_domain, this
+could happen when an error occurs before initializing the iova_domain
+in vdpasim_create().
+
+BUG: kernel NULL pointer dereference, address: 0000000000000000
+...
+RIP: 0010:__cpuhp_state_remove_instance+0x96/0x1c0
+...
+Call Trace:
+ <TASK>
+ put_iova_domain+0x29/0x220
+ vdpasim_free+0xd1/0x120 [vdpa_sim]
+ vdpa_release_dev+0x21/0x40 [vdpa]
+ device_release+0x33/0x90
+ kobject_release+0x63/0x160
+ vdpasim_create+0x127/0x2a0 [vdpa_sim]
+ vdpasim_net_dev_add+0x7d/0xfe [vdpa_sim_net]
+ vdpa_nl_cmd_dev_add_set_doit+0xe1/0x1a0 [vdpa]
+ genl_family_rcv_msg_doit+0x112/0x140
+ genl_rcv_msg+0xdf/0x1d0
+ ...
+
+So we must make sure the iova_domain is already initialized before
+put it.
+
+In addition, we may get the following warning in this case:
+WARNING: ... drivers/iommu/iova.c:344 iova_cache_put+0x58/0x70
+
+So we must make sure the iova_cache_put() is invoked only if the
+iova_cache_get() is already invoked. Let's fix it together.
+
+Cc: stable@vger.kernel.org
+Fixes: 4080fc106750 ("vdpa_sim: use iova module to allocate IOVA addresses")
+Signed-off-by: Longpeng <longpeng2@huawei.com>
+Acked-by: Jason Wang <jasowang@redhat.com>
+Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
+Link: https://lore.kernel.org/r/20211124015215.119-1-longpeng2@huawei.com
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/vdpa/vdpa_sim/vdpa_sim.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/drivers/vdpa/vdpa_sim/vdpa_sim.c
++++ b/drivers/vdpa/vdpa_sim/vdpa_sim.c
+@@ -591,8 +591,11 @@ static void vdpasim_free(struct vdpa_dev
+ vringh_kiov_cleanup(&vdpasim->vqs[i].in_iov);
+ }
+
+- put_iova_domain(&vdpasim->iova);
+- iova_cache_put();
++ if (vdpa_get_dma_dev(vdpa)) {
++ put_iova_domain(&vdpasim->iova);
++ iova_cache_put();
++ }
++
+ kvfree(vdpasim->buffer);
+ if (vdpasim->iommu)
+ vhost_iotlb_free(vdpasim->iommu);
--- /dev/null
+From 49d8c5ffad07ca014cfae72a1b9b8c52b6ad9cb8 Mon Sep 17 00:00:00 2001
+From: Stefano Garzarella <sgarzare@redhat.com>
+Date: Mon, 22 Nov 2021 17:35:24 +0100
+Subject: vhost/vsock: fix incorrect used length reported to the guest
+
+From: Stefano Garzarella <sgarzare@redhat.com>
+
+commit 49d8c5ffad07ca014cfae72a1b9b8c52b6ad9cb8 upstream.
+
+The "used length" reported by calling vhost_add_used() must be the
+number of bytes written by the device (using "in" buffers).
+
+In vhost_vsock_handle_tx_kick() the device only reads the guest
+buffers (they are all "out" buffers), without writing anything,
+so we must pass 0 as "used length" to comply virtio spec.
+
+Fixes: 433fc58e6bf2 ("VSOCK: Introduce vhost_vsock.ko")
+Cc: stable@vger.kernel.org
+Reported-by: Halil Pasic <pasic@linux.ibm.com>
+Suggested-by: Jason Wang <jasowang@redhat.com>
+Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
+Link: https://lore.kernel.org/r/20211122163525.294024-2-sgarzare@redhat.com
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/vhost/vsock.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/vhost/vsock.c
++++ b/drivers/vhost/vsock.c
+@@ -554,7 +554,7 @@ static void vhost_vsock_handle_tx_kick(s
+ virtio_transport_free_pkt(pkt);
+
+ len += sizeof(pkt->hdr);
+- vhost_add_used(vq, head, len);
++ vhost_add_used(vq, head, 0);
+ total_len += len;
+ added = true;
+ } while(likely(!vhost_exceeds_weight(vq, ++pkts, total_len)));