diff --git a/s390-tools-02-zipl-src-fix-imprecise-check-that-file-is-on-specifi.patch b/s390-tools-02-zipl-src-fix-imprecise-check-that-file-is-on-specifi.patch new file mode 100644 index 0000000..bf9ce66 --- /dev/null +++ b/s390-tools-02-zipl-src-fix-imprecise-check-that-file-is-on-specifi.patch @@ -0,0 +1,63 @@ +From 592a016a1095fa9813f0bae8256433ba5af4ab9b Mon Sep 17 00:00:00 2001 +From: Eduard Shishkin +Date: Sat, 7 Dec 2024 12:48:12 +0100 +Subject: [PATCH s390-tools 2/2] zipl/src: fix imprecise check that file is on + specified device + +This fixes c0f02d2 + +The check that file is on specified disk is imprecise: In case when +target parameters are specified by user, the check compares a logical +device with a base disk, which is incorrect. + +The fixup makes the check compare base disks (a specified one with +the base disk determined by disk_get_info() procedure). + +Signed-off-by: Eduard Shishkin +--- + zipl/src/bootmap.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/zipl/src/bootmap.c b/zipl/src/bootmap.c +index 7d340156..880b93ce 100644 +--- a/zipl/src/bootmap.c ++++ b/zipl/src/bootmap.c +@@ -299,14 +299,15 @@ create_component_header(void* buffer, component_header_type type) + } + + /* +- * Not precise check that the file FILENAME locates on specified physical DISK. ++ * Not precise check that the file FILENAME locates on the physical ++ * disk specified by WHERE. + * + * Try to auto-detect parameters of the disk which the file locates on + * and compare found device-ID with DISK. + * Return 0, if auto-detection succeeded, and it is proven that the + * file does NOT locate on DISK. Otherwise, return 1. + */ +-static int file_is_on_disk(const char *filename, dev_t disk) ++static int file_is_on_disk(const char *filename, struct disk_info *where) + { + /* + * Retrieve info of the underlying disk without any user hints +@@ -331,7 +332,7 @@ static int file_is_on_disk(const char *filename, dev_t disk) + "Warning: Preparing a logical device for boot might fail\n"); + return 1; + } +- if (info->device != disk) { ++ if (info->basedisks[0] != where->basedisks[0]) { + disk_free_info(info); + return 0; + } +@@ -378,7 +379,7 @@ static int add_component_file_range(struct install_set *bis, + return -1; + } + } else { +- if (!file_is_on_disk(filename, bis->info->device)) { ++ if (!file_is_on_disk(filename, bis->info)) { + error_reason("File is not on target device"); + return -1; + } +-- +2.39.0 + diff --git a/s390-tools-2.35.0.tar.gz b/s390-tools-2.35.0.tar.gz deleted file mode 100644 index 99e5cfb..0000000 --- a/s390-tools-2.35.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b00d49d2fd649308ad385a80da4cfdfacc1fa642b6949431adf41689ac4848a -size 2125787 diff --git a/s390-tools-2.36.0.tar.gz b/s390-tools-2.36.0.tar.gz new file mode 100644 index 0000000..261eabe --- /dev/null +++ b/s390-tools-2.36.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53d5ee7adce0fe3f22a5e869f953cff3a655e8b13aff64b0998bce3e0e3c2a43 +size 2184500 diff --git a/s390-tools.changes b/s390-tools.changes index 518b996..0a3740a 100644 --- a/s390-tools.changes +++ b/s390-tools.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Mon Dec 9 09:49:52 UTC 2024 - Nikolay Gueorguiev + +- Upgrade s390-tools to version 2.36 (jsc#PED-10303, jsc#PED-9591) + * s390-tools: Define Rust MSRV as 1.75.0 + * Add new tools / libraries: + - cpacfinfo: Tool to provide CPACF information + - opticsmon: Tools to monitor optical modules for directly attached PCI based NICs + - pvimg: Rust rewrite of genprotimg + * Changes of existing tools: + - chpstat: Add data bandwidth utilization column + - chpstat: Add support for full CMCB + - chpstat: Add support for new CMG types + - dbginfo.sh: add overview commands and crypto update + - hyptop: Support for structured output (json, json-seq, csv) + - lszfcp: Add missing fallback marker for non-good fc_host port_state + - lszfcp: Improve speed with many SCSI devices + - pvattest: Add attestation policy check command + - zipl: Add support of partitions of mirror md-devices + * Bug Fixes: + - lszcrypt: Fix wrong state showing up for removed AP queue within SE guest + - lszfcp: Show device names line for zfcp_units without SCSI device +- Revendored vendor.tar.gz +- Applied additional patch (bsc#1233889, bsc#1233079) + * s390-tools-02-zipl-src-fix-imprecise-check-that-file-is-on-specifi.patch + ------------------------------------------------------------------- Thu Dec 5 15:13:49 UTC 2024 - Nikolay Gueorguiev diff --git a/s390-tools.spec b/s390-tools.spec index 74a8323..676fbe7 100644 --- a/s390-tools.spec +++ b/s390-tools.spec @@ -33,7 +33,7 @@ %endif Name: s390-tools -Version: 2.35.0 +Version: 2.36.0 Release: 0 Summary: S/390 tools like zipl and dasdfmt for s390x (plus selected tools for x86_64) License: MIT @@ -153,20 +153,23 @@ Patch910: s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.p Patch911: s390-tools-sles15sp5-remove-no-pie-link-arguments.patch Patch912: s390-tools-ALP-zdev-live.patch Patch913: s390-tools-sles15sp6-kdump-initrd-59-zfcp-compat-rules.patch -Patch914: s390-tools-slfo-01-parse-ipl-device-for-activation.patch -Patch915: s390-tools-01-zipl_helper.device-mapper-add-missed-step-in-logical.patch +Patch914: s390-tools-01-zipl_helper.device-mapper-add-missed-step-in-logical.patch +Patch915: s390-tools-02-zipl-src-fix-imprecise-check-that-file-is-on-specifi.patch +### +Patch920: s390-tools-slfo-01-parse-ipl-device-for-activation.patch ### BuildRequires: curl-devel BuildRequires: dracut BuildRequires: fuse3-devel -BuildRequires: gcc13 -BuildRequires: gcc13-c++ +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: gettext-tools BuildRequires: glib2-devel BuildRequires: glibc-devel-static BuildRequires: libcryptsetup-devel > 2.0.3 BuildRequires: libjson-c-devel +BuildRequires: libnl3-devel BuildRequires: libxml2-devel BuildRequires: mdevctl BuildRequires: ncurses-devel @@ -225,10 +228,9 @@ zipl - boot loader and dump DASD initializer zgetdump - tool to get linux system dumps from DASD - x86_64 -genprotimg - create a protected virtualization image +pvimg - create a protected virtualization image (genprotimg) pvattest - create, perform, and verify protected virtualization attestation measurements pvsecret - manage secrets for IBM Secure Execution guests. -pvapconfig - used to automatically set up the AP configuration within an IBM Secure Execution guest. Warning: There is an auxiliary data package - s390-tools-genprotimg-data. To install s390-tools properly, please use: @@ -351,11 +353,11 @@ BuildArch: noarch Requires(pre): filesystem %description genprotimg-data -The genprotimg allows preparing and analyzing boot images +The pvimg (genprotimg) allows preparing and analyzing boot images in the realm of IBM Secure Execution on a trusted environment, such as the laptop of an admin by limiting the build targets depending on the defined or detected host architecture. -This package provides auxiliary data used by genprotimg. +This package provides auxiliary data used by pvimg(genprotimg). ### *** s390x ************************************************************************* ### %ifarch s390x @@ -365,7 +367,7 @@ This package provides auxiliary data used by genprotimg. cp -vi %{SOURCE22} CAUTION -install -D -m 0644 %{SOURCE200} .cargo/config +install -D -m 0644 %{SOURCE200} .cargo/config.toml tar -xzf %{SOURCE201} %build @@ -382,11 +384,9 @@ export KERNELIMAGE_MAKEFLAGS="%%{?_smp_mflags}" DISTRELEASE=%{release} \ UDEVRUNDIR=/run/udev \ HAVE_CARGO=1 \ - HAVE_DRACUT=1 \ - CC=gcc-13 \ - CXX=g++-13 + HAVE_DRACUT=1 ### all -gcc-13 -static -o read_values ${OPT_FLAGS} %{SOURCE86} -lqc +gcc -static -o read_values ${OPT_FLAGS} %{SOURCE86} -lqc %install mkdir -p %{buildroot}/boot/zipl @@ -397,9 +397,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/zkey/repository SYSTEMDSYSTEMUNITDIR=%{_unitdir} \ UDEVRUNDIR=/run/udev \ HAVE_CARGO=1 \ - HAVE_DRACUT=1 \ - CC=gcc-13 \ - CXX=g++-13 + HAVE_DRACUT=1 ### all # The make install command puts things in /etc/sysconfig and not the @@ -721,7 +719,6 @@ done %dir %{_prefix}/lib/systemd/scripts %dir %{_datadir}/s390-tools %dir %{_datadir}/s390-tools/netboot -%dir %{_datadir}/s390-tools/genprotimg %dir %{_prefix}/lib/dracut/modules.d/95zdev %dir %{_prefix}/lib/dracut/modules.d/95zdev-kdump %dir %{_prefix}/lib/dracut/modules.d/96zdev-live @@ -744,8 +741,8 @@ done %dir /etc/mdevctl.d/scripts.d/callouts/ ### %exclude /lib/s390-tools/stage3.bin -%exclude %{_datadir}/s390-tools/genprotimg/stage3a.bin -%exclude %{_datadir}/s390-tools/genprotimg/stage3b_reloc.bin +%exclude %{_datadir}/s390-tools/pvimg/stage3a.bin +%exclude %{_datadir}/s390-tools/pvimg/stage3b_reloc.bin ### %files -n osasnmpd -f %{_builddir}/%{name}.osasnmp @@ -796,8 +793,9 @@ done ### genprotimg %files genprotimg-data /lib/s390-tools/stage3.bin -%{_datadir}/s390-tools/genprotimg/stage3a.bin -%{_datadir}/s390-tools/genprotimg/stage3b_reloc.bin +%dir %{_datadir}/s390-tools/pvimg +%{_datadir}/s390-tools/pvimg/stage3a.bin +%{_datadir}/s390-tools/pvimg/stage3b_reloc.bin ### _endif ### *** !s390x ************************************************************************* ### @@ -813,6 +811,7 @@ tar -xzf %{SOURCE201} %build export OPT_FLAGS="%{optflags}" export KERNELIMAGE_MAKEFLAGS="%%{?_smp_mflags}" + %make_build \ DISTRELEASE=%{release} \ UDEVRUNDIR=/run/udev \ @@ -820,6 +819,7 @@ export KERNELIMAGE_MAKEFLAGS="%%{?_smp_mflags}" HAVE_DRACUT=1 %install + %make_install \ DISTRELEASE=%{release} \ SYSTEMDSYSTEMUNITDIR=%{_unitdir} \ @@ -830,8 +830,8 @@ export KERNELIMAGE_MAKEFLAGS="%%{?_smp_mflags}" %files %{_prefix}/bin/* %dir %{_datadir}/s390-tools -%dir %{_datadir}/s390-tools/genprotimg -%{_datadir}/s390-tools/genprotimg/check_hostkeydoc +%dir %{_datadir}/s390-tools/pvimg +%{_datadir}/s390-tools/pvimg/check_hostkeydoc %{_mandir}/man1/* %endif diff --git a/vendor.tar.gz b/vendor.tar.gz index 4af5458..6fe4378 100644 --- a/vendor.tar.gz +++ b/vendor.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13ce3050d9af81c9d01c73fd54d4932bdcb1d7349336654880a4c9393863e899 -size 43462501 +oid sha256:f3de048bd3be1ca62aa8bb860fd4971e2f49d6fa4d1027f0b18ac4b11ebff28c +size 46338529