diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2022-10-03 15:33:43 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-10-03 15:33:43 -0400 |
commit | e18d6152ff0f41b7f01f9817372022df04e0d354 (patch) | |
tree | 9ddc6841785bb3349933c6d832e722ba91cea131 /drivers/xen/xenbus/xenbus_client.c | |
parent | fe4d9e4abf622598bd199d0805d20afa12f70c92 (diff) | |
parent | b60ca69715fcc39a5f4bdd56ca2ea691b7358455 (diff) | |
download | linux-stable-e18d6152ff0f41b7f01f9817372022df04e0d354.tar.gz linux-stable-e18d6152ff0f41b7f01f9817372022df04e0d354.tar.bz2 linux-stable-e18d6152ff0f41b7f01f9817372022df04e0d354.zip |
Merge tag 'kvm-riscv-6.1-1' of https://github.com/kvm-riscv/linux into HEAD
KVM/riscv changes for 6.1
- Improved instruction encoding infrastructure for
instructions not yet supported by binutils
- Svinval support for both KVM Host and KVM Guest
- Zihintpause support for KVM Guest
- Zicbom support for KVM Guest
- Record number of signal exits as a VCPU stat
- Use generic guest entry infrastructure
Diffstat (limited to 'drivers/xen/xenbus/xenbus_client.c')
-rw-r--r-- | drivers/xen/xenbus/xenbus_client.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/xen/xenbus/xenbus_client.c b/drivers/xen/xenbus/xenbus_client.c index d5f3f763717e..d4b251925796 100644 --- a/drivers/xen/xenbus/xenbus_client.c +++ b/drivers/xen/xenbus/xenbus_client.c @@ -382,9 +382,10 @@ int xenbus_setup_ring(struct xenbus_device *dev, gfp_t gfp, void **vaddr, unsigned long ring_size = nr_pages * XEN_PAGE_SIZE; grant_ref_t gref_head; unsigned int i; + void *addr; int ret; - *vaddr = alloc_pages_exact(ring_size, gfp | __GFP_ZERO); + addr = *vaddr = alloc_pages_exact(ring_size, gfp | __GFP_ZERO); if (!*vaddr) { ret = -ENOMEM; goto err; @@ -401,13 +402,15 @@ int xenbus_setup_ring(struct xenbus_device *dev, gfp_t gfp, void **vaddr, unsigned long gfn; if (is_vmalloc_addr(*vaddr)) - gfn = pfn_to_gfn(vmalloc_to_pfn(vaddr[i])); + gfn = pfn_to_gfn(vmalloc_to_pfn(addr)); else - gfn = virt_to_gfn(vaddr[i]); + gfn = virt_to_gfn(addr); grefs[i] = gnttab_claim_grant_reference(&gref_head); gnttab_grant_foreign_access_ref(grefs[i], dev->otherend_id, gfn, 0); + + addr += XEN_PAGE_SIZE; } return 0; |