Commit 3a622041 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
parents e85d3e9d ddc6cbef
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -137,6 +137,15 @@ SECTIONS
	}
	_end = .;

	/* Sections to be discarded */
	/DISCARD/ : {
		COMMON_DISCARDS
		*(.eh_frame)
		*(*__ksymtab*)
		*(___kcrctab*)
		*(.modinfo)
	}

	DWARF_DEBUG
	ELF_DETAILS

@@ -161,12 +170,4 @@ SECTIONS
		*(.rela.*) *(.rela_*)
	}
	ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")

	/* Sections to be discarded */
	/DISCARD/ : {
		COMMON_DISCARDS
		*(.eh_frame)
		*(*__ksymtab*)
		*(___kcrctab*)
	}
}
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ KBUILD_CFLAGS_VDSO := $(filter-out -mno-pic-data-is-text-relative,$(KBUILD_CFLAG
KBUILD_CFLAGS_VDSO := $(filter-out -munaligned-symbols,$(KBUILD_CFLAGS_VDSO))
KBUILD_CFLAGS_VDSO := $(filter-out -fno-asynchronous-unwind-tables,$(KBUILD_CFLAGS_VDSO))
KBUILD_CFLAGS_VDSO += -fPIC -fno-common -fno-builtin -fasynchronous-unwind-tables
KBUILD_CFLAGS_VDSO += -fno-stack-protector
KBUILD_CFLAGS_VDSO += -fno-stack-protector $(DISABLE_KSTACK_ERASE)
ldflags-y := -shared -soname=linux-vdso.so.1 \
	     --hash-style=both --build-id=sha1 -T

+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ static ssize_t depth_show(struct device *dev, struct device_attribute *attr,
{
	struct ap_card *ac = to_ap_card(dev);

	return sysfs_emit(buf, "%d\n", ac->hwinfo.qd);
	return sysfs_emit(buf, "%d\n", ac->hwinfo.qd + 1);
}

static DEVICE_ATTR_RO(depth);
+1 −1
Original line number Diff line number Diff line
@@ -285,7 +285,7 @@ static enum ap_sm_wait ap_sm_write(struct ap_queue *aq)
		list_move_tail(&ap_msg->list, &aq->pendingq);
		aq->requestq_count--;
		aq->pendingq_count++;
		if (aq->queue_count < aq->card->hwinfo.qd) {
		if (aq->queue_count < aq->card->hwinfo.qd + 1) {
			aq->sm_state = AP_SM_STATE_WORKING;
			return AP_SM_WAIT_AGAIN;
		}
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
#elif defined(__riscv) && __riscv_xlen == 64
#include "../../../../arch/riscv/kernel/vdso/vgetrandom-chacha.S"
#elif defined(__s390x__)
#include "../../../../arch/s390/kernel/vdso64/vgetrandom-chacha.S"
#include "../../../../arch/s390/kernel/vdso/vgetrandom-chacha.S"
#elif defined(__x86_64__)
#include "../../../../arch/x86/entry/vdso/vgetrandom-chacha.S"
#endif