From: Gerald Schaefer Date: Thu, 7 Mar 2024 11:27:02 +0000 (+0100) Subject: s390/dcssblk: fix virtual vs physical address confusion X-Git-Tag: v6.9-rc1~53^2~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a349be3ca4d670f1279bb16139d55e902e70789;p=thirdparty%2Fkernel%2Flinux.git s390/dcssblk: fix virtual vs physical address confusion Fix virtual vs physical address confusion. This does not fix a bug since virtual and physical address spaces are currently the same. dax_direct_access() should receive a virtual kernel address in kaddr. Reviewed-by: Heiko Carstens Acked-by: Alexander Gordeev Signed-off-by: Gerald Schaefer Signed-off-by: Heiko Carstens --- diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c index 9c8f529b827cb..cf108744d410b 100644 --- a/drivers/s390/block/dcssblk.c +++ b/drivers/s390/block/dcssblk.c @@ -919,7 +919,7 @@ __dcssblk_direct_access(struct dcssblk_dev_info *dev_info, pgoff_t pgoff, dev_sz = dev_info->end - dev_info->start + 1; if (kaddr) - *kaddr = (void *) dev_info->start + offset; + *kaddr = __va(dev_info->start + offset); if (pfn) *pfn = __pfn_to_pfn_t(PFN_DOWN(dev_info->start + offset), PFN_DEV|PFN_SPECIAL);