Merge tag 's390-6.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Heiko Carstens:

- Add $(DISABLE_KSTACK_ERASE) to vdso compile flags to fix compile
errors with old gcc versions

- Fix path to s390 chacha implementation in vdso selftests, after
vdso64 has been renamed to vdso

- Fix off-by-one bug in APQN limit calculation

- Discard .modinfo section from decompressor image to fix SecureBoot

* tag 's390-6.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390/boot/vmlinux.lds.S: Ensure bzImage ends with SecureBoot trailer
s390/ap: Fix wrong APQN fill calculation
selftests: vDSO: getrandom: Fix path to s390 chacha implementation
s390/vdso: Disable kstack erase

+13 -12
+9 -8
arch/s390/boot/vmlinux.lds.S
··· 137 137 } 138 138 _end = .; 139 139 140 + /* Sections to be discarded */ 141 + /DISCARD/ : { 142 + COMMON_DISCARDS 143 + *(.eh_frame) 144 + *(*__ksymtab*) 145 + *(___kcrctab*) 146 + *(.modinfo) 147 + } 148 + 140 149 DWARF_DEBUG 141 150 ELF_DETAILS 142 151 ··· 170 161 *(.rela.*) *(.rela_*) 171 162 } 172 163 ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!") 173 - 174 - /* Sections to be discarded */ 175 - /DISCARD/ : { 176 - COMMON_DISCARDS 177 - *(.eh_frame) 178 - *(*__ksymtab*) 179 - *(___kcrctab*) 180 - } 181 164 }
+1 -1
arch/s390/kernel/vdso/Makefile
··· 28 28 KBUILD_CFLAGS_VDSO := $(filter-out -munaligned-symbols,$(KBUILD_CFLAGS_VDSO)) 29 29 KBUILD_CFLAGS_VDSO := $(filter-out -fno-asynchronous-unwind-tables,$(KBUILD_CFLAGS_VDSO)) 30 30 KBUILD_CFLAGS_VDSO += -fPIC -fno-common -fno-builtin -fasynchronous-unwind-tables 31 - KBUILD_CFLAGS_VDSO += -fno-stack-protector 31 + KBUILD_CFLAGS_VDSO += -fno-stack-protector $(DISABLE_KSTACK_ERASE) 32 32 ldflags-y := -shared -soname=linux-vdso.so.1 \ 33 33 --hash-style=both --build-id=sha1 -T 34 34
+1 -1
drivers/s390/crypto/ap_card.c
··· 43 43 { 44 44 struct ap_card *ac = to_ap_card(dev); 45 45 46 - return sysfs_emit(buf, "%d\n", ac->hwinfo.qd); 46 + return sysfs_emit(buf, "%d\n", ac->hwinfo.qd + 1); 47 47 } 48 48 49 49 static DEVICE_ATTR_RO(depth);
+1 -1
drivers/s390/crypto/ap_queue.c
··· 285 285 list_move_tail(&ap_msg->list, &aq->pendingq); 286 286 aq->requestq_count--; 287 287 aq->pendingq_count++; 288 - if (aq->queue_count < aq->card->hwinfo.qd) { 288 + if (aq->queue_count < aq->card->hwinfo.qd + 1) { 289 289 aq->sm_state = AP_SM_STATE_WORKING; 290 290 return AP_SM_WAIT_AGAIN; 291 291 }
+1 -1
tools/testing/selftests/vDSO/vgetrandom-chacha.S
··· 14 14 #elif defined(__riscv) && __riscv_xlen == 64 15 15 #include "../../../../arch/riscv/kernel/vdso/vgetrandom-chacha.S" 16 16 #elif defined(__s390x__) 17 - #include "../../../../arch/s390/kernel/vdso64/vgetrandom-chacha.S" 17 + #include "../../../../arch/s390/kernel/vdso/vgetrandom-chacha.S" 18 18 #elif defined(__x86_64__) 19 19 #include "../../../../arch/x86/entry/vdso/vgetrandom-chacha.S" 20 20 #endif