1. 04 Sep, 2015 3 commits
  2. 03 Sep, 2015 1 commit
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · dd5cdb48
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Another merge window, another set of networking changes.  I've heard
        rumblings that the lightweight tunnels infrastructure has been voted
        networking change of the year.  But what do I know?
      
         1) Add conntrack support to openvswitch, from Joe Stringer.
      
         2) Initial support for VRF (Virtual Routing and Forwarding), which
            allows the segmentation of routing paths without using multiple
            devices.  There are some semantic kinks to work out still, but
            this is a reasonably strong foundation.  From David Ahern.
      
         3) Remove spinlock fro act_bpf fast path, from Alexei Starovoitov.
      
         4) Ignore route nexthops with a link down state in ipv6, just like
            ipv4.  From Andy Gospodarek.
      
         5) Remove spinlock from fast path of act_gact and act_mirred, from
            Eric Dumazet.
      
         6) Document the DSA layer, from Florian Fainelli.
      
         7) Add netconsole support to bcmgenet, systemport, and DSA.  Also
            from Florian Fainelli.
      
         8) Add Mellanox Switch Driver and core infrastructure, from Jiri
            Pirko.
      
         9) Add support for "light weight tunnels", which allow for
            encapsulation and decapsulation without bearing the overhead of a
            full blown netdevice.  From Thomas Graf, Jiri Benc, and a cast of
            others.
      
        10) Add Identifier Locator Addressing support for ipv6, from Tom
            Herbert.
      
        11) Support fragmented SKBs in iwlwifi, from Johannes Berg.
      
        12) Allow perf PMUs to be accessed from eBPF programs, from Kaixu Xia.
      
        13) Add BQL support to 3c59x driver, from Loganaden Velvindron.
      
        14) Stop using a zero TX queue length to mean that a device shouldn't
            have a qdisc attached, use an explicit flag instead.  From Phil
            Sutter.
      
        15) Use generic geneve netdevice infrastructure in openvswitch, from
            Pravin B Shelar.
      
        16) Add infrastructure to avoid re-forwarding a packet in software
            that was already forwarded by a hardware switch.  From Scott
            Feldman.
      
        17) Allow AF_PACKET fanout function to be implemented in a bpf
            program, from Willem de Bruijn"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1458 commits)
        netfilter: nf_conntrack: make nf_ct_zone_dflt built-in
        netfilter: nf_dup{4, 6}: fix build error when nf_conntrack disabled
        net: fec: clear receive interrupts before processing a packet
        ipv6: fix exthdrs offload registration in out_rt path
        xen-netback: add support for multicast control
        bgmac: Update fixed_phy_register()
        sock, diag: fix panic in sock_diag_put_filterinfo
        flow_dissector: Use 'const' where possible.
        flow_dissector: Fix function argument ordering dependency
        ixgbe: Resolve "initialized field overwritten" warnings
        ixgbe: Remove bimodal SR-IOV disabling
        ixgbe: Add support for reporting 2.5G link speed
        ixgbe: fix bounds checking in ixgbe_setup_tc for 82598
        ixgbe: support for ethtool set_rxfh
        ixgbe: Avoid needless PHY access on copper phys
        ixgbe: cleanup to use cached mask value
        ixgbe: Remove second instance of lan_id variable
        ixgbe: use kzalloc for allocating one thing
        flow: Move __get_hash_from_flowi{4,6} into flow_dissector.c
        ixgbe: Remove unused PCI bus types
        ...
      dd5cdb48
  3. 02 Sep, 2015 36 commits
    • Linus Torvalds's avatar
      Merge tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 1e1a4e8f
      Linus Torvalds authored
      Pull device mapper update from Mike Snitzer:
      
       - a couple small cleanups in dm-cache, dm-verity, persistent-data's
         dm-btree, and DM core.
      
       - a 4.1-stable fix for dm-cache that fixes the leaking of deferred bio
         prison cells
      
       - a 4.2-stable fix that adds feature reporting for the dm-stats
         features added in 4.2
      
       - improve DM-snapshot to not invalidate the on-disk snapshot if
         snapshot device write overflow occurs; but a write overflow triggered
         through the origin device will still invalidate the snapshot.
      
       - optimize DM-thinp's async discard submission a bit now that late bio
         splitting has been included in block core.
      
       - switch DM-cache's SMQ policy lock from using a mutex to a spinlock;
         improves performance on very low latency devices (eg. NVMe SSD).
      
       - document DM RAID 4/5/6's discard support
      
      [ I did not pull the slab changes, which weren't appropriate for this
        tree, and weren't obviously the right thing to do anyway.  At the very
        least they need some discussion and explanation before getting merged.
      
        Because not pulling the actual tagged commit but doing a partial pull
        instead, this merge commit thus also obviously is missing the git
        signature from the original tag ]
      
      * tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm cache: fix use after freeing migrations
        dm cache: small cleanups related to deferred prison cell cleanup
        dm cache: fix leaking of deferred bio prison cells
        dm raid: document RAID 4/5/6 discard support
        dm stats: report precise_timestamps and histogram in @stats_list output
        dm thin: optimize async discard submission
        dm snapshot: don't invalidate on-disk image on snapshot write overflow
        dm: remove unlikely() before IS_ERR()
        dm: do not override error code returned from dm_get_device()
        dm: test return value for DM_MAPIO_SUBMITTED
        dm verity: remove unused mempool
        dm cache: move wake_waker() from free_migrations() to where it is needed
        dm btree remove: remove unused function get_nr_entries()
        dm btree: remove unused "dm_block_t root" parameter in btree_split_sibling()
        dm cache policy smq: change the mutex to a spinlock
      1e1a4e8f
    • Daniel Borkmann's avatar
      netfilter: nf_conntrack: make nf_ct_zone_dflt built-in · 62da9865
      Daniel Borkmann authored
      Fengguang reported, that some randconfig generated the following linker
      issue with nf_ct_zone_dflt object involved:
      
        [...]
        CC      init/version.o
        LD      init/built-in.o
        net/built-in.o: In function `ipv4_conntrack_defrag':
        nf_defrag_ipv4.c:(.text+0x93e95): undefined reference to `nf_ct_zone_dflt'
        net/built-in.o: In function `ipv6_defrag':
        nf_defrag_ipv6_hooks.c:(.text+0xe3ffe): undefined reference to `nf_ct_zone_dflt'
        make: *** [vmlinux] Error 1
      
      Given that configurations exist where we have a built-in part, which is
      accessing nf_ct_zone_dflt such as the two handlers nf_ct_defrag_user()
      and nf_ct6_defrag_user(), and a part that configures nf_conntrack as a
      module, we must move nf_ct_zone_dflt into a fixed, guaranteed built-in
      area when netfilter is configured in general.
      
      Therefore, split the more generic parts into a common header under
      include/linux/netfilter/ and move nf_ct_zone_dflt into the built-in
      section that already holds parts related to CONFIG_NF_CONNTRACK in the
      netfilter core. This fixes the issue on my side.
      
      Fixes: 308ac914 ("netfilter: nf_conntrack: push zone object into functions")
      Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      62da9865
    • Daniel Borkmann's avatar
      netfilter: nf_dup{4, 6}: fix build error when nf_conntrack disabled · a82b0e63
      Daniel Borkmann authored
      While testing various Kconfig options on another issue, I found that
      the following one triggers as well on allmodconfig and nf_conntrack
      disabled:
      
        net/ipv4/netfilter/nf_dup_ipv4.c: In function ‘nf_dup_ipv4’:
        net/ipv4/netfilter/nf_dup_ipv4.c:72:20: error: ‘nf_skb_duplicated’ undeclared (first use in this function)
          if (this_cpu_read(nf_skb_duplicated))
        [...]
        net/ipv6/netfilter/nf_dup_ipv6.c: In function ‘nf_dup_ipv6’:
        net/ipv6/netfilter/nf_dup_ipv6.c:66:20: error: ‘nf_skb_duplicated’ undeclared (first use in this function)
          if (this_cpu_read(nf_skb_duplicated))
      
      Fix it by including directly the header where it is defined.
      
      Fixes: bbde9fc1 ("netfilter: factor out packet duplication for IPv4/IPv6")
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a82b0e63
    • Russell King's avatar
      net: fec: clear receive interrupts before processing a packet · ed63f1dc
      Russell King authored
      The patch just to re-submit the patch "db3421c1" because the
      patch "4d494cdc" remove the change.
      
      Clear any pending receive interrupt before we process a pending packet.
      This helps to avoid any spurious interrupts being raised after we have
      fully cleaned the receive ring, while still allowing an interrupt to be
      raised if we receive another packet.
      
      The position of this is critical: we must do this prior to reading the
      next packet status to avoid potentially dropping an interrupt when a
      packet is still pending.
      Acked-by: default avatarFugang Duan <B38611@freescale.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ed63f1dc
    • Daniel Borkmann's avatar
      ipv6: fix exthdrs offload registration in out_rt path · e41b0bed
      Daniel Borkmann authored
      We previously register IPPROTO_ROUTING offload under inet6_add_offload(),
      but in error path, we try to unregister it with inet_del_offload(). This
      doesn't seem correct, it should actually be inet6_del_offload(), also
      ipv6_exthdrs_offload_exit() from that commit seems rather incorrect (it
      also uses rthdr_offload twice), but it got removed entirely later on.
      
      Fixes: 3336288a ("ipv6: Switch to using new offload infrastructure.")
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e41b0bed
    • Linus Torvalds's avatar
      Merge branch 'for-4.3/sg' of git://git.kernel.dk/linux-block · d975f309
      Linus Torvalds authored
      Pull SG updates from Jens Axboe:
       "This contains a set of scatter-gather related changes/fixes for 4.3:
      
         - Add support for limited chaining of sg tables even for
           architectures that do not set ARCH_HAS_SG_CHAIN.  From Christoph.
      
         - Add sg chain support to target_rd.  From Christoph.
      
         - Fixup open coded sg->page_link in crypto/omap-sham.  From
           Christoph.
      
         - Fixup open coded crypto ->page_link manipulation.  From Dan.
      
         - Also from Dan, automated fixup of manual sg_unmark_end()
           manipulations.
      
         - Also from Dan, automated fixup of open coded sg_phys()
           implementations.
      
         - From Robert Jarzmik, addition of an sg table splitting helper that
           drivers can use"
      
      * 'for-4.3/sg' of git://git.kernel.dk/linux-block:
        lib: scatterlist: add sg splitting function
        scatterlist: use sg_phys()
        crypto/omap-sham: remove an open coded access to ->page_link
        scatterlist: remove open coded sg_unmark_end instances
        crypto: replace scatterwalk_sg_chain with sg_chain
        target/rd: always chain S/G list
        scatterlist: allow limited chaining without ARCH_HAS_SG_CHAIN
      d975f309
    • Linus Torvalds's avatar
      Merge branch 'for-4.3/drivers' of git://git.kernel.dk/linux-block · 52b084d3
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "On top of the 4.3 core block IO changes, here are the driver related
        changes for 4.3.  Basically just NVMe and nbd this time around:
      
         - NVMe:
            - PRACT PI improvement from Alok Pandey.
            - Cleanups and improvements on submission queue doorbell and
              writing, using CMB if available.  From Jon Derrick.
            - From Keith, support for setting queue maximum segments, and
              reset support.
            - Also from Jon, fixup of u64 division issue on 32-bit archs and
              wiring up of the reset support through and ioctl.
            - Two small cleanups from Matias and Sunad
      
        - Various code cleanups and fixes from Markus Pargmann"
      
      * 'for-4.3/drivers' of git://git.kernel.dk/linux-block:
        NVMe: Using PRACT bit to generate and verify PI by controller
        NVMe:Remove unreachable code in nvme_abort_req
        NVMe: Add nvme subsystem reset IOCTL
        NVMe: Add nvme subsystem reset support
        NVMe: removed unused nn var from nvme_dev_add
        NVMe: Set queue max segments
        nbd: flags is a u32 variable
        nbd: Rename functions for clearness of recv/send path
        nbd: Change 'disconnect' to be boolean
        nbd: Add debugfs entries
        nbd: Remove variable 'pid'
        nbd: Move clear queue debug message
        nbd: Remove 'harderror' and propagate error properly
        nbd: restructure sock_shutdown
        nbd: sock_shutdown, remove conditional lock
        nbd: Fix timeout detection
        nvme: Fixes u64 division which breaks i386 builds
        NVMe: Use CMB for the IO SQes if available
        NVMe: Unify SQ entry writing and doorbell ringing
      52b084d3
    • Linus Torvalds's avatar
      Merge branch 'for-4.3/core' of git://git.kernel.dk/linux-block · 1081230b
      Linus Torvalds authored
      Pull core block updates from Jens Axboe:
       "This first core part of the block IO changes contains:
      
         - Cleanup of the bio IO error signaling from Christoph.  We used to
           rely on the uptodate bit and passing around of an error, now we
           store the error in the bio itself.
      
         - Improvement of the above from myself, by shrinking the bio size
           down again to fit in two cachelines on x86-64.
      
         - Revert of the max_hw_sectors cap removal from a revision again,
           from Jeff Moyer.  This caused performance regressions in various
           tests.  Reinstate the limit, bump it to a more reasonable size
           instead.
      
         - Make /sys/block/<dev>/queue/discard_max_bytes writeable, by me.
           Most devices have huge trim limits, which can cause nasty latencies
           when deleting files.  Enable the admin to configure the size down.
           We will look into having a more sane default instead of UINT_MAX
           sectors.
      
         - Improvement of the SGP gaps logic from Keith Busch.
      
         - Enable the block core to handle arbitrarily sized bios, which
           enables a nice simplification of bio_add_page() (which is an IO hot
           path).  From Kent.
      
         - Improvements to the partition io stats accounting, making it
           faster.  From Ming Lei.
      
         - Also from Ming Lei, a basic fixup for overflow of the sysfs pending
           file in blk-mq, as well as a fix for a blk-mq timeout race
           condition.
      
         - Ming Lin has been carrying Kents above mentioned patches forward
           for a while, and testing them.  Ming also did a few fixes around
           that.
      
         - Sasha Levin found and fixed a use-after-free problem introduced by
           the bio->bi_error changes from Christoph.
      
         - Small blk cgroup cleanup from Viresh Kumar"
      
      * 'for-4.3/core' of git://git.kernel.dk/linux-block: (26 commits)
        blk: Fix bio_io_vec index when checking bvec gaps
        block: Replace SG_GAPS with new queue limits mask
        block: bump BLK_DEF_MAX_SECTORS to 2560
        Revert "block: remove artifical max_hw_sectors cap"
        blk-mq: fix race between timeout and freeing request
        blk-mq: fix buffer overflow when reading sysfs file of 'pending'
        Documentation: update notes in biovecs about arbitrarily sized bios
        block: remove bio_get_nr_vecs()
        fs: use helper bio_add_page() instead of open coding on bi_io_vec
        block: kill merge_bvec_fn() completely
        md/raid5: get rid of bio_fits_rdev()
        md/raid5: split bio for chunk_aligned_read
        block: remove split code in blkdev_issue_{discard,write_same}
        btrfs: remove bio splitting and merge_bvec_fn() calls
        bcache: remove driver private bio splitting code
        block: simplify bio_add_page()
        block: make generic_make_request handle arbitrarily sized bios
        blk-cgroup: Drop unlikely before IS_ERR(_OR_NULL)
        block: don't access bio->bi_error after bio_put()
        block: shrink struct bio down to 2 cache lines again
        ...
      1081230b
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · df910390
      Linus Torvalds authored
      Pull first round of SCSI updates from James Bottomley:
       "This includes one new driver: cxlflash plus the usual grab bag of
        updates for the major drivers: qla2xxx, ipr, storvsc, pm80xx, hptiop,
        plus a few assorted fixes.
      
        There's another tranch coming, but I want to incubate it another few
        days in the checkers, plus it includes a mpt2sas separated lifetime
        fix, which Avago won't get done testing until Friday"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (85 commits)
        aic94xx: set an error code on failure
        storvsc: Set the error code correctly in failure conditions
        storvsc: Allow write_same when host is windows 10
        storvsc: use storage protocol version to determine storage capabilities
        storvsc: use correct defaults for values determined by protocol negotiation
        storvsc: Untangle the storage protocol negotiation from the vmbus protocol negotiation.
        storvsc: Use a single value to track protocol versions
        storvsc: Rather than look for sets of specific protocol versions, make decisions based on ranges.
        cxlflash: Remove unused variable from queuecommand
        cxlflash: shift wrapping bug in afu_link_reset()
        cxlflash: off by one bug in cxlflash_show_port_status()
        cxlflash: Virtual LUN support
        cxlflash: Superpipe support
        cxlflash: Base error recovery support
        qla2xxx: Update driver version to 8.07.00.26-k
        qla2xxx: Add pci device id 0x2261.
        qla2xxx: Fix missing device login retries.
        qla2xxx: do not clear slot in outstanding cmd array
        qla2xxx: Remove decrement of sp reference count in abort handler.
        qla2xxx: Add support to show MPI and PEP FW version for ISP27xx.
        ...
      df910390
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20150901' of git://git.infradead.org/linux-mtd · 91a247d7
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "SPI NOR:
         - reduce virtual address space requirements for fsl-quadspi memory map
         - new fsl-quadspi IP support: imx6ul-qspi and imx7d-qspi
         - add new NOR flash device support
         - add new driver for NXP SPI Flash Interface (SPIFI)
         - stop abusing SPI API structs for non-SPI framework
         - fixup DT table matching for new "jedec,spi-nor" string
      
        NAND:
         - brcmnand: fix big endian MIPS macro usage
         - denali: refactor to use devres, dev_*() printing, etc.
         - OMAP ELM: change the module alias to actually be usable
         - pxa3xx_nand: fixup a few command sequencing issues -- both new and old
            - race conditions in the IRQ handler status clearing
            - problems when a bootloader left interrupts pending
            - config issues when overriding the bootloader configuration
         - new flash device support
         - sunxi_nand:
            - optimize timing configuration by calculation, rather than fixed
              fail-safe values
            - use EDO setting from ONFI
         - r852: fix compiler warnings
         - davinci: add 4KB page support
      
        Core:
         - oobtest: correct debug print information"
      
      * tag 'for-linus-20150901' of git://git.infradead.org/linux-mtd: (42 commits)
        mtd: mtd_oobtest: Fix the address offset with vary_offset case
        mtd: blkdevs: fix switch-bool compilation warning
        mtd: spi-nor: stop (ab)using struct spi_device_id
        mtd: nand: add Toshiba TC58NVG0S3E to nand_ids table
        mtd: dataflash: Export OF module alias information
        nand: pxa3xx: Increase READ_ID buffer and make the size static
        mtd: nand: pxa3xx-nand: fix random command timeouts
        mtd: nand: pxa3xx_nand: fix early spurious interrupt
        mtd: pxa3xx_nand: add a default chunk size
        mtd: omap_elm: Fix module alias
        mtd: physmap_of: fix null pointer deference when kzalloc returns null
        mtd: nettel: do not ignore mtd_device_register() failure in nettel_init()
        mtd: denali_pci: switch to dev_err()
        mtd: denali_pci: refactor driver using devres API
        mtd: denali_pci: use module_pci_driver() macro
        mtd: denali: hide core part from user in Kconfig
        mtd: spi-nor: add Spansion S25FL204K support
        mtd: spi-nor: Improve Kconfig help text for SPI_FSL_QUADSPI
        mtd: spi-nor: add driver for NXP SPI Flash Interface (SPIFI)
        doc: dt: add documentation for nxp,lpc1773-spifi
        ...
      91a247d7
    • Paul Durrant's avatar
      xen-netback: add support for multicast control · 210c34dc
      Paul Durrant authored
      Xen's PV network protocol includes messages to add/remove ethernet
      multicast addresses to/from a filter list in the backend. This allows
      the frontend to request the backend only forward multicast packets
      which are of interest thus preventing unnecessary noise on the shared
      ring.
      
      The canonical netif header in git://xenbits.xen.org/xen.git specifies
      the message format (two more XEN_NETIF_EXTRA_TYPEs) so the minimal
      necessary changes have been pulled into include/xen/interface/io/netif.h.
      
      To prevent the frontend from extending the multicast filter list
      arbitrarily a limit (XEN_NETBK_MCAST_MAX) has been set to 64 entries.
      This limit is not specified by the protocol and so may change in future.
      If the limit is reached then the next XEN_NETIF_EXTRA_TYPE_MCAST_ADD
      sent by the frontend will be failed with NETIF_RSP_ERROR.
      Signed-off-by: default avatarPaul Durrant <paul.durrant@citrix.com>
      Cc: Ian Campbell <ian.campbell@citrix.com>
      Cc: Wei Liu <wei.liu2@citrix.com>
      Acked-by: default avatarWei Liu <wei.liu2@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      210c34dc
    • Fabio Estevam's avatar
      bgmac: Update fixed_phy_register() · 4db78d31
      Fabio Estevam authored
      Commit a5597008 ("phy: fixed_phy: Add gpio to determine link up/down.")
      added a new argument to fixed_phy_register(), but missed to update bgmac
      driver, causing the following build failure:
      
      drivers/net/ethernet/broadcom/bgmac.c:1450:2: error: too few arguments to function 'fixed_phy_register'
      
      Add the missing argument.
      Reported-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4db78d31
    • Daniel Borkmann's avatar
      sock, diag: fix panic in sock_diag_put_filterinfo · b382c086
      Daniel Borkmann authored
      diag socket's sock_diag_put_filterinfo() dumps classic BPF programs
      upon request to user space (ss -0 -b). However, native eBPF programs
      attached to sockets (SO_ATTACH_BPF) cannot be dumped with this method:
      
      Their orig_prog is always NULL. However, sock_diag_put_filterinfo()
      unconditionally tries to access its filter length resp. wants to copy
      the filter insns from there. Internal cBPF to eBPF transformations
      attached to sockets don't have this issue, as orig_prog state is kept.
      
      It's currently only used by packet sockets. If we would want to add
      native eBPF support in the future, this needs to be done through
      a different attribute than PACKET_DIAG_FILTER to not confuse possible
      user space disassemblers that work on diag data.
      
      Fixes: 89aa0758 ("net: sock: allow eBPF programs to be attached to sockets")
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b382c086
    • Linus Torvalds's avatar
      Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 8bdc69b7
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - a new PIDs controller is added.  It turns out that PIDs are actually
         an independent resource from kmem due to the limited PID space.
      
       - more core preparations for the v2 interface.  Once cpu side interface
         is settled, it should be ready for lifting the devel mask.
         for-4.3-unified-base was temporarily branched so that other trees
         (block) can pull cgroup core changes that blkcg changes depend on.
      
       - a non-critical idr_preload usage bug fix.
      
      * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: pids: fix invalid get/put usage
        cgroup: introduce cgroup_subsys->legacy_name
        cgroup: don't print subsystems for the default hierarchy
        cgroup: make cftype->private a unsigned long
        cgroup: export cgrp_dfl_root
        cgroup: define controller file conventions
        cgroup: fix idr_preload usage
        cgroup: add documentation for the PIDs controller
        cgroup: implement the PIDs subsystem
        cgroup: allow a cgroup subsystem to reject a fork
      8bdc69b7
    • Linus Torvalds's avatar
      Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 76ec51ef
      Linus Torvalds authored
      Pull percpu updates from Tejun Heo:
       "Minor cleanups"
      
      * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: clean up of schunk->map[] assignment in pcpu_setup_first_chunk
        percpu: update incorrect comment for this_cpu_*() operations
      76ec51ef
    • Linus Torvalds's avatar
      Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 7d3e2eb1
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Only three trivial changes for workqueue this time - doc, MAINTAINERS
        and EXPORT_SYMBOL updates"
      
      * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: fix some docbook warnings
        workqueue: Make flush_workqueue() available again to non GPL modules
        workqueue: add myself as a dedicated reviwer
      7d3e2eb1
    • Linus Torvalds's avatar
      Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 2dc7e555
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
       "Nothing interesting.  A couple device specific minor updates and a
        kernel doc change"
      
      * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ata: pata_arasam_cf: Use devm_clk_get
        libata: fix libata-core.c kernel-doc warning
        ata: sata_rcar: Remove obsolete sata-r8a779* platform_device_id entries
      2dc7e555
    • David S. Miller's avatar
      20a17bf6
    • Tom Herbert's avatar
      flow_dissector: Fix function argument ordering dependency · de4c1f8b
      Tom Herbert authored
      Commit c6cc1ca7 ("flowi: Abstract out functions to get flow hash
      based on flowi") introduced a bug in __skb_set_sw_hash where we
      require a dependency on evaluating arguments in a function in order.
      There is no such ordering enforced in C, so this incorrect. This
      patch fixes that by splitting out the arguments. This bug was
      found via a compiler warning that keys may be uninitialized.
      Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      de4c1f8b
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 1bd40543
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2015-09-01
      
      This series contains updates to i40e, ixgbe and ixgbevf.
      
      Anjali fixes a bug in i40e where the port is not receiving multicast or VLAN
      tagged packets in promiscuous mode.  Which can occur when a software bridge
      is created on top of the device.
      
      Don adds support in ixgbe that indicates the presence of management firmware.
      Added support for entering low power link up state on devices that support
      it when the device is closing or suspending.  Updated the driver to report
      unknown bus speed and width since IOSF does not report a PCIe bus speed or
      width for X550 devices.  Also added the new bus type for integrated I/O
      interface (IOSF).  Cleaned up of redundant code in ixgbe.
      
      Mark adds support for UDP-encapsulation transmit checksum and for VXLAN
      receive offloads.  Introduces a helper function to do the register access
      and processing to avoid needless PHY access on copper PHYs.  Added support
      for reporting 2.5G link speed.  Fixed warnings resulting from redundant
      initializations of the get_bus_info field.
      
      Maninder Singh updates the ixgbe driver to use kzalloc instead of kcalloc
      for allocation of one thing.
      
      Tom Barbette adds support for ethtool to change the rxfh indirection table
      and/or key using ethtool interface.
      
      Emil resolves an issue where users were not able to dynamically set number
      of queues for 82598 via ethtool -L.
      
      Alex Williamson removes bimodal SR-IOV disabling behavior since it is
      confusing to users and results in a state where the PF is broken for other
      uses unless the user sets sriov_numvfs to zero prior to unbinding the
      device.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1bd40543
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ae982073
      Linus Torvalds authored
      Pull power management and ACPI updates from Rafael Wysocki:
       "From the number of commits perspective, the biggest items are ACPICA
        and cpufreq changes with the latter taking the lead (over 50 commits).
      
        On the cpufreq front, there are many cleanups and minor fixes in the
        core and governors, driver updates etc.  We also have a new cpufreq
        driver for Mediatek MT8173 chips.
      
        ACPICA mostly updates its debug infrastructure and adds a number of
        fixes and cleanups for a good measure.
      
        The Operating Performance Points (OPP) framework is updated with new
        DT bindings and support for them among other things.
      
        We have a few updates of the generic power domains framework and a
        reorganization of the ACPI device enumeration code and bus type
        operations.
      
        And a lot of fixes and cleanups all over.
      
        Included is one branch from the MFD tree as it contains some
        PM-related driver core and ACPI PM changes a few other commits are
        based on.
      
        Specifics:
      
         - ACPICA update to upstream revision 20150818 including method
           tracing extensions to allow more in-depth AML debugging in the
           kernel and a number of assorted fixes and cleanups (Bob Moore, Lv
           Zheng, Markus Elfring).
      
         - ACPI sysfs code updates and a documentation update related to AML
           method tracing (Lv Zheng).
      
         - ACPI EC driver fix related to serialized evaluations of _Qxx
           methods and ACPI tools updates allowing the EC userspace tool to be
           built from the kernel source (Lv Zheng).
      
         - ACPI processor driver updates preparing it for future introduction
           of CPPC support and ACPI PCC mailbox driver updates (Ashwin
           Chaugule).
      
         - ACPI interrupts enumeration fix for a regression related to the
           handling of IRQ attribute conflicts between MADT and the ACPI
           namespace (Jiang Liu).
      
         - Fixes related to ACPI device PM (Mika Westerberg, Srinidhi
           Kasagar).
      
         - ACPI device registration code reorganization to separate the
           sysfs-related code and bus type operations from the rest (Rafael J
           Wysocki).
      
         - Assorted cleanups in the ACPI core (Jarkko Nikula, Mathias Krause,
           Andy Shevchenko, Rafael J Wysocki, Nicolas Iooss).
      
         - ACPI cpufreq driver and ia64 cpufreq driver fixes and cleanups (Pan
           Xinhui, Rafael J Wysocki).
      
         - cpufreq core cleanups on top of the previous changes allowing it to
           preseve its sysfs directories over system suspend/resume (Viresh
           Kumar, Rafael J Wysocki, Sebastian Andrzej Siewior).
      
         - cpufreq fixes and cleanups related to governors (Viresh Kumar).
      
         - cpufreq updates (core and the cpufreq-dt driver) related to the
           turbo/boost mode support (Viresh Kumar, Bartlomiej Zolnierkiewicz).
      
         - New DT bindings for Operating Performance Points (OPP), support for
           them in the OPP framework and in the cpufreq-dt driver plus related
           OPP framework fixes and cleanups (Viresh Kumar).
      
         - cpufreq powernv driver updates (Shilpasri G Bhat).
      
         - New cpufreq driver for Mediatek MT8173 (Pi-Cheng Chen).
      
         - Assorted cpufreq driver (speedstep-lib, sfi, integrator) cleanups
           and fixes (Abhilash Jindal, Andrzej Hajda, Cristian Ardelean).
      
         - intel_pstate driver updates including Skylake-S support, support
           for enabling HW P-states per CPU and an additional vendor bypass
           list entry (Kristen Carlson Accardi, Chen Yu, Ethan Zhao).
      
         - cpuidle core fixes related to the handling of coupled idle states
           (Xunlei Pang).
      
         - intel_idle driver updates including Skylake Client support and
           support for freeze-mode-specific idle states (Len Brown).
      
         - Driver core updates related to power management (Andy Shevchenko,
           Rafael J Wysocki).
      
         - Generic power domains framework fixes and cleanups (Jon Hunter,
           Geert Uytterhoeven, Rajendra Nayak, Ulf Hansson).
      
         - Device PM QoS framework update to allow the latency tolerance
           setting to be exposed to user space via sysfs (Mika Westerberg).
      
         - devfreq support for PPMUv2 in Exynos5433 and a fix for an incorrect
           exynos-ppmu DT binding (Chanwoo Choi, Javier Martinez Canillas).
      
         - System sleep support updates (Alan Stern, Len Brown, SungEun Kim).
      
         - rockchip-io AVS support updates (Heiko Stuebner).
      
         - PM core clocks support fixup (Colin Ian King).
      
         - Power capping RAPL driver update including support for Skylake H/S
           and Broadwell-H (Radivoje Jovanovic, Seiichi Ikarashi).
      
         - Generic device properties framework fixes related to the handling
           of static (driver-provided) property sets (Andy Shevchenko).
      
         - turbostat and cpupower updates (Len Brown, Shilpasri G Bhat,
           Shreyas B Prabhu)"
      
      * tag 'pm+acpi-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (180 commits)
        cpufreq: speedstep-lib: Use monotonic clock
        cpufreq: powernv: Increase the verbosity of OCC console messages
        cpufreq: sfi: use kmemdup rather than duplicating its implementation
        cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor()
        cpufreq: rename cpufreq_real_policy as cpufreq_user_policy
        cpufreq: remove redundant 'policy' field from user_policy
        cpufreq: remove redundant 'governor' field from user_policy
        cpufreq: update user_policy.* on success
        cpufreq: use memcpy() to copy policy
        cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event
        cpufreq: mediatek: Add MT8173 cpufreq driver
        dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings
        PM / Domains: Fix typo in description of genpd_dev_pm_detach()
        PM / Domains: Remove unusable governor dummies
        PM / Domains: Make pm_genpd_init() available to modules
        PM / domains: Align column headers and data in pm_genpd_summary output
        powercap / RAPL: disable the 2nd power limit properly
        tools: cpupower: Fix error when running cpupower monitor
        PM / OPP: Drop unlikely before IS_ERR(_OR_NULL)
        PM / OPP: Fix static checker warning (broken 64bit big endian systems)
        ...
      ae982073
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · f1a3c0b9
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       - added Frank Rowand as DT maintainer in preparation for Grant's
         retirement.
       - generic MSI binding documentation and a few other minor doc updates
       - fix long standing issue with DT platorm device unregistration
       - fix loop forever bug in of_find_matching_node_by_address()
      
      * tag 'devicetree-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        MAINTAINERS: Add Frank Rowand as DT maintainer
        mtd: nand: pxa3xx: add optional dma for pxa architecture
        Documentation: DT: cpsw: document missing compatible
        Docs: dt: add generic MSI bindings
        drivercore: Fix unregistration path of platform devices
        of/address: Don't loop forever in of_find_matching_node_by_address().
        of: Add vendor prefix for JEDEC Solid State Technology Association
        of/platform: add function to populate default bus
        of: Add vendor prefix for Sharp Corporation
      f1a3c0b9
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 089b6695
      Linus Torvalds authored
      Pull trivial tree updates from Jiri Kosina:
       "The usual stuff from trivial tree for 4.3 (kerneldoc updates, printk()
        fixes, Documentation and MAINTAINERS updates)"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)
        MAINTAINERS: update my e-mail address
        mod_devicetable: add space before */
        scsi: a100u2w: trivial typo in printk
        i2c: Fix typo in i2c-bfin-twi.c
        treewide: fix typos in comment blocks
        Doc: fix trivial typo in SubmittingPatches
        proportions: Spelling s/consitent/consistent/
        dm: Spelling s/consitent/consistent/
        aic7xxx: Fix typo in error message
        pcmcia: Fix typo in locking documentation
        scsi/arcmsr: Fix typos in error log
        drm/nouveau/gr: Fix typo in nv10.c
        [SCSI] Fix printk typos in drivers/scsi
        staging: comedi: Grammar s/Enable support a/Enable support for a/
        Btrfs: Spelling s/consitent/consistent/
        README: GTK+ is a acronym
        ASoC: omap: Fix typo in config option description
        mm: tlb.c: Fix error message
        ntfs: super.c: Fix error log
        fix typo in Documentation/SubmittingPatches
        ...
      089b6695
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching · 45c680b9
      Linus Torvalds authored
      Pull livepatching fix from Jiri Kosina:
       "Livepatching error handling fix"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
        livepatch: Improve error handling in klp_disable_func()
      45c680b9
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 851328fe
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
       "to receive patches queued for 4.3 merge window in HID tree. Highlights:
      
         - a lot of improvements (regarding supported features and devices) to
           Wacom driver, from Aaron Skomra and Jason Gerecke
         - a lot of functional fixes and support for large I2C transfer to
           cp2112 driver, from Ellen Wang
         - HW support improvements to RMI driver, from Andrew Duggan
         - quite some small fixes and device ID additions all over the place"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (44 commits)
        HID: wacom: wacom_setup_numbered_buttons is local to wacom_wac
        HID: wacom: Add support for Express Key Remote.
        HID: wacom: Set button bits based on a new numbered_buttons
        HID: quirks: add QUIRK_NOGET for an other TPV touchscreen
        HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error
        HID: i2c-hid: Only disable irq wake if it was successfully enabled during suspend
        HID: wacom: Use tablet-provided touch height/width values for INTUOSHT
        HID: gembird: add new driver to fix Gembird JPD-DualForce 2
        HID: lenovo: Hide middle-button press until release
        HID: lenovo: Add missing return-value check
        HID: lenovo: Use constants for axes names
        HID: wacom: Simplify 'wacom_pl_irq'
        HID: wacom: Do not repeatedly attempt to set device mode on error
        HID: wacom: Do not repeatedly attempt to set device mode on error
        HID: wacom: Remove WACOM_QUIRK_NO_INPUT
        HID: wacom: Replace WACOM_QUIRK_MONITOR with WACOM_DEVICETYPE_WL_MONITOR
        HID: wacom: Use calculated pkglen for wireless touch interface
        HID: sony: Fix DS4 controller reporting rate issues
        HID: chicony: Add support for Acer Aspire Switch 12
        HID: hid-lg: Add USBID for Logitech G29 Wheel
        ...
      851328fe
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 2d678b68
      Linus Torvalds authored
      Pull EDAC fixes from Borislav Petkov:
       "Two minor fixlets this time: AMD MCE decoding correction and
        xgene_edac cleanup"
      
      * tag 'edac_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, mce_amd: Don't emit 'CE' for Deferred error
        EDAC, xgene: Drop owner assignment from platform_driver
      2d678b68
    • Mark Rustad's avatar
      ixgbe: Resolve "initialized field overwritten" warnings · 990a2d6e
      Mark Rustad authored
      Resolve warnings resulting from redundant initialization of the
      get_bus_info field in the mac_ops_X550* structures.
      Signed-off-by: default avatarMark Rustad <mark.d.rustad@intel.com>
      Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      990a2d6e
    • Alex Williamson's avatar
      ixgbe: Remove bimodal SR-IOV disabling · 7837e286
      Alex Williamson authored
      When unbinding an SR-IOV device with VFs configured from ixgbe, the
      driver behaves in one of two ways.  If max_vfs was specified, the
      SR-IOV state is disabled, removing the VFs.  The occurs regardless of
      whether the VF count was later modified through sysfs.  If however
      max_vfs is zero, such as by not specifying the module parameter, the
      VFs persist after the PF is unbound from ixgbe.  If the PF is then
      bound to vfio-pci to be assigned to a VM, the PF is non-functional.
      
      >From the comment, commit da36b647 ("ixgbe: Implement PCI SR-IOV
      sysfs callback operation") clearly intended this alternate behavior,
      but probably didn't realize the PF doesn't work in this mode.
      
      This bimodal behavior is confusing to users and results in a state
      where the PF is broken for other uses unless the user sets
      sriov_numvfs to zero prior to unbinding the device.  Remove this
      behavior so that VFs are removed and the PF is functional for other
      uses after unbind, regardless of the way VFs are enabled.
      Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Acked-by: default avatarGreg Rose <gregory.v.rose@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      7837e286
    • Mark Rustad's avatar
      ixgbe: Add support for reporting 2.5G link speed · 454adb00
      Mark Rustad authored
      Now that we can do 2.5G link speed, we need to be able to report it.
      Also change the nested triadic involved in creating the log message
      to instead use a simpler switch statement to set a string pointer.
      Signed-off-by: default avatarMark Rustad <mark.d.rustad@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      454adb00
    • Emil Tantilov's avatar
      ixgbe: fix bounds checking in ixgbe_setup_tc for 82598 · 7e3f5c88
      Emil Tantilov authored
      This patch resolves an issue where users were not able to dynamically
      set number of queues for 82598 via ethtool -L
      Reported-by: default avatarTal Abudi <talabudi@gmail.com>
      Signed-off-by: default avatarEmil Tantilov <emil.s.tantilov@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      7e3f5c88
    • Tom Barbette's avatar
      ixgbe: support for ethtool set_rxfh · 1c7cf078
      Tom Barbette authored
      Allows to change the rxfh indirection table and/or key using
      ethtool interface.
      Signed-off-by: default avatarTom Barbette <tom.barbette@ulg.ac.be>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      1c7cf078
    • Mark Rustad's avatar
      ixgbe: Avoid needless PHY access on copper phys · ae8140aa
      Mark Rustad authored
      Avoid a needless PHY access on copper phys to save the 10ms wait
      time for each PHY access. A helper function is introduced to
      actually do the register access and process the contents.
      Signed-off-by: default avatarMark Rustad <mark.d.rustad@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      ae8140aa
    • Don Skidmore's avatar
      ixgbe: cleanup to use cached mask value · 897b9349
      Don Skidmore authored
      We already cache this FW/SW semaphore mask so might as well use it
      for consistency.
      Signed-off-by: default avatarDon Skidmore <donald.c.skidmore@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      897b9349
    • Don Skidmore's avatar
      ixgbe: Remove second instance of lan_id variable · d5702dea
      Don Skidmore authored
      This patch removes the redundant lan_id in the phy struct and uses
      the bus version.  Both variables exist and intend to represent the
      STATUS register LAN_ID field.  However, phy.lan_id is not bit shifted
      so the phy.lan_id = 0x0 for LAN Id 0 and phy.lan_id = 0x4 for LAN Id 1.
      Where bus.lan_id is bit shifted so bus.lan_id = 0x0 for LAN Id 0 and
      bus.lan_id = 0x1 for LAN Id 1. There seems no need for the additional
      lan_id variable and this should make the code less confusing.
      Signed-off-by: default avatarDonald C Skidmore <donald.c.skidmore@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      d5702dea
    • Maninder Singh's avatar
      ixgbe: use kzalloc for allocating one thing · bc52f951
      Maninder Singh authored
      Use kzalloc rather than kcalloc(1..
      
      The semantic patch that makes this change is as follows:
      
      // <smpl>
      @@
      @@
      
      - kcalloc(1,
      + kzalloc(
                ...)
      // </smpl>
      
      and removing checkpatch below CHECK:
      CHECK: Prefer kzalloc(sizeof(*fwd_adapter)...) over
      kzalloc(sizeof(struct ixgbe_fwd_adapter)...)
      Signed-off-by: default avatarManinder Singh <maninder1.s@samsung.com>
      Reviewed-by: default avatarVaneet Narang <v.narang@samsung.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      bc52f951
    • David S. Miller's avatar
      flow: Move __get_hash_from_flowi{4,6} into flow_dissector.c · a17ace95
      David S. Miller authored
      These cannot live in net/core/flow.c which only builds when XFRM is
      enabled.
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a17ace95