1. 13 Nov, 2017 23 commits
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 31486372
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "The main changes in this cycle were:
      
        Kernel:
      
         - kprobes updates: use better W^X patterns for code modifications,
           improve optprobes, remove jprobes. (Masami Hiramatsu, Kees Cook)
      
         - core fixes: event timekeeping (enabled/running times statistics)
           fixes, perf_event_read() locking fixes and cleanups, etc. (Peter
           Zijlstra)
      
         - Extend x86 Intel free-running PEBS support and support x86
           user-register sampling in perf record and perf script. (Andi Kleen)
      
        Tooling:
      
         - Completely rework the way inline frames are handled. Instead of
           querying for the inline nodes on-demand in the individual tools, we
           now create proper callchain nodes for inlined frames. (Milian
           Wolff)
      
         - 'perf trace' updates (Arnaldo Carvalho de Melo)
      
         - Implement a way to print formatted output to per-event files in
           'perf script' to facilitate generate flamegraphs, elliminating the
           need to write scripts to do that separation (yuzhoujian, Arnaldo
           Carvalho de Melo)
      
         - Update vendor events JSON metrics for Intel's Broadwell, Broadwell
           Server, Haswell, Haswell Server, IvyBridge, IvyTown, JakeTown,
           Sandy Bridge, Skylake, SkyLake Server - and Goldmont Plus V1 (Andi
           Kleen, Kan Liang)
      
         - Multithread the synthesizing of PERF_RECORD_ events for
           pre-existing threads in 'perf top', speeding up that phase, greatly
           improving the user experience in systems such as Intel's Knights
           Mill (Kan Liang)
      
         - Introduce the concept of weak groups in 'perf stat': try to set up
           a group, but if it's not schedulable fallback to not using a group.
           That gives us the best of both worlds: groups if they work, but
           still a usable fallback if they don't. E.g: (Andi Kleen)
      
         - perf sched timehist enhancements (David Ahern)
      
         - ... various other enhancements, updates, cleanups and fixes"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (139 commits)
        kprobes: Don't spam the build log with deprecation warnings
        arm/kprobes: Remove jprobe test case
        arm/kprobes: Fix kretprobe test to check correct counter
        perf srcline: Show correct function name for srcline of callchains
        perf srcline: Fix memory leak in addr2inlines()
        perf trace beauty kcmp: Beautify arguments
        perf trace beauty: Implement pid_fd beautifier
        tools include uapi: Grab a copy of linux/kcmp.h
        perf callchain: Fix double mapping al->addr for children without self period
        perf stat: Make --per-thread update shadow stats to show metrics
        perf stat: Move the shadow stats scale computation in perf_stat__update_shadow_stats
        perf tools: Add perf_data_file__write function
        perf tools: Add struct perf_data_file
        perf tools: Rename struct perf_data_file to perf_data
        perf script: Print information about per-event-dump files
        perf trace beauty prctl: Generate 'option' string table from kernel headers
        tools include uapi: Grab a copy of linux/prctl.h
        perf script: Allow creating per-event dump files
        perf evsel: Restore evsel->priv as a tool private area
        perf script: Use event_format__fprintf()
        ...
      31486372
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8e9a2dba
      Linus Torvalds authored
      Pull core locking updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - Another attempt at enabling cross-release lockdep dependency
           tracking (automatically part of CONFIG_PROVE_LOCKING=y), this time
           with better performance and fewer false positives. (Byungchul Park)
      
         - Introduce lockdep_assert_irqs_enabled()/disabled() and convert
           open-coded equivalents to lockdep variants. (Frederic Weisbecker)
      
         - Add down_read_killable() and use it in the VFS's iterate_dir()
           method. (Kirill Tkhai)
      
         - Convert remaining uses of ACCESS_ONCE() to
           READ_ONCE()/WRITE_ONCE(). Most of the conversion was Coccinelle
           driven. (Mark Rutland, Paul E. McKenney)
      
         - Get rid of lockless_dereference(), by strengthening Alpha atomics,
           strengthening READ_ONCE() with smp_read_barrier_depends() and thus
           being able to convert users of lockless_dereference() to
           READ_ONCE(). (Will Deacon)
      
         - Various micro-optimizations:
      
              - better PV qspinlocks (Waiman Long),
              - better x86 barriers (Michael S. Tsirkin)
              - better x86 refcounts (Kees Cook)
      
         - ... plus other fixes and enhancements. (Borislav Petkov, Juergen
           Gross, Miguel Bernal Marin)"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
        locking/x86: Use LOCK ADD for smp_mb() instead of MFENCE
        rcu: Use lockdep to assert IRQs are disabled/enabled
        netpoll: Use lockdep to assert IRQs are disabled/enabled
        timers/posix-cpu-timers: Use lockdep to assert IRQs are disabled/enabled
        sched/clock, sched/cputime: Use lockdep to assert IRQs are disabled/enabled
        irq_work: Use lockdep to assert IRQs are disabled/enabled
        irq/timings: Use lockdep to assert IRQs are disabled/enabled
        perf/core: Use lockdep to assert IRQs are disabled/enabled
        x86: Use lockdep to assert IRQs are disabled/enabled
        smp/core: Use lockdep to assert IRQs are disabled/enabled
        timers/hrtimer: Use lockdep to assert IRQs are disabled/enabled
        timers/nohz: Use lockdep to assert IRQs are disabled/enabled
        workqueue: Use lockdep to assert IRQs are disabled/enabled
        irq/softirqs: Use lockdep to assert IRQs are disabled/enabled
        locking/lockdep: Add IRQs disabled/enabled assertion APIs: lockdep_assert_irqs_enabled()/disabled()
        locking/pvqspinlock: Implement hybrid PV queued/unfair locks
        locking/rwlocks: Fix comments
        x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized
        block, locking/lockdep: Assign a lock_class per gendisk used for wait_for_completion()
        workqueue: Remove now redundant lock acquisitions wrt. workqueue flushes
        ...
      8e9a2dba
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6098850e
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - Documentation updates
      
         - RCU CPU stall-warning updates
      
         - Torture-test updates
      
         - Miscellaneous fixes
      
        Size wise the biggest updates are to documentation. Excluding
        documentation most of the code increase comes from a single commit
        which expands debugging"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        srcu: Add parameters to SRCU docbook comments
        doc: Rewrite confusing statement about memory barriers
        memory-barriers.txt: Fix typo in pairing example
        rcu/segcblist: Include rcupdate.h
        rcu: Add extended-quiescent-state testing advice
        rcu: Suppress lockdep false-positive ->boost_mtx complaints
        rcu: Do not include rtmutex_common.h unconditionally
        torture: Provide TMPDIR environment variable to specify tmpdir
        rcutorture: Dump writer stack if stalled
        rcutorture: Add interrupt-disable capability to stall-warning tests
        rcu: Suppress RCU CPU stall warnings while dumping trace
        rcu: Turn off tracing before dumping trace
        rcu: Make RCU CPU stall warnings check for irq-disabled CPUs
        sched,rcu: Make cond_resched() provide RCU quiescent state
        sched: Make resched_cpu() unconditional
        irq_work: Map irq_work_on_queue() to irq_work_on() in !SMP
        rcu: Create call_rcu_tasks() kthread at boot time
        rcu: Fix up pending cbs check in rcu_prepare_for_idle
        memory-barriers: Rework multicopy-atomicity section
        memory-barriers: Replace uses of "transitive"
        ...
      6098850e
    • Linus Torvalds's avatar
      Merge tag 'please-pull-gettime_vsyscall_update' of... · f08d8bcc
      Linus Torvalds authored
      Merge tag 'please-pull-gettime_vsyscall_update' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux
      
      Pull ia64 update from Tony Luck:
       "Stop ia64 being the last holdout using GENERIC_TIME_VSYSCALL_OLD so
        that John Stultz can drop that code"
      
      * tag 'please-pull-gettime_vsyscall_update' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        ia64: Update fsyscall gettime to use modern vsyscall_update
      f08d8bcc
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · f3573b8f
      Linus Torvalds authored
      Pull OpenRISC updates from Stafford Horne:
       "The OpenRISC work is a bit more interesting this time, adding SMP
        support and a few general cleanups.
      
        Small Things:
      
         - Move OpenRISC docs into Documentation and clean them up
      
         - Document previously undocumented devicetree bindings
      
         - Update the or1ksim dts to use stdout-path
      
        OpenRISC SMP support details:
      
         - First the "use shadow registers" and "define CPU_BIG_ENDIAN as
           true" get the architecture ready for SMP.
      
         - The "add 1 and 2 byte cmpxchg support" and "use qspinlocks and
           qrwlocks" add the SMP locking infrastructure as needed. Using the
           qspinlocks and qrwlocks as suggested by Peter Z while reviewing the
           original spinlocks implementation.
      
         - The "support for ompic" adds a new irqchip device which is used for
           IPI communication to support SMP.
      
         - The "initial SMP support" adds smp.c and makes changes to all of
           the necessary data-structures to be per-cpu.
      
        The remaining patches are bug fixes and debug helpers which I wanted
        to keep separate from the "initial SMP support" in order to allow them
        to be reviewed on their own. This includes:
      
         - add cacheflush support to fix icache aliasing
      
         - fix initial preempt state for secondary cpu tasks
      
         - sleep instead of spin on secondary wait
      
         - support framepointers and STACKTRACE_SUPPORT
      
         - enable LOCKDEP_SUPPORT and irqflags tracing
      
         - timer sync: Add tick timer sync logic
      
         - fix possible deadlock in timer sync, pointed out by mips guys
      
        Note: the irqchip patch was reviewed with Marc and we agreed to push
        it together with these patches"
      
      * tag 'for-linus' of git://github.com/openrisc/linux:
        openrisc: fix possible deadlock scenario during timer sync
        openrisc: pass endianness info to sparse
        openrisc: add tick timer multi-core sync logic
        openrisc: enable LOCKDEP_SUPPORT and irqflags tracing
        openrisc: support framepointers and STACKTRACE_SUPPORT
        openrisc: add simple_smp dts and defconfig for simulators
        openrisc: add cacheflush support to fix icache aliasing
        openrisc: sleep instead of spin on secondary wait
        openrisc: fix initial preempt state for secondary cpu tasks
        openrisc: initial SMP support
        irqchip: add initial support for ompic
        dt-bindings: add openrisc to vendor prefixes list
        openrisc: use qspinlocks and qrwlocks
        openrisc: add 1 and 2 byte cmpxchg support
        openrisc: use shadow registers to save regs on exception
        dt-bindings: openrisc: Add OpenRISC platform SoC
        Documentation: openrisc: Updates to README
        Documentation: Move OpenRISC docs out of arch/
        MAINTAINERS: Add OpenRISC pic maintainer
        openrisc: dts: or1ksim: Add stdout-path
      f3573b8f
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.15-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 9e09d05c
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
        - more printk modernization
      
        - various cleanups and fixes (incl. a race condition) for Mac
      
        - defconfig updates
      
      * tag 'm68k-for-v4.15-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/defconfig: Update defconfigs for v4.14-rc7
        m68k/mac: Add mutual exclusion for IOP interrupt polling
        m68k/mac: Disentangle VIA/RBV and NuBus initialization
        m68k/mac: Disentangle VIA and OSS initialization
        m68k/mac: More printk modernization
      9e09d05c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · d60a540a
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
       "Since Martin is on vacation you get the s390 pull request for the
        v4.15 merge window this time from me.
      
        Besides a lot of cleanups and bug fixes these are the most important
        changes:
      
         - a new regset for runtime instrumentation registers
      
         - hardware accelerated AES-GCM support for the aes_s390 module
      
         - support for the new CEX6S crypto cards
      
         - support for FORTIFY_SOURCE
      
         - addition of missing z13 and new z14 instructions to the in-kernel
           disassembler
      
         - generate opcode tables for the in-kernel disassembler out of a
           simple text file instead of having to manually maintain those
           tables
      
         - fast memset16, memset32 and memset64 implementations
      
         - removal of named saved segment support
      
         - hardware counter support for z14
      
         - queued spinlocks and queued rwlocks implementations for s390
      
         - use the stack_depth tracking feature for s390 BPF JIT
      
         - a new s390_sthyi system call which emulates the sthyi (store
           hypervisor information) instruction
      
         - removal of the old KVM virtio transport
      
         - an s390 specific CPU alternatives implementation which is used in
           the new spinlock code"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (88 commits)
        MAINTAINERS: add virtio-ccw.h to virtio/s390 section
        s390/noexec: execute kexec datamover without DAT
        s390: fix transactional execution control register handling
        s390/bpf: take advantage of stack_depth tracking
        s390: simplify transactional execution elf hwcap handling
        s390/zcrypt: Rework struct ap_qact_ap_info.
        s390/virtio: remove unused header file kvm_virtio.h
        s390: avoid undefined behaviour
        s390/disassembler: generate opcode tables from text file
        s390/disassembler: remove insn_to_mnemonic()
        s390/dasd: avoid calling do_gettimeofday()
        s390: vfio-ccw: Do not attempt to free no-op, test and tic cda.
        s390: remove named saved segment support
        s390/archrandom: Reconsider s390 arch random implementation
        s390/pci: do not require AIS facility
        s390/qdio: sanitize put_indicator
        s390/qdio: use atomic_cmpxchg
        s390/nmi: avoid using long-displacement facility
        s390: pass endianness info to sparse
        s390/decompressor: remove informational messages
        ...
      d60a540a
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 2101dd64
      Linus Torvalds authored
      Pull m68k updates from Greg Ungerer:
       "The bulk of the changes are to support the ColdFire 5441x SoC family
        with their MMU enabled. The parts have been supported for a long time
        now, but only in no-MMU mode.
      
        Angelo Dureghello has a new board with a 5441x and we have ironed out
        the last problems with MMU enabled on it. So there is also some
        changes to properly support that board too.
      
        Also a fix for a link problem when selecting the traditional 68k beep
        device in no-MMU configurations"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: add Sysam stmark2 open board support
        m68k: coldfire: add dspi0 module support
        m68k: pull mach_beep in setup.c
        m68k: allow ColdFire m5441x parts to run with MMU enabled
        m68k: fix ColdFire node shift size calculation
        m68k: move coldfire MMU initialization code
      2101dd64
    • Linus Torvalds's avatar
      Merge branch 'next-integrity' of... · b33e3cc5
      Linus Torvalds authored
      Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
      
      Pull security subsystem integrity updates from James Morris:
       "There is a mixture of bug fixes, code cleanup, preparatory code for
        new functionality and new functionality.
      
        Commit 26ddabfe ("evm: enable EVM when X509 certificate is
        loaded") enabled EVM without loading a symmetric key, but was limited
        to defining the x509 certificate pathname at build. Included in this
        set of patches is the ability of enabling EVM, without loading the EVM
        symmetric key, from userspace. New is the ability to prevent the
        loading of an EVM symmetric key."
      
      * 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        ima: Remove redundant conditional operator
        ima: Fix bool initialization/comparison
        ima: check signature enforcement against cmdline param instead of CONFIG
        module: export module signature enforcement status
        ima: fix hash algorithm initialization
        EVM: Only complain about a missing HMAC key once
        EVM: Allow userspace to signal an RSA key has been loaded
        EVM: Include security.apparmor in EVM measurements
        ima: call ima_file_free() prior to calling fasync
        integrity: use kernel_read_file_from_path() to read x509 certs
        ima: always measure and audit files in policy
        ima: don't remove the securityfs policy file
        vfs: fix mounting a filesystem with i_version
      b33e3cc5
    • Linus Torvalds's avatar
      Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 55b3a0cb
      Linus Torvalds authored
      Pull general security subsystem updates from James Morris:
       "TPM (from Jarkko):
         - essential clean up for tpm_crb so that ARM64 and x86 versions do
           not distract each other as much as before
      
         - /dev/tpm0 rejects now too short writes (shorter buffer than
           specified in the command header
      
         - use DMA-safe buffer in tpm_tis_spi
      
         - otherwise mostly minor fixes.
      
        Smack:
         - base support for overlafs
      
        Capabilities:
         - BPRM_FCAPS fixes, from Richard Guy Briggs:
      
           The audit subsystem is adding a BPRM_FCAPS record when auditing
           setuid application execution (SYSCALL execve). This is not expected
           as it was supposed to be limited to when the file system actually
           had capabilities in an extended attribute. It lists all
           capabilities making the event really ugly to parse what is
           happening. The PATH record correctly records the setuid bit and
           owner. Suppress the BPRM_FCAPS record on set*id.
      
        TOMOYO:
         - Y2038 timestamping fixes"
      
      * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (28 commits)
        MAINTAINERS: update the IMA, EVM, trusted-keys, encrypted-keys entries
        Smack: Base support for overlayfs
        MAINTAINERS: remove David Safford as maintainer for encrypted+trusted keys
        tomoyo: fix timestamping for y2038
        capabilities: audit log other surprising conditions
        capabilities: fix logic for effective root or real root
        capabilities: invert logic for clarity
        capabilities: remove a layer of conditional logic
        capabilities: move audit log decision to function
        capabilities: use intuitive names for id changes
        capabilities: use root_priveleged inline to clarify logic
        capabilities: rename has_cap to has_fcap
        capabilities: intuitive names for cap gain status
        capabilities: factor out cap_bprm_set_creds privileged root
        tpm, tpm_tis: use ARRAY_SIZE() to define TPM_HID_USR_IDX
        tpm: fix duplicate inline declaration specifier
        tpm: fix type of a local variables in tpm_tis_spi.c
        tpm: fix type of a local variable in tpm2_map_command()
        tpm: fix type of a local variable in tpm2_get_cc_attrs_tbl()
        tpm-dev-common: Reject too short writes
        ...
      55b3a0cb
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · dee02770
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Introduce host claiming by context to support blkmq
         - Preparations for enabling CQE (eMMC CMDQ) requests
         - Re-factorizations to prepare for blkmq support
         - Re-factorizations to prepare for CQE support
         - Fix signal voltage switch for SD cards without power cycle
         - Convert RPMB to a character device
         - Export eMMC revision via sysfs
         - Support eMMC DT binding for fixed driver type
         - Document mmc_regulator_get_supply() API
      
       MMC host:
         - omap_hsmmc: Updated regulator management for PBIAS
         - sdhci-omap: Add new OMAP SDHCI driver
         - meson-mx-sdio: New driver for the Amlogic Meson8 and Meson8b SoCs
         - sdhci-pci: Add support for Intel CDF
         - sdhci-acpi: Fix voltage switch for some Intel host controllers
         - sdhci-msm: Enable delay circuit calibration clocks
         - sdhci-msm: Manage power IRQ properly
         - mediatek: Add support of mt2701/mt2712
         - mediatek: Updates management of clocks and tunings
         - mediatek: Upgrade eMMC HS400 support
         - rtsx_pci: Update tuning for gen3 PCI-Express
         - renesas_sdhi: Support R-Car Gen[123] fallback compatibility strings
         - Catch all errors when getting regulators
         - Various additional improvements and cleanups"
      
      * tag 'mmc-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (91 commits)
        sdhci-fujitsu: add support for setting the CMD_DAT_DELAY attribute
        dt-bindings: sdhci-fujitsu: document cmd-dat-delay property
        mmc: tmio: Replace msleep() of 20ms or less with usleep_range()
        mmc: dw_mmc: Convert timers to use timer_setup()
        mmc: dw_mmc: Cleanup the DTO timer like the CTO one
        mmc: vub300: Use common code in __download_offload_pseudocode()
        mmc: tmio: Use common error handling code in tmio_mmc_host_probe()
        mmc: Convert timers to use timer_setup()
        mmc: sdhci-acpi: Fix voltage switch for some Intel host controllers
        mmc: sdhci-acpi: Let devices define their own private data
        mmc: mediatek: perfer to use rise edge latching for cmd line
        mmc: mediatek: improve eMMC hs400 mode read performance
        mmc: mediatek: add latch-ck support
        mmc: mediatek: add support of source_cg clock
        mmc: mediatek: add stop_clk fix and enhance_rx support
        mmc: mediatek: add busy_check support
        mmc: mediatek: add async fifo and data tune support
        mmc: mediatek: add pad_tune0 support
        mmc: mediatek: make hs400_tune_response only for mt8173
        arm64: dts: mt8173: remove "mediatek, mt8135-mmc" from mmc nodes
        ...
      dee02770
    • Arnd Bergmann's avatar
      /proc/module: fix building without kallsyms · e4a8ca3b
      Arnd Bergmann authored
      As reported by kernelci and other build bots, we now get a link
      failure without CONFIG_KALLSYMS:
      
        module.c:(.text+0xf2c): undefined reference to `kallsyms_show_value'
      
      This adds a dummy helper with the same name that can be used
      for compilation. It's not entirely clear to me what this
      should return for !CONFIG_KALLSYMS, I picked an unconditional
      'false', which leads to the module address being unavailable
      to user space.
      
      Link: https://kernelci.org/build/mainline/branch/master/kernel/v4.14-5-g516fb7f2e73d/
      Fixes: 516fb7f2 ("/proc/module: use the same logic as /proc/kallsyms for address exposure")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e4a8ca3b
    • Arnd Bergmann's avatar
      kallsyms: fix building without printk · 01c313dd
      Arnd Bergmann authored
      Building kallsyms fails without CONFIG_PRINTK due to a missing
      declaration:
      
        kernel/kallsyms.c: In function 'kallsyms_show_value':
        kernel/kallsyms.c:670:10: error: 'kptr_restrict' undeclared (first use in this function); did you mean 'keyring_restrict'?
      
      This moves the declaration outside of the #ifdef guard, the definition
      is already available without CONFIG_PRINTK.
      
      Fixes: c0f3ea15 ("stop using '%pK' for /proc/kallsyms pointer values")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      [ I clearly need to start doing "allnoconfig" builds too, or just have a
        test branch for the 0day robot - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      01c313dd
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 37c6b6f2
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "After several quiet kernel releases we've got a couple of new features
        in regmap, support for using hwspinlocks as the lock for the internal
        data structures and a helper for polling on regmap_fields. The Kconfig
        dependencies on hwspinlocks were annoyingly difficult to squash
        between things behaving surprisingly and randconfig, I could've
        squashed those commits down but might've have caused hassle with other
        trees trying to use the new support.
      
         - support for using a hwspinlock to protect the regmap
      
         - an iopoll style helper for regmap_field"
      
      * tag 'regmap-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fix unused warning
        regmap: Try to work around Kconfig exploding on HWSPINLOCK
        regmap: Clean up hwspinlock on regmap exit
        regmap: Also protect hwspinlock in error handling path
        regmap: Add a config option for hwspinlock
        regmap: Add hardware spinlock support
        regmap: avoid -Wint-in-bool-context warning
        regmap: add iopoll-like polling macro for regmap_field
        regmap: constify regmap_bus structures
        regmap: Avoid namespace collision within macro & tidy up
      37c6b6f2
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · e75427c6
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "This release is almost entirely driver changes, there's a couple of
        fixes in the core but otherwise it's all drivers:
      
         - fix for mixed dynamic and static bus number assignment.
      
         - fixes for some leaks arising from confusing lifetime rules during
           device unregistration and improved documentation to try to help
           avoid this in the future.
      
         - fixes to make the native chip select support for i.MX usable.
      
         - slave mode support for i.MX.
      
         - support for Coldfire MCF5441x DSPI, Renesas R8A7443/5 and
           Spreadtrum ADI"
      
      * tag 'spi-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (31 commits)
        spi: imx: Don't require platform data chipselect array
        spi: imx: Fix failure path leak on GPIO request error
        spi: imx: GPIO based chip selects should not be required
        spi: sh-msiof: remove redundant pointer dev
        spi: s3c64xx: remove redundant pointer sci
        spi: spi-fsl-dspi: enabling Coldfire mcf5441x dspi
        spi: fix IDR collision on systems with both fixed and dynamic SPI bus numbers
        spi: orion: remove redundant assignment of status to zero
        spi: sh-msiof: Fix DMA transfer size check
        spi: imx: Fix failure path leak on GPIO request error
        spi: spi-axi: fix potential use-after-free after deregistration
        spi: document odd controller reference handling
        spi: fix use-after-free at controller deregistration
        spi: sprd: Fix the possible negative value of BIT()
        spi: sprd-adi: fix platform_no_drv_owner.cocci warnings
        spi: a3700: Change SPI mode before asserting chip-select
        spi: tegra114: correct register name in definition
        spi: spreadtrum adi: add hwspinlock dependency
        spi: sh-msiof: Use of_device_get_match_data() helper
        spi: rspi: Use of_device_get_match_data() helper
        ...
      e75427c6
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 5f194bf4
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "A very quiet release for regulator, there's some new device support in
        existing drivers here and a few fixes but nothing in the core.
      
        Summary:
      
         - New device support for Allwinner AXP813, Dialog DA223/4/5 and
           Qualcomm PMI8994"
      
      * tag 'regulator-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: tps65218: remove unused tps_info structure
        regulator: tps65218: Fix strobe assignment
        regulator: qcom_spmi: Include offset when translating voltages
        regulator: qcom_spmi: Add support for pmi8994
        regulator: da9211: update for supporting da9223/4/5
        ASoC: pfuze100: Remove leading zero from '@08' notation
        regulator: axp20x: Simplify axp20x_is_polyphase_slave implementation
        regulator: axp20x: Add support for AXP813 regulators
      5f194bf4
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.15' of... · 1e19bded
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
      
       - drivers for MAX31785 and MAX6621
      
       - support for AMD family 17h (Ryzen, Threadripper) temperature sensors
      
       - various driver cleanups and minor improvements
      
      * tag 'hwmon-for-linus-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (30 commits)
        dt-bindings: pmbus: Add Maxim MAX31785 documentation
        pmbus: Add driver for Maxim MAX31785 Intelligent Fan Controller
        hwmon: (aspeed-pwm-tacho) Sort headers
        hwmon: (xgene) Minor clean up of ifdef and acpi_match_table reference
        hwmon: (max6621) Inverted if condition in max6621_read()
        hwmon: (asc7621) remove redundant assignment to newval
        hwmon: (xgene) Support hwmon v2
        hwmon: (gpio-fan) Fix null pointer dereference at probe
        hwmon: (gpio-fan) Convert to use GPIO descriptors
        hwmon: (gpio-fan) Rename GPIO line state variables
        hwmon: (gpio-fan) Get rid of the gpio alarm struct
        hwmon: (gpio-fan) Get rid of platform data struct
        hwmon: (gpio-fan) Mandate OF_GPIO and cut pdata path
        hwmon: (gpio-fan) Send around device pointer
        hwmon: (gpio-fan) Localize platform data
        hwmon: (gpio-fan) Use local variable pointers
        hwmon: (gpio-fan) Move DT bindings to the right place
        Documentation: devicetree: add max6621 device
        hwmon: (max6621) Add support for Maxim MAX6621 temperature sensor
        hwmon: (w83793) make const array watchdog_minors static, reduces object code size
        ...
      1e19bded
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 1ec16991
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       "The usual pile of bugfixes, cleanups and minor driver enhancements.
      
        Worth noting are the changes to ghes_edac to use a whitelist of
        known-good platforms on which GHES error reporting works relatively
        reliably. By Toshi Kani and Borislav Petkov"
      
      * tag 'edac_for_4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, sb_edac: Fix missing break in switch
        MAINTAINERS: Split Cavium EDAC entry and add myself
        EDAC, sb_edac: Fix missing DIMM sysfs entries with KNL SNC2/SNC4 mode
        EDAC, skx_edac: Handle systems with segmented PCI busses
        EDAC, thunderx: Remove suspend/resume support
        EDAC, skx_edac: Fix detection of single-rank DIMMs
        EDAC, sb_edac: Don't create a second memory controller if HA1 is not present
        EDAC: Add owner check to the x86 platform drivers
        EDAC: Add helper which returns the loaded platform driver
        EDAC, ghes: Add platform check
        EDAC, ghes: Model a single, logical memory controller
        EDAC, ghes: Remove symbol exports
        EDAC: Handle return value of kasprintf()
      1ec16991
    • Linus Torvalds's avatar
      Merge tag 'docs-4.15' of git://git.lwn.net/linux · 7832681b
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "A relatively calm cycle for the docs tree again.
      
        - The old driver statement has been added to the kernel docs.
      
        - We have a couple of new helper scripts. find-unused-docs.sh from
          Sayli Karnic will point out kerneldoc comments that are not actually
          used in the documentation. Jani Nikula's
          documentation-file-ref-check finds references to non-existing files.
      
        - A new ftrace document from Steve Rostedt.
      
        - Vinod Koul converted the dmaengine docs to RST
      
        Beyond that, it's mostly simple fixes.
      
        This set reaches outside of Documentation/ a bit more than most. In
        all cases, the changes are to comment docs, mostly from Randy, in
        places where there didn't seem to be anybody better to take them"
      
      * tag 'docs-4.15' of git://git.lwn.net/linux: (52 commits)
        documentation: fb: update list of available compiled-in fonts
        MAINTAINERS: update DMAengine documentation location
        dmaengine: doc: ReSTize pxa_dma doc
        dmaengine: doc: ReSTize dmatest doc
        dmaengine: doc: ReSTize client API doc
        dmaengine: doc: ReSTize provider doc
        dmaengine: doc: Add ReST style dmaengine document
        ftrace/docs: Add documentation on how to use ftrace from within the kernel
        bug-hunting.rst: Fix an example and a typo in a Sphinx tag
        scripts: Add a script to find unused documentation
        samples: Convert timers to use timer_setup()
        documentation: kernel-api: add more info on bitmap functions
        Documentation: fix selftests related file refs
        Documentation: fix ref to power basic-pm-debugging
        Documentation: fix ref to trace stm content
        Documentation: fix ref to coccinelle content
        Documentation: fix ref to workqueue content
        Documentation: fix ref to sphinx/kerneldoc.py
        Documentation: fix locking rt-mutex doc refs
        docs: dev-tools: correct Coccinelle version number
        ...
      7832681b
    • Ingo Molnar's avatar
      kprobes: Don't spam the build log with deprecation warnings · fcdfafcb
      Ingo Molnar authored
      The jprobes APIs are deprecated - but are still in occasional use for code that
      few people seem to care about, so stop generating deprecation warnings.
      
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      fcdfafcb
    • Linus Torvalds's avatar
      /proc/module: use the same logic as /proc/kallsyms for address exposure · 516fb7f2
      Linus Torvalds authored
      The (alleged) users of the module addresses are the same: kernel
      profiling.
      
      So just expose the same helper and format macros, and unify the logic.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      516fb7f2
    • Linus Torvalds's avatar
      modules: make sysfs attribute files readable by owner only · 277642dc
      Linus Torvalds authored
      This code goes back to the historical bitkeeper tree commit 3f7b0672
      ("Module section offsets in /sys/module"), where Jonathan Corbet wanted
      to show people how to debug loadable modules.
      
      See
      
          https://lwn.net/Articles/88052/
      
      from June 2004.
      
      To expose the required load address information, Jonathan added the
      sections subdirectory for every module in /sys/modules, and made them
      S_IRUGO - readable by everybody.
      
      It was a more innocent time, plus those S_IRxxx macro names are a lot
      more confusing than the octal numbers are, so maybe it wasn't even
      intentional.  But here we are, thirteen years later, and I'll just change
      it to S_IRUSR instead.
      
      Let's see if anybody even notices.
      
      Cc: Jonathan Corbet <corbet@lwn.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      277642dc
    • Linus Torvalds's avatar
      Merge branch 'kallsyms-restrictions' · 9d560410
      Linus Torvalds authored
      Merge /proc/kallsyms pointer value restrictions.
      
      Instead of using %pK, and making it about root access (at the wrong
      time, no less), make the whole choice of whether to show the actual
      pointer value be very explicit to the kallsyms code.
      
      In particular, we can now default to not doing so, and yet avoid
      annoying kernel profiling by actually looking at whether kernel
      profiling is allowed or not (by default it is not).
      
      This is all mostly preparation for the real "let's stop leaking kernel
      addresses" work that Tobin Harding is working on.
      
      Small steps.
      
      * kallsyms-restrictions:
        stop using '%pK' for /proc/kallsyms pointer values
      9d560410
  2. 12 Nov, 2017 4 commits
    • Randy Dunlap's avatar
      modpost: detect modules without a MODULE_LICENSE · ba1029c9
      Randy Dunlap authored
      Partially revert commit 2fa36568 ("kbuild: soften MODULE_LICENSE
      check") so that modpost detects modules that do not have a
      MODULE_LICENSE.
      
      Sam's commit also changed the fatal error to a warning, which I am
      leaving as is.
      
      This gives advance notice of when a module has no license and will taint
      the kernel if the module is loaded.
      
      This produces the following warnings on x86_64 allmodconfig:
      
          MODPOST 6520 modules
        WARNING: modpost: missing MODULE_LICENSE() in drivers/auxdisplay/img-ascii-lcd.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/gpio/gpio-ath79.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/gpio/gpio-iop.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/iio/accel/kxsd9-i2c.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/iio/adc/qcom-vadc-common.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/media/platform/mtk-vcodec/mtk-vcodec-common.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/media/platform/soc_camera/soc_scale_crop.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/denali_pci.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/net/phy/cortina.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/pinctrl/pxa/pinctrl-pxa2xx.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/power/reset/zx-reboot.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/rpmsg/qcom_glink_native.o
        WARNING: modpost: missing MODULE_LICENSE() in drivers/staging/comedi/drivers/ni_atmio.o
        WARNING: modpost: missing MODULE_LICENSE() in net/9p/9pnet_xen.o
        WARNING: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-pcm512x-spi.o
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ba1029c9
    • Linus Torvalds's avatar
      Linux 4.14 · bebc6082
      Linus Torvalds authored
      bebc6082
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 152bbb43
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A set of small fixes:
      
         - make KGDB work again which got broken by the conversion of WARN()
           to #UD. The WARN fixup needs to run before the notifier callchain,
           otherwise KGDB tries to handle it and crashes.
      
         - disable KASAN in the ORC unwinder to prevent false positive KASAN
           warnings
      
         - prevent default mapping above 47bit when 5 level page tables are
           enabled
      
         - make the delay calibration optimization work correctly, which had
           the conditionals the wrong way around and was operating on data
           which was not yet updated.
      
         - remove the bogus X86_TRAP_BP trap init from the default IDT init
           table, which broke 32bit int3 handling by overwriting the correct
           int3 setup.
      
         - replace this_cpu* with boot_cpu_data access in the preemptible
           oprofile init code"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/debug: Handle warnings before the notifier chain, to fix KGDB crash
        x86/mm: Fix ELF_ET_DYN_BASE for 5-level paging
        x86/idt: Remove X86_TRAP_BP initialization in idt_setup_traps()
        x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context
        x86/unwind: Disable KASAN checking in the ORC unwinder
        x86/smpboot: Make optimization of delay calibration work correctly
      152bbb43
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 69581c74
      Linus Torvalds authored
      Pull perf tool fixes from Thomas Gleixner:
       "A small set of fixes for perf tool:
      
         - synchronize the i915 drm header to avoid the 'out of date' warning
      
         - make sure that perf trace cleans up its temporary files on exit
      
         - unbreak the build with newer flex versions
      
         - add missing braces in the eBPF parsing rules"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tooling/headers: Sync the tools/include/uapi/drm/i915_drm.h UAPI header
        perf trace: Call machine__exit() at exit
        perf tools: Fix eBPF event specification parsing
        perf tools: Add "reject" option for parse-events.l
      69581c74
  3. 11 Nov, 2017 8 commits
  4. 10 Nov, 2017 5 commits