1. 02 3月, 2017 5 次提交
    • W
      KVM: nVMX: Fix pending events injection · acc9ab60
      Wanpeng Li 提交于
      L2 fails to boot on a non-APICv box dues to 'commit 0ad3bed6
      ("kvm: nVMX: move nested events check to kvm_vcpu_running")'
      
      KVM internal error. Suberror: 3
      extra data[0]: 800000ef
      extra data[1]: 1
      RAX=0000000000000000 RBX=ffffffff81f36140 RCX=0000000000000000 RDX=0000000000000000
      RSI=0000000000000000 RDI=0000000000000000 RBP=ffff88007c92fe90 RSP=ffff88007c92fe90
      R8 =ffff88007fccdca0 R9 =0000000000000000 R10=00000000fffedb3d R11=0000000000000000
      R12=0000000000000003 R13=0000000000000000 R14=0000000000000000 R15=ffff88007c92c000
      RIP=ffffffff810645e6 RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
      ES =0000 0000000000000000 ffffffff 00c00000
      CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
      SS =0000 0000000000000000 ffffffff 00c00000
      DS =0000 0000000000000000 ffffffff 00c00000
      FS =0000 0000000000000000 ffffffff 00c00000
      GS =0000 ffff88007fcc0000 ffffffff 00c00000
      LDT=0000 0000000000000000 ffffffff 00c00000
      TR =0040 ffff88007fcd4200 00002087 00008b00 DPL=0 TSS64-busy
      GDT=     ffff88007fcc9000 0000007f
      IDT=     ffffffffff578000 00000fff
      CR0=80050033 CR2=00000000ffffffff CR3=0000000001e0a000 CR4=003406e0
      DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
      DR6=00000000fffe0ff0 DR7=0000000000000400
      EFER=0000000000000d01
      
      We should try to reinject previous events if any before trying to inject
      new event if pending. If vmexit is triggered by L2 guest and L0 interested
      in, we should reinject IDT-vectoring info to L2 through vmcs02 if any,
      otherwise, we can consider new IRQs/NMIs which can be injected and call
      nested events callback to switch from L2 to L1 if needed and inject the
      proper vmexit events. However, 'commit 0ad3bed6 ("kvm: nVMX: move
      nested events check to kvm_vcpu_running")' results in the handle events
      order reversely on non-APICv box. This patch fixes it by bailing out for
      pending events and not consider new events in this scenario.
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Radim Krčmář <rkrcmar@redhat.com>
      Cc: Jan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NWanpeng Li <wanpeng.li@hotmail.com>
      Fixes: 0ad3bed6 ("kvm: nVMX: move nested events check to kvm_vcpu_running")
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      acc9ab60
    • J
      x86/kvm/vmx: remove unused variable in segment_base() · 0fce546f
      Jérémy Lefaure 提交于
      The pointer 'struct desc_struct *d' is unused since commit 8c2e41f7
      ("x86/kvm/vmx: Simplify segment_base()") so let's remove it.
      Signed-off-by: NJérémy Lefaure <jeremy.lefaure@lse.epita.fr>
      Reviewed-by: NDavid Hildenbrand <david@redhat.com>
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      0fce546f
    • A
      selftests/x86: Add a basic selftest for ioperm · 0eb1d0fa
      Andy Lutomirski 提交于
      This doesn't fully exercise the interaction between KVM and ioperm(),
      but it does test basic functionality.
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      0eb1d0fa
    • A
      x86/asm: Tidy up TSS limit code · b7ceaec1
      Andy Lutomirski 提交于
      In an earlier version of the patch ("x86/kvm/vmx: Defer TR reload
      after VM exit") that introduced TSS limit validity tracking, I
      confused which helper was which.  On reflection, the names I chose
      sucked.  Rename the helpers to make it more obvious what's going on
      and add some comments.
      
      While I'm at it, clear __tss_limit_invalid when force-reloading as
      well as when contitionally reloading, since any TR reload fixes the
      limit.
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      b7ceaec1
    • E
      kvm: convert kvm.users_count from atomic_t to refcount_t · e3736c3e
      Elena Reshetova 提交于
      refcount_t type and corresponding API should be
      used instead of atomic_t when the variable is used as
      a reference counter. This allows to avoid accidental
      refcounter overflows that might lead to use-after-free
      situations.
      Signed-off-by: NElena Reshetova <elena.reshetova@intel.com>
      Signed-off-by: NHans Liljestrand <ishkamiel@gmail.com>
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NDavid Windsor <dwindsor@gmail.com>
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      e3736c3e
  2. 01 3月, 2017 1 次提交
    • R
      KVM: x86: never specify a sample period for virtualized in_tx_cp counters · bba82fd7
      Robert O'Callahan 提交于
      pmc_reprogram_counter() always sets a sample period based on the value of
      pmc->counter. However, hsw_hw_config() rejects sample periods less than
      2^31 - 1. So for example, if a KVM guest does
      
          struct perf_event_attr attr;
          memset(&attr, 0, sizeof(attr));
          attr.type = PERF_TYPE_RAW;
          attr.size = sizeof(attr);
          attr.config = 0x2005101c4; // conditional branches retired IN_TXCP
          attr.sample_period = 0;
          int fd = syscall(__NR_perf_event_open, &attr, 0, -1, -1, 0);
          ioctl(fd, PERF_EVENT_IOC_DISABLE, 0);
          ioctl(fd, PERF_EVENT_IOC_ENABLE, 0);
      
      the guest kernel counts some conditional branch events, then updates the
      virtual PMU register with a nonzero count. The host reaches
      pmc_reprogram_counter() with nonzero pmc->counter, triggers EOPNOTSUPP
      in hsw_hw_config(), prints "kvm_pmu: event creation failed" in
      pmc_reprogram_counter(), and silently (from the guest's point of view) stops
      counting events.
      
      We fix event counting by forcing attr.sample_period to always be zero for
      in_tx_cp counters. Sampling doesn't work, but it already didn't work and
      can't be fixed without major changes to the approach in hsw_hw_config().
      Signed-off-by: NRobert O'Callahan <robert@ocallahan.org>
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      bba82fd7
  3. 23 2月, 2017 18 次提交
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · fd7e9a88
      Linus Torvalds 提交于
      Pull KVM updates from Paolo Bonzini:
       "4.11 is going to be a relatively large release for KVM, with a little
        over 200 commits and noteworthy changes for most architectures.
      
        ARM:
         - GICv3 save/restore
         - cache flushing fixes
         - working MSI injection for GICv3 ITS
         - physical timer emulation
      
        MIPS:
         - various improvements under the hood
         - support for SMP guests
         - a large rewrite of MMU emulation. KVM MIPS can now use MMU
           notifiers to support copy-on-write, KSM, idle page tracking,
           swapping, ballooning and everything else. KVM_CAP_READONLY_MEM is
           also supported, so that writes to some memory regions can be
           treated as MMIO. The new MMU also paves the way for hardware
           virtualization support.
      
        PPC:
         - support for POWER9 using the radix-tree MMU for host and guest
         - resizable hashed page table
         - bugfixes.
      
        s390:
         - expose more features to the guest
         - more SIMD extensions
         - instruction execution protection
         - ESOP2
      
        x86:
         - improved hashing in the MMU
         - faster PageLRU tracking for Intel CPUs without EPT A/D bits
         - some refactoring of nested VMX entry/exit code, preparing for live
           migration support of nested hypervisors
         - expose yet another AVX512 CPUID bit
         - host-to-guest PTP support
         - refactoring of interrupt injection, with some optimizations thrown
           in and some duct tape removed.
         - remove lazy FPU handling
         - optimizations of user-mode exits
         - optimizations of vcpu_is_preempted() for KVM guests
      
        generic:
         - alternative signaling mechanism that doesn't pound on
           tsk->sighand->siglock"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (195 commits)
        x86/kvm: Provide optimized version of vcpu_is_preempted() for x86-64
        x86/paravirt: Change vcp_is_preempted() arg type to long
        KVM: VMX: use correct vmcs_read/write for guest segment selector/base
        x86/kvm/vmx: Defer TR reload after VM exit
        x86/asm/64: Drop __cacheline_aligned from struct x86_hw_tss
        x86/kvm/vmx: Simplify segment_base()
        x86/kvm/vmx: Get rid of segment_base() on 64-bit kernels
        x86/kvm/vmx: Don't fetch the TSS base from the GDT
        x86/asm: Define the kernel TSS limit in a macro
        kvm: fix page struct leak in handle_vmon
        KVM: PPC: Book3S HV: Disable HPT resizing on POWER9 for now
        KVM: Return an error code only as a constant in kvm_get_dirty_log()
        KVM: Return an error code only as a constant in kvm_get_dirty_log_protect()
        KVM: Return directly after a failed copy_from_user() in kvm_vm_compat_ioctl()
        KVM: x86: remove code for lazy FPU handling
        KVM: race-free exit from KVM_RUN without POSIX signals
        KVM: PPC: Book3S HV: Turn "KVM guest htab" message into a debug message
        KVM: PPC: Book3S PR: Ratelimit copy data failure error messages
        KVM: Support vCPU-based gfn->hva cache
        KVM: use separate generations for each address space
        ...
      fd7e9a88
    • L
      Merge tag 'iommu-fix-v4.11-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 5066e4a3
      Linus Torvalds 提交于
      Pull IOMMU fix from Joerg Roedel:
       "Fix a boot crash caused by the VT-d driver when booted with IOMMU
        disabled. This was introduced with the recent IOMMU changes"
      
      * tag 'iommu-fix-v4.11-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/vt-d: Fix crash on boot when DMAR is disabled
      5066e4a3
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · b4642c10
      Linus Torvalds 提交于
      Pull seccomp fix from James Morris:
       "A fix for a regression in the seccomp code (it was supposed to be in
        the first pull req but I had it queued in the wrong branch)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        seccomp: Only dump core when single-threaded
      b4642c10
    • L
      Merge tag 'xfs-4.11-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · a27fcb0c
      Linus Torvalds 提交于
      Pull xfs updates from Darrick Wong:
       "Here are the XFS changes for 4.11. We aren't introducing any major
        features in this release cycle except for this being the first merge
        window I've managed on my own. :)
      
        Changes since last update:
      
         - Various cleanups
      
         - Livelock fixes for eofblocks scanning
      
         - Improved input verification for on-disk metadata
      
         - Fix races in the copy on write remap mechanism
      
         - Fix buffer io error timeout controls
      
         - Streamlining of directio copy on write
      
         - Asynchronous discard support
      
         - Fix asserts when splitting delalloc reservations
      
         - Don't bloat bmbt when right shifting extents
      
         - Inode alignment fixes for 32k block sizes"
      
      * tag 'xfs-4.11-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (39 commits)
        xfs: remove XFS_ALLOCTYPE_ANY_AG and XFS_ALLOCTYPE_START_AG
        xfs: simplify xfs_rtallocate_extent
        xfs: tune down agno asserts in the bmap code
        xfs: Use xfs_icluster_size_fsb() to calculate inode chunk alignment
        xfs: don't reserve blocks for right shift transactions
        xfs: fix len comparison in xfs_extent_busy_trim
        xfs: fix uninitialized variable in _reflink_convert_cow
        xfs: split indlen reservations fairly when under reserved
        xfs: handle indlen shortage on delalloc extent merge
        xfs: resurrect debug mode drop buffered writes mechanism
        xfs: clear delalloc and cache on buffered write failure
        xfs: don't block the log commit handler for discards
        xfs: improve busy extent sorting
        xfs: improve handling of busy extents in the low-level allocator
        xfs: don't fail xfs_extent_busy allocation
        xfs: correct null checks and error processing in xfs_initialize_perag
        xfs: update ctime and mtime on clone destinatation inodes
        xfs: allocate direct I/O COW blocks in iomap_begin
        xfs: go straight to real allocations for direct I/O COW writes
        xfs: return the converted extent in __xfs_reflink_convert_cow
        ...
      a27fcb0c
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · 7d91de74
      Linus Torvalds 提交于
      Pull printk updates from Petr Mladek:
      
       - Add Petr Mladek, Sergey Senozhatsky as printk maintainers, and Steven
         Rostedt as the printk reviewer. This idea came up after the
         discussion about printk issues at Kernel Summit. It was formulated
         and discussed at lkml[1].
      
       - Extend a lock-less NMI per-cpu buffers idea to handle recursive
         printk() calls by Sergey Senozhatsky[2]. It is the first step in
         sanitizing printk as discussed at Kernel Summit.
      
         The change allows to see messages that would normally get ignored or
         would cause a deadlock.
      
         Also it allows to enable lockdep in printk(). This already paid off.
         The testing in linux-next helped to discover two old problems that
         were hidden before[3][4].
      
       - Remove unused parameter by Sergey Senozhatsky. Clean up after a past
         change.
      
      [1] http://lkml.kernel.org/r/1481798878-31898-1-git-send-email-pmladek@suse.com
      [2] http://lkml.kernel.org/r/20161227141611.940-1-sergey.senozhatsky@gmail.com
      [3] http://lkml.kernel.org/r/20170215044332.30449-1-sergey.senozhatsky@gmail.com
      [4] http://lkml.kernel.org/r/20170217015932.11898-1-sergey.senozhatsky@gmail.com
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        printk: drop call_console_drivers() unused param
        printk: convert the rest to printk-safe
        printk: remove zap_locks() function
        printk: use printk_safe buffers in printk
        printk: report lost messages in printk safe/nmi contexts
        printk: always use deferred printk when flush printk_safe lines
        printk: introduce per-cpu safe_print seq buffer
        printk: rename nmi.c and exported api
        printk: use vprintk_func in vprintk()
        MAINTAINERS: Add printk maintainers
      7d91de74
    • L
      Merge tag 'modules-for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 6ef192f2
      Linus Torvalds 提交于
      Pull modules updates from Jessica Yu:
       "Summary of modules changes for the 4.11 merge window:
      
         - A few small code cleanups
      
         - Add modules git tree url to MAINTAINERS"
      
      * tag 'modules-for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        MAINTAINERS: add tree for modules
        module: fix memory leak on early load_module() failures
        module: Optimize search_module_extables()
        modules: mark __inittest/__exittest as __maybe_unused
        livepatch/module: print notice of TAINT_LIVEPATCH
        module: Drop redundant declaration of struct module
      6ef192f2
    • K
      seccomp: Only dump core when single-threaded · d7276e32
      Kees Cook 提交于
      The SECCOMP_RET_KILL filter return code has always killed the current
      thread, not the entire process. Changing this as a side-effect of dumping
      core isn't a safe thing to do (a few test suites have already flagged this
      behavioral change). Instead, restore the RET_KILL semantics, but still
      dump core when a RET_KILL delivers SIGSYS to a single-threaded process.
      
      Fixes: b25e6716 ("seccomp: dump core when using SECCOMP_RET_KILL")
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Acked-by: NAndrei Vagin <avagin@virtuozzo.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      d7276e32
    • L
      Merge tag 'tty-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 37c85961
      Linus Torvalds 提交于
      Pull tty/serial driver updates from Greg KH:
       "Here is the big tty/serial driver patchset for 4.11-rc1.
      
        Not much here, but a lot of little fixes and individual serial driver
        updates all over the subsystem. Majority are for the sh-sci driver and
        platform (the arch-specific changes have acks from the maintainer).
      
        The start of the "serial bus" code is here as well, but nothing is
        converted to use it yet. That work is still ongoing, hopefully will
        start to show up across different subsystems for 4.12 (bluetooth is
        one major place that will be used.)
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (109 commits)
        tty: pl011: Work around QDF2400 E44 stuck BUSY bit
        atmel_serial: Use the fractional divider when possible
        tty: Remove extra include in HVC console tty framework
        serial: exar: Enable MSI support
        serial: exar: Move register defines from uapi header to consumer site
        serial: pci: Remove unused pci_boards entries
        serial: exar: Move Commtech adapters to 8250_exar as well
        serial: exar: Fix feature control register constants
        serial: exar: Fix initialization of EXAR registers for ports > 0
        serial: exar: Fix mapping of port I/O resources
        serial: sh-sci: fix hardware RX trigger level setting
        tty/serial: atmel: ensure state is restored after suspending
        serial: 8250_dw: Avoid "too much work" from bogus rx timeout interrupt
        serdev: ttyport: check whether tty_init_dev() fails
        serial: 8250_pci: make pciserial_detach_ports() static
        ARM: dts: STiH410-b2260: Enable HW flow-control
        ARM: dts: STiH407-family: Use new Pinctrl groups
        ARM: dts: STiH407-pinctrl: Add Pinctrl group for HW flow-control
        ARM: dts: STiH410-b2260: Identify the UART RTS line
        dt-bindings: serial: Update 'uart-has-rtscts' description
        ...
      37c85961
    • L
      Merge tag 'staging-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · caa59428
      Linus Torvalds 提交于
      Pull staging/iio driver updates from Greg KH:
       "Here is the big staging and iio driver patchsets for 4.11-rc1.
      
        We almost broke even this time around, with only a few thousand lines
        added overall, as we removed the old and obsolete i4l code, but added
        some new drivers for the RPi platform, as well as adding some new IIO
        drivers.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (669 commits)
        Staging: vc04_services: Fix the "space prohibited" code style errors
        Staging: vc04_services: Fix the "wrong indent" code style errors
        staging: octeon: Use net_device_stats from struct net_device
        Staging: rtl8192u: ieee80211: ieee80211.h - style fix
        Staging: rtl8192u: ieee80211: ieee80211_tx.c - style fix
        Staging: rtl8192u: ieee80211: rtl819x_BAProc.c - style fix
        Staging: rtl8192u: ieee80211: ieee80211_module.c - style fix
        Staging: rtl8192u: ieee80211: rtl819x_TSProc.c - style fix
        Staging: rtl8192u: r8192U.h - style fix
        Staging: rtl8192u: r8192U_core.c - style fix
        Staging: rtl8192u: r819xU_cmdpkt.c - style fix
        staging: rtl8192u: blank lines aren't necessary before a close brace '}'
        staging: rtl8192u: Adding space after enum and struct definition
        staging: rtl8192u: Adding space after struct definition
        Staging: ks7010: Add required and preferred spaces around operators
        Staging: ks7010: ks*: Remove redundant blank lines
        Staging: ks7010: ks*: Add missing blank lines after declarations
        staging: visorbus, replace init_timer with setup_timer
        staging: vt6656: rxtx.c Removed multiple dereferencing
        staging: vt6656: Alignment match open parenthesis
        ...
      caa59428
    • L
      Merge tag 'driver-core-4.11-rc1' of... · b2064617
      Linus Torvalds 提交于
      Merge tag 'driver-core-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is the "small" driver core patches for 4.11-rc1.
      
        Not much here, some firmware documentation and self-test updates, a
        debugfs code formatting issue, and a new feature for call_usermodehelper
        to make it more robust on systems that want to lock it down in a more
        secure way.
      
        All of these have been linux-next for a while now with no reported
        issues"
      
      * tag 'driver-core-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        kernfs: handle null pointers while printing node name and path
        Introduce STATIC_USERMODEHELPER to mediate call_usermodehelper()
        Make static usermode helper binaries constant
        kmod: make usermodehelper path a const string
        firmware: revamp firmware documentation
        selftests: firmware: send expected errors to /dev/null
        selftests: firmware: only modprobe if driver is missing
        platform: Print the resource range if device failed to claim
        kref: prefer atomic_inc_not_zero to atomic_add_unless
        debugfs: improve formatting of debugfs_real_fops()
      b2064617
    • L
      Merge tag 'char-misc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e30aee9e
      Linus Torvalds 提交于
      Pull char/misc driver updates from Greg KH:
       "Here is the big char/misc driver patchset for 4.11-rc1.
      
        Lots of different driver subsystems updated here: rework for the
        hyperv subsystem to handle new platforms better, mei and w1 and extcon
        driver updates, as well as a number of other "minor" driver updates.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (169 commits)
        goldfish: Sanitize the broken interrupt handler
        x86/platform/goldfish: Prevent unconditional loading
        vmbus: replace modulus operation with subtraction
        vmbus: constify parameters where possible
        vmbus: expose hv_begin/end_read
        vmbus: remove conditional locking of vmbus_write
        vmbus: add direct isr callback mode
        vmbus: change to per channel tasklet
        vmbus: put related per-cpu variable together
        vmbus: callback is in softirq not workqueue
        binder: Add support for file-descriptor arrays
        binder: Add support for scatter-gather
        binder: Add extra size to allocator
        binder: Refactor binder_transact()
        binder: Support multiple /dev instances
        binder: Deal with contexts in debugfs
        binder: Support multiple context managers
        binder: Split flat_binder_object
        auxdisplay: ht16k33: remove private workqueue
        auxdisplay: ht16k33: rework input device initialization
        ...
      e30aee9e
    • L
      Merge tag 'usb-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 8ff546b8
      Linus Torvalds 提交于
      Pull USB/PHY updates from Greg KH:
       "Here is the big USB and PHY driver updates for 4.11-rc1.
      
        Nothing major, just the normal amount of churn in the usb gadget and
        dwc and xhci controllers, new device ids, new phy drivers, a new
        usb-serial driver, and a few other minor changes in different USB
        drivers.
      
        All have been in linux-next for a long time with no reported issues"
      
      * tag 'usb-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (265 commits)
        usb: cdc-wdm: remove logically dead code
        USB: serial: keyspan: drop header file
        USB: serial: io_edgeport: drop io-tables header file
        usb: musb: add code comment for clarification
        usb: misc: add USB251xB/xBi Hi-Speed Hub Controller Driver
        usb: misc: usbtest: remove redundant check on retval < 0
        USB: serial: upd78f0730: sort device ids
        USB: serial: upd78f0730: add ID for EVAL-ADXL362Z
        ohci-hub: fix typo in dbg_port macro
        usb: musb: dsps: Manage CPPI 4.1 DMA interrupt in DSPS
        usb: musb: tusb6010: Clean up tusb_omap_dma structure
        usb: musb: cppi_dma: Clean up cppi41_dma_controller structure
        usb: musb: cppi_dma: Clean up cppi structure
        usb: musb: cppi41: Detect aborted transfers in cppi41_dma_callback()
        usb: musb: dma: Add a DMA completion platform callback
        drivers: usb: usbip: Add missing break statement to switch
        usb: mtu3: remove redundant dev_err call in get_ssusb_rscs()
        USB: serial: mos7840: fix another NULL-deref at open
        USB: serial: console: clean up sanity checks
        USB: serial: console: fix uninitialised spinlock
        ...
      8ff546b8
    • L
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ca78d317
      Linus Torvalds 提交于
      Pull arm64 updates from Will Deacon:
       - Errata workarounds for Qualcomm's Falkor CPU
       - Qualcomm L2 Cache PMU driver
       - Qualcomm SMCCC firmware quirk
       - Support for DEBUG_VIRTUAL
       - CPU feature detection for userspace via MRS emulation
       - Preliminary work for the Statistical Profiling Extension
       - Misc cleanups and non-critical fixes
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (74 commits)
        arm64/kprobes: consistently handle MRS/MSR with XZR
        arm64: cpufeature: correctly handle MRS to XZR
        arm64: traps: correctly handle MRS/MSR with XZR
        arm64: ptrace: add XZR-safe regs accessors
        arm64: include asm/assembler.h in entry-ftrace.S
        arm64: fix warning about swapper_pg_dir overflow
        arm64: Work around Falkor erratum 1003
        arm64: head.S: Enable EL1 (host) access to SPE when entered at EL2
        arm64: arch_timer: document Hisilicon erratum 161010101
        arm64: use is_vmalloc_addr
        arm64: use linux/sizes.h for constants
        arm64: uaccess: consistently check object sizes
        perf: add qcom l2 cache perf events driver
        arm64: remove wrong CONFIG_PROC_SYSCTL ifdef
        ARM: smccc: Update HVC comment to describe new quirk parameter
        arm64: do not trace atomic operations
        ACPI/IORT: Fix the error return code in iort_add_smmu_platform_device()
        ACPI/IORT: Fix iort_node_get_id() mapping entries indexing
        arm64: mm: enable CONFIG_HOLES_IN_ZONE for NUMA
        perf: xgene: Include module.h
        ...
      ca78d317
    • L
      Merge tag 'arc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · a4ee7bac
      Linus Torvalds 提交于
      Pull ARC updates from Vineet Gupta:
      
       - Intc imporvements [Yuriy]
      
       - VDK platform updates [Alexey]
      
      * tag 'arc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: [plat-*] ARC_HAS_COH_CACHES no longer relevant
        ARCv2: intc: Delete useless comments in Device Trees
        ARCv2: IDU-intc: Delete deprecated parameters in Device Trees
        ARCv2: IDU-intc: mask all common interrupts by default
        ARCv2: IDU-intc: Use build registers for getting numbers of interrupts
        ARCv2: intc: Set default priority for all core interrupts
        ARCv2: intc: Use runtime value of irq count for setting up intc
        ARCv2: intc: Rework the build time irq count information
        ARC: [intc-*]: confine NR_CPU_IRQS to intc code
        ARCv2: intc: Use ARC_REG_STATUS32 for addressing STATUS32 reg
        arc: vdk: Add support of UIO
        arc: vdk: Add support of MMC controller
        arc: vdk: Disable halt on reset
      a4ee7bac
    • L
      Merge tag 'powerpc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 38705613
      Linus Torvalds 提交于
      Pull powerpc updates from Michael Ellerman:
       "Highlights include:
      
         - Support for direct mapped LPC on POWER9, giving Linux direct access
           to devices that may be on there such as a UART.
      
         - Memory hotplug support for the Power9 Radix MMU.
      
         - Add new AUX vectors describing the processor's cache geometry, to
           be used by glibc.
      
         - The ability for a guest to ask the hypervisor to resize the guest's
           hash table, and in addition support for doing so automatically when
           memory is hotplugged into/out-of the guest. This allows the hash
           table to be sized based on the current memory usage of the guest,
           rather than the maximum possible memory usage.
      
         - Implementation of optprobes (kprobe optimisation) for powerpc.
      
        In addition there's the topic branch shared with the KVM tree, which
        includes support for guests to use the Radix MMU on Power9.
      
        Thanks to:
          Alistair Popple, Andrew Donnellan, Aneesh Kumar K.V, Anju T, Anton
          Blanchard, Benjamin Herrenschmidt, Chris Packham, Daniel Axtens,
          Daniel Borkmann, David Gibson, Finn Thain, Gautham R. Shenoy, Gavin
          Shan, Greg Kurz, Joel Stanley, John Allen, Madhavan Srinivasan,
          Mahesh Salgaonkar, Markus Elfring, Michael Neuling, Nathan Fontenot,
          Naveen N. Rao, Nicholas Piggin, Paul Mackerras, Ravi Bangoria, Reza
          Arbab, Shailendra Singh, Vaibhav Jain, Wei Yongjun"
      
      * tag 'powerpc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (129 commits)
        powerpc/mm/radix: Skip ptesync in pte update helpers
        powerpc/mm/radix: Use ptep_get_and_clear_full when clearing pte for full mm
        powerpc/mm/radix: Update pte update sequence for pte clear case
        powerpc/mm: Update PROTFAULT handling in the page fault path
        powerpc/xmon: Fix data-breakpoint
        powerpc/mm: Fix build break with BOOK3S_64=n and MEMORY_HOTPLUG=y
        powerpc/mm: Fix build break when CMA=n && SPAPR_TCE_IOMMU=y
        powerpc/mm: Fix build break with RADIX=y & HUGETLBFS=n
        powerpc/pseries: Fix typo in parameter description
        powerpc/kprobes: Remove kprobe_exceptions_notify()
        kprobes: Introduce weak variant of kprobe_exceptions_notify()
        powerpc/ftrace: Fix confusing help text for DISABLE_MPROFILE_KERNEL
        powerpc/powernv: Fix opal_exit tracepoint opcode
        powerpc: Add a prototype for mcount() so it can be versioned
        powerpc: Drop GPL from of_node_to_nid() export to match other arches
        powerpc/kprobes: Optimize kprobe in kretprobe_trampoline()
        powerpc/kprobes: Implement Optprobes
        powerpc/kprobes: Fixes for kprobe_lookup_name() on BE
        powerpc: Add helper to check if offset is within relative branch range
        powerpc/bpf: Introduce __PPC_SH64()
        ...
      38705613
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ff47d8c0
      Linus Torvalds 提交于
      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
        ...
      ff47d8c0
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 3051bf36
      Linus Torvalds 提交于
      Pull networking updates from David Miller:
       "Highlights:
      
         1) Support TX_RING in AF_PACKET TPACKET_V3 mode, from Sowmini
            Varadhan.
      
         2) Simplify classifier state on sk_buff in order to shrink it a bit.
            From Willem de Bruijn.
      
         3) Introduce SIPHASH and it's usage for secure sequence numbers and
            syncookies. From Jason A. Donenfeld.
      
         4) Reduce CPU usage for ICMP replies we are going to limit or
            suppress, from Jesper Dangaard Brouer.
      
         5) Introduce Shared Memory Communications socket layer, from Ursula
            Braun.
      
         6) Add RACK loss detection and allow it to actually trigger fast
            recovery instead of just assisting after other algorithms have
            triggered it. From Yuchung Cheng.
      
         7) Add xmit_more and BQL support to mvneta driver, from Simon Guinot.
      
         8) skb_cow_data avoidance in esp4 and esp6, from Steffen Klassert.
      
         9) Export MPLS packet stats via netlink, from Robert Shearman.
      
        10) Significantly improve inet port bind conflict handling, especially
            when an application is restarted and changes it's setting of
            reuseport. From Josef Bacik.
      
        11) Implement TX batching in vhost_net, from Jason Wang.
      
        12) Extend the dummy device so that VF (virtual function) features,
            such as configuration, can be more easily tested. From Phil
            Sutter.
      
        13) Avoid two atomic ops per page on x86 in bnx2x driver, from Eric
            Dumazet.
      
        14) Add new bpf MAP, implementing a longest prefix match trie. From
            Daniel Mack.
      
        15) Packet sample offloading support in mlxsw driver, from Yotam Gigi.
      
        16) Add new aquantia driver, from David VomLehn.
      
        17) Add bpf tracepoints, from Daniel Borkmann.
      
        18) Add support for port mirroring to b53 and bcm_sf2 drivers, from
            Florian Fainelli.
      
        19) Remove custom busy polling in many drivers, it is done in the core
            networking since 4.5 times. From Eric Dumazet.
      
        20) Support XDP adjust_head in virtio_net, from John Fastabend.
      
        21) Fix several major holes in neighbour entry confirmation, from
            Julian Anastasov.
      
        22) Add XDP support to bnxt_en driver, from Michael Chan.
      
        23) VXLAN offloads for enic driver, from Govindarajulu Varadarajan.
      
        24) Add IPVTAP driver (IP-VLAN based tap driver) from Sainath Grandhi.
      
        25) Support GRO in IPSEC protocols, from Steffen Klassert"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1764 commits)
        Revert "ath10k: Search SMBIOS for OEM board file extension"
        net: socket: fix recvmmsg not returning error from sock_error
        bnxt_en: use eth_hw_addr_random()
        bpf: fix unlocking of jited image when module ronx not set
        arch: add ARCH_HAS_SET_MEMORY config
        net: napi_watchdog() can use napi_schedule_irqoff()
        tcp: Revert "tcp: tcp_probe: use spin_lock_bh()"
        net/hsr: use eth_hw_addr_random()
        net: mvpp2: enable building on 64-bit platforms
        net: mvpp2: switch to build_skb() in the RX path
        net: mvpp2: simplify MVPP2_PRS_RI_* definitions
        net: mvpp2: fix indentation of MVPP2_EXT_GLOBAL_CTRL_DEFAULT
        net: mvpp2: remove unused register definitions
        net: mvpp2: simplify mvpp2_bm_bufs_add()
        net: mvpp2: drop useless fields in mvpp2_bm_pool and related code
        net: mvpp2: remove unused 'tx_skb' field of 'struct mvpp2_tx_queue'
        net: mvpp2: release reference to txq_cpu[] entry after unmapping
        net: mvpp2: handle too large value in mvpp2_rx_time_coal_set()
        net: mvpp2: handle too large value handling in mvpp2_rx_pkts_coal_set()
        net: mvpp2: remove useless arguments in mvpp2_rx_{pkts, time}_coal_set
        ...
      3051bf36
    • L
      Merge tag 'gcc-plugins-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 1e74a2eb
      Linus Torvalds 提交于
      Pull gcc-plugins updates from Kees Cook:
       "This includes infrastructure updates and the structleak plugin, which
        performs forced initialization of certain structures to avoid possible
        information exposures to userspace.
      
        Summary:
      
         - infrastructure updates (gcc-common.h)
      
         - introduce structleak plugin for forced initialization of some
           structures"
      
      * tag 'gcc-plugins-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: Add structleak for more stack initialization
        gcc-plugins: consolidate on PASS_INFO macro
        gcc-plugins: add PASS_INFO and build_const_char_string()
      1e74a2eb
  4. 22 2月, 2017 16 次提交
    • A
      iommu/vt-d: Fix crash on boot when DMAR is disabled · c37a0177
      Andy Shevchenko 提交于
      By default CONFIG_INTEL_IOMMU_DEFAULT_ON is not set and thus
      dmar_disabled variable is set.
      
      Intel IOMMU driver based on above doesn't set intel_iommu_enabled
      variable.
      
      The commit b0119e87 ("iommu: Introduce new 'struct iommu_device'")
      mistakenly assumes it never happens and tries to unregister not ever
      registered resources, which crashes the kernel at boot time:
      
      	BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
      	IP: iommu_device_unregister+0x31/0x60
      
      Make unregister procedure conditional in free_iommu().
      
      Fixes: b0119e87 ("iommu: Introduce new 'struct iommu_device'")
      Cc: Joerg Roedel <jroedel@suse.de>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      c37a0177
    • K
    • K
    • L
      Merge tag 'rodata-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 7bb03382
      Linus Torvalds 提交于
      Pull rodata updates from Kees Cook:
       "This renames the (now inaccurate) DEBUG_RODATA and related
        SET_MODULE_RONX configs to the more sensible STRICT_KERNEL_RWX and
        STRICT_MODULE_RWX"
      
      * tag 'rodata-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        arch: Rename CONFIG_DEBUG_RODATA and CONFIG_DEBUG_MODULE_RONX
        arch: Move CONFIG_DEBUG_RODATA and CONFIG_SET_MODULE_RONX to be common
      7bb03382
    • L
      Merge tag 'usercopy-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 4a0853bf
      Linus Torvalds 提交于
      Pull usercopy test updates from Kees Cook:
       "This improves the usercopy tests:
      
         - check zeroing on failed copy_from_user()/get_user() (caught bug on
           ARM)
      
         - adjust tests for SMAP/PAN (can't zero userspace memory on failure)"
      
      * tag 'usercopy-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        usercopy: Add tests for all get_user() sizes
        usercopy: Adjust tests to deal with SMAP/PAN
        usercopy: add testcases to check zeroing on failure
      4a0853bf
    • L
      Merge tag 'pstore-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 6d1dd93e
      Linus Torvalds 提交于
      Pull pstore updates from Kees Cook:
       "Minor changes to pstore tree:
      
         - update MAINTAINERS with current git repo, add more files.
      
         - move prz allocation checks into the walker
      
         - initialize flags correctly (by accident spinlock was technically
           ok)"
      
      * tag 'pstore-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        MAINTAINERS: Adjust pstore git repo URI, add files
        pstore: Check for prz allocation in walker
        pstore: Correctly initialize spinlock and flags
      6d1dd93e
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 81bbef23
      Linus Torvalds 提交于
      Pull HID fix from Jiri Kosina:
       "Regression fix for HID_RMI-driven synaptics touchpads in
        !CONFIG_HID_RMI cases"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: rmi: fallback to generic/multitouch if hid-rmi is not built
      81bbef23
    • L
      Merge branch 'for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 79f4d1d5
      Linus Torvalds 提交于
      Pull libata updates from Tejun Heo:
      
       - Bartlomiej added pata_falcon
      
       - Christoph is trying to remove use of static 4k buf.  It's still WIP
      
       - config cleanup around HAS_DMA
      
       - other fixes and driver-specific changes
      
      * 'for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (29 commits)
        ata: pata_of_platform: using of_property_read_u32() helper
        pata_atiixp: Don't use unconnected secondary port on SB600/SB700
        libata-sff: Don't scan disabled ports when checking for legacy mode.
        pata_octeon_cf: remove unused local variables from octeon_cf_set_piomode()
        ahci: qoriq: added ls2088a platforms support
        ahci: qoriq: report error when ecc register address is missing in dts
        ahci: qoriq: added a condition to enable dma coherence
        Revert "libata: switch to dynamic allocation instead of ata_scsi_rbuf"
        ahci: imx: fix building without hwmon or thermal
        ata: add Atari Falcon PATA controller driver
        ata: pass queued command to ->sff_data_xfer method
        ata: allow subsystem to be used on m68k arch
        libata: switch to dynamic allocation instead of ata_scsi_rbuf
        libata: don't call ata_scsi_rbuf_fill for command without a response buffer
        libata: call ->scsi_done from ata_scsi_simulate
        libata: remove the done callback from ata_scsi_args
        libata: move struct ata_scsi_args to libata-scsi.c
        libata: avoid global response buffer in atapi_qc_complete
        libata-eh: Use switch() instead of sparse array for protocol strings
        ata: sata_mv: Convert to devm_ioremap_resource()
        ...
      79f4d1d5
    • L
      Merge tag 'dmaengine-4.11-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 97a229f9
      Linus Torvalds 提交于
      Pull dmaengine updates from Vinod Koul:
       "This time we fairly boring and bit small update.
      
         - Support for Intel iDMA 32-bit hardware
         - deprecate broken support for channel switching in async_tx
         - bunch of updates on stm32-dma
         - Cyclic support for zx dma and making in generic zx dma driver
         - Small updates to bunch of other drivers"
      
      * tag 'dmaengine-4.11-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (29 commits)
        async_tx: deprecate broken support for channel switching
        dmaengine: rcar-dmac: Widen DMA mask to 40 bits
        dmaengine: sun6i: allow build on ARM64 platforms (sun50i)
        dmaengine: Provide a wrapper for memcpy operations
        dmaengine: zx: fix build warning
        dmaengine: dw: we do support Merrifield SoC in PCI mode
        dmaengine: dw: add support of iDMA 32-bit hardware
        dmaengine: dw: introduce register mappings for iDMA 32-bit
        dmaengine: dw: introduce block2bytes() and bytes2block()
        dmaengine: dw: extract dwc_chan_pause() for future use
        dmaengine: dw: replace convert_burst() with one liner
        dmaengine: dw: register IRQ and DMA pool with instance ID
        dmaengine: dw: Fix data corruption in large device to memory transfers
        dmaengine: ste_dma40: indicate granularity on channels
        dmaengine: ste_dma40: indicate directions on channels
        dmaengine: stm32-dma: Add error messages if xlate fails
        dmaengine: dw: pci: remove LPE Audio DMA ID
        dmaengine: stm32-dma: Add max_burst support
        dmaengine: stm32-dma: Add synchronization support
        dmaengine: stm32-dma: Fix residue computation issue in cyclic mode
        ...
      97a229f9
    • L
      Merge tag 'media/v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · ff58d005
      Linus Torvalds 提交于
      Pull media updates from Mauro Carvalho Chehab:
      
       - new drivers:
             - i.MX6 Video Data Order Adapter's (VDOA)
             - Toshiba et8ek8 5MP sensor
             - STM DELTA multi-format video decoder V4L2 driver
             - SPI connected IR LED
             - Mediatek IR remote receiver
             - ZyDAS ZD1301 DVB USB interface driver
      
       - new RC keymaps
      
       - some very old LIRC drivers got removed from staging
      
       - RC core gained support encoding IR scan codes
      
       - DVB si2168 gained support for DVBv5 statistics
      
       - lirc_sir driver ported to rc-core and promoted from staging
      
       - other bug fixes, board additions and driver improvements
      
      * tag 'media/v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (230 commits)
        [media] mtk-vcodec: fix build warnings without DEBUG
        [media] zd1301: fix building interface driver without demodulator
        [media] usbtv: add sharpness control
        [media] cxusb: Use a dma capable buffer also for reading
        [media] ttpci: address stringop overflow warning
        [media] dvb-usb-v2: avoid use-after-free
        [media] add Hama Hybrid DVB-T Stick support
        [media] et8ek8: Fix compiler / Coccinelle warnings
        [media] media: fix semicolon.cocci warnings
        [media] media: exynos4-is: add flags to dummy Exynos IS i2c adapter
        [media] v4l: of: check for unique lanes in data-lanes and clock-lanes
        [media] coda/imx-vdoa: constify structs
        [media] st-delta: debug: trace stream/frame information & summary
        [media] st-delta: add mjpeg support
        [media] st-delta: EOS (End Of Stream) support
        [media] st-delta: rpmsg ipc support
        [media] st-delta: add memory allocator helper functions
        [media] st-delta: STiH4xx multi-format video decoder v4l2 driver
        [media] MAINTAINERS: add st-delta driver
        [media] ARM: multi_v7_defconfig: enable STMicroelectronics DELTA Support
        ...
      ff58d005
    • L
      Merge tag 'pinctrl-v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 5ab35662
      Linus Torvalds 提交于
      Pull pin control updates from Linus Walleij:
       "Pin control bulk changes for the v4.11 kernel cycle.
      
        Core changes:
      
         - Switch the generic pin config argument from 16 to 24 bits, only use
           8 bits for the configuration type. We might need to encode more
           information about a certain setting than we need to encode
           different generic settings.
      
         - Add a cross-talk API to the pin control GPIO back-end, utilizing
           pinctrl_gpio_set_config() from GPIO drivers that want to set up a
           certain pin configuration in the back-end.
      
           This also includes the .set_config() refactoring of the GPIO chips,
           so that they pass a generic configuration for things like
           debouncing and single ended (typically open drain). This change has
           also been merged in an immutable branch to the GPIO tree.
      
         - Take hogs with a delayed work, so that we finalize probing a pin
           controller before trying to get any hogs.
      
         - For pin controllers putting all group and function definitions into
           the device tree, we now have generic code to deal with this and it
           is used in two drivers so far.
      
         - Simplifications of the pin request conflict check.
      
         - Make dt_free_map() optional.
      
        Updates to drivers:
      
         - pinctrl-single now use the generic helpers to generate dynamic
           group and function tables from the device tree.
      
         - Texas Instruments IOdelay configuration driver add-on to
           pinctrl-single.
      
         - i.MX: use radix trees to store groups and functions, use the new
           generic group and function helpers to manage them.
      
         - Intel: add support for hardware debouncing and 1K pull-down. New
           subdriver for the Gemini Lake SoC.
      
         - Renesas SH-PFC: drive strength and bias support, CAN bus muxing,
           MSIOF, SDHI, HSCIF for r8a7796. Gyro-ADC supporton r8a7791.
      
         - Aspeed: use syscon cross-dependencies to set up related bits in the
           LPC host controller and display controller.
      
         - Aspeed: finalize G4 and G5 support. Fix mux configuration on GPIOs.
           Add banks Y, Z, AA, AB and AC.
      
         - AMD: support additional GPIO.
      
         - STM32: set this controller to strict muxing mode. STM32H743 MCU
           support.
      
         - Allwinner sunxi: deep simplifications on how to support subvariants
           of SoCs without adding to much SoC-specific data for each
           subvariant, especially for sun5i variants. New driver for V3s SoCs.
           New driver for the H5 SoC. Support A31/A31s variants with the new
           variant framework.
      
         - Mvebu: simplifications to use a MMIO and regmap abstraction. New
           subdrivers for the 98DX3236, 98DX5241 SoCs.
      
         - Samsung Exynos: delete Exynos4415 support. Add crosstalk to the SoC
           driver to access regmaps. Add infrastructure for pin-bank retention
           control. Clean out the pin retention control from
           arch/arm/mach-exynos and arch/arm/mach-s5p and put it properly in
           the Samsung pin control driver(s).
      
         - Meson: add HDMI HPD/DDC pins. Add pwm_ao_b pin.
      
         - Qualcomm: use raw spinlock variants: this makes the qualcomm driver
           realtime-safe"
      
      * tag 'pinctrl-v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (111 commits)
        pinctrl: samsung: Fix return value check in samsung_pinctrl_get_soc_data()
        pinctrl: intel: unlock on error in intel_config_set_pull()
        pinctrl: berlin: make bool drivers explicitly non-modular
        pinctrl: spear: make bool drivers explicitly non-modular
        pinctrl: mvebu: make bool drivers explicitly non-modular
        pinctrl: sunxi: make sun5i explicitly non-modular
        pinctrl: sunxi: Remove stray printk call in sun5i driver's probe function
        pinctrl: samsung: mark PM functions as __maybe_unused
        pinctrl: sunxi: Remove redundant A31s pinctrl driver
        pinctrl: sunxi: Support A31/A31s with pinctrl variants
        pinctrl: Amend bindings for STM32 pinctrl
        pinctrl: Add STM32 pinctrl driver DT bindings
        pinctrl: stm32: Add STM32H743 MCU support
        include: dt-bindings: Add STM32H7 pinctrl DT defines
        gpio: aspeed: Remove dependence on GPIOF_* macros
        pinctrl: stm32: fix bad location of gpiochip_lock_as_irq
        drivers: pinctrl: add driver for Allwinner H5 SoC
        pinctrl: intel: Add Intel Gemini Lake pin controller support
        pinctrl: intel: Add support for 1k additional pull-down
        pinctrl: intel: Add support for hardware debouncer
        ...
      5ab35662
    • J
      HID: rmi: fallback to generic/multitouch if hid-rmi is not built · 2fa299a9
      Jiri Kosina 提交于
      Commit 279967a6 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
      unconditionally switches over handling of all Synaptics touchpads to hid-rmi
      (to make use of extended features of the HW); in case CONFIG_HID_RMI is
      disabled though this renders the touchpad unusable, as the
      
      	HID_DEVICE(HID_BUS_ANY, HID_GROUP_RMI, HID_ANY_ID, HID_ANY_ID)
      
      match doesn't exist and generic/multitouch doesn't bind to it either (due
      to hid group mismatch).
      
      Fix this by switching over to hid-rmi only if it has been actually built.
      
      Fixes: 279967a6 ("HID: rmi: Handle all Synaptics touchpads using hid-rmi")
      Reported-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Acked-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Tested-by: NAndrew Duggan <aduggan@synaptics.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      2fa299a9
    • L
      Merge tag 'extable-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 6d1c42d9
      Linus Torvalds 提交于
      Pull exception table module split from Paul Gortmaker:
       "Final extable.h related changes.
      
        This completes the separation of exception table content from the
        module.h header file. This is achieved with the final commit that
        removes the one line back compatible change that sourced extable.h
        into the module.h file.
      
        The commits are unchanged since January, with the exception of a
        couple Acks that came in for the last two commits a bit later. The
        changes have been in linux-next for quite some time[1] and have got
        widespread arch coverage via toolchains I have and also from
        additional ones the kbuild bot has.
      
        Maintaners of the various arch were Cc'd during the postings to
        lkml[2] and informed that the intention was to take the remaining arch
        specific changes and lump them together with the final two non-arch
        specific changes and submit for this merge window.
      
        The ia64 diffstat stands out and probably warrants a mention. In an
        earlier review, Al Viro made a valid comment that the original header
        separation of content left something to be desired, and that it get
        fixed as a part of this change, hence the larger diffstat"
      
      * tag 'extable-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (21 commits)
        module.h: remove extable.h include now users have migrated
        core: migrate exception table users off module.h and onto extable.h
        cris: migrate exception table users off module.h and onto extable.h
        hexagon: migrate exception table users off module.h and onto extable.h
        microblaze: migrate exception table users off module.h and onto extable.h
        unicore32: migrate exception table users off module.h and onto extable.h
        score: migrate exception table users off module.h and onto extable.h
        metag: migrate exception table users off module.h and onto extable.h
        arc: migrate exception table users off module.h and onto extable.h
        nios2: migrate exception table users off module.h and onto extable.h
        sparc: migrate exception table users onto extable.h
        openrisc: migrate exception table users off module.h and onto extable.h
        frv: migrate exception table users off module.h and onto extable.h
        sh: migrate exception table users off module.h and onto extable.h
        xtensa: migrate exception table users off module.h and onto extable.h
        mn10300: migrate exception table users off module.h and onto extable.h
        alpha: migrate exception table users off module.h and onto extable.h
        arm: migrate exception table users off module.h and onto extable.h
        m32r: migrate exception table users off module.h and onto extable.h
        ia64: ensure exception table search users include extable.h
        ...
      6d1c42d9
    • L
      Merge tag 'mips_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips · 0f002fdd
      Linus Torvalds 提交于
      Pull MIPS updates from James Hogan:
       "Here's the main MIPS pull request for 4.11.
      
        It contains a few new features such as IRQ stacks, cacheinfo support,
        and KASLR for Octeon CPUs, and a variety of smaller improvements and
        fixes including devicetree additions, kexec cleanups, microMIPS stack
        unwinding fixes, and a bunch of build fixes to clean up continuous
        integration builds.
      
        Its all been in linux-next for at least a couple of days, most of it
        far longer.
      
        Miscellaneous:
         - Add IRQ stacks
         - Add cacheinfo support
         - Add "uzImage.bin" zboot target
         - Unify performance counter definitions
         - Export various (mainly assembly) symbols alongside their
           definitions
         - Audit and remove unnecessary uses of module.h
      
        kexec & kdump:
         - Lots of improvements and fixes
         - Add correct copy_regs implementations
         - Add debug logging of new kernel information
      
        Security:
         - Use Makefile.postlink to insert relocations into vmlinux
         - Provide plat_post_relocation hook (used for Octeon KASLR)
         - Add support for tuning mmap randomisation
         - Relocate DTB
      
        microMIPS:
         - A load of unwind fixes
         - Add some missing .insn to fix link errors
      
        MIPSr6:
         - Fix MULTU/MADDU/MSUBU sign extension in r2 emulation
         - Remove r2_emul_return and use ERETNC unconditionally on MIPSr6
         - Allow pre-r6 emulation on SMP MIPSr6 kernels
      
        Cache management:
         - Treat physically indexed dcache as non-aliasing
         - Add return errors to protected cache ops for KVM
         - CM3: Ensure L1 & L2 cache ECC checking matches
         - CM3: Indicate inclusive caches
         - I6400: Treat dcache as physically indexed
      
        Memory management:
         - Ensure bootmem doesn't corrupt reserved memory
         - Export some TLB exception generation functions for KVM
      
        OF:
         - NULL check initial_boot_params before use in of_scan_flat_dt()
         - Fix unaligned access in of_alias_scan()
      
        SMP:
         - CPS: Don't BUG if a CPU fails to start
      
        Other fixes:
         - Fix longstanding 64-bit IP checksum carry bug
         - Fix KERN_CONT fallout in cpu-bugs64.c and sync-r4k.c
         - Update defconfigs for NF_CT_PROTO_DCCP, DPLITE,
           CPU_FREQ_STAT,SCSI_DH changes
         - Disable certain builtin compiler options, stack-check (whole
           kernel), asynchronous-unwind-tables (VDSO).
         - A bunch of build fixes from kernelci.org testing
         - Various other minor cleanups & corrections
      
        BMIPS:
         - Migrate interrupts during bmips_cpu_disable
         - BCM47xx: Add Luxul devices
         - BCM47xx: Fix Asus WL-500W button inversion
         - BCM7xxx: Add SPI device nodes
      
        Generic (multiplatform):
         - Add kexec DTB passing
         - Fix big endian
         - Add cpp_its_S in ksym_dep_filter to silence build warning
      
        IP22:
         - Reformat inline assembler code to modern standards
         - Fix binutils 2.25 build error
      
        IP27:
         - Fix duplicate CAC_BASE definition build error
         - Disable qlge driver to workaround broken compiler
      
        Lantiq:
         - Refresh defconfig and activate more drivers
         - Lock DMA register access
         - Fix cascading IRQ setup
         - Fix build of VPE loader
         - xway: Fix ethernet packet header corruption over reboot
      
        Loongson1
         - Add watchdog support
         - 1B: Reduce DEFAULT_MEMSIZE to 64MB
         - 1B: Change OSC clock name to match rest of kernel
         - 1C: Remove ARCH_WANT_OPTIONAL_GPIOLIB
      
        Octeon:
         - Add KASLR support
         - Support Octeon III USB controller
         - Fix large copy_from_user corner case
         - Enable devtmpfs in defconfig
      
        Netlogic:
         - Fix non-default XLR build error due to netlogic,xlp-pic code
         - Fix assembler warning from smpboot.S
      
        pic32mzda:
         - Fix linker error when early printk is disabled
      
        Pistachio:
         - Add base device tree
         - Add Ci40 "Marduk" device tree
      
        Ralink:
         - Support raw appended DTB
         - Add missing I2C & I2S clocks
         - Add missing pinmux and fix pinmux function name typo
         - Add missing clk_round_rate()
         - Clean up prom_init()
         - MT7621: Set SoC type
         - MT7621: Support highmem
      
        TXx9:
         - Modernize printing of kernel messages and resolve KERN_CONT fallout
         - 7segled: use permission-specific DEVICE_ATTR variants
      
        XilFPGA:
         - Add IRQ controller and UART IRQ
         - Add AXI I2C and emaclite to DT & defconfig"
      
      * tag 'mips_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips: (148 commits)
        MIPS: VDSO: Explicitly use -fno-asynchronous-unwind-tables
        MIPS: BCM47XX: Fix button inversion for Asus WL-500W
        MIPS: DTS: Add img directory to Makefile
        MIPS: ip27: Disable qlge driver in defconfig
        MIPS: pic32mzda: Fix linker error for pic32_get_pbclk()
        MIPS: Lantiq: Keep ethernet enabled during boot
        MIPS: OCTEON: Fix copy_from_user fault handling for large buffers
        MIPS: Fix special case in 64 bit IP checksumming.
        MIPS: OCTEON: Enable DEVTMPFS
        MIPS: lantiq: Set physical_memsize
        MIPS: sysmips: Remove duplicated include from syscall.c
        Kbuild: Add cpp_its_S in ksym_dep_filter
        MIPS: Audit and remove any unnecessary uses of module.h
        MIPS: Unify perf counter register definitions
        MIPS: Disable stack checks on MIPS kernels
        MIPS: OCTEON: Platform support for OCTEON III USB controller
        MIPS: Lantiq: Fix cascaded IRQ setup
        MIPS: sync-r4k: Fix KERN_CONT fallout
        MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch
        MIPS: Fix distclean with Makefile.postlink
        ...
      0f002fdd
    • L
      Merge tag 'for-linus-4.11-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 252b95c0
      Linus Torvalds 提交于
      Pull xen updates from Juergen Gross:
       "Xen features and fixes:
      
         - a series from Boris Ostrovsky adding support for booting Linux as
           Xen PVH guest
      
         - a series from Juergen Gross streamlining the xenbus driver
      
         - a series from Paul Durrant adding support for the new device model
           hypercall
      
         - several small corrections"
      
      * tag 'for-linus-4.11-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/privcmd: add IOCTL_PRIVCMD_RESTRICT
        xen/privcmd: Add IOCTL_PRIVCMD_DM_OP
        xen/privcmd: return -ENOTTY for unimplemented IOCTLs
        xen: optimize xenbus driver for multiple concurrent xenstore accesses
        xen: modify xenstore watch event interface
        xen: clean up xenbus internal headers
        xenbus: Neaten xenbus_va_dev_error
        xen/pvh: Use Xen's emergency_restart op for PVH guests
        xen/pvh: Enable CPU hotplug
        xen/pvh: PVH guests always have PV devices
        xen/pvh: Initialize grant table for PVH guests
        xen/pvh: Make sure we don't use ACPI_IRQ_MODEL_PIC for SCI
        xen/pvh: Bootstrap PVH guest
        xen/pvh: Import PVH-related Xen public interfaces
        xen/x86: Remove PVH support
        x86/boot/32: Convert the 32-bit pgtable setup code from assembly to C
        xen/manage: correct return value check on xenbus_scanf()
        x86/xen: Fix APIC id mismatch warning on Intel
        xen/netback: set default upper limit of tx/rx queues to 8
        xen/netfront: set default upper limit of tx/rx queues to 8
      252b95c0
    • L
      Merge branch 'stable-4.11' of git://git.infradead.org/users/pcmoore/audit · b8989bcc
      Linus Torvalds 提交于
      Pull audit updates from Paul Moore:
       "The audit changes for v4.11 are relatively small compared to what we
        did for v4.10, both in terms of size and impact.
      
         - two patches from Steve tweak the formatting for some of the audit
           records to make them more consistent with other audit records.
      
         - three patches from Richard record the name of a module on module
           load, fix the logging of sockaddr information when using
           socketcall() on 32-bit systems, and add the ability to reset
           audit's lost record counter.
      
         - my lone patch just fixes an annoying style nit that I was reminded
           about by one of Richard's patches.
      
        All these patches pass our test suite"
      
      * 'stable-4.11' of git://git.infradead.org/users/pcmoore/audit:
        audit: remove unnecessary curly braces from switch/case statements
        audit: log module name on init_module
        audit: log 32-bit socketcalls
        audit: add feature audit_lost reset
        audit: Make AUDIT_ANOM_ABEND event normalized
        audit: Make AUDIT_KERNEL event conform to the specification
      b8989bcc