From: Linus Torvalds Date: Wed, 22 Feb 2017 18:20:04 +0000 (-0800) Subject: Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux X-Git-Tag: v4.11-rc1~123 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff47d8c05019d6e7753cef270d6399cb5a33be57;p=platform%2Fkernel%2Flinux-exynos.git Merge branch 'for-linus' of git://git./linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: - New entropy generation for the pseudo random number generator. - Early boot printk output via sclp to help debug crashes on boot. This needs to be enabled with a kernel parameter. - Add proper no-execute support with a bit in the page table entry. - Bug fixes and cleanups. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (65 commits) s390/syscall: fix single stepped system calls s390/zcrypt: make ap_bus explicitly non-modular s390/zcrypt: Removed unneeded debug feature directory creation. s390: add missing "do {} while (0)" loop constructs to multiline macros s390/mm: add cond_resched call to kernel page table dumper s390: get rid of MACHINE_HAS_PFMF and MACHINE_HAS_HPAGE s390/mm: make memory_block_size_bytes available for !MEMORY_HOTPLUG s390: replace ACCESS_ONCE with READ_ONCE s390: Audit and remove any remaining unnecessary uses of module.h s390: mm: Audit and remove any unnecessary uses of module.h s390: kernel: Audit and remove any unnecessary uses of module.h s390/kdump: Use "LINUX" ELF note name instead of "CORE" s390: add no-execute support s390: report new vector facilities s390: use correct input data address for setup_randomness s390/sclp: get rid of common response code handling s390/sclp: don't add new lines to each printed string s390/sclp: make early sclp code readable s390/sclp: disable early sclp code as soon as the base sclp driver is active s390/sclp: move early printk code to drivers ... --- ff47d8c05019d6e7753cef270d6399cb5a33be57 diff --cc arch/s390/Kconfig.debug index 57f8ea9,32b3e3b..ba5f878 --- a/arch/s390/Kconfig.debug +++ b/arch/s390/Kconfig.debug @@@ -17,4 -17,11 +17,7 @@@ config S390_PTDUM kernel. If in doubt, say "N" -config DEBUG_SET_MODULE_RONX - def_bool y - depends on MODULES - + config EARLY_PRINTK + def_bool y + endmenu diff --cc arch/s390/kernel/idle.c index d3bf69e,8e5ef33..fb07a70 --- a/arch/s390/kernel/idle.c +++ b/arch/s390/kernel/idle.c @@@ -93,11 -93,10 +93,11 @@@ u64 arch_cpu_idle_time(int cpu do { now = get_tod_clock(); seq = read_seqcount_begin(&idle->seqcount); - idle_enter = ACCESS_ONCE(idle->clock_idle_enter); - idle_exit = ACCESS_ONCE(idle->clock_idle_exit); + idle_enter = READ_ONCE(idle->clock_idle_enter); + idle_exit = READ_ONCE(idle->clock_idle_exit); } while (read_seqcount_retry(&idle->seqcount, seq)); - return idle_enter ? ((idle_exit ?: now) - idle_enter) : 0; + + return cputime_to_nsecs(idle_enter ? ((idle_exit ?: now) - idle_enter) : 0); } void arch_cpu_idle_enter(void) diff --cc arch/s390/net/bpf_jit_comp.c index b49c52a,b3b0af8..4ecf6d6 --- a/arch/s390/net/bpf_jit_comp.c +++ b/arch/s390/net/bpf_jit_comp.c @@@ -1323,14 -1331,11 +1323,11 @@@ struct bpf_prog *bpf_int_jit_compile(st } if (bpf_jit_enable > 1) { bpf_jit_dump(fp->len, jit.size, pass, jit.prg_buf); - if (jit.prg_buf) - print_fn_code(jit.prg_buf, jit.size_prg); - } - if (jit.prg_buf) { - bpf_jit_binary_lock_ro(header); - fp->bpf_func = (void *) jit.prg_buf; - fp->jited = 1; + print_fn_code(jit.prg_buf, jit.size_prg); } - set_memory_ro((unsigned long)header, header->pages); ++ bpf_jit_binary_lock_ro(header); + fp->bpf_func = (void *) jit.prg_buf; + fp->jited = 1; free_addrs: kfree(jit.addrs); out: