File s390-tools-sles15sp2-37-include-boot-s390.h-fixes-for-Werror-sign-conversion.patch of Package s390-tools.18357

Subject: [PATCH] [FEAT VS1804] include/boot/s390.h: fixes for -Werror=sign-conversion
From: Marc Hartmayer <mhartmay@linux.ibm.com>

Summary:     genprotimg: Introduce new tool for the creation of PV images
Description: genprotimg takes a kernel, host-key documents, optionally an
             initrd, optionally a file with the kernel command line, and it
             generates a single, loadable image file. The image consists of a
             concatenation of a plain text boot loader, the encrypted
             components for kernel, initrd, and cmdline, and the
             integrity-protected PV header, containing metadata necessary for
             running the guest in PV mode. It's possible to use this image file
             as a kernel for zIPL or for a direct kernel boot using QEMU.
Upstream-ID: 305235a7bce814f71ec113a612b6117c96894e23
Problem-ID:  VS1804

Upstream-Description:

             include/boot/s390.h: fixes for -Werror=sign-conversion

             Errors fixed:

             ../../include/boot/s390.h: In function '__stfle_asm':
             ../../include/boot/s390.h:424:41: error: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Werror=sign-conversion]
               register unsigned long reg0 asm("0") = size - 1;

             ../../include/boot/s390.h: In function 'stfle':
             ../../include/boot/s390.h:453:31: error: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Werror=sign-conversion]
                nr = MIN((nr + 1) * 8, size * 8UL);

             ../../include/boot/s390.h: In function 'diag308':
             ../../include/boot/s390.h:296:9: error: conversion from 'long unsigned int' to 'int' may change value [-Werror=conversion]
               return _rc;

             Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
             Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
             Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
             Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>


Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
---
 include/boot/s390.h |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/include/boot/s390.h
+++ b/include/boot/s390.h
@@ -269,7 +269,7 @@ enum diag308_subcode {
 	DIAG308_STORE	= 6,
 };
 
-static __always_inline int diag308(unsigned long subcode, void *addr)
+static __always_inline unsigned long diag308(unsigned long subcode, void *addr)
 {
 	register unsigned long _addr asm("0") = (unsigned long) addr;
 	register unsigned long _rc asm("1") = 0;
@@ -403,7 +403,7 @@ static __always_inline int test_facility
 	return __test_facility(nr, &S390_lowcore.stfle_fac_list);
 }
 
-static __always_inline unsigned long __stfle_asm(uint64_t *stfle_fac_list, int size)
+static __always_inline unsigned long __stfle_asm(uint64_t *stfle_fac_list, unsigned int size)
 {
 	register unsigned long reg0 asm("0") = size - 1;
 
@@ -420,7 +420,7 @@ static __always_inline unsigned long __s
  * @stfle_fac_list: array where facility list can be stored
  * @size: size of passed in array in double words
  */
-static __always_inline void stfle(uint64_t *stfle_fac_list, int size)
+static __always_inline void stfle(uint64_t *stfle_fac_list, unsigned int size)
 {
 	unsigned long nr;
 
openSUSE Build Service is sponsored by