zipl/src: Don't modify job->data.dump and job->data.mvdump sequentially

Set job->data.dump.no_compress (job->data.mvdump.force) only after
making sure that the job is 'dump' ('mvdump') respectively. Othrewise,
the second assignment can potentially corrupt the value that was set by
the first assignment.

Reviewed-by: Mikhail Zaslonko <zaslonko@linux.ibm.com>
Signed-off-by: Eduard Shishkin <edward6@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Eduard Shishkin
2026-04-24 14:26:45 +02:00
committed by Jan Höppner
parent d6c2bac99f
commit d1ab6be082
2 changed files with 6 additions and 2 deletions

View File

@@ -160,6 +160,8 @@ struct job_data {
int command_line;
int is_secure;
int is_ldipl_dump;
int no_compress;
int force;
};
static inline struct target *target_at(struct job_target_data *data,

View File

@@ -1548,6 +1548,7 @@ get_job_from_section_data(char* data[], struct job_data* job, char* section)
}
else
job->data.dump.mem = -1LL;
job->data.dump.no_compress = job->no_compress;
break;
case section_mvdump:
/* DUMP TO MULTI-VOLUME job */
@@ -1570,6 +1571,7 @@ get_job_from_section_data(char* data[], struct job_data* job, char* section)
(1024LL * 1024LL));
} else
job->data.mvdump.mem = -1LL;
job->data.mvdump.force = job->force;
break;
default:
/* Should not happen */
@@ -2021,8 +2023,8 @@ job_get(int argc, char* argv[], struct job_data** data)
job->noninteractive = cmdline.noninteractive;
job->verbose = cmdline.verbose;
job->add_files = cmdline.add_files;
job->data.dump.no_compress = cmdline.no_compress;
job->data.mvdump.force = cmdline.force;
job->no_compress = cmdline.no_compress;
job->force = cmdline.force;
job->dry_run = cmdline.dry_run;
job->is_secure = SECURE_BOOT_UNDEFINED;
job->is_ldipl_dump = cmdline.is_ldipl_dump;