From: Linus Torvalds Date: Sat, 6 Nov 2021 21:48:06 +0000 (-0700) Subject: Merge tag 's390-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0b707e572a1955b892dfcb32e7b573fab78767d9;p=linux.git Merge tag 's390-5.16-1' of git://git./linux/kernel/git/s390/linux Pull s390 updates from Vasily Gorbik: - Add support for ftrace with direct call and ftrace direct call samples. - Add support for kernel command lines longer than current 896 bytes and make its length configurable. - Add support for BEAR enhancement facility to improve last breaking event instruction tracking. - Add kprobes sanity checks and testcases to prevent kprobe in the mid of an instruction. - Allow concurrent access to /dev/hwc for the CPUMF users. - Various ftrace / jump label improvements. - Convert unwinder tests to KUnit. - Add s390_iommu_aperture kernel parameter to tweak the limits on concurrently usable DMA mappings. - Add ap.useirq AP module option which can be used to disable interrupt use. - Add add_disk() error handling support to block device drivers. - Drop arch specific and use generic implementation of strlcpy and strrchr. - Several __pa/__va usages fixes. - Various cio, crypto, pci, kernel doc and other small fixes and improvements all over the code. [ Merge fixup as per https://lore.kernel.org/all/YXAqZ%2FEszRisunQw@osiris/ ] * tag 's390-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (63 commits) s390: make command line configurable s390: support command lines longer than 896 bytes s390/kexec_file: move kernel image size check s390/pci: add s390_iommu_aperture kernel parameter s390/spinlock: remove incorrect kernel doc indicator s390/string: use generic strlcpy s390/string: use generic strrchr s390/ap: function rework based on compiler warning s390/cio: make ccw_device_dma_* more robust s390/vfio-ap: s390/crypto: fix all kernel-doc warnings s390/hmcdrv: fix kernel doc comments s390/ap: new module option ap.useirq s390/cpumf: Allow multiple processes to access /dev/hwc s390/bitops: return true/false (not 1/0) from bool functions s390: add support for BEAR enhancement facility s390: introduce nospec_uses_trampoline() s390: rename last_break to pgm_last_break s390/ptrace: add last_break member to pt_regs s390/sclp: sort out physical vs virtual pointers usage s390/setup: convert start and end initrd pointers to virtual ... --- 0b707e572a1955b892dfcb32e7b573fab78767d9 diff --cc arch/s390/kernel/setup.c index 8a378d4262398,e738a45057aca..40405f2304f1b --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@@ -884,14 -878,12 +879,12 @@@ static void __init setup_randomness(voi { struct sysinfo_3_2_2 *vmms; - vmms = (struct sysinfo_3_2_2 *) memblock_phys_alloc(PAGE_SIZE, - PAGE_SIZE); + vmms = memblock_alloc(PAGE_SIZE, PAGE_SIZE); if (!vmms) panic("Failed to allocate memory for sysinfo structure\n"); - if (stsi(vmms, 3, 2, 2) == 0 && vmms->count) add_device_randomness(&vmms->vm, sizeof(vmms->vm[0]) * vmms->count); - memblock_phys_free((unsigned long)vmms, PAGE_SIZE); - memblock_free_ptr(vmms, PAGE_SIZE); ++ memblock_free(vmms, PAGE_SIZE); } /* diff --cc arch/x86/Kconfig index ed322ac003435,620fce152be99..95dd1ee01546a --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@@ -192,6 -190,7 +192,8 @@@ config X8 select HAVE_DYNAMIC_FTRACE_WITH_REGS select HAVE_DYNAMIC_FTRACE_WITH_ARGS if X86_64 select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS + select HAVE_SAMPLE_FTRACE_DIRECT if X86_64 ++ select HAVE_SAMPLE_FTRACE_MULTI_DIRECT if X86_64 select HAVE_EBPF_JIT select HAVE_EFFICIENT_UNALIGNED_ACCESS select HAVE_EISA diff --cc samples/Kconfig index b0503ef058d33,501f663091186..5518a3e62292d --- a/samples/Kconfig +++ b/samples/Kconfig @@@ -224,3 -224,6 +224,9 @@@ config SAMPLE_WATCH_QUEU sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function. endif # SAMPLES + + config HAVE_SAMPLE_FTRACE_DIRECT + bool ++ ++config HAVE_SAMPLE_FTRACE_MULTI_DIRECT ++ bool diff --cc samples/Makefile index 087e0988ccc56,087e0988ccc56..f06e599501937 --- a/samples/Makefile +++ b/samples/Makefile @@@ -21,6 -21,6 +21,7 @@@ subdir-$(CONFIG_SAMPLE_TIMER) += timer obj-$(CONFIG_SAMPLE_TRACE_EVENTS) += trace_events/ obj-$(CONFIG_SAMPLE_TRACE_PRINTK) += trace_printk/ obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace/ ++obj-$(CONFIG_SAMPLE_FTRACE_MULTI_DIRECT) += ftrace/ obj-$(CONFIG_SAMPLE_TRACE_ARRAY) += ftrace/ subdir-$(CONFIG_SAMPLE_UHID) += uhid obj-$(CONFIG_VIDEO_PCI_SKELETON) += v4l/ diff --cc samples/ftrace/Makefile index ab1d1c05c2886,4ce896e10b2e0..e8a3f8520a44e --- a/samples/ftrace/Makefile +++ b/samples/ftrace/Makefile @@@ -3,7 -3,6 +3,7 @@@ obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct.o obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct-too.o obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct-modify.o - obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct-multi.o ++obj-$(CONFIG_SAMPLE_FTRACE_MULTI_DIRECT) += ftrace-direct-multi.o CFLAGS_sample-trace-array.o := -I$(src) obj-$(CONFIG_SAMPLE_TRACE_ARRAY) += sample-trace-array.o