Skip to content

Commit 67ce50c

Browse files
gerald-schaeferhcahca
authored andcommitted
s390/monreader: fix virtual vs physical address confusion
Fix virtual vs physical address confusion (which currently are the same). Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
1 parent e5b7ca0 commit 67ce50c

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

drivers/s390/char/monreader.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ static inline unsigned long mon_mca_end(struct mon_msg *monmsg)
111111

112112
static inline u8 mon_mca_type(struct mon_msg *monmsg, u8 index)
113113
{
114-
return *((u8 *) mon_mca_start(monmsg) + monmsg->mca_offset + index);
114+
return *((u8 *)__va(mon_mca_start(monmsg)) + monmsg->mca_offset + index);
115115
}
116116

117117
static inline u32 mon_mca_size(struct mon_msg *monmsg)
@@ -121,12 +121,12 @@ static inline u32 mon_mca_size(struct mon_msg *monmsg)
121121

122122
static inline u32 mon_rec_start(struct mon_msg *monmsg)
123123
{
124-
return *((u32 *) (mon_mca_start(monmsg) + monmsg->mca_offset + 4));
124+
return *((u32 *)(__va(mon_mca_start(monmsg)) + monmsg->mca_offset + 4));
125125
}
126126

127127
static inline u32 mon_rec_end(struct mon_msg *monmsg)
128128
{
129-
return *((u32 *) (mon_mca_start(monmsg) + monmsg->mca_offset + 8));
129+
return *((u32 *)(__va(mon_mca_start(monmsg)) + monmsg->mca_offset + 8));
130130
}
131131

132132
static int mon_check_mca(struct mon_msg *monmsg)
@@ -392,8 +392,7 @@ static ssize_t mon_read(struct file *filp, char __user *data,
392392
mce_start = mon_mca_start(monmsg) + monmsg->mca_offset;
393393
if ((monmsg->pos >= mce_start) && (monmsg->pos < mce_start + 12)) {
394394
count = min(count, (size_t) mce_start + 12 - monmsg->pos);
395-
ret = copy_to_user(data, (void *) (unsigned long) monmsg->pos,
396-
count);
395+
ret = copy_to_user(data, __va(monmsg->pos), count);
397396
if (ret)
398397
return -EFAULT;
399398
monmsg->pos += count;
@@ -406,8 +405,7 @@ static ssize_t mon_read(struct file *filp, char __user *data,
406405
if (monmsg->pos <= mon_rec_end(monmsg)) {
407406
count = min(count, (size_t) mon_rec_end(monmsg) - monmsg->pos
408407
+ 1);
409-
ret = copy_to_user(data, (void *) (unsigned long) monmsg->pos,
410-
count);
408+
ret = copy_to_user(data, __va(monmsg->pos), count);
411409
if (ret)
412410
return -EFAULT;
413411
monmsg->pos += count;

0 commit comments

Comments
 (0)