1. 04 1月, 2018 4 次提交
  2. 31 12月, 2017 10 次提交
  3. 30 12月, 2017 3 次提交
  4. 29 12月, 2017 23 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 2758b3e3
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) IPv6 gre tunnels end up with different default features enabled
          depending upon whether netlink or ioctls are used to bring them up.
          Fix from Alexey Kodanev.
      
       2) Fix read past end of user control message in RDS< from Avinash
          Repaka.
      
       3) Missing RCU barrier in mini qdisc code, from Cong Wang.
      
       4) Missing policy put when reusing per-cpu route entries, from Florian
          Westphal.
      
       5) Handle nested PCI errors properly in bnx2x driver, from Guilherme G.
          Piccoli.
      
       6) Run nested transport mode IPSEC packets via tasklet, from Herbert
          Xu.
      
       7) Fix handling poll() for stream sockets in tipc, from Parthasarathy
          Bhuvaragan.
      
       8) Fix two stack-out-of-bounds issues in IPSEC, from Steffen Klassert.
      
       9) Another zerocopy ubuf handling fix, from Willem de Bruijn.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (33 commits)
        strparser: Call sock_owned_by_user_nocheck
        sock: Add sock_owned_by_user_nocheck
        skbuff: in skb_copy_ubufs unclone before releasing zerocopy
        tipc: fix hanging poll() for stream sockets
        sctp: Replace use of sockets_allocated with specified macro.
        bnx2x: Improve reliability in case of nested PCI errors
        tg3: Enable PHY reset in MTU change path for 5720
        tg3: Add workaround to restrict 5762 MRRS to 2048
        tg3: Update copyright
        net: fec: unmap the xmit buffer that are not transferred by DMA
        tipc: fix tipc_mon_delete() oops in tipc_enable_bearer() error path
        tipc: error path leak fixes in tipc_enable_bearer()
        RDS: Check cmsg_len before dereferencing CMSG_DATA
        tcp: Avoid preprocessor directives in tracepoint macro args
        tipc: fix memory leak of group member when peer node is lost
        net: sched: fix possible null pointer deref in tcf_block_put
        tipc: base group replicast ack counter on number of actual receivers
        net_sched: fix a missing rcu barrier in mini_qdisc_pair_swap()
        net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround
        ip6_gre: fix device features for ioctl setup
        ...
      2758b3e3
    • L
      Merge tag 'drm-fixes-for-v4.15-rc6' of git://people.freedesktop.org/~airlied/linux · fd84b751
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "nouveau and i915 regression fixes"
      
      * tag 'drm-fixes-for-v4.15-rc6' of git://people.freedesktop.org/~airlied/linux:
        drm/nouveau: fix race when adding delayed work items
        i915: Reject CCS modifiers for pipe C on Geminilake
        drm/i915/gvt: Fix pipe A enable as default for vgpu
      fd84b751
    • L
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · c0208a33
      Linus Torvalds 提交于
      Pull clk fix from Stephen Boyd:
       "One more fix for the runtime PM clk patches. We're calling a runtime
        PM API that may schedule from somewhere that we can't do that. We
        change to the async version of pm_runtime_put() to fix it"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: use atomic runtime pm api in clk_core_is_enabled
      c0208a33
    • L
      Merge tag 'led_fixes_for_4.15-rc6' of... · 4f2382f3
      Linus Torvalds 提交于
      Merge tag 'led_fixes_for_4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
      
      Pull LED fix from Jacek Anaszewski:
       "A single LED fix for brightness setting when delay_off is 0"
      
      * tag 'led_fixes_for_4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        led: core: Fix brightness setting when setting delay_off=0
      4f2382f3
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 19286e4a
      Linus Torvalds 提交于
      Pull rdma fixes from Jason Gunthorpe:
       "This is the next batch of for-rc patches from RDMA. It includes the
        fix for the ipoib regression I mentioned last time, and the result of
        a fairly major debugging effort to get iser working reliably on cxgb4
        hardware - it turns out the cxgb4 driver was not handling QP error
        flushing properly causing iser to fail.
      
         - cxgb4 fix for an iser testing failure as debugged by Steve and
           Sagi. The problem was a driver bug in the handling of shutting down
           a QP.
      
         - Various vmw_pvrdma fixes for bogus WARN_ON, missed resource free on
           error unwind and a use after free bug
      
         - Improper congestion counter values on mlx5 when link aggregation is
           enabled
      
         - ipoib lockdep regression introduced in this merge window
      
         - hfi1 regression supporting the device in a VM introduced in a
           recent patch
      
         - Typo that breaks future uAPI compatibility in the verbs core
      
         - More SELinux related oops fixing
      
         - Fix an oops during error unwind in mlx5"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        IB/mlx5: Fix mlx5_ib_alloc_mr error flow
        IB/core: Verify that QP is security enabled in create and destroy
        IB/uverbs: Fix command checking as part of ib_uverbs_ex_modify_qp()
        IB/mlx5: Serialize access to the VMA list
        IB/hfi: Only read capability registers if the capability exists
        IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush
        IB/mlx5: Fix congestion counters in LAG mode
        RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy
        RDMA/vmw_pvrdma: Use refcount_dec_and_test to avoid warning
        RDMA/vmw_pvrdma: Call ib_umem_release on destroy QP path
        iw_cxgb4: when flushing, complete all wrs in a chain
        iw_cxgb4: reflect the original WR opcode in drain cqes
        iw_cxgb4: Only validate the MSN for successful completions
      19286e4a
    • D
      Merge tag 'mlx5-shared-4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux · d367341b
      David S. Miller 提交于
      Saeed Mahameed says:
      
      ====================
      Mellanox, mlx5 E-Switch updates 2017-12-19
      
      This series includes updates for mlx5 E-Switch infrastructures,
      to be merged into net-next and rdma-next trees.
      
      Mark's patches provide E-Switch refactoring that generalize the mlx5
      E-Switch vf representors interfaces and data structures. The serious is
      mainly focused on moving ethernet (netdev) specific representors logic out
      of E-Switch (eswitch.c) into mlx5e representor module (en_rep.c), which
      provides better separation and allows future support for other types of vf
      representors (e.g. RDMA).
      
      Gal's patches at the end of this serious, provide a simple syntax fix and
      two other patches that handles vport ingress/egress ACL steering name
      spaces to be aligned with the Firmware/Hardware specs.
      
      V1->V2:
       - Addressed coding style comments in patches #1 and #7
       - The series is still based on rc4, as now I see net-next is also @rc4.
      
      V2->V3:
       - Fixed compilation warning, reported by Dave.
      
      Please pull and let me know if there's any problem.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d367341b
    • G
      net/mlx5: Separate ingress/egress namespaces for each vport · 9b93ab98
      Gal Pressman 提交于
      Each vport has its own root flow table for the ACL flow tables and root
      flow table is per namespace, therefore we should create a namespace for
      each vport.
      
      Fixes: efdc810b ("net/mlx5: Flow steering, Add vport ACL support")
      Signed-off-by: NGal Pressman <galp@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      9b93ab98
    • G
      net/mlx5: Fix ingress/egress naming mistake · 4484e299
      Gal Pressman 提交于
      The functions names do not represent their actions, switch the mistaken
      ingress/egress naming.
      
      Fixes: fba53f7b ("net/mlx5: Introduce mlx5_flow_steering structure")
      Signed-off-by: NGal Pressman <galp@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      4484e299
    • G
      net/mlx5e: E-Switch, Use the name of static array instead of its address · 18a89ab7
      Gal Pressman 提交于
      Using the address of a static array is the same as using its name (in
      this specific use-case), but it's confusing and makes the code less
      readable.
      
      Fixes: 1bd27b11 ("net/mlx5: Introduce E-switch QoS management")
      Fixes: bd77bf1c ("net/mlx5: Add SRIOV VF max rate configuration support")
      Signed-off-by: NGal Pressman <galp@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      18a89ab7
    • M
      net/mlx5e: E-Switch, Move send-to-vport rule struct to en_rep · 2c47bf80
      Mark Bloch 提交于
      Move struct mlx5_esw_sq which keeps send-to-vport rule to from the eswitch
      code to mlx5e and rename it to better reflect where it belongs
      Signed-off-by: NMark Bloch <markb@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      2c47bf80
    • M
      net/mlx5: E-Switch, Create generic header struct to be used by representors · a4b97ab4
      Mark Bloch 提交于
      Now that we don't store type dependent data in struct mlx5_eswitch_rep
      we can create a generic interface, and representor type.
      
      struct mlx5_eswitch_rep will store an array of interfaces, each
      interface is used by a different representor type.
      
      Once we moved to a more generic interface, rdma driver representors can
      be added and utilize the same mechanism as the Ethernet driver
      representors use.
      Signed-off-by: NMark Bloch <markb@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      a4b97ab4
    • D
      Merge branch 'strparser-Fix-lockdep-issue' · d5902f6d
      David S. Miller 提交于
      Tom Herbert says:
      
      ====================
      strparser: Fix lockdep issue
      
      When sock_owned_by_user returns true in strparser. Fix is to add and
      call sock_owned_by_user_nocheck since the check for owned by user is
      not an error condition in this case.
      ====================
      
      Fixes: 43a0c675 ("strparser: Stream parser for messages")
      Reported-by: Nsyzbot <syzkaller@googlegroups.com>
      Reported-and-tested-by: <syzbot+c91c53af67f9ebe599a337d2e70950366153b295@syzkaller.appspotmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d5902f6d
    • T
      strparser: Call sock_owned_by_user_nocheck · d66fa9ec
      Tom Herbert 提交于
      strparser wants to check socket ownership without producing any
      warnings. As indicated by the comment in the code, it is permissible
      for owned_by_user to return true.
      
      Fixes: 43a0c675 ("strparser: Stream parser for messages")
      Reported-by: Nsyzbot <syzkaller@googlegroups.com>
      Reported-and-tested-by: <syzbot+c91c53af67f9ebe599a337d2e70950366153b295@syzkaller.appspotmail.com>
      Signed-off-by: NTom Herbert <tom@quantonium.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d66fa9ec
    • T
      sock: Add sock_owned_by_user_nocheck · 602f7a27
      Tom Herbert 提交于
      This allows checking socket lock ownership with producing lockdep
      warnings.
      Signed-off-by: NTom Herbert <tom@quantonium.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      602f7a27
    • W
      skbuff: in skb_copy_ubufs unclone before releasing zerocopy · f72c4ac6
      Willem de Bruijn 提交于
      skb_copy_ubufs must unclone before it is safe to modify its
      skb_shared_info with skb_zcopy_clear.
      
      Commit b90ddd56 ("skbuff: skb_copy_ubufs must release uarg even
      without user frags") ensures that all skbs release their zerocopy
      state, even those without frags.
      
      But I forgot an edge case where such an skb arrives that is cloned.
      
      The stack does not build such packets. Vhost/tun skbs have their
      frags orphaned before cloning. TCP skbs only attach zerocopy state
      when a frag is added.
      
      But if TCP packets can be trimmed or linearized, this might occur.
      Tracing the code I found no instance so far (e.g., skb_linearize
      ends up calling skb_zcopy_clear if !skb->data_len).
      
      Still, it is non-obvious that no path exists. And it is fragile to
      rely on this.
      
      Fixes: b90ddd56 ("skbuff: skb_copy_ubufs must release uarg even without user frags")
      Signed-off-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f72c4ac6
    • D
      Merge branch 'mlx4-misc-for-4.16' · 8d1666fd
      David S. Miller 提交于
      Tariq Toukan says:
      
      ====================
      mlx4 misc for 4.16
      
      This patchset contains misc cleanups and improvements
      to the mlx4 Core and Eth drivers.
      
      In patches 1 and 2 I reduce and reorder the branches in the RX csum flow.
      In patch 3 I align the FMR unmapping flow with the device spec, to allow
        a remapping afterwards.
      Patch 4 by Moni changes the default QoS settings so that a pause
        frame stops all traffic regardless of its prio.
      
      Series generated against net-next commit:
      836df24a net: hns3: hns3_get_channels() can be static
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d1666fd
    • M
      net/mlx4_en: Change default QoS settings · a42b63c1
      Moni Shoua 提交于
      Change the default mapping between TC and TCG as follows:
      
      Prio     |             TC/TCG
               |      from             to
               |    (set by FW)      (set by SW)
      ---------+-----------------------------------
      0        |      0/0              0/7
      1        |      1/0              0/6
      2        |      2/0              0/5
      3        |      3/0              0/4
      4        |      4/0              0/3
      5        |      5/0              0/2
      6        |      6/0              0/1
      7        |      7/0              0/0
      
      These new settings cause that a pause frame for any prio stops
      traffic for all prios.
      
      Fixes: 564c274c ("net/mlx4_en: DCB QoS support")
      Signed-off-by: NMoni Shoua <monis@mellanox.com>
      Signed-off-by: NMaor Gottlieb <maorg@mellanox.com>
      Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a42b63c1
    • T
      net/mlx4_core: Cleanup FMR unmapping flow · fd4a3e28
      Tariq Toukan 提交于
      Remove redundant and not essential operations in fmr unmap/free.
      According to device spec, in FMR unmap it is sufficient to set
      ownership bit to SW. This allows remapping afterwards.
      
      Fixes: 8ad11fb6 ("IB/mlx4: Implement FMRs")
      Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: NMoshe Shemesh <moshe@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd4a3e28
    • T
      net/mlx4_en: RX csum, reorder branches · dc484851
      Tariq Toukan 提交于
      Use early goto commands, and save else branches.
      This uses less indentations and brackets, making the code
      more readable.
      Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dc484851
    • T
      net/mlx4_en: RX csum, remove redundant branches and checks · 345ef18c
      Tariq Toukan 提交于
      Do not check IPv6 bit in cqe status if CONFIG_IPV6 is not enabled.
      Function check_csum() is reached only with IPv4 or IPv6 set (if enabled),
      if IPv6 is not set (or is not enabled) it is redundant to test the
      IPv4 bit.
      Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      345ef18c
    • J
      net: sched: don't set extack message in case the qdisc will be created · 8ec69574
      Jiri Pirko 提交于
      If the qdisc is not found here, it is going to be created. Therefore,
      this is not an error path. Remove the extack message set and don't
      confuse user with error message in case the qdisc was created
      successfully.
      
      Fixes: 09215598 ("net: sched: sch_api: handle generic qdisc errors")
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8ec69574
    • P
      tipc: fix hanging poll() for stream sockets · 517d7c79
      Parthasarathy Bhuvaragan 提交于
      In commit 42b531de ("tipc: Fix missing connection request
      handling"), we replaced unconditional wakeup() with condtional
      wakeup for clients with flags POLLIN | POLLRDNORM | POLLRDBAND.
      
      This breaks the applications which do a connect followed by poll
      with POLLOUT flag. These applications are not woken when the
      connection is ESTABLISHED and hence sleep forever.
      
      In this commit, we fix it by including the POLLOUT event for
      sockets in TIPC_CONNECTING state.
      
      Fixes: 42b531de ("tipc: Fix missing connection request handling")
      Acked-by: NJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: NParthasarathy Bhuvaragan <parthasarathy.bhuvaragan@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      517d7c79
    • D
      Merge branch 'AVE-ethernet' · d3dbd7a6
      David S. Miller 提交于
      Kunihiko Hayashi says:
      
      ====================
      net: add UniPhier AVE ethernet support
      
      This series adds support for Socionext AVE ethernet controller implemented
      on UniPhier SoCs. This driver supports RGMII/RMII modes.
      
      v8: https://www.spinics.net/lists/netdev/msg474374.html
      
      The PHY patch included in v1 has already separated in:
      http://www.spinics.net/lists/netdev/msg454595.html
      
      Changes since v8:
      - move operators at the beginning of the line to the end of the previous line
      - dt-bindings: add blank lines before mdio and phy subnodes
      
      Changes since v7:
      - dt-bindings: fix mdio subnode description
      
      Changes since v6:
      - sort the order of local variables from longest to shortest line
      - fix ave_probe() which calls register_netdev() at the end of initialization
      - dt-bindings: remove phy node descriptions in mdio node
      
      Changes since v5:
      - replace license boilerplate with SPDX Identifier
      - remove inline directives and an unused function
      
      Changes since v4:
      - fix larger integer warning on AVE_PFMBYTE_MASK0
      
      Changes since v3:
      - remove checking dma address and use dma_set_mask() to restirct address
      - replace ave_mdio_busywait() with read_poll_timeout()
      - replace functions to access to registers with readl/writel() directly
      - replace a function to access to macaddr with ave_hw_write_macaddr()
      - change return value of ave_dma_map() to error value
      - move mdiobus_unregister() from ave_remove() to ave_uninit()
      - eliminate else block at the end of ave_dma_map()
      - add mask definitions for packet filter
      - sort bitmap definitions in descending order
      - add error check to some functions
      - rename and sort functions to clear sub-categories
      - fix error value consistency
      - remove unneeded initializers
      - change type of constant arrays
      
      Changes since v2:
      - replace clk_get() with devm_clk_get()
      - replace reset_control_get() with devm_reset_control_get_optional_shared()
      - add error return when the error occurs on the above *_get functions
      - sort soc data and compatible strings
      - remove clearly obvious comments
      - modify dt-bindings document consistent with these modifications
      
      Changes since v1:
      - add/remove devicetree properties and sub-node
        - remove "internal-phy-interrupt" and "desc-bits" property
        - add SoC data structures based on compatible strings
        - add node operation to apply "mdio" sub-node
      - add support for features
        - add support for {get,set}_pauseparam and pause frame operations
        - add support for ndo_get_stats64 instead of ndo_get_stats
      - replace with desiable functions
        - replace check for valid phy_mode with phy_interface{_mode}_is_rgmii()
        - replace phy attach message with phy_attached_info()
        - replace 32bit operation with {upper,lower}_32_bits() on ave_wdesc_addr()
        - replace nway_reset and get_link with generic functions
      - move operations to proper functions
        - move phy_start_aneg() to ndo_open,
          and remove unnecessary PHY interrupt operations
          See http://www.spinics.net/lists/netdev/msg454590.html
        - move irq initialization and descriptor memory allocation to ndo_open
        - move initialization of reset and clock and mdiobus to ndo_init
      - fix skbuffer operations
        - fix skb alignment operations and add Rx buffer adjustment for descriptor
          See http://www.spinics.net/lists/netdev/msg456014.html
        - add error returns when dma_map_single() failed
      - clean up code structures
        - clean up wait-loop and wake-queue conditions
        - add ave_wdesc_addr() and offset definitions
        - add ave_macaddr_init() to clean up mac-address operation
        - fix checking whether Tx entry is not enough
        - fix supported features of phydev
        - add necessary free/disable operations
        - add phydev check on ave_{get,set}_wol()
        - remove netif_carrier functions, phydev initializer, and Tx budget check
      - change obsolate codes
        - replace ndev->{base_addr,irq} with the members of ave_private
      - rename goto labels and mask definitions, and remove unused codes
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d3dbd7a6