diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2024-01-19 12:19:30 +0100 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2024-02-09 13:58:15 +0100 |
commit | 14edd0d73bfef320fd5be11495687ba537aa6341 (patch) | |
tree | 6f6f8e5532395d9abbd8d2e0217efc20c46383ed /drivers/s390/cio | |
parent | s390/cmf: remove unneeded DMA zone allocation (diff) | |
download | linux-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/s390/cio')
-rw-r--r-- | drivers/s390/cio/cmf.c | 3 |
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"); } |