1. 01 Feb, 2016 25 commits
  2. 31 Jan, 2016 3 commits
    • Sara Sharon's avatar
      iwlwifi: pcie: add 9000 series multi queue rx DMA support · 96a6497b
      Sara Sharon authored
      The 9000 series introduces several changes in the device
      DMA operation.
      As the device now supports multi-queue rx, several DMA channels
      should be configured.
      The flows of providing the device with the allocated RBDs now
      changes as well - the device maintains a separate table of used
      and free table.
      
      The hardware may use the free table to feed RBDs to any queue.
      This requires maintaing a shared table to map returned RBDs to
      the original RXB - for that purpose the VID is introduced - an
      internal identifier of the RB placed in the lower 12 bits and
      returned by HW in the used data.
      
      Another change is the support of 64 bit DMA address.
      Signed-off-by: default avatarSara Sharon <sara.sharon@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      96a6497b
    • Sara Sharon's avatar
      iwlwifi: pcie: add infrastructure for multi-queue rx · 78485054
      Sara Sharon authored
      The 9000 series devices will support multi rx queues.
      Current code has one static rx queue - change it to allocate
      a number of queues per the device capability (pre-9000 devices
      have the number of rx queues set to one).
      
      Subsequent generalizations are:
      
      Change the code to access an explicit numbered rx queue only
      when the queue number is known - when handling interrupt, when
      accessing the default queue and when iterating the queues.
      The rest of the functions will receive the rx queue as a pointer.
      
      Generalize the warning in allocation failure to consider the
      allocator status instead of a single rx queue status.
      
      Move the rx initial pool of memory buffers to be shared among
      all the queues and allocated to the default queue on init.
      Signed-off-by: default avatarSara Sharon <sara.sharon@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      78485054
    • Emmanuel Grumbach's avatar
      iwlwifi: pcie: buffer packets to avoid overflowing Tx queues · 3955525d
      Emmanuel Grumbach authored
      When the Tx queues are full above a threshold, we
      immediately stop the mac80211's queue to stop getting new
      packets. This worked until TSO was enabled.
      With TSO, one single packet from mac80211 can use many
      descriptors since a large send needs to be split into
      several segments.
      This means that stopping mac80211's queues is not enough
      and we also need to ensure that we don't overflow the Tx
      queues with one single packet from mac80211.
      Add code to transport layer to do just that. Stop
      mac80211's queue as soon as the queue is full above the
      same threshold as before, and keep pushing the current
      packet along with its segments on the queue, but check
      that we don't overflow. If that would happen, buffer the
      segments, and send them when there is room in the Tx queue
      again. Of course, we first need to send the buffered
      segments and only then, wake up mac80211's queues.
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      3955525d
  3. 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
  4. 12 Jan, 2016 4 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