Commit c4837ace authored by Thomas Richter's avatar Thomas Richter Committed by Greg Kroah-Hartman

perf: fix invalid bit in diagnostic entry

[ Upstream commit 3c0a83b1 ]

The s390 CPU measurement facility sampling mode supports basic entries
and diagnostic entries. Each entry has a valid bit to indicate the
status of the entry as valid or invalid.

This bit is bit 31 in the diagnostic entry, but the bit mask definition
refers to bit 30.

Fix this by making the reserved field one bit larger.

Fixes: 7e75fc3f ("s390/cpum_sf: Add raw data sampling to support the diagnostic-sampling function")
Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
Reviewed-by: default avatarHendrik Brueckner <brueckner@linux.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 36ba2c8f
...@@ -113,7 +113,7 @@ struct hws_basic_entry { ...@@ -113,7 +113,7 @@ struct hws_basic_entry {
struct hws_diag_entry { struct hws_diag_entry {
unsigned int def:16; /* 0-15 Data Entry Format */ unsigned int def:16; /* 0-15 Data Entry Format */
unsigned int R:14; /* 16-19 and 20-30 reserved */ unsigned int R:15; /* 16-19 and 20-30 reserved */
unsigned int I:1; /* 31 entry valid or invalid */ unsigned int I:1; /* 31 entry valid or invalid */
u8 data[]; /* Machine-dependent sample data */ u8 data[]; /* Machine-dependent sample data */
} __packed; } __packed;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment