s390/boot: do not check for zero-termination relocation entry
authorAlexander Gordeev <agordeev@linux.ibm.com>
Wed, 21 Feb 2024 12:41:45 +0000 (13:41 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 26 Feb 2024 09:25:09 +0000 (10:25 +0100)
The relocation table is not expected to contain a zero-termination
entry. The existing check is likely a left-over from similar x86
code that uses zero-entries as delimiters. s390 does not have ones
and therefore the check could be avoided.

Suggested-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/boot/startup.c

index d6709fd80fef1110ed3d142b811333b98b45dcf5..c09797ac820f4d164db128c7e8778d07c51acc61 100644 (file)
@@ -200,9 +200,7 @@ static void kaslr_adjust_relocs(unsigned long min_addr, unsigned long max_addr,
        long loc;
 
        /* Adjust R_390_64 relocations */
-       for (reloc = vmlinux_relocs_64_start;
-               reloc < vmlinux_relocs_64_end && *reloc;
-               reloc++) {
+       for (reloc = vmlinux_relocs_64_start; reloc < vmlinux_relocs_64_end; reloc++) {
                loc = (long)*reloc + offset;
                if (loc < min_addr || loc > max_addr)
                        error("64-bit relocation outside of kernel!\n");