1. 26 May, 2014 5 commits
  2. 25 May, 2014 2 commits
  3. 24 May, 2014 8 commits
  4. 23 May, 2014 25 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 1ee1ceaf
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
       "A small bunch of bug fixes, in particular:
      
         1) On older cpus we need a different chunk of virtual address space
            to map the huge page TSB.
      
         2) Missing memory barrier in Niagara2 memcpy.
      
         3) trinity showed some places where fault validation was
            unnecessarily loud on sparc64
      
         4) Some sysfs printf's need a type adjustment, from Toralf Förster"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: fix format string mismatch in arch/sparc/kernel/sysfs.c
        sparc64: Add membar to Niagara2 memcpy code.
        sparc64: Fix huge TSB mapping on pre-UltraSPARC-III cpus.
        sparc64: Don't bark so loudly about 32-bit tasks generating 64-bit fault addresses.
      1ee1ceaf
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 5fa6a683
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "It looks like a sizeble collection but this is nearly 3 weeks of bug
        fixing while you were away.
      
         1) Fix crashes over IPSEC tunnels with NAT, the latter can reroute
            the packet through a non-IPSEC protected path and the code has to
            be able to handle SKBs attached to routes lacking an attached xfrm
            state.  From Steffen Klassert.
      
         2) Fix OOPSs in ipv4 and ipv6 ipsec layers for unsupported
            sub-protocols, also from Steffen Klassert.
      
         3) Set local_df on fragmented netfilter skbs otherwise we won't be
            able to forward successfully, from Florian Westphal.
      
         4) cdc_mbim ipv6 neighbour code does __vlan_find_dev_deep without
            holding RCU lock, from Bjorn Mork.
      
         5) local_df test in ip_may_fragment is inverted, from Florian
            Westphal.
      
         6) jme driver doesn't check for DMA mapping failures, from Neil
            Horman.
      
         7) qlogic driver doesn't calculate number of TX queues properly, from
            Shahed Shaikh.
      
         8) fib_info_cnt can drift irreversibly positive if we fail to
            allocate the fi->fib_metrics array, from Sergey Popovich.
      
         9) Fix use after free in ip6_route_me_harder(), also from Sergey
            Popovich.
      
        10) When SYSCTL is disabled, we don't handle local_port_range and
            ping_group_range defaults properly at all, from Cong Wang.
      
        11) Unaccelerated VLAN tagged frames improperly handled by cdc_mbim
            driver, fix from Bjorn Mork.
      
        12) cassini driver needs nested lock annotations for TX locking, from
            Emil Goode.
      
        13) On init error ipv6 VTI driver can unregister pernet ops twice,
            oops.  Fix from Mahtias Krause.
      
        14) If macvlan device is down, don't propagate IFF_ALLMULTI changes,
            from Peter Christensen.
      
        15) Missing NULL pointer check while parsing netlink config options in
            ip6_tnl_validate().  From Susant Sahani.
      
        16) Fix handling of neighbour entries during ipv6 router reachability
            probing, from Duan Jiong.
      
        17) x86 and s390 JIT address randomization has some address
            calculation bugs leading to crashes, from Alexei Starovoitov and
            Heiko Carstens.
      
        18) Clear up those uglies with nop patching and net_get_random_once(),
            from Hannes Frederic Sowa.
      
        19) Option length miscalculated in ip6_append_data(), fix also from
            Hannes Frederic Sowa.
      
        20) A while ago we fixed a race during device unregistry when a
            namespace went down, turns out there is a second place that needs
            similar protection.  From Cong Wang.
      
        21) In the new Altera TSE driver multicast filtering isn't working,
            disable it and just use promisc mode until the cause is found.
            From Vince Bridgers.
      
        22) When we disable router enabling in ipv6 we have to flush the
            cached routes explicitly, from Duan Jiong.
      
        23) NBMA tunnels should not cache routes on the tunnel object because
            the key is variable, from Timo Teräs.
      
        24) With stacked devices GRO information in skb->cb[] can be not setup
            properly, make sure it is in all code paths.  From Eric Dumazet.
      
        25) Really fix stacked vlan locking, multiple levels of nesting with
            intervening non-vlan devices are possible.  From Vlad Yasevich.
      
        26) Fallback ipip tunnel device's mtu is not setup properly, from
            Steffen Klassert.
      
        27) The packet scheduler's tcindex filter can crash because we
            structure copy objects with list_head's inside, oops.  From Cong
            Wang.
      
        28) Fix CHECKSUM_COMPLETE handling for ipv6 GRE tunnels, from Eric
            Dumazet.
      
        29) In some configurations 'itag' in __mkroute_input() can end up
            being used uninitialized because of how fib_validate_source()
            works.  Fix it by explitly initializing itag to zero like all the
            other fib_validate_source() callers do, from Li RongQing"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (116 commits)
        batman: fix a bogus warning from batadv_is_on_batman_iface()
        ipv4: initialise the itag variable in __mkroute_input
        bonding: Send ALB learning packets using the right source
        bonding: Don't assume 802.1Q when sending alb learning packets.
        net: doc: Update references to skb->rxhash
        stmmac: Remove unbalanced clk_disable call
        ipv6: gro: fix CHECKSUM_COMPLETE support
        net_sched: fix an oops in tcindex filter
        can: peak_pci: prevent use after free at netdev removal
        ip_tunnel: Initialize the fallback device properly
        vlan: Fix build error wth vlan_get_encap_level()
        can: c_can: remove obsolete STRICT_FRAME_ORDERING Kconfig option
        MAINTAINERS: Pravin Shelar is Open vSwitch maintainer.
        bnx2x: Convert return 0 to return rc
        bonding: Fix alb mode to only use first level vlans.
        bonding: Fix stacked device detection in arp monitoring
        macvlan: Fix lockdep warnings with stacked macvlan devices
        vlan: Fix lockdep warning with stacked vlan devices.
        net: Allow for more then a single subclass for netif_addr_lock
        net: Find the nesting level of a given device by type.
        ...
      5fa6a683
    • David S. Miller's avatar
      Merge branch 'filter-next' · be65de71
      David S. Miller authored
      Daniel Borkmann says:
      
      ====================
      BPF updates
      
      These were still in my queue. Please see individual patches for
      details.
      
      I have rebased these on top of current net-next with Andrew's
      gcc union fixup [1] applied to avoid dealing with an unnecessary
      merge conflict.
      
       [1] http://patchwork.ozlabs.org/patch/351577/
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be65de71
    • Daniel Borkmann's avatar
      net: filter: add test case for jump with holes and ret x variants · 2e8a83c5
      Daniel Borkmann authored
      This patch adds three more test cases:
      
       1) long jumps with holes of unreachable code
       2) ret x
       3) ldx + ret x
      
      All three tests are for classical BPF and to make sure that
      any changes will not break some exotic behaviour that exists
      probably since decades. The last two tests are expected to
      fail by the BPF checker already, as in classic BPF only K
      or A are allowed to be returned. Thus, there are now 52 test
      cases for BPF.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2e8a83c5
    • Daniel Borkmann's avatar
      net: filter: improve test case framework · 10f18e0b
      Daniel Borkmann authored
      This patch simplifies and refactors the test case code a
      bit and also adds a summary of all test that passed or
      failed in the kernel log, so that it's easier to spot if
      something has failed.
      
      Future work could further extend the test framework to also
      support different input 'stimuli' i.e. related structures
      to seccomp.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      10f18e0b
    • Daniel Borkmann's avatar
      net: filter: doc: add section for BPF test suite · 04caa489
      Daniel Borkmann authored
      Mention the recently added test suite in the documentation file.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      04caa489
    • Daniel Borkmann's avatar
      net: filter: let unattached filters use sock_fprog_kern · b1fcd35c
      Daniel Borkmann authored
      The sk_unattached_filter_create() API is used by BPF filters that
      are not directly attached or related to sockets, and are used in
      team, ptp, xt_bpf, cls_bpf, etc. As such all users do their own
      internal managment of obtaining filter blocks and thus already
      have them in kernel memory and set up before calling into
      sk_unattached_filter_create(). As a result, due to __user annotation
      in sock_fprog, sparse triggers false positives (incorrect type in
      assignment [different address space]) when filters are set up before
      passing them to sk_unattached_filter_create(). Therefore, let
      sk_unattached_filter_create() API use sock_fprog_kern to overcome
      this issue.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b1fcd35c
    • Daniel Borkmann's avatar
      net: filter: remove DL macro · 8556ce79
      Daniel Borkmann authored
      Lets get rid of this macro. After commit 5bcfedf0 ("net: filter:
      simplify label names from jump-table"), labels have become more
      readable due to omission of BPF_ prefix but at the same time more
      generic, so that things like `git grep -n` would not find them. As
      a middle path, lets get rid of the DL macro as it's not strictly
      needed and would otherwise just hide the full name.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8556ce79
    • David S. Miller's avatar
      Merge branch 'inet_csums_part3' · 76fcee24
      David S. Miller authored
      Tom Herbert says:
      
      ====================
      net: Checksum offload changes - Part III
      
      I am working on overhauling RX checksum offload. Goals of this effort
      are:
      
      - Specify what exactly it means when driver returns CHECKSUM_UNNECESSARY
      - Preserve CHECKSUM_COMPLETE through encapsulation layers
      - Don't do skb_checksum more than once per packet
      - Unify GRO and non-GRO csum verification as much as possible
      - Unify the checksum functions (checksum_init)
      - Simply code
      
      What is in this third patch set:
      
      - Remove sk_no_check from sunrpc (doesn't seem to have any effect)
      - Eliminate no_check from protosw. All protocols are using default of
        zero for this
      - Split sk_no_check into sk_no_check_tx and sk_no_check_rx
      - Make enabling of UDP6 more restrictive and explicit
      - Support zero UDP6 checksums in l2tp
      
      V2: Took out vxlan changes to set zero csums in IPv6, this will
          be in a later patch set.
      V3: Fixed bug in restricting UDP6 checksums.
      
      Please review carefully and test if possible, mucking with basic
      checksum functions is always a little precarious :-)
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      76fcee24
    • Tom Herbert's avatar
      l2tp: Add support for zero IPv6 checksums · 6b649fea
      Tom Herbert authored
      Added new L2TP configuration options to allow TX and RX of
      zero checksums in IPv6. Default is not to use them.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6b649fea
    • Tom Herbert's avatar
      net: Make enabling of zero UDP6 csums more restrictive · 1c19448c
      Tom Herbert authored
      RFC 6935 permits zero checksums to be used in IPv6 however this is
      recommended only for certain tunnel protocols, it does not make
      checksums completely optional like they are in IPv4.
      
      This patch restricts the use of IPv6 zero checksums that was previously
      intoduced. no_check6_tx and no_check6_rx have been added to control
      the use of checksums in UDP6 RX and TX path. The normal
      sk_no_check_{rx,tx} settings are not used (this avoids ambiguity when
      dealing with a dual stack socket).
      
      A helper function has been added (udp_set_no_check6) which can be
      called by tunnel impelmentations to all zero checksums (send on the
      socket, and accept them as valid).
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1c19448c
    • Tom Herbert's avatar
      net: Split sk_no_check into sk_no_check_{rx,tx} · 28448b80
      Tom Herbert authored
      Define separate fields in the sock structure for configuring disabling
      checksums in both TX and RX-- sk_no_check_tx and sk_no_check_rx.
      The SO_NO_CHECK socket option only affects sk_no_check_tx. Also,
      removed UDP_CSUM_* defines since they are no longer necessary.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      28448b80
    • Tom Herbert's avatar
      net: Eliminate no_check from protosw · b26ba202
      Tom Herbert authored
      It doesn't seem like an protocols are setting anything other
      than the default, and allowing to arbitrarily disable checksums
      for a whole protocol seems dangerous. This can be done on a per
      socket basis.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b26ba202
    • Tom Herbert's avatar
      sunrpc: Remove sk_no_check setting · 0f8066bd
      Tom Herbert authored
      Setting sk_no_check to UDP_CSUM_NORCV seems to have no effect.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f8066bd
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 0c3592b8
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates
      
      This series contains updates to igb, igbvf, ixgbe, i40e and i40evf.
      
      Jacob provides eight patches to cleanup the ixgbe driver to resolve various
      checkpatch.pl warnings/errors as well as minor coding style issues.
      
      Stephen Hemminger and I provide simple cleanups of void functions which
      had useless return statements at the end of the function which are not
      needed.
      
      v2: Dropped Emil's patch "ixgbe: fix the detection of SFP+ capable interfaces"
          while I wait for his updated patch to be validated.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0c3592b8
    • David S. Miller's avatar
      Merge branch 'mvneta-next' · ebb0531b
      David S. Miller authored
      Ezequiel Garcia says:
      
      ====================
      net: ethernet: marvell: Assorted fixes
      
      New round for this assorted fixes and clean-up series. There is more room for
      clean-ups, and I'll start preparing more patches once these are accepted.
      
      This series consists of cleanups and minor improvements on mvneta, mv643xx_eth
      and mvmdio drivers. None of the patches imply any functionality change, except
      for the patch six "Change the number of default rx queues to one".
      
      This patch reduces the driver's allocated resources and makes the multiqueue
      path in the poll function not get taken. The previous patchset contains more
      details:
      
        http://permalink.gmane.org/gmane.linux.network/315015
      
      As usual, any feedback on this will be well received!
      
      Changes from v2:
      
        * Rebased on today's net-next and dropped patch
          "net: mvneta: Factorize feature setting", merged in the recent
          TSO series.
      
        * As per Sergei suggestion, used devm_kcalloc or devm_kmalloc_array
          when suitable.
      
      Changes from v1:
      
        * Added two more clean-up patches to the series.
      
        * Added Sebastian's Acked-by's.
      
        * Fixed extra empty line in "net: mv643xx_eth: Simplify
          mv643xx_eth_adjust_link()" as pointed out by David Miller.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ebb0531b
    • Ezequiel Garcia's avatar
      net: mvneta: Remove unneeded 'weigth' field · dc03e21a
      Ezequiel Garcia authored
      The 'weight' field is only used to pass the weigth to napi initialization
      function. This commit removes the field, and instead uses a fixed value to
      initialize the napi context.
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dc03e21a
    • Ezequiel Garcia's avatar
      net: mvmdio: Use devm_* API to simplify the code · 56ecd2cc
      Ezequiel Garcia authored
      This commit makes use of devm_kmalloc_array() for memory allocation and the
      recently introduced devm_mdiobus_alloc() API to simplify driver's code.
      While here, remove a redundant out of memory error message.
      Acked-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      56ecd2cc
    • Ezequiel Garcia's avatar
      net: mvneta: Change the number of default rx queues to one · edadb7fa
      Ezequiel Garcia authored
      The driver does not support multiple rx queues, and so it's a waste
      of resources to have a default number larger than one (1).
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      edadb7fa
    • Ezequiel Garcia's avatar
      net: mvneta: Use prepare/commit API to simplify MAC address setting · e68de360
      Ezequiel Garcia authored
      Use eth_prepare_mac_addr_change and eth_commit_mac_addr_change, instead
      of manually checking and storing the MAC address, which makes the
      code slightly more robust. This fixes the lack of valid MAC address check
      in the driver's .ndo_set_mac_address hook.
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e68de360
    • Ezequiel Garcia's avatar
      net: mvneta: Clean-up mvneta_init() · 9672850b
      Ezequiel Garcia authored
      This commit cleans-up mvneta_init(), which initializes the hardware
      and allocates the rx/qx queues. The queue allocation is simplified
      by using devm_kcalloc instead of kzalloc. The unused phy_addr parameter
      is removed. While here, the 'hal' references in the comments are removed.
      This commit makes no functionality change.
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9672850b
    • Ezequiel Garcia's avatar
      net: mvneta: Check tx queue setup error in mvneta_change_mtu() · a92dbd96
      Ezequiel Garcia authored
      This commit checks the return code of mvneta_setup_txq() call
      in mvneta_change_mtu(). Also, use the netdevice pointer directly
      instead of dereferencing the port structure. While here, let's
      fix a tiny comment typo.
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a92dbd96
    • Ezequiel Garcia's avatar
      net: mvneta: Clean-up mvneta_tx_frag_process() · 3d4ea02f
      Ezequiel Garcia authored
      A tiny clean-up to improve readability. This commit makes no functionality
      change.
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3d4ea02f
    • Ezequiel Garcia's avatar
      net: mv643xx_eth: Simplify mv643xx_eth_adjust_link() · 0a9e413b
      Ezequiel Garcia authored
      Currently, mv643xx_eth_adjust_link() is only used to call mv643xx_adjust_pscr().
      This commit renames the latter to the former, and therefore removes the extra
      and useless function.
      Acked-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0a9e413b
    • Andrew Morton's avatar
      lib/test_bpf.c: don't use gcc union shortcut · ece80490
      Andrew Morton authored
      Older gcc's (mine is gcc-4.4.4) make a mess of this.
      
      lib/test_bpf.c:74: error: unknown field 'insns' specified in initializer
      lib/test_bpf.c:75: warning: missing braces around initializer
      lib/test_bpf.c:75: warning: (near initialization for 'tests[0].<anonymous>.insns[0]')
      lib/test_bpf.c:76: error: extra brace group at end of initializer
      lib/test_bpf.c:76: error: (near initialization for 'tests[0].<anonymous>')
      lib/test_bpf.c:76: warning: excess elements in union initializer
      lib/test_bpf.c:76: warning: (near initialization for 'tests[0].<anonymous>')
      lib/test_bpf.c:77: error: extra brace group at end of initializer
      
      Cc: Alexei Starovoitov <ast@plumgrid.com>
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ece80490