1. 12 Mar, 2015 3 commits
    • Simon Horman's avatar
      vxlan: Correct path typo in comment · d299ce14
      Simon Horman authored
      Flags are used in the return path rather than the return patch.
      
      Fixes: af33c1ad ("vxlan: Eliminate dependency on UDP socket in transmit path")
      Signed-off-by: default avatarSimon Horman <simon.horman@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d299ce14
    • Eric Dumazet's avatar
      net: add real socket cookies · 33cf7c90
      Eric Dumazet authored
      A long standing problem in netlink socket dumps is the use
      of kernel socket addresses as cookies.
      
      1) It is a security concern.
      
      2) Sockets can be reused quite quickly, so there is
         no guarantee a cookie is used once and identify
         a flow.
      
      3) request sock, establish sock, and timewait socks
         for a given flow have different cookies.
      
      Part of our effort to bring better TCP statistics requires
      to switch to a different allocator.
      
      In this patch, I chose to use a per network namespace 64bit generator,
      and to use it only in the case a socket needs to be dumped to netlink.
      (This might be refined later if needed)
      
      Note that I tried to carry cookies from request sock, to establish sock,
      then timewait sockets.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Eric Salo <salo@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      33cf7c90
    • Alexander Duyck's avatar
      fib_trie: Only display main table in /proc/net/route · 654eff45
      Alexander Duyck authored
      When we merged the tries for local and main I had overlooked the iterator
      for /proc/net/route.  As a result it was outputting both local and main
      when the two tries were merged.
      
      This patch resolves that by only providing output for aliases that are
      actually in the main trie.  As a result we should go back to the original
      behavior which I assume will be necessary to maintain legacy support.
      
      Fixes: 0ddcf43d ("ipv4: FIB Local/MAIN table collapse")
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      654eff45
  2. 11 Mar, 2015 12 commits
  3. 10 Mar, 2015 25 commits
    • Jon Paul Maloy's avatar
      tipc: ensure that idle links are deleted when a bearer is disabled · 169bf912
      Jon Paul Maloy authored
      commit afaa3f65
      (tipc: purge links when bearer is disabled) was an attempt to resolve
      a problem that turned out to have a more profound reason.
      
      When we disable a bearer, we delete all its pertaining links if
      there is no other bearer to perform failover to, or if the module
      is shutting down. In case there are dual bearers, we wait with
      deleting links until the failover procedure is finished.
      
      However, this misses the case when a link on the removed bearer
      was already down, so that there will be no failover procedure to
      finish the link delete. This causes confusion if a new bearer is
      added to replace the removed one, and also entails a small memory
      leak.
      
      This commit takes the current state of the link into account when
      deciding when to delete it, and also reverses the above-mentioned
      commit.
      Reviewed-by: default avatarErik Hugne <erik.hugne@ericsson.com>
      Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      169bf912
    • Alexander Duyck's avatar
      fib_trie: Address possible NULL pointer dereference in resize · ddb4b9a1
      Alexander Duyck authored
      If the inflate call failed it would return NULL.  As a result tp would be
      set to NULL and cause use to trigger a NULL pointer dereference in
      should_halve if the inflate failed on the first attempt.
      
      In order to prevent this we should decrement max_work before we actually
      attempt to inflate as this will force us to exit before attempting to halve
      a node we should have inflated.  In order to keep things symmetric between
      inflate and halve I went ahead and also moved the decrement of max_work for
      the halve case as well so we take care of that before we actually attempt
      to halve the tnode.
      
      Fixes: 88bae714 ("fib_trie: Add key vector to root, return parent key_vector in resize")
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ddb4b9a1
    • Stephen Rothwell's avatar
      macb: Fix merge error. · 416377ea
      Stephen Rothwell authored
      The code removed by commit 421d9df0 ("net/macb: merge
      at91_ether driver into macb driver") should be removed
      in the merge resolution as well.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      416377ea
    • Alexander Duyck's avatar
      fib_trie: Correctly handle case of key == 0 in leaf_walk_rcu · 3ec320dd
      Alexander Duyck authored
      In the case of a trie that had no tnodes with a key of 0 the initial
      look-up would fail resulting in an out-of-bounds cindex on the first tnode.
      This resulted in an entire trie being skipped.
      
      In order resolve this I have updated the cindex logic in the initial
      look-up so that if the key is zero we will always traverse the child zero
      path.
      
      Fixes: 8be33e95 ("fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf")
      Reported-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
      Tested-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3ec320dd
    • David S. Miller's avatar
      Merge branch 'inet_diag_cleanups' · 7c23aaf2
      David S. Miller authored
      Eric Dumazet says:
      
      ====================
      inet_diag: cleanups and improvements
      
      Before changing way request socks are dumped, let's clean up this code
      a bit.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7c23aaf2
    • Eric Dumazet's avatar
      inet_diag: add const to inet_diag_req_v2 · 34160ea3
      Eric Dumazet authored
      diag dumpers should not modify the request.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      34160ea3
    • Eric Dumazet's avatar
      inet_diag: cleanups · e31c5e0e
      Eric Dumazet authored
      Remove all inline keywords, add some const, and cleanup style.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e31c5e0e
    • Eric Dumazet's avatar
      net: constify sock_diag_check_cookie() · 491da2a4
      Eric Dumazet authored
      sock_diag_check_cookie() second parameter is constant
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      491da2a4
    • Florian Westphal's avatar
      drivers: atm: nicstar: remove ifdef'd out skb destructors · 3855634d
      Florian Westphal authored
      remove dead code.
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3855634d
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next · 515fb5c3
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net-next
      
      The following batch contains a couple of fixes to address some fallout
      from the previous pull request, they are:
      
      1) Address link problems in the bridge code after e5de75bf. Fix it by
         using rcu hook to address to avoid ifdef pollution and hard
         dependency between bridge and br_netfilter.
      
      2) Address sparse warnings in the netfilter reject code, patch from
         Florian Westphal.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      515fb5c3
    • Pablo Neira Ayuso's avatar
      netfilter: bridge: use rcu hook to resolve br_netfilter dependency · 1a4ba64d
      Pablo Neira Ayuso authored
      e5de75bf ("netfilter: bridge: move DNAT helper to br_netfilter") results
      in the following link problem:
      
      net/bridge/br_device.c:29: undefined reference to `br_nf_prerouting_finish_bridge`
      
      Moreover it creates a hard dependency between br_netfilter and the
      bridge core, which is what we've been trying to avoid so far.
      
      Resolve this problem by using a hook structure so we reduce #ifdef
      pollution and keep bridge netfilter specific code under br_netfilter.c
      which was the original intention.
      Reported-by: default avatarSimon Horman <simon.horman@netronome.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      1a4ba64d
    • Florian Westphal's avatar
      netfilter: fix sparse warnings in reject handling · a03a8dbe
      Florian Westphal authored
      make C=1 CF=-D__CHECK_ENDIAN__ shows following:
      
      net/bridge/netfilter/nft_reject_bridge.c:65:50: warning: incorrect type in argument 3 (different base types)
      net/bridge/netfilter/nft_reject_bridge.c:65:50:    expected restricted __be16 [usertype] protocol [..]
      net/bridge/netfilter/nft_reject_bridge.c:102:37: warning: cast from restricted __be16
      net/bridge/netfilter/nft_reject_bridge.c:102:37: warning: incorrect type in argument 1 (different base types) [..]
      net/bridge/netfilter/nft_reject_bridge.c:121:50: warning: incorrect type in argument 3 (different base types) [..]
      net/bridge/netfilter/nft_reject_bridge.c:168:52: warning: incorrect type in argument 3 (different base types) [..]
      net/bridge/netfilter/nft_reject_bridge.c:233:52: warning: incorrect type in argument 3 (different base types) [..]
      
      Caused by two (harmless) errors:
      1. htons() instead of ntohs()
      2. __be16 for protocol in nf_reject_ipXhdr_put API, use u8 instead.
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      a03a8dbe
    • Florian Fainelli's avatar
      net: phy: bcm7xxx: add alternate id for 7439 · 59e33c2b
      Florian Fainelli authored
      BCM7439 has an alternate PHY OUI: 0xae025080 which is to be found in
      some variants of this chip.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      59e33c2b
    • Scott Feldman's avatar
      switchdev: add netlink flags to IPv4 FIB add op · f8f21471
      Scott Feldman authored
      Pass in the netlink flags (NLM_F_*) into switchdev driver for IPv4 FIB add op
      to allow driver to 1) optimize hardware updates, 2) handle ip route prepend
      and append commands correctly.
      Suggested-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Suggested-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: default avatarScott Feldman <sfeldma@gmail.com>
      Reviewed-by: default avatarSimon Horman <simon.horman@netronome.com>
      Acked-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8f21471
    • David S. Miller's avatar
      Merge branch 'dsa-next' · bf0b2112
      David S. Miller authored
      Florian Fainelli says:
      
      ====================
      net: dsa: remove restriction on platform_device
      
      This patch series removes the restriction in DSA to operate exclusively with
      platform_device Ethernet MAC drivers when using Device Tree. This basically
      allows arbitrary Ethernet MAC drivers to be used now in conjunction with
      Device Tree.
      
      The reason was that DSA was using a of_find_device_by_node() which limits
      the device_node to device pointer search exclusively to platform_device,
      in our case, we are interested in doing a "class" research and lookup the
      net_device.
      
      Thanks to Chris Packham for testing this on his platform.
      
      Changes in v2:
      
      - fix build for !CONFIG_OF_NET
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf0b2112
    • Florian Fainelli's avatar
      net: dsa: utilize of_find_net_device_by_node · 769a0202
      Florian Fainelli authored
      Using of_find_device_by_node() restricts the search to platform_device that
      match the specified device_node pointer. This is not even remotely true for
      network devices backed by a pci_device for instance.
      
      of_find_net_device_by_node() allows us to do a more thorough lookup to find the
      struct net_device corresponding to a particular device_node pointer.
      
      For symetry with the non-OF code path, we hold the net_device pointer in
      dsa_probe() just like what dev_to_net_dev() does when we call this
      function.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      769a0202
    • Florian Fainelli's avatar
      net: core: add of_find_net_device_by_node() · aa836df9
      Florian Fainelli authored
      Add a helper function which allows getting the struct net_device pointer
      associated with a given struct device_node pointer. This is useful for
      instance for DSA Ethernet devices not backed by a platform_device, but a PCI
      device.
      
      Since we need to access net_class which is not accessible outside of
      net/core/net-sysfs.c, this helper function is also added here and gated
      with CONFIG_OF_NET.
      
      Network devices initialized with SET_NETDEV_DEV() are also taken into
      account by checking for dev->parent first and then falling back to
      checking the device pointer within struct net_device.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aa836df9
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 3cef5c5b
      David S. Miller authored
      Conflicts:
      	drivers/net/ethernet/cadence/macb.c
      
      Overlapping changes in macb driver, mostly fixes and cleanups
      in 'net' overlapping with the integration of at91_ether into
      macb in 'net-next'.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3cef5c5b
    • Petri Gynther's avatar
      net: bcmgenet: core changes for supporting multiple Rx queues · 8ac467e8
      Petri Gynther authored
      1. Add struct bcmgenet_rx_ring to hold all necessary information
         for a single Rx queue.
      2. Add bcmgenet_init_rx_queues() to initialize all Rx queues.
      3. Modify bcmgenet_init_rx_ring() to initialize a single Rx queue.
      4. Modify Rx interrupt path code to use per-queue data.
      5. Modify bcmgenet_rx_refill() to use RxCB->bd_addr.
      Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ac467e8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · affb8172
      Linus Torvalds authored
      Pull kvm/s390 bugfixes from Marcelo Tosatti.
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: s390: non-LPAR case obsolete during facilities mask init
        KVM: s390: include guest facilities in kvm facility test
        KVM: s390: fix in memory copy of facility lists
        KVM: s390/cpacf: Fix kernel bug under z/VM
        KVM: s390/cpacf: Enable key wrapping by default
      affb8172
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ec0e6bd3
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "One performance optimization for page_clear and a couple of bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/mm: fix incorrect ASCE after crst_table_downgrade
        s390/ftrace: fix crashes when switching tracers / add notrace to cpu_relax()
        s390/pci: unify pci_iomap symbol exports
        s390/pci: fix [un]map_resources sequence
        s390: let the compiler do page clearing
        s390/pci: fix possible information leak in mmio syscall
        s390/dcss: array index 'i' is used before limits check.
        s390/scm_block: fix off by one during cluster reservation
        s390/jump label: improve and fix sanity check
        s390/jump label: add missing jump_label_apply_nops() call
      ec0e6bd3
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v4.0-rc2-2' of... · e7901af1
      Linus Torvalds authored
      Merge tag 'trace-fixes-v4.0-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull seq-buf/ftrace fixes from Steven Rostedt:
       "This includes fixes for seq_buf_bprintf() truncation issue.  It also
        contains fixes to ftrace when /proc/sys/kernel/ftrace_enabled and
        function tracing are started.  Doing the following causes some issues:
      
          # echo 0 > /proc/sys/kernel/ftrace_enabled
          # echo function_graph > /sys/kernel/debug/tracing/current_tracer
          # echo 1 > /proc/sys/kernel/ftrace_enabled
          # echo nop > /sys/kernel/debug/tracing/current_tracer
          # echo function_graph > /sys/kernel/debug/tracing/current_tracer
      
        As well as with function tracing too.  Pratyush Anand first reported
        this issue to me and supplied a patch.  When I tested this on my x86
        test box, it caused thousands of backtraces and warnings to appear in
        dmesg, which also caused a denial of service (a warning for every
        function that was listed).  I applied Pratyush's patch but it did not
        fix the issue for me.  I looked into it and found a slight problem
        with trampoline accounting.  I fixed it and sent Pratyush a patch, but
        he said that it did not fix the issue for him.
      
        I later learned tha Pratyush was using an ARM64 server, and when I
        tested on my ARM board, I was able to reproduce the same issue as
        Pratyush.  After applying his patch, it fixed the problem.  The above
        test uncovered two different bugs, one in x86 and one in ARM and
        ARM64.  As this looked like it would affect PowerPC, I tested it on my
        PPC64 box.  It too broke, but neither the patch that fixed ARM or x86
        fixed this box (the changes were all in generic code!).  The above
        test, uncovered two more bugs that affected PowerPC.  Again, the
        changes were only done to generic code.  It's the way the arch code
        expected things to be done that was different between the archs.  Some
        where more sensitive than others.
      
        The rest of this series fixes the PPC bugs as well"
      
      * tag 'trace-fixes-v4.0-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Fix ftrace enable ordering of sysctl ftrace_enabled
        ftrace: Fix en(dis)able graph caller when en(dis)abling record via sysctl
        ftrace: Clear REGS_EN and TRAMP_EN flags on disabling record via sysctl
        seq_buf: Fix seq_buf_bprintf() truncation
        seq_buf: Fix seq_buf_vprintf() truncation
      e7901af1
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 36bef883
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) nft_compat accidently truncates ethernet protocol to 8-bits, from
          Arturo Borrero.
      
       2) Memory leak in ip_vs_proc_conn(), from Julian Anastasov.
      
       3) Don't allow the space required for nftables rules to exceed the
          maximum value representable in the dlen field.  From Patrick
          McHardy.
      
       4) bcm63xx_enet can accidently leave interrupts permanently disabled
          due to errors in the NAPI polling exit logic.  Fix from Nicolas
          Schichan.
      
       5) Fix OOPSes triggerable by the ping protocol module, due to missing
          address family validations etc.  From Lorenzo Colitti.
      
       6) Don't use RCU locking in sleepable context in team driver, from Jiri
          Pirko.
      
       7) xen-netback miscalculates statistic offset pointers when reporting
          the stats to userspace.  From David Vrabel.
      
       8) Fix a leak of up to 256 pages per VIF destroy in xen-netaback, also
          from David Vrabel.
      
       9) ip_check_defrag() cannot assume that skb_network_offset(),
          particularly when it is used by the AF_PACKET fanout defrag code.
          From Alexander Drozdov.
      
      10) gianfar driver doesn't query OF node names properly when trying to
          determine the number of hw queues available.  Fix it to explicitly
          check for OF nodes named queue-group.  From Tobias Waldekranz.
      
      11) MID field in macb driver should be 12 bits, not 16.  From Punnaiah
          Choudary Kalluri.
      
      12) Fix unintentional regression in traceroute due to timestamp socket
          option changes.  Empty ICMP payloads should be allowed in
          non-timestamp cases.  From Willem de Bruijn.
      
      13) When devices are unregistered, we have to get rid of AF_PACKET
          multicast list entries that point to it via ifindex.  Fix from
          Francesco Ruggeri.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (38 commits)
        tipc: fix bug in link failover handling
        net: delete stale packet_mclist entries
        net: macb: constify macb configuration data
        MAINTAINERS: add Marc Kleine-Budde as co maintainer for CAN networking layer
        MAINTAINERS: linux-can moved to github
        can: kvaser_usb: Read all messages in a bulk-in URB buffer
        can: kvaser_usb: Avoid double free on URB submission failures
        can: peak_usb: fix missing ctrlmode_ init for every dev
        can: add missing initialisations in CAN related skbuffs
        ip: fix error queue empty skb handling
        bgmac: Clean warning messages
        tcp: align tcp_xmit_size_goal() on tcp_tso_autosize()
        net: fec: fix unbalanced clk disable on driver unbind
        net: macb: Correct the MID field length value
        net: gianfar: correctly determine the number of queue groups
        ipv4: ip_check_defrag should not assume that skb_network_offset is zero
        net: bcmgenet: properly disable password matching
        net: eth: xgene: fix booting with devicetree
        bnx2x: Force fundamental reset for EEH recovery
        xen-netback: refactor xenvif_handle_frag_list()
        ...
      36bef883
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · e93df634
      Linus Torvalds authored
      Pull input subsystem fixes from Dmitry Torokhov:
       "Miscellaneous driver fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: psmouse - disable "palm detection" in the focaltech driver
        Input: psmouse - disable changing resolution/rate/scale for FocalTech
        Input: psmouse - ensure that focaltech reports consistent coordinates
        Input: psmouse - remove hardcoded touchpad size from the focaltech driver
        Input: tc3589x-keypad - set IRQF_ONESHOT flag to ensure IRQ request
        Input: ALPS - fix memory leak when detection fails
        Input: sun4i-ts - add thermal driver dependency
        Input: cyapa - remove superfluous type check in cyapa_gen5_read_idac_data()
        Input: cyapa - fix unaligned functions redefinition error
        Input: mma8450 - add parent device
      e93df634
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 068c65c5
      Linus Torvalds authored
      Pull regulator fixes from Mark Brown:
       "A couple of driver specific fixes plus a fix for a regression in the
        core where the updates to use sysfs group registration were overly
        enthusiastic in eliding properties and removed some that had been
        previously present"
      
      * tag 'regulator-v4.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: Fix regression due to NULL constraints check
        regulator: rk808: Set the enable time for LDOs
        regulator: da9210: Mask all interrupt sources to deassert interrupt line
      068c65c5