1. 28 May, 2014 1 commit
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 6623b419
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates
      
      This series contains updates to e1000, e1000e, ixgbe and i40evf.
      
      Emil provides a fix for ixgbe so that non-fiber devices with MNG FW enabled
      are able to link at 100Mbps.
      
      Jacob provides several changes for ixgbe, most of which are PTP related.
      Renames ixgbe_ptp_enable() to ixgbe_ptp_feature_enable() to better reflect
      the functions purpose.  Extracts the hardware setup logic for the PTP
      hardware bits from the ixgbe_ptp_set_ts_config() to enable future work for
      the ixgbe_ptp_reset().  Maintain the hwstamp configuration through a reset
      and extracts the creation of the PTP clock device from ptp_init() in order
      to properly handle a suspend/resume cycle and only calls it if we don't
      already have a ptp_clock pointer.
      
      David provides a patch to expend the e1000e driver to turn on unicast
      PROMISC when there is failure to write to a shared receive address register.
      The fix update_phy_task() for 82579 is expanded to include newer PHYs as well
      so that the dev_spec->eee_lp_ability has the correct value when going into
      SX states.
      
      Todd provides a e1000e fix an errata for 82574/82583 where it is possible
      bad bits are read from SYSTIMH/L so check to see that the time is
      incrementing at a reasonable rate and is a multiple of the time incremental
      value.  Removes a redundant igb PHY power down register write.
      
      Andi Kleen out of lines two write functions for e1000e to save 30k text size.
      
      Tobias Klauser converts the e1000 and i40evf drivers to use the
      is_broadcast_ether_addr() and is_multicast_ether_addr().
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6623b419
  2. 27 May, 2014 15 commits
  3. 26 May, 2014 6 commits
  4. 25 May, 2014 2 commits
  5. 24 May, 2014 8 commits
  6. 23 May, 2014 8 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