1. 15 Feb, 2016 2 commits
    • Emmanuel Grumbach's avatar
      iwlwifi: pcie: fix RF-Kill vs. firmware load race · a6bd005f
      Emmanuel Grumbach authored
      When we load the firmware, we hold trans_pcie->mutex to
      avoid nested flows. We also rely on the ISR to wake up the
      thread when the DMA has finished copying a chunk. During
      this flow, we enable the RF-Kill interrupt.
      
      The problem is that the RF-Kill interrupt handler can take
      the mutex and bring the device down. This means that if
      we load the firmware while the RF-Kill switch is enabled
      (which will happen when we load the INIT firmware to read
      the device's capabilities and register to mac80211), we
      may get an RF-Kill interrupt immediately and the ISR will
      be waiting for the mutex held by the thread that is
      currently loading the firmware. At this stage, the ISR
      won't be able to service the DMA's interrupt needed to
      wake up the thread that load the firmware. We are in a
      deadlock situation which ends when the thread that loads
      the firmware fails on timeout and releases the mutex.
      
      To fix this, take the mutex later in the flow, disable
      the interrupts and synchronize_irq() to give a chance to
      the RF-Kill interrupt to run and complete.
      After that, mask all the interrupts besides the DMA
      interrupt and proceed with firmware load. Make sure to
      check that there was no RF-Kill interrupt when the
      interrupts were disabled.
      
      This fixes https://bugzilla.kernel.org/show_bug.cgi?id=111361Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      a6bd005f
    • Luca Coelho's avatar
      iwlwifi: mvm: don't allow sched scans without matches to be started · 5e56276e
      Luca Coelho authored
      The firmware can perform a scheduled scan with not matchsets passed,
      but it can't send notification that results were found.  Since the
      userspace then cannot know when we got new results and the firmware
      wouldn't trigger a wake in case we are sleeping, it's better not to
      allow scans without matchsets.
      
      This fixes https://bugzilla.kernel.org/show_bug.cgi?id=110831
      
      Cc: <stable@vger.kernel.org> [3.17+]
      Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      5e56276e
  2. 10 Feb, 2016 1 commit
  3. 31 Jan, 2016 1 commit
  4. 26 Jan, 2016 2 commits
    • Gregory Greenman's avatar
      iwlwifi: mvm: rs: fix TPC statistics handling · 69c7fda4
      Gregory Greenman authored
      FW behaviour changed and now updates driver about the used TPC
      reduction in the following cases:
      1. In tx response, which is used mostly for a single frame case
      2. In BA notification
      
      When tx aggregation fails with the initial rate, FW will send
      to the driver BA notification and will try to transmit with the
      next rate, but this time without tx power reduction. Thus, in case
      of a failure with the initial rate, driver will get two BA notifications,
      the first one with reduced tx power as in the LQ command and the second
      one with 0 power reduction.
      
      This patch adapts the TPC statistics according to the description above:
      1. Use BA notifications instead of Tx response
      2. For TPC only, drop the optimization which considers empty BA as one
      MPDU. The reason is that with TPC we want to recover very quickly from
      a bad power reduction and, therefore we'd like the success ratio to get
      an immediate hit when failing to get a BA, so we'd switch back to a
      lower or zero power reduction
      Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      69c7fda4
    • Oren Givon's avatar
      iwlwifi: update support for 3168 series firmware and NVM · ca296c57
      Oren Givon authored
      Update the struct which defines the support for 3168 cards.
      Now it will search for a firmware of this format:
      iwlwifi-3168-XX.ucode
      Also, set the minimum version of the ucode to 20.
      Update the minimum NVM version and minimum NVM calibrations
      version of the 3168 series.
      Signed-off-by: default avatarOren Givon <oren.givon@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      ca296c57
  5. 24 Jan, 2016 2 commits
  6. 13 Jan, 2016 8 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · aee3bfa3
      Linus Torvalds authored
      Pull networking updates from Davic Miller:
      
       1) Support busy polling generically, for all NAPI drivers.  From Eric
          Dumazet.
      
       2) Add byte/packet counter support to nft_ct, from Floriani Westphal.
      
       3) Add RSS/XPS support to mvneta driver, from Gregory Clement.
      
       4) Implement IPV6_HDRINCL socket option for raw sockets, from Hannes
          Frederic Sowa.
      
       5) Add support for T6 adapter to cxgb4 driver, from Hariprasad Shenai.
      
       6) Add support for VLAN device bridging to mlxsw switch driver, from
          Ido Schimmel.
      
       7) Add driver for Netronome NFP4000/NFP6000, from Jakub Kicinski.
      
       8) Provide hwmon interface to mlxsw switch driver, from Jiri Pirko.
      
       9) Reorganize wireless drivers into per-vendor directories just like we
          do for ethernet drivers.  From Kalle Valo.
      
      10) Provide a way for administrators "destroy" connected sockets via the
          SOCK_DESTROY socket netlink diag operation.  From Lorenzo Colitti.
      
      11) Add support to add/remove multicast routes via netlink, from Nikolay
          Aleksandrov.
      
      12) Make TCP keepalive settings per-namespace, from Nikolay Borisov.
      
      13) Add forwarding and packet duplication facilities to nf_tables, from
          Pablo Neira Ayuso.
      
      14) Dead route support in MPLS, from Roopa Prabhu.
      
      15) TSO support for thunderx chips, from Sunil Goutham.
      
      16) Add driver for IBM's System i/p VNIC protocol, from Thomas Falcon.
      
      17) Rationalize, consolidate, and more completely document the checksum
          offloading facilities in the networking stack.  From Tom Herbert.
      
      18) Support aborting an ongoing scan in mac80211/cfg80211, from
          Vidyullatha Kanchanapally.
      
      19) Use per-bucket spinlock for bpf hash facility, from Tom Leiming.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1375 commits)
        net: bnxt: always return values from _bnxt_get_max_rings
        net: bpf: reject invalid shifts
        phonet: properly unshare skbs in phonet_rcv()
        dwc_eth_qos: Fix dma address for multi-fragment skbs
        phy: remove an unneeded condition
        mdio: remove an unneed condition
        mdio_bus: NULL dereference on allocation error
        net: Fix typo in netdev_intersect_features
        net: freescale: mac-fec: Fix build error from phy_device API change
        net: freescale: ucc_geth: Fix build error from phy_device API change
        bonding: Prevent IPv6 link local address on enslaved devices
        IB/mlx5: Add flow steering support
        net/mlx5_core: Export flow steering API
        net/mlx5_core: Make ipv4/ipv6 location more clear
        net/mlx5_core: Enable flow steering support for the IB driver
        net/mlx5_core: Initialize namespaces only when supported by device
        net/mlx5_core: Set priority attributes
        net/mlx5_core: Connect flow tables
        net/mlx5_core: Introduce modify flow table command
        net/mlx5_core: Managing root flow table
        ...
      aee3bfa3
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · c597b6bc
      Linus Torvalds authored
      Pull crypto update from Herbert Xu:
       "Algorithms:
         - Add RSA padding algorithm
      
        Drivers:
         - Add GCM mode support to atmel
         - Add atmel support for SAMA5D2 devices
         - Add cipher modes to talitos
         - Add rockchip driver for rk3288
         - Add qat support for C3XXX and C62X"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (103 commits)
        crypto: hifn_795x, picoxcell - use ablkcipher_request_cast
        crypto: qat - fix SKU definiftion for c3xxx dev
        crypto: qat - Fix random config build issue
        crypto: ccp - use to_pci_dev and to_platform_device
        crypto: qat - Rename dh895xcc mmp firmware
        crypto: 842 - remove WARN inside printk
        crypto: atmel-aes - add debug facilities to monitor register accesses.
        crypto: atmel-aes - add support to GCM mode
        crypto: atmel-aes - change the DMA threshold
        crypto: atmel-aes - fix the counter overflow in CTR mode
        crypto: atmel-aes - fix atmel-ctr-aes driver for RFC 3686
        crypto: atmel-aes - create sections to regroup functions by usage
        crypto: atmel-aes - fix typo and indentation
        crypto: atmel-aes - use SIZE_IN_WORDS() helper macro
        crypto: atmel-aes - improve performances of data transfer
        crypto: atmel-aes - fix atmel_aes_remove()
        crypto: atmel-aes - remove useless AES_FLAGS_DMA flag
        crypto: atmel-aes - reduce latency of DMA completion
        crypto: atmel-aes - remove unused 'err' member of struct atmel_aes_dev
        crypto: atmel-aes - rework crypto request completion
        ...
      c597b6bc
    • Linus Torvalds's avatar
      Merge tag 'upstream-4.5-rc1' of git://git.infradead.org/linux-ubifs · 60b7eca1
      Linus Torvalds authored
      Pull UBI/UBIFS updates from Richard Weinberger:
       "This contains three changes - two cleanups and one UBI wear leveling
        improvement by Sebastian Siewior"
      
      * tag 'upstream-4.5-rc1' of git://git.infradead.org/linux-ubifs:
        ubifs: Use XATTR_*_PREFIX_LEN
        UBIFS: add a comment in key.h for unused parameter
        mtd: ubi: wl: avoid erasing a PEB which is empty
      60b7eca1
    • Linus Torvalds's avatar
      Merge tag 'configfs-for-linus' of git://git.infradead.org/users/hch/configfs · 420d12d6
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
       "I'm assisting Joel as co-maintainer and patch monkey now, and you will
        see pull reuquests from me for a while.
      
        Besides the MAINTAINERS update there is just a single change, which
        adds support for binary attributes to configfs, which are very similar
        to the sysfs binary attributes.  Thanks to Pantelis Antoniou!
      
        You will see another actually bigger set of configfs changes in the
        SCSI target pull from Nic - those were merged before this new tree
        even existed"
      
      * tag 'configfs-for-linus' of git://git.infradead.org/users/hch/configfs:
        configfs: add myself as co-maintainer, updated git tree
        configfs: implement binary attributes
      420d12d6
    • Linus Torvalds's avatar
      Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 4d589677
      Linus Torvalds authored
      Pull GFS2 updates from Bob Peterson:
       "Here is a list of patches we've accumulated for GFS2 for the current
        upstream merge window.  Last window's set was short, but I warned that
        this one would be bigger, and so it is.  We've got 19 patches:
      
         - A patch from Abhi Das to propagate the GFS2_DIF_SYSTEM bit so that
           newly added journals don't get flagged, deleted, and recreated by
           fsck.gfs2.
      
         - Two patches from Andreas Gruenbacher to improve GFS2 performance
           where extended attributes are involved.
      
         - A patch from Andy Price to fix a suspicious rcu dereference error.
      
         - Two patches from Ben Marzinski that rework how GFS2's NFS cookies
           are managed.  This fixes readdir problems with nfs-over-gfs2.
      
         - A patch from Ben Marzinski that fixes a race in unmounting GFS2.
      
         - A set of four patches from me to move the resource group
           reservations inside the gfs2 inode to improve performance and fix a
           bug whereby get_write_access improperly prevented some operations
           like chown.
      
         - A patch from me to spinlock-protect the setting of system statfs
           file data.  This was causing small discrepancies between df and du.
      
         - A patch from me to reintroduce a timeout while clearing glocks
           which was accidentally dropped some time ago.
      
         - A patch from me to wait for iopen glock dequeues in order to
           improve deleting of files that were unlinked from a different
           cluster node.
      
         - A patch from me to ensure metadata address spaces get truncated
           when an inode is evicted.
      
         - A patch from me to fix a bug in which a memory leak could occur in
           some error cases when inodes were trying to be created.
      
         - A patch to consistently use iopen glocks to transition from the
           unlinked state to the deleted state.
      
         - A patch to fix a glock reference count error when inode creation
           fails.
      
         - A patch from Junxiao Bi to fix an flock panic.
      
         - A patch from Markus Elfring that removes an unnecessary if"
      
      * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: fix flock panic issue
        GFS2: Don't do glock put on when inode creation fails
        GFS2: Always use iopen glock for gl_deletes
        GFS2: Release iopen glock in gfs2_create_inode error cases
        GFS2: Truncate address space mapping when deleting an inode
        GFS2: Wait for iopen glock dequeues
        gfs2: clear journal live bit in	gfs2_log_flush
        gfs2: change gfs2 readdir cookie
        gfs2: keep offset when splitting dir leaf blocks
        GFS2: Reintroduce a timeout in function gfs2_gl_hash_clear
        GFS2: Update master statfs buffer with sd_statfs_spin locked
        GFS2: Reduce size of incore inode
        GFS2: Make rgrp reservations part of the gfs2_inode structure
        GFS2: Extract quota data from reservations structure (revert 5407e242)
        gfs2: Extended attribute readahead optimization
        gfs2: Extended attribute readahead
        GFS2: Use rht_for_each_entry_rcu in glock_hash_walk
        GFS2: Delete an unnecessary check before the function call "iput"
        gfs2: Automatically set GFS2_DIF_SYSTEM flag on system files
      4d589677
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 33caf82a
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "All kinds of stuff.  That probably should've been 5 or 6 separate
        branches, but by the time I'd realized how large and mixed that bag
        had become it had been too close to -final to play with rebasing.
      
        Some fs/namei.c cleanups there, memdup_user_nul() introduction and
        switching open-coded instances, burying long-dead code, whack-a-mole
        of various kinds, several new helpers for ->llseek(), assorted
        cleanups and fixes from various people, etc.
      
        One piece probably deserves special mention - Neil's
        lookup_one_len_unlocked().  Similar to lookup_one_len(), but gets
        called without ->i_mutex and tries to avoid ever taking it.  That, of
        course, means that it's not useful for any directory modifications,
        but things like getting inode attributes in nfds readdirplus are fine
        with that.  I really should've asked for moratorium on lookup-related
        changes this cycle, but since I hadn't done that early enough...  I
        *am* asking for that for the coming cycle, though - I'm going to try
        and get conversion of i_mutex to rwsem with ->lookup() done under lock
        taken shared.
      
        There will be a patch closer to the end of the window, along the lines
        of the one Linus had posted last May - mechanical conversion of
        ->i_mutex accesses to inode_lock()/inode_unlock()/inode_trylock()/
        inode_is_locked()/inode_lock_nested().  To quote Linus back then:
      
          -----
          |    This is an automated patch using
          |
          |        sed 's/mutex_lock(&\(.*\)->i_mutex)/inode_lock(\1)/'
          |        sed 's/mutex_unlock(&\(.*\)->i_mutex)/inode_unlock(\1)/'
          |        sed 's/mutex_lock_nested(&\(.*\)->i_mutex,[     ]*I_MUTEX_\([A-Z0-9_]*\))/inode_lock_nested(\1, I_MUTEX_\2)/'
          |        sed 's/mutex_is_locked(&\(.*\)->i_mutex)/inode_is_locked(\1)/'
          |        sed 's/mutex_trylock(&\(.*\)->i_mutex)/inode_trylock(\1)/'
          |
          |    with a very few manual fixups
          -----
      
        I'm going to send that once the ->i_mutex-affecting stuff in -next
        gets mostly merged (or when Linus says he's about to stop taking
        merges)"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
        nfsd: don't hold i_mutex over userspace upcalls
        fs:affs:Replace time_t with time64_t
        fs/9p: use fscache mutex rather than spinlock
        proc: add a reschedule point in proc_readfd_common()
        logfs: constify logfs_block_ops structures
        fcntl: allow to set O_DIRECT flag on pipe
        fs: __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGE
        fs: xattr: Use kvfree()
        [s390] page_to_phys() always returns a multiple of PAGE_SIZE
        nbd: use ->compat_ioctl()
        fs: use block_device name vsprintf helper
        lib/vsprintf: add %*pg format specifier
        fs: use gendisk->disk_name where possible
        poll: plug an unused argument to do_poll
        amdkfd: don't open-code memdup_user()
        cdrom: don't open-code memdup_user()
        rsxx: don't open-code memdup_user()
        mtip32xx: don't open-code memdup_user()
        [um] mconsole: don't open-code memdup_user_nul()
        [um] hostaudio: don't open-code memdup_user()
        ...
      33caf82a
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ca9706a2
      Linus Torvalds authored
      Pull iov_iter infrastructure updates from Al Viro:
       "A couple of iov_iter updates"
      
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        iov_iter: export import_single_range()
        iov_iter: constify {csum_and_,}copy_to_iter()
      ca9706a2
    • Linus Torvalds's avatar
      Merge branch 'work.copy_file_range' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · fce205e9
      Linus Torvalds authored
      Pull vfs copy_file_range updates from Al Viro:
       "Several series around copy_file_range/CLONE"
      
      * 'work.copy_file_range' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        btrfs: use new dedupe data function pointer
        vfs: hoist the btrfs deduplication ioctl to the vfs
        vfs: wire up compat ioctl for CLONE/CLONE_RANGE
        cifs: avoid unused variable and label
        nfsd: implement the NFSv4.2 CLONE operation
        nfsd: Pass filehandle to nfs4_preprocess_stateid_op()
        vfs: pull btrfs clone API to vfs layer
        locks: new locks_mandatory_area calling convention
        vfs: Add vfs_copy_file_range() support for pagecache copies
        btrfs: add .copy_file_range file operation
        x86: add sys_copy_file_range to syscall tables
        vfs: add copy_file_range syscall and vfs helper
      fce205e9
  7. 12 Jan, 2016 24 commits
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.5-1' of git://git.samba.org/jlayton/linux · 065019a3
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "File locking related changes for v4.5 (pile #1)
      
        Highlights:
         - new Kconfig option to allow disabling mandatory locking (which is
           racy anyway)
         - new tracepoints for setlk and close codepaths
         - fix for a long-standing bug in code that handles races between
           setting a POSIX lock and close()"
      
      * tag 'locks-v4.5-1' of git://git.samba.org/jlayton/linux:
        locks: rename __posix_lock_file to posix_lock_inode
        locks: prink more detail when there are leaked locks
        locks: pass inode pointer to locks_free_lock_context
        locks: sprinkle some tracepoints around the file locking code
        locks: don't check for race with close when setting OFD lock
        locks: fix unlock when fcntl_setlk races with a close
        fs: make locks.c explicitly non-modular
        locks: use list_first_entry_or_null()
        locks: Don't allow mounts in user namespaces to enable mandatory locking
        locks: Allow disabling mandatory locking at compile time
      065019a3
    • Arnd Bergmann's avatar
      net: bnxt: always return values from _bnxt_get_max_rings · 415b6f19
      Arnd Bergmann authored
      Newly added code in the bnxt driver uses a couple of variables that
      are never initialized when CONFIG_BNXT_SRIOV is not set, and gcc
      correctly warns about that:
      
      In file included from include/linux/list.h:8:0,
                       from include/linux/module.h:9,
                       from drivers/net/ethernet/broadcom/bnxt/bnxt.c:10:
      drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_get_max_rings':
      include/linux/kernel.h:794:26: warning: 'cp' may be used uninitialized in this function [-Wmaybe-uninitialized]
      include/linux/kernel.h:794:26: warning: 'tx' may be used uninitialized in this function [-Wmaybe-uninitialized]
      drivers/net/ethernet/broadcom/bnxt/bnxt.c:5730:11: warning: 'rx' may be used uninitialized in this function [-Wmaybe-uninitialized]
      drivers/net/ethernet/broadcom/bnxt/bnxt.c:5736:6: note: 'rx' was declared here
      
      This changes the condition so that we fall back to using the PF
      data if VF is not available, and always initialize the variables
      to something useful.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 6e6c5a57 ("bnxt_en: Modify bnxt_get_max_rings() to support shared or non shared rings.")
      Acked-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      415b6f19
    • Rabin Vincent's avatar
      net: bpf: reject invalid shifts · 229394e8
      Rabin Vincent authored
      On ARM64, a BUG() is triggered in the eBPF JIT if a filter with a
      constant shift that can't be encoded in the immediate field of the
      UBFM/SBFM instructions is passed to the JIT.  Since these shifts
      amounts, which are negative or >= regsize, are invalid, reject them in
      the eBPF verifier and the classic BPF filter checker, for all
      architectures.
      Signed-off-by: default avatarRabin Vincent <rabin@rab.in>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      229394e8
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 4f31d774
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
       "This contains beside of random fixes/cleanups two bigger changes:
      
         - seccomp support by Mickaël Salaün
      
         - IRQ rework by Anton Ivanov"
      
      * 'for-linus-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Use race-free temporary file creation
        um: Do not set unsecure permission for temporary file
        um: Fix build error and kconfig for i386
        um: Add seccomp support
        um: Add full asm/syscall.h support
        selftests/seccomp: Remove the need for HAVE_ARCH_TRACEHOOK
        um: Fix ptrace GETREGS/SETREGS bugs
        um: link with -lpthread
        um: Update UBD to use pread/pwrite family of functions
        um: Do not change hard IRQ flags in soft IRQ processing
        um: Prevent IRQ handler reentrancy
        uml: flush stdout before forking
        uml: fix hostfs mknod()
      4f31d774
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 1baa5efb
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "PPC changes will come next week.
      
         - s390: Support for runtime instrumentation within guests, support of
           248 VCPUs.
      
         - ARM: rewrite of the arm64 world switch in C, support for 16-bit VM
           identifiers.  Performance counter virtualization missed the boat.
      
         - x86: Support for more Hyper-V features (synthetic interrupt
           controller), MMU cleanups"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (115 commits)
        kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL
        kvm/x86: Hyper-V SynIC timers tracepoints
        kvm/x86: Hyper-V SynIC tracepoints
        kvm/x86: Update SynIC timers on guest entry only
        kvm/x86: Skip SynIC vector check for QEMU side
        kvm/x86: Hyper-V fix SynIC timer disabling condition
        kvm/x86: Reorg stimer_expiration() to better control timer restart
        kvm/x86: Hyper-V unify stimer_start() and stimer_restart()
        kvm/x86: Drop stimer_stop() function
        kvm/x86: Hyper-V timers fix incorrect logical operation
        KVM: move architecture-dependent requests to arch/
        KVM: renumber vcpu->request bits
        KVM: document which architecture uses each request bit
        KVM: Remove unused KVM_REQ_KICK to save a bit in vcpu->requests
        kvm: x86: Check kvm_write_guest return value in kvm_write_wall_clock
        KVM: s390: implement the RI support of guest
        kvm/s390: drop unpaired smp_mb
        kvm: x86: fix comment about {mmu,nested_mmu}.gva_to_gpa
        KVM: x86: MMU: Use clear_page() instead of init_shadow_page_table()
        arm/arm64: KVM: Detect vGIC presence at runtime
        ...
      1baa5efb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.5-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · c9bed1cf
      Linus Torvalds authored
      Pull xen updates from David Vrabel:
       "Xen features and fixes for 4.5-rc0:
      
         - Stolen ticks and PV wallclock support for arm/arm64
      
         - Add grant copy ioctl to gntdev device"
      
      * tag 'for-linus-4.5-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/gntdev: add ioctl for grant copy
        x86/xen: don't reset vcpu_info on a cancelled suspend
        xen/gntdev: constify mmu_notifier_ops structures
        xen/grant-table: constify gnttab_ops structure
        xen/time: use READ_ONCE
        xen/x86: convert remaining timespec to timespec64 in xen_pvclock_gtod_notify
        xen/x86: support XENPF_settime64
        xen/arm: set the system time in Xen via the XENPF_settime64 hypercall
        xen/arm: introduce xen_read_wallclock
        arm: extend pvclock_wall_clock with sec_hi
        xen: introduce XENPF_settime64
        xen/arm: introduce HYPERVISOR_platform_op on arm and arm64
        xen: rename dom0_op to platform_op
        xen/arm: account for stolen ticks
        arm64: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops
        arm: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops
        missing include asm/paravirt.h in cputime.c
        xen: move xen_setup_runstate_info and get_runstate_snapshot to drivers/xen/time.c
      c9bed1cf
    • Linus Torvalds's avatar
      Merge branch 'for-linux-next' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · 75777c18
      Linus Torvalds authored
      Pull tiny c6x update from Mark Salter.
      
      * 'for-linux-next' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        c6x: Use generic clkdev.h header
      75777c18
    • Linus Torvalds's avatar
      Merge branch 'component' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · c3ce79d6
      Linus Torvalds authored
      Pull component updates from Russell King:
       "Updates for the component helper merged last year.
      
        This update removes the old add_components method of detecting and
        looking up the components associated with a master device.  Last time
        I checked during the 4.4-rc cycle, there were no users of the old
        interfaces, as has been the case for some time now.  Breakage due to
        conflicting development is possible, in which case this pull will have
        to be reverted - however, these changes have been in linux-next since
        Dec 7th without any problems reported.
      
        Removal of that then allows us to change the way we track components
        internally, allowing us to release data that has been used for
        matching at the appropriate time, thereby allowing any resource leaks
        caused by that missing functionality to be resolved"
      
      * 'component' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        component: add support for releasing match data
        component: track components via array rather than list
        component: move check for unbound master into try_to_bring_up_masters()
        component: remove old add_components method
      c3ce79d6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 01e9d226
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - UEFI boot and runtime services support for ARM from Ard Biesheuvel
         and Roy Franz.
      
       - DT compatibility with old atags booting protocol for Nokia N900
         devices from Ivaylo Dimitrov.
      
       - PSCI firmware interface using new arm-smc calling convention from
         Jens Wiklander.
      
       - Runtime patching for udiv/sdiv instructions for ARMv7 CPUs that
         support these instructions from Nicolas Pitre.
      
       - L2x0 cache updates from Dirk B and Linus Walleij.
      
       - Randconfig fixes from Arnd Bergmann.
      
       - ARMv7M (nommu) updates from Ezequiel Garcia
      
      * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (34 commits)
        ARM: 8481/2: drivers: psci: replace psci firmware calls
        ARM: 8480/2: arm64: add implementation for arm-smccc
        ARM: 8479/2: add implementation for arm-smccc
        ARM: 8478/2: arm/arm64: add arm-smccc
        ARM: 8494/1: mm: Enable PXN when running non-LPAE kernel on LPAE processor
        ARM: 8496/1: OMAP: RX51: save ATAGS data in the early boot stage
        ARM: 8495/1: ATAGS: move save_atags() to arch/arm/include/asm/setup.h
        ARM: 8452/3: PJ4: make coprocessor access sequences buildable in Thumb2 mode
        ARM: 8482/1: l2x0: make it possible to disable outer sync from DT
        ARM: 8488/1: Make IPI_CPU_BACKTRACE a "non-secure" SGI
        ARM: 8487/1: Remove IPI_CALL_FUNC_SINGLE
        ARM: 8485/1: cpuidle: remove cpu parameter from the cpuidle_ops suspend hook
        ARM: 8484/1: Documentation: l2c2x0: Mention separate controllers explicitly
        ARM: 8483/1: Documentation: l2c: Rename l2cc to l2c2x0
        ARM: 8477/1: runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()
        ARM: 8476/1: VDSO: use PTR_ERR_OR_ZERO for vma check
        ARM: 8453/2: proc-v7.S: don't locate temporary stack space in .text section
        ARM: add UEFI stub support
        ARM: wire up UEFI init and runtime support
        ARM: only consider memblocks with NOMAP cleared for linear mapping
        ...
      01e9d226
    • Linus Torvalds's avatar
      Merge tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 541d284b
      Linus Torvalds authored
      Pull arm[64] perf updates from Will Deacon:
       "In the past, I have funnelled perf updates through the respective
        architecture trees, but now that the arm/arm64 perf driver has been
        largely consolidated under drivers/perf/, it makes more sense to send
        a separate pull, particularly as I'm listed as maintainer for all the
        files involved.  I offered the branch to arm-soc, but Arnd suggested
        that I just send it to you directly.
      
        So, here is the arm/arm64 perf queue for 4.5.  The main features are
        described below, but the most useful change is from Drew, which
        advertises our architected event mapping in sysfs so that the perf
        tool is a lot more user friendly and no longer requires the use of
        magic hex constants for profiling common events.
      
         - Support for the CPU PMU in Cortex-A72
      
         - Add sysfs entries to describe the architected events and their
           mappings for PMUv{1-3}"
      
      * tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: perf: add support for Cortex-A72
        arm64: perf: add format entry to describe event -> config mapping
        ARM: perf: add format entry to describe event -> config mapping
        arm64: kernel: enforce pmuserenr_el0 initialization and restore
        arm64: perf: Correct Cortex-A53/A57 compatible values
        arm64: perf: Add event descriptions
        arm64: perf: Convert event enums to #defines
        arm: perf: Add event descriptions
        arm: perf: Convert event enums to #defines
        drivers/perf: kill armpmu_register
      541d284b
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · fa5fd7c6
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       "Here is the core arm64 queue for 4.5.  As you might expect, the
        Christmas break resulted in a number of patches not making the final
        cut, so 4.6 is likely to be larger than usual.  There's still some
        useful stuff here, however, and it's detailed below.
      
        The EFI changes have been Reviewed-by Matt and the memblock change got
        an "OK" from akpm.
      
        Summary:
      
         - Support for a separate IRQ stack, although we haven't reduced the
           size of our thread stack just yet since we don't have enough data
           to determine a safe value
      
         - Refactoring of our EFI initialisation and runtime code into
           drivers/firmware/efi/ so that it can be reused by arch/arm/.
      
         - Ftrace improvements when unwinding in the function graph tracer
      
         - Document our silicon errata handling process
      
         - Cache flushing optimisation when mapping executable pages
      
         - Support for hugetlb mappings using the contiguous hint in the pte"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (45 commits)
        arm64: head.S: use memset to clear BSS
        efi: stub: define DISABLE_BRANCH_PROFILING for all architectures
        arm64: entry: remove pointless SPSR mode check
        arm64: mm: move pgd_cache initialisation to pgtable_cache_init
        arm64: module: avoid undefined shift behavior in reloc_data()
        arm64: module: fix relocation of movz instruction with negative immediate
        arm64: traps: address fallout from printk -> pr_* conversion
        arm64: ftrace: fix a stack tracer's output under function graph tracer
        arm64: pass a task parameter to unwind_frame()
        arm64: ftrace: modify a stack frame in a safe way
        arm64: remove irq_count and do_softirq_own_stack()
        arm64: hugetlb: add support for PTE contiguous bit
        arm64: Use PoU cache instr for I/D coherency
        arm64: Defer dcache flush in __cpu_copy_user_page
        arm64: reduce stack use in irq_handler
        arm64: mm: ensure that the zero page is visible to the page table walker
        arm64: Documentation: add list of software workarounds for errata
        arm64: mm: place __cpu_setup in .text
        arm64: cmpxchg: Don't incldue linux/mmdebug.h
        arm64: mm: fold alternatives into .init
        ...
      fa5fd7c6
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 19e2fc40
      Linus Torvalds authored
      Pull m68knommu update from Greg Ungerer:
       "Only a single change, limiting the return values for coldfire gpio get
        function"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: coldfire/gpio: Be sure to clamp return value
      19e2fc40
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 2945e9f1
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Provide __phys_to_pfn() and __pfn_to_phys()
        m68k/atari, m68k/sun3: Fix SCSI platform device registration when driver is modular
        m68k/defconfig: Update defconfigs for v4.4-rc1
        m68k/mac: Kill psc_present
      2945e9f1
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · c5c80bd9
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "This is the final pull request for MIPS for 4.4.  It fixes:
      
         - scripts/ld-version.sh parsing of ld version numbers that contain
           large numbers as components.
         - fix parsing of version numbers as used by Fedora's ld.
      
        Currently scripts/ld-version.sh is only being used by MIPS"
      
      [ This obviously missed 4.4, so getting merged now in the merge window
        for 4.5 instead ]
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        ld-version: Fix it on Fedora
        Fix ld-version.sh to handle large 3rd version part
      c5c80bd9
    • Eric Dumazet's avatar
      phonet: properly unshare skbs in phonet_rcv() · 7aaed57c
      Eric Dumazet authored
      Ivaylo Dimitrov reported a regression caused by commit 7866a621
      ("dev: add per net_device packet type chains").
      
      skb->dev becomes NULL and we crash in __netif_receive_skb_core().
      
      Before above commit, different kind of bugs or corruptions could happen
      without major crash.
      
      But the root cause is that phonet_rcv() can queue skb without checking
      if skb is shared or not.
      
      Many thanks to Ivaylo Dimitrov for his help, diagnosis and tests.
      Reported-by: default avatarIvaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
      Tested-by: default avatarIvaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Remi Denis-Courmont <courmisch@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7aaed57c
    • Lars Persson's avatar
      dwc_eth_qos: Fix dma address for multi-fragment skbs · d4618732
      Lars Persson authored
      The offset inside the fragment was not used for the dma address and
      silent data corruption resulted because TSO makes the checksum match.
      
      Fixes: 077742da ("dwc_eth_qos: Add support for Synopsys DWC Ethernet QoS")
      Signed-off-by: default avatarLars Persson <larper@axis.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d4618732
    • Dan Carpenter's avatar
      phy: remove an unneeded condition · 47b356e4
      Dan Carpenter authored
      It used to be that bus->irq was a pointer but after e7f4dc35
      ('mdio: Move allocation of interrupts into core') it's an array inside
      the mdio struct, so it can never be NULL.  Let's remove the check.
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      47b356e4
    • Dan Carpenter's avatar
      mdio: remove an unneed condition · 1bc16add
      Dan Carpenter authored
      It used to be that mdio->irq was a pointer but after e7f4dc35
      ('mdio: Move allocation of interrupts into core') it's an array inside
      the mdio struct so it can never be NULL.
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1bc16add
    • Dan Carpenter's avatar
      mdio_bus: NULL dereference on allocation error · db9107b4
      Dan Carpenter authored
      If bus = kzalloc() fails then we end up dereferencing bus when we do
      "bus->irq[i] = PHY_POLL;".  The code is a little simpler if we reverse
      the NULL check and return directly on failure.
      
      Fixes: e7f4dc35 ('mdio: Move allocation of interrupts into core')
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      db9107b4
    • Russell King's avatar
      Merge branch 'devel-stable' into for-linus · 6660800f
      Russell King authored
      6660800f
    • Huaitong Han's avatar
      kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL · 45bdbcfd
      Huaitong Han authored
      vmx_cpuid_tries to update SECONDARY_VM_EXEC_CONTROL in the VMCS, but
      it will cause a vmwrite error on older CPUs because the code does not
      check for the presence of CPU_BASED_ACTIVATE_SECONDARY_CONTROLS.
      
      This will get rid of the following trace on e.g. Core2 6600:
      
      vmwrite error: reg 401e value 10 (err 12)
      Call Trace:
      [<ffffffff8116e2b9>] dump_stack+0x40/0x57
      [<ffffffffa020b88d>] vmx_cpuid_update+0x5d/0x150 [kvm_intel]
      [<ffffffffa01d8fdc>] kvm_vcpu_ioctl_set_cpuid2+0x4c/0x70 [kvm]
      [<ffffffffa01b8363>] kvm_arch_vcpu_ioctl+0x903/0xfa0 [kvm]
      
      Fixes: feda805f
      Cc: stable@vger.kernel.org
      Reported-by: default avatarZdenek Kaspar <zkaspar82@gmail.com>
      Signed-off-by: default avatarHuaitong Han <huaitong.han@intel.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      45bdbcfd
    • Linus Torvalds's avatar
      Merge tag 'dm-4.5-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 03891f9c
      Linus Torvalds authored
      Pull device mapper updates from Mike Snitzer:
      
       - The most significant set of changes this cycle is the Forward Error
         Correction (FEC) support that has been added to the DM verity target.
      
         Google uses DM verity on all Android devices and it is believed that
         this FEC support will enable DM verity to recover from storage
         failures seen since DM verity was first deployed as part of Android.
      
       - A stable fix for a race in the destruction of DM thin pool's
         workqueue
      
       - A stable fix for hung IO if a DM snapshot copy hit an error
      
       - A few small cleanups in DM core and DM persistent data.
      
       - A couple DM thinp range discard improvements (address atomicity of
         finding a range and the efficiency of discarding a partially mapped
         thin device)
      
       - Add ability to debug DM bufio leaks by recording stack trace when a
         buffer is allocated.  Upon detected leak the recorded stack is
         dumped.
      
      * tag 'dm-4.5-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm snapshot: fix hung bios when copy error occurs
        dm thin: bump thin and thin-pool target versions
        dm thin: fix race condition when destroying thin pool workqueue
        dm space map metadata: remove unused variable in brb_pop()
        dm verity: add ignore_zero_blocks feature
        dm verity: add support for forward error correction
        dm verity: factor out verity_for_bv_block()
        dm verity: factor out structures and functions useful to separate object
        dm verity: move dm-verity.c to dm-verity-target.c
        dm verity: separate function for parsing opt args
        dm verity: clean up duplicate hashing code
        dm btree: factor out need_insert() helper
        dm bufio: use BUG_ON instead of conditional call to BUG
        dm bufio: store stacktrace in buffers to help find buffer leaks
        dm bufio: return NULL to improve code clarity
        dm block manager: cleanup code that prints stacktrace
        dm: don't save and restore bi_private
        dm thin metadata: make dm_thin_find_mapped_range() atomic
        dm thin metadata: speed up discard of partially mapped volumes
      03891f9c
    • Linus Torvalds's avatar
      Merge tag 'media/v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 47c62e4b
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
       "The part of patches for Kernel 4.5.  There's nothing really big here:
      
         - driver-specific headers for media devices were moved to separate
           directories, in order to make clear what headers belong to the core
           kABI and require documentation
      
         - Platform data for media drivers were moved from include/media to
           include/linux/platform_data/media
      
         - add a driver for cs3308 8-channel volume control, used on some
           high-end capture boards
      
         - lirc.h kAPI header were added at include/uapi/linux
      
         - Driver cleanups, new board additions and improvements"
      
      * tag 'media/v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (204 commits)
        [media] rc: sunxi-cir: Initialize the spinlock properly
        [media] rtl2832: do not filter out slave TS null packets
        [media] rtl2832: print reg number on error case
        [media] rtl28xxu: return demod reg page from driver cache
        [media] coda: enable MPEG-2 ES decoding
        [media] coda: don't start streaming without queued buffers
        [media] coda: hook up vidioc_prepare_buf
        [media] coda: relax coda_jpeg_check_buffer for trailing bytes
        [media] coda: make to_coda_video_device static
        [media] s5p-mfc: remove volatile attribute from MFC register addresses
        [media] s5p-mfc: merge together s5p_mfc_hw_call and s5p_mfc_hw_call_void
        [media] s5p-mfc: use spinlock to protect MFC context
        [media] s5p-mfc: remove unnecessary callbacks
        [media] s5p-mfc: make queue cleanup code common
        [media] s5p-mfc: use one implementation of s5p_mfc_get_new_ctx
        [media] s5p-mfc: constify s5p_mfc_codec_ops structures
        [media] au8522: Avoid memory leak for device config data
        [media] ir-lirc-codec.c: don't leak lirc->drv-rbuf
        [media] uvcvideo: small cleanup in uvc_video_clock_update()
        [media] uvcvideo: Fix reading the current exposure value of UVC
        ...
      47c62e4b
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9d367edd
      David S. Miller authored
      Conflicts:
      	drivers/net/bonding/bond_main.c
      	drivers/net/ethernet/mellanox/mlxsw/spectrum.h
      	drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
      
      The bond_main.c and mellanox switch conflicts were cases of
      overlapping changes.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9d367edd