Revert "s390/mem_detect: do not update output parameters on failure"
authorHeiko Carstens <hca@linux.ibm.com>
Wed, 8 Feb 2023 18:16:45 +0000 (19:16 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Thu, 9 Feb 2023 19:11:24 +0000 (20:11 +0100)
This reverts commit cbc29f107e51b1cc7d1e7b0bbe0691a1224205f1.

Get rid of the following smatch warnings:

arch/s390/include/asm/mem_detect.h:86 get_mem_detect_end() error: uninitialized symbol 'end'.
arch/s390/include/asm/mem_detect.h:86 get_mem_detect_end() error: uninitialized symbol 'end'.
arch/s390/boot/vmem.c:256 setup_vmem() error: uninitialized symbol 'start'.
arch/s390/boot/vmem.c:258 setup_vmem() error: uninitialized symbol 'end'.

Note that there is no bug in the code. This is purely to silence smatch.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/mem_detect.h

index 08798dd..decd8c4 100644 (file)
@@ -40,8 +40,11 @@ void add_mem_detect_block(u64 start, u64 end);
 static inline int __get_mem_detect_block(u32 n, unsigned long *start,
                                         unsigned long *end)
 {
-       if (n >= mem_detect.count)
+       if (n >= mem_detect.count) {
+               *start = 0;
+               *end = 0;
                return -1;
+       }
 
        if (n < MEM_INLINED_ENTRIES) {
                *start = (unsigned long)mem_detect.entries[n].start;