From: Alexander Gordeev Date: Wed, 26 Jan 2022 12:47:58 +0000 (+0100) Subject: s390/sclp_sdias: fix sclp_sdias_copy() virtual vs physical address confusion X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=628c66942e233d73def54fa458641cfc96be6660;p=linux.git s390/sclp_sdias: fix sclp_sdias_copy() virtual vs physical address confusion Due to historical reasons sclp_sdias_copy() misuses the notion of physical vs virtual addresses difference. Note: this does not fix a bug currently, since virtual and physical addresses are identical. Reviewed-by: Heiko Carstens Signed-off-by: Alexander Gordeev Signed-off-by: Vasily Gorbik --- diff --git a/drivers/s390/char/sclp_sdias.c b/drivers/s390/char/sclp_sdias.c index 215d4b4a5ff53..e915a343fcf52 100644 --- a/drivers/s390/char/sclp_sdias.c +++ b/drivers/s390/char/sclp_sdias.c @@ -184,7 +184,7 @@ int sclp_sdias_copy(void *dest, int start_blk, int nr_blks) sccb->evbuf.asa_size = SDIAS_ASA_SIZE_64; sccb->evbuf.event_status = 0; sccb->evbuf.blk_cnt = nr_blks; - sccb->evbuf.asa = (unsigned long)dest; + sccb->evbuf.asa = __pa(dest); sccb->evbuf.fbn = start_blk; sccb->evbuf.lbn = 0; sccb->evbuf.dbs = 1;