summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2024-01-19 12:19:30 +0100
committerHeiko Carstens <hca@linux.ibm.com>2024-02-09 13:58:15 +0100
commit14edd0d73bfef320fd5be11495687ba537aa6341 (patch)
tree6f6f8e5532395d9abbd8d2e0217efc20c46383ed /drivers
parents390/cmf: remove unneeded DMA zone allocation (diff)
downloadlinux-14edd0d73bfef320fd5be11495687ba537aa6341.tar.xz
linux-14edd0d73bfef320fd5be11495687ba537aa6341.zip
s390/cmf: fix virtual vs physical address confusion
The measurement block origin address is an absolute address; therefore add a missing virt_to_phys() translation to the cmf_activate() inline assembly. This doesn't fix a bug, since virtual and physical addresses are currently identical. Acked-by: Alexander Gordeev <agordeev@linux.ibm.com> Acked-by: Vineeth Vijayan <vneethv@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/s390/cio/cmf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/cio/cmf.c b/drivers/s390/cio/cmf.c
index 6a6e61ceb3c1..f80dc18e2a76 100644
--- a/drivers/s390/cio/cmf.c
+++ b/drivers/s390/cio/cmf.c
@@ -169,7 +169,8 @@ static inline void cmf_activate(void *area, unsigned int onoff)
" lgr 2,%[mbo]\n"
" schm\n"
:
- : [r1] "d" ((unsigned long)onoff), [mbo] "d" (area)
+ : [r1] "d" ((unsigned long)onoff),
+ [mbo] "d" (virt_to_phys(area))
: "1", "2");
}