aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/hypfs/hypfs_vm.c
diff options
context:
space:
mode:
authorVasily Gorbik <gor@linux.ibm.com>2022-01-20 16:23:19 +0100
committerVasily Gorbik <gor@linux.ibm.com>2022-01-26 18:42:39 +0100
commit663d34c8df98740f1e90241e78e456d00b3c6cad (patch)
tree13ea28d4760d676d9f42df1abd301e662c625f04 /arch/s390/hypfs/hypfs_vm.c
parents390: update defconfigs (diff)
downloadlinux-dev-663d34c8df98740f1e90241e78e456d00b3c6cad.tar.xz
linux-dev-663d34c8df98740f1e90241e78e456d00b3c6cad.zip
s390/hypfs: include z/VM guests with access control group set
Currently if z/VM guest is allowed to retrieve hypervisor performance data globally for all guests (privilege class B) the query is formed in a way to include all guests but the group name is left empty. This leads to that z/VM guests which have access control group set not being included in the results (even local vm). Change the query group identifier from empty to "any" to retrieve information about all guests from any groups (or without a group set). Cc: stable@vger.kernel.org Fixes: 31cb4bd31a48 ("[S390] Hypervisor filesystem (s390_hypfs) for z/VM") Reviewed-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to '')
-rw-r--r--arch/s390/hypfs/hypfs_vm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/s390/hypfs/hypfs_vm.c b/arch/s390/hypfs/hypfs_vm.c
index 33f973ff9744..e8f15dbb89d0 100644
--- a/arch/s390/hypfs/hypfs_vm.c
+++ b/arch/s390/hypfs/hypfs_vm.c
@@ -20,6 +20,7 @@
static char local_guest[] = " ";
static char all_guests[] = "* ";
+static char *all_groups = all_guests;
static char *guest_query;
struct diag2fc_data {
@@ -62,10 +63,11 @@ static int diag2fc(int size, char* query, void *addr)
memcpy(parm_list.userid, query, NAME_LEN);
ASCEBC(parm_list.userid, NAME_LEN);
- parm_list.addr = (unsigned long) addr ;
+ memcpy(parm_list.aci_grp, all_groups, NAME_LEN);
+ ASCEBC(parm_list.aci_grp, NAME_LEN);
+ parm_list.addr = (unsigned long)addr;
parm_list.size = size;
parm_list.fmt = 0x02;
- memset(parm_list.aci_grp, 0x40, NAME_LEN);
rc = -1;
diag_stat_inc(DIAG_STAT_X2FC);