s390/ptrace: always include vector registers in core files
[deliverable/linux.git] / arch / s390 / kernel / ptrace.c
index 9eed6bb5c4a9931fbece1e06460b0e7a031df6fc..eabfb4594517cd1b3d02bad65c6bc5ac79dcdace 100644 (file)
@@ -1091,12 +1091,6 @@ static int s390_tdb_set(struct task_struct *target,
        return 0;
 }
 
-static int s390_vxrs_active(struct task_struct *target,
-                             const struct user_regset *regset)
-{
-       return !!target->thread.vxrs;
-}
-
 static int s390_vxrs_low_get(struct task_struct *target,
                             const struct user_regset *regset,
                             unsigned int pos, unsigned int count,
@@ -1105,6 +1099,8 @@ static int s390_vxrs_low_get(struct task_struct *target,
        __u64 vxrs[__NUM_VXRS_LOW];
        int i;
 
+       if (!MACHINE_HAS_VX)
+               return -ENODEV;
        if (target->thread.vxrs) {
                if (target == current)
                        save_vx_regs(target->thread.vxrs);
@@ -1123,6 +1119,8 @@ static int s390_vxrs_low_set(struct task_struct *target,
        __u64 vxrs[__NUM_VXRS_LOW];
        int i, rc;
 
+       if (!MACHINE_HAS_VX)
+               return -ENODEV;
        if (!target->thread.vxrs) {
                rc = alloc_vector_registers(target);
                if (rc)
@@ -1148,6 +1146,8 @@ static int s390_vxrs_high_get(struct task_struct *target,
 {
        __vector128 vxrs[__NUM_VXRS_HIGH];
 
+       if (!MACHINE_HAS_VX)
+               return -ENODEV;
        if (target->thread.vxrs) {
                if (target == current)
                        save_vx_regs(target->thread.vxrs);
@@ -1165,6 +1165,8 @@ static int s390_vxrs_high_set(struct task_struct *target,
 {
        int rc;
 
+       if (!MACHINE_HAS_VX)
+               return -ENODEV;
        if (!target->thread.vxrs) {
                rc = alloc_vector_registers(target);
                if (rc)
@@ -1249,7 +1251,6 @@ static const struct user_regset s390_regsets[] = {
                .n = __NUM_VXRS_LOW,
                .size = sizeof(__u64),
                .align = sizeof(__u64),
-               .active = s390_vxrs_active,
                .get = s390_vxrs_low_get,
                .set = s390_vxrs_low_set,
        },
@@ -1258,7 +1259,6 @@ static const struct user_regset s390_regsets[] = {
                .n = __NUM_VXRS_HIGH,
                .size = sizeof(__vector128),
                .align = sizeof(__vector128),
-               .active = s390_vxrs_active,
                .get = s390_vxrs_high_get,
                .set = s390_vxrs_high_set,
        },
@@ -1472,7 +1472,6 @@ static const struct user_regset s390_compat_regsets[] = {
                .n = __NUM_VXRS_LOW,
                .size = sizeof(__u64),
                .align = sizeof(__u64),
-               .active = s390_vxrs_active,
                .get = s390_vxrs_low_get,
                .set = s390_vxrs_low_set,
        },
@@ -1481,7 +1480,6 @@ static const struct user_regset s390_compat_regsets[] = {
                .n = __NUM_VXRS_HIGH,
                .size = sizeof(__vector128),
                .align = sizeof(__vector128),
-               .active = s390_vxrs_active,
                .get = s390_vxrs_high_get,
                .set = s390_vxrs_high_set,
        },
This page took 0.027611 seconds and 5 git commands to generate.