Hi, I'm observing the wrong memory page being passed to the xenbus_grant_ring() call. This happens when I'm using Xen TPM frontend driver (xen-tpmfront.c) on arm64 platform. Interestingly, the driver code works fine on x86 platform. Also, writing to this shared page from the DomB (grantee) crashes the DomA (grantor). In order to make it working on arm64 I had to apply the following patch: --- ref/drivers/char/tpm/xen-tpmfront.c 2017-12-06 09:38:05.000000000 -0500 +++ new/drivers/char/tpm/xen-tpmfront_fixed.c 2018-01-30 13:22:15.369402054 -0500 @@ -203,7 +203,7 @@ return -ENOMEM; } - rv = xenbus_grant_ring(dev, &priv->shr, 1, &gref); + rv = xenbus_grant_ring(dev, priv->shr, 1, &gref); if (rv < 0) return rv; Any suggestions how to fix it properly for arm64? Please let me know what other information should I provide. Regards, Krzysztof Kepa