1. 01 12月, 2012 25 次提交
    • E
      net: move inet_dport/inet_num in sock_common · ce43b03e
      Eric Dumazet 提交于
      commit 68835aba (net: optimize INET input path further)
      moved some fields used for tcp/udp sockets lookup in the first cache
      line of struct sock_common.
      
      This patch moves inet_dport/inet_num as well, filling a 32bit hole
      on 64 bit arches and reducing number of cache line misses in lookups.
      
      Also change INET_MATCH()/INET_TW_MATCH() to perform the ports match
      before addresses match, as this check is more discriminant.
      
      Remove the hash check from MATCH() macros because we dont need to
      re validate the hash value after taking a refcount on socket, and
      use likely/unlikely compiler hints, as the sk_hash/hash check
      makes the following conditional tests 100% predicted by cpu.
      
      Introduce skc_addrpair/skc_portpair pair values to better
      document the alignment requirements of the port/addr pairs
      used in the various MATCH() macros, and remove some casts.
      
      The namespace check can also be done at last.
      
      This slightly improves TCP/UDP lookup times.
      
      IP/TCP early demux needs inet->rx_dst_ifindex and
      TCP needs inet->min_ttl, lets group them together in same cache line.
      
      With help from Ben Hutchings & Joe Perches.
      
      Idea of this patch came after Ling Ma proposal to move skc_hash
      to the beginning of struct sock_common, and should allow him
      to submit a final version of his patch. My tests show an improvement
      doing so.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Ling Ma <ling.ma.program@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ce43b03e
    • H
      hyperv: Add an error message to rndis_filter_set_device_mac() · b02a8067
      Haiyang Zhang 提交于
      This message indicates an error returned from the host when changing MAC address.
      Reported-by: NMichal Kubecek <mkubecek@suse.com>
      Signed-off-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: NK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b02a8067
    • A
      myri10ge: Add vlan rx for better GRO perf. · 1b4c44e6
      Andrew Gallatin 提交于
      Unlike LRO, GRO requires that vlan tags be removed before
      aggregation can occur.  Since the myri10ge NIC does not support
      hardware vlan tag offload, we must remove the tag in the driver
      to achieve performance comparable to LRO for vlan tagged frames.
      
      Thanks to Eric Duzamet for his help simplifying the original patch.
      Signed-off-by: NAndrew Gallatin <gallatin@myri.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1b4c44e6
    • A
      myri10ge: Convert from LRO to GRO · 4ca3221f
      Andrew Gallatin 提交于
      Convert myri10ge from LRO to GRO, and simplify the driver by removing
      various LRO-related code which is no longer needed including
      ndo_fix_features op, custom skb building from frags, and LRO
      header parsing.
      Signed-off-by: NAndrew Gallatin <gallatin@myri.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4ca3221f
    • J
      MAINTAINERS: fix bouncing tun/tap entries · ba57b6f2
      Jiri Slaby 提交于
      Delivery to the following recipient failed permanently:
      
           vtun@office.satix.net
      
      Technical details of permanent failure:
      DNS Error: Domain name not found
      
      Of course:
      $ host office.satix.net
      Host office.satix.net not found: 3(NXDOMAIN)
      
      ===========
      
      And "Change of Email Address Notification":
      Old Address        New Address           Email Subject
      ------------------------------------------------------
      maxk@qualcomm.com  maxk@qti.qualcomm.com "tuntap: multiqueue...
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Cc: Maxim Krasnyansky <maxk@qti.qualcomm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ba57b6f2
    • S
      smsc95xx: expand check_ macros · b052e073
      Steve Glendinning 提交于
      These macros, while reducing the amount of code, hide flow control
      and make the code more confusing to follow and review.  This patch
      expands them.  It should have no functional effect on the driver.
      Signed-off-by: NSteve Glendinning <steve.glendinning@shawell.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b052e073
    • S
      smsc95xx: fix smsc_crc return type · 068bb1a7
      Steve Glendinning 提交于
      This patch fixes a bug introduced in bbd9f9ee which could prevent
      some wakeups from working correctly if multiple wol options were
      selected.
      
      This helper function calculates a 16-bit crc and shifts it into
      either the high or low 16 bits of a u32 so the caller can or it
      directly into place.  The function previously had a u16 return
      type so would always have returned zero when filter was odd.
      Signed-off-by: NSteve Glendinning <steve.glendinning@shawell.net>
      Reported-by: NBjorn Mork <bjorn@mork.no>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      068bb1a7
    • S
      smsc95xx: don't enable remote wakeup directly · 3b14692c
      Steve Glendinning 提交于
      As pointed out by Bjorn Mork, the generic "usb" driver sets this
      for us so no need to directly set it in this driver.
      Signed-off-by: NSteve Glendinning <steve.glendinning@shawell.net>
      Cc: Bjorn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b14692c
    • S
      smsc95xx: fix error handling in suspend failure case · 3b9f7d8c
      Steve Glendinning 提交于
      This patch ensures that if we fail to suspend the LAN9500 device
      we call usbnet_resume before returning failure, instead of
      leaving the usbnet driver in an unusable state.
      Signed-off-by: NSteve Glendinning <steve.glendinning@shawell.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b9f7d8c
    • S
      smsc95xx: fix suspend buffer overflow · eed9a729
      Steve Glendinning 提交于
      This patch fixes a buffer overflow introduced by bbd9f9ee, where
      the filter_mask array is accessed beyond its bounds.
      
      Updated to also add a check for kzalloc failure, as reported by
      Bjorn Mork and Joe Perches.
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NSteve Glendinning <steve.glendinning@shawell.net>
      Cc: Bjorn Mork <bjorn@mork.no>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eed9a729
    • S
      smsc75xx: expand check_ macros · e3c678e6
      Steve Glendinning 提交于
      These macros, while reducing the amount of code, hide flow control
      and make the code more confusing to follow and review.  This patch
      expands them.  It should have no functional effect on the driver.
      Signed-off-by: NSteve Glendinning <steve.glendinning@shawell.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e3c678e6
    • S
      smsc75xx: don't call usbnet_resume if usbnet_suspend fails · 2305c54f
      Steve Glendinning 提交于
      If usbnet_suspend returns an error we don't want to call
      usbnet_resume to clean up, but instead just return the error.
      
      If usbnet_suspend *does* succeed, and we have a problem further
      on, the desired behaviour is still to call usbnet_resume
      to clean up before returning.
      Signed-off-by: NSteve Glendinning <steve.glendinning@shawell.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2305c54f
    • T
      sctp: verify length provided in heartbeat information parameter · 06a31e2b
      Thomas Graf 提交于
      If the variable parameter length provided in the mandatory
      heartbeat information parameter exceeds the calculated payload
      length the packet has been corrupted. Reply with a parameter
      length protocol violation message.
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      06a31e2b
    • R
      rtnelink: remove unused parameter from rtnl_create_link(). · c0713563
      Rami Rosen 提交于
      This patch removes an unused parameter (src_net) from rtnl_create_link()
      method and from the method single invocation, in veth.
      This parameter was used in the past when calling
      ops->get_tx_queues(src_net, tb) in rtnl_create_link().
      The get_tx_queues() member of rtnl_link_ops was replaced by two methods,
      get_num_tx_queues() and get_num_rx_queues(), which do not get any
      parameter. This was done in commit d40156aa by
      Jiri Pirko ("rtnl: allow to specify different num for rx and tx queue count").
      Signed-off-by: NRami Rosen <ramirose@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c0713563
    • D
      Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge · dad52fd9
      David S. Miller 提交于
      Included changes:
      - Use the new ETH_P_BATMAN define instead of the private BATADV_ETH_P_BATMAN
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dad52fd9
    • T
      sctp: fix CONFIG_SCTP_DBG_MSG=y null pointer dereference in sctp_v6_get_dst() · ee3f34e8
      Tommi Rantala 提交于
      Trinity (the syscall fuzzer) triggered the following BUG, reproducible
      only when the kernel is configured with CONFIG_SCTP_DBG_MSG=y.
      
      When CONFIG_SCTP_DBG_MSG is not set, the null pointer is never
      dereferenced.
      
      ---[ end trace a4de0bfcb38a3642 ]---
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000100
      IP: [<ffffffff8136796e>] ip6_string+0x1e/0xa0
      PGD 4eead067 PUD 4e472067 PMD 0
      Oops: 0000 [#1] PREEMPT SMP
      Modules linked in:
      CPU 3
      Pid: 21324, comm: trinity-child11 Tainted: G        W    3.7.0-rc7+ #61 ASUSTeK Computer INC. EB1012/EB1012
      RIP: 0010:[<ffffffff8136796e>]  [<ffffffff8136796e>] ip6_string+0x1e/0xa0
      RSP: 0018:ffff88004e4637a0  EFLAGS: 00010046
      RAX: ffff88004e4637da RBX: ffff88004e4637da RCX: 0000000000000000
      RDX: ffffffff8246e92a RSI: 0000000000000100 RDI: ffff88004e4637da
      RBP: ffff88004e4637a8 R08: 000000000000ffff R09: 000000000000ffff
      R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff8289d600
      R13: ffffffff8289d230 R14: ffffffff8246e928 R15: ffffffff8289d600
      FS:  00007fed95153700(0000) GS:ffff88005fd80000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000000100 CR3: 000000004eeac000 CR4: 00000000000007e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process trinity-child11 (pid: 21324, threadinfo ffff88004e462000, task ffff8800524b0000)
      Stack:
       ffff88004e4637da ffff88004e463828 ffffffff81368eee 000000004e4637d8
       ffffffff0000ffff ffff88000000ffff 0000000000000000 000000004e4637f8
       ffffffff826285d8 ffff88004e4637f8 0000000000000000 ffff8800524b06b0
      Call Trace:
       [<ffffffff81368eee>] ip6_addr_string.isra.11+0x3e/0xa0
       [<ffffffff81369183>] pointer.isra.12+0x233/0x2d0
       [<ffffffff810a413a>] ? vprintk_emit+0x1ba/0x450
       [<ffffffff8110953d>] ? trace_hardirqs_on_caller+0x10d/0x1a0
       [<ffffffff81369757>] vsnprintf+0x187/0x5d0
       [<ffffffff81369c62>] vscnprintf+0x12/0x30
       [<ffffffff810a4028>] vprintk_emit+0xa8/0x450
       [<ffffffff81e5cb00>] printk+0x49/0x4b
       [<ffffffff81d17221>] sctp_v6_get_dst+0x731/0x780
       [<ffffffff81d16e15>] ? sctp_v6_get_dst+0x325/0x780
       [<ffffffff81d00a96>] sctp_transport_route+0x46/0x120
       [<ffffffff81cff0f1>] sctp_assoc_add_peer+0x161/0x350
       [<ffffffff81d0fd8d>] sctp_sendmsg+0x6cd/0xcb0
       [<ffffffff81b55bf0>] ? inet_create+0x670/0x670
       [<ffffffff81b55cfb>] inet_sendmsg+0x10b/0x220
       [<ffffffff81b55bf0>] ? inet_create+0x670/0x670
       [<ffffffff81a72a64>] ? sock_update_classid+0xa4/0x2b0
       [<ffffffff81a72ab0>] ? sock_update_classid+0xf0/0x2b0
       [<ffffffff81a6ac1c>] sock_sendmsg+0xdc/0xf0
       [<ffffffff8118e9e5>] ? might_fault+0x85/0x90
       [<ffffffff8118e99c>] ? might_fault+0x3c/0x90
       [<ffffffff81a6e12a>] sys_sendto+0xfa/0x130
       [<ffffffff810a9887>] ? do_setitimer+0x197/0x380
       [<ffffffff81e960d5>] ? sysret_check+0x22/0x5d
       [<ffffffff81e960a9>] system_call_fastpath+0x16/0x1b
      Code: 01 eb 89 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 f8 31 c9 48 89 e5 53 eb 12 0f 1f 40 00 48 83 c1 01 48 83 c0 04 48 83 f9 08 74 70 <0f> b6 3c 4e 89 fb 83 e7 0f c0 eb 04 41 89 d8 41 83 e0 0f 0f b6
      RIP  [<ffffffff8136796e>] ip6_string+0x1e/0xa0
       RSP <ffff88004e4637a0>
      CR2: 0000000000000100
      ---[ end trace a4de0bfcb38a3643 ]---
      Signed-off-by: NTommi Rantala <tt.rantala@gmail.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ee3f34e8
    • A
      mac802154: use kfree_skb() instead of dev_kfree_skb() · 92a2ec72
      Alan Ott 提交于
      kfree_skb() indicates failure, which is where this is being used.
      Signed-off-by: NAlan Ott <alan@signal11.us>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      92a2ec72
    • A
      mac802154: fix memory leaks · fcefbe9f
      Alan Ott 提交于
      kfree_skb() was not getting called in the case of some failures.
      This was pointed out by Eric Dumazet.
      Signed-off-by: NAlan Ott <alan@signal11.us>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fcefbe9f
    • A
      6lowpan: consider checksum bytes in fragmentation threshold · b333b7e6
      Alan Ott 提交于
      Change the threshold for framentation of a lowpan packet from
      using the MTU size to now use the MTU size minus the checksum length,
      which is added by the hardware. For IEEE 802.15.4, this effectively
      changes it from 127 bytes to 125 bytes.
      Signed-off-by: NAlan Ott <alan@signal11.us>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b333b7e6
    • D
      Merge branch 'for-davem' of git://gitorious.org/linux-can/linux-can-next · fed2c6fd
      David S. Miller 提交于
      Marc Kleine-Budde says:
      
      ====================
      this pull request is for net-next/master. There is a patch by Alexander
      Stein fixing a reference counter problem which can make driver
      unloading impossible (stable Cc'ed). And several patches by me which
      remove an obsolete mechanism from several drivers, which is already
      handled at the infrastructure level.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fed2c6fd
    • A
      mISDN: improve bitops usage · 481af03b
      Akinobu Mita 提交于
      This improves bitops usages in several points:
      
      - Convert u64 to a proper bitmap declaration.  This enables to remove
        superfluous typecasting from 'u64' to 'unsigned long *'.
      
      - Convert superfluous atomic bitops to non atomic bitops.  The bitmap
        is allocated on the stack and it is not accessed by any other threads,
        so using atomic bitops is not necessary.
      
      - Use find_next_zero_bit and find_next_zero_bit instead of calling
        test_bit() for each bit.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: netdev@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      481af03b
    • Y
      8021q: fix vlan device to inherit the unicast filtering capability flag · 6e22ce2c
      Yi Zou 提交于
      This bug is observed on running FCoE over a VLAN device associated w/
      a real device that has IFF_UNICAST_FLT set since FCoE would add unicast
      address such as FLOGI MAC to the VLAN interface that FCoE is on. Since
      currently, VLAN device is not inheriting the IFF_UNICAST_FLT flag from the
      parent real device even though the real device is capable of doing unicast
      filtering. This forces the VLAN device and its real device go to promiscuous
      mode unnecessarily even the added address is actually being added to the
      available unicast filter table in real device.
      Signed-off-by: NYi Zou <yi.zou@intel.com>
      Cc: devel@open-fcoe.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6e22ce2c
    • J
      bonding: delete migrated IP addresses from the rlb hash table · e53665c6
      Jiri Bohac 提交于
      Bonding in balance-alb mode records information from ARP packets
      passing through the bond in a hash table (rx_hashtbl).
      
      At certain situations (e.g. link change of a slave),
      rlb_update_rx_clients() will send out ARP packets to update ARP
      caches of other hosts on the network to achieve RX load
      balancing.
      
      The problem is that once an IP address is recorded in the hash
      table, it stays there indefinitely. If this IP address is
      migrated to a different host in the network, bonding still sends
      out ARP packets that poison other systems' ARP caches with
      invalid information.
      
      This patch solves this by looking at all incoming ARP packets,
      and checking if the source IP address is one of the source
      addresses stored in the rx_hashtbl. If it is, but the MAC
      addresses differ, the corresponding hash table entries are
      removed. Thus, when an IP address is migrated, the first ARP
      broadcast by its new owner will purge the offending entries of
      rx_hashtbl.
      
      The hash table is hashed by ip_dst. To be able to do the above
      check efficiently (not walking the whole hash table), we need a
      reverse mapping (by ip_src).
      
      I added three new members in struct rlb_client_info:
         rx_hashtbl[x].src_first will point to the start of a list of
            entries for which hash(ip_src) == x.
         The list is linked with src_next and src_prev.
      
      When an incoming ARP packet arrives at rlb_arp_recv()
      rlb_purge_src_ip() can quickly walk only the entries on the
      corresponding lists, i.e. the entries that are likely to contain
      the offending IP address.
      
      To avoid confusion, I renamed these existing fields of struct
      rlb_client_info:
      	next -> used_next
      	prev -> used_prev
      	rx_hashtbl_head -> rx_hashtbl_used_head
      
      (The current linked list is _not_ a list of hash table
      entries with colliding ip_dst. It's a list of entries that are
      being used; its purpose is to avoid walking the whole hash table
      when looking for used entries.)
      Signed-off-by: NJiri Bohac <jbohac@suse.cz>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e53665c6
    • Z
      bonding: rlb mode of bond should not alter ARP originating via bridge · 567b871e
      zheng.li 提交于
      Do not modify or load balance ARP packets passing through balance-alb
      mode (wherein the ARP did not originate locally, and arrived via a bridge).
      
      Modifying pass-through ARP replies causes an incorrect MAC address
      to be placed into the ARP packet, rendering peers unable to communicate
      with the actual destination from which the ARP reply originated.
      
      Load balancing pass-through ARP requests causes an entry to be
      created for the peer in the rlb table, and bond_alb_monitor will
      occasionally issue ARP updates to all peers in the table instrucing them
      as to which MAC address they should communicate with; this occurs when
      some event sets rx_ntt.  In the bridged case, however, the MAC address
      used for the update would be the MAC of the slave, not the actual source
      MAC of the originating destination.  This would render peers unable to
      communicate with the destinations beyond the bridge.
      Signed-off-by: NZheng Li <zheng.x.li@oracle.com>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      567b871e
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch · e7165030
      David S. Miller 提交于
      Conflicts:
      	net/ipv6/exthdrs_core.c
      
      Jesse Gross says:
      
      ====================
      This series of improvements for 3.8/net-next contains four components:
       * Support for modifying IPv6 headers
       * Support for matching and setting skb->mark for better integration with
         things like iptables
       * Ability to recognize the EtherType for RARP packets
       * Two small performance enhancements
      
      The movement of ipv6_find_hdr() into exthdrs_core.c causes two small merge
      conflicts.  I left it as is but can do the merge if you want.  The conflicts
      are:
       * ipv6_find_hdr() and ipv6_find_tlv() were both moved to the bottom of
         exthdrs_core.c.  Both should stay.
       * A new use of ipv6_find_hdr() was added to net/netfilter/ipvs/ip_vs_core.c
         after this patch.  The IPVS user has two instances of the old constant
         name IP6T_FH_F_FRAG which has been renamed to IP6_FH_F_FRAG.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e7165030
  2. 30 11月, 2012 4 次提交
  3. 29 11月, 2012 11 次提交
    • M
      can: pcan_usb_core: remove obsolete variable open_time · 823d7a1f
      Marc Kleine-Budde 提交于
      The variable open_time in the struct peak_usb_device was used to protect
      peak_usb_set_mode() only to be called, if the interface is up. Now the CAN
      device infrastructure takes care of this.
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      823d7a1f
    • M
      can: esd_usb2: remove obsolete variable open_time · e4287046
      Marc Kleine-Budde 提交于
      The variable open_time in the struct esd_usb2_net_priv was used to protect
      esd_usb2_set_mode() only to be called, if the interface is up. Now the CAN
      device infrastructure takes care of this.
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      e4287046
    • M
      can: ems_usb: remove obsolete variable open_time · 4480c008
      Marc Kleine-Budde 提交于
      The variable open_time in the struct ems_usb was used to protect
      ems_usb_set_mode() only to be called, if the interface is up. Now the CAN
      device infrastructure takes care of this.
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      4480c008
    • M
      can: sja1000: remove obsolete variable open_time · b2d0bf71
      Marc Kleine-Budde 提交于
      The variable open_time in the struct sja1000_priv was used to protect
      sja1000_set_mode() only to be called, if the interface is up. Now the CAN
      device infrastructure takes care of this.
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      b2d0bf71
    • M
      can: mscan: remove obsolete variable open_time · 49ed59b7
      Marc Kleine-Budde 提交于
      The variable open_time in the struct mscan_priv was used to protect
      mscan_do_set_mode() only to be called, if the interface is up. Now the CAN
      device infrastructure takes care of this.
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      49ed59b7
    • A
      can: Do not call dev_put if restart timer is running upon close · ab48b03e
      Alexander Stein 提交于
      If the restart timer is running due to BUS-OFF and the device is
      disconnected an dev_put will decrease the usage counter to -1 thus
      blocking the interface removal, resulting in the following dmesg
      lines repeating every 10s:
      can: notifier: receive list not found for dev can0
      can: notifier: receive list not found for dev can0
      can: notifier: receive list not found for dev can0
      unregister_netdevice: waiting for can0 to become free. Usage count = -1
      
      Cc: linux-stable <stable@vger.kernel.org>
      Signed-off-by: NAlexander Stein <alexander.stein@systec-electronic.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      ab48b03e
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · e9296e89
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "Some more fixes trickled in over the past few days:
      
         1) PIM device names can overflow the IFNAMSIZ buffer unless we
            properly limit the allowed indexes, fix from Eric Dumazet.
      
         2) Under heavy load we can OOPS in icmp reply processing due to an
            unchecked inet_putpeer() call.  Fix from Neal Cardwell.
      
         3) SCTP round trip calculations need to use 64-bit math to avoid
            overflows, fix from Schoch Christian.
      
         4) Fix a memory leak and an error return flub in SCTP and IRDA
            triggerable by userspace.  Fix from Tommi Rantala and found by the
            syscall fuzzer (trinity).
      
         5) MLX4 driver gives bogus size to memcpy() call, fix from Amir
            Vadai.
      
         6) Fix length calculation in VHOST descriptor translation, from
            Michael S Tsirkin.
      
         7) Ambassador ATM driver loops forever while loading firmware, fix
            from Dan Carpenter.
      
         8) Over MTU packets in openvswitch warn about wrong device, fix from
            Jesse Gross.
      
         9) Netfilter IPSET's netlink code can overrun a string buffer because
            it's not properly limited to IFNAMSIZ.  Fix from Florian Westphal.
      
        10) PCAN USB driver sets wrong timestamp in SKB, from Oliver Hartkopp.
      
        11) Make sure the RX ifindex always has a valid value in the CAN BCM
            driver, even if we haven't received a frame yet.  Fix also from
            Oliver Hartkopp."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        team: fix hw_features setup
        atm: forever loop loading ambassador firmware
        vhost: fix length for cross region descriptor
        irda: irttp: fix memory leak in irttp_open_tsap() error path
        net: qmi_wwan: add Huawei E173
        net/mlx4_en: Can set maxrate only for TC0
        sctp: Error in calculation of RTTvar
        sctp: fix -ENOMEM result with invalid user space pointer in sendto() syscall
        sctp: fix memory leak in sctp_datamsg_from_user() when copy from user space fails
        net: ipmr: limit MRT_TABLE identifiers
        ipv4: avoid passing NULL to inet_putpeer() in icmpv4_xrlim_allow()
        can: bcm: initialize ifindex for timeouts without previous frame reception
        can: peak_usb: fix hwtstamp assignment
        netfilter: ipset: fix netiface set name overflow
        openvswitch: Store flow key len if ARP opcode is not request or reply.
        openvswitch: Print device when warning about over MTU packets.
      e9296e89
    • D
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch · a45085f6
      David S. Miller 提交于
      Two small openswitch fixes from Jesse Gross.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a45085f6
    • M
      net: ethernet: cpsw: fix build warnings for CPSW when CPTS not selected · 3177bf6f
      Mugunthan V N 提交于
      CC      drivers/net/ethernet/ti/cpsw.o
      drivers/net/ethernet/ti/cpsw.c: In function 'cpsw_ndo_ioctl':
      drivers/net/ethernet/ti/cpsw.c:881:20: warning: unused variable 'priv'
      
      The build warning is generated when CPTS is not selected in Kernel Build.
      Fixing by passing the net_device pointer to cpts IOCTL instead of passing priv
      Signed-off-by: NMugunthan V N <mugunthanvnm@ti.com>
      Acked-by: NRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3177bf6f
    • D
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next · 83a9d197
      David S. Miller 提交于
      John W. Linville says:
      
      ====================
      This pull request is intended for the 3.8 stream.  It is a bit large
      -- I guess Thanksgiving got me off track!  At least the code got to
      spend some time in linux-next... :-)
      
      This includes the usual batch of pulls for Bluetooth, NFC, and mac80211
      as well as iwlwifi.  Also here is an ath6kl pull, and a new driver
      in the rtlwifi family.  The brcmfmac, brcmsmac, ath9k, and mwl8k get
      their usual levels of attention, and a handful of other updates tag
      along as well.
      
      For more detail on the pulls, please see below...
      
      On Bluetooth, Gustavo says:
      
      "Another set of patches for integration in wireless-next. There are two big set
      of changes in it: Andrei Emeltchenko and Mat Martineau added more patches
      towards a full Bluetooth High Speed support and Johan Hedberg improve the
      single mode support for Bluetooth dongles. Apart from that we have small fixes
      and improvements."
      
      ...and:
      
      "A few patches to 3.8. The majority of the work here is from Andrei on the High
      Speed support. Other than that Johan added support for setting LE advertising
      data. The rest are fixes and clean ups and small improvements like support for
      a new broadcom hardware."
      
      On mac80211, Johannes says:
      
      "This is for mac80211, for -next (3.8). Plenty of changes, as you can see
      below. Some fixes for previous changes like the export.h include, the
      beacon listener fix from Ben Greear, etc. Overall, no exciting new
      features, though hwsim does gain channel context support for people to
      try it out and look at."
      
      ...and...:
      
      "This one contains the mac80211-next material. Apart from a few small new
      features and cleanups I have two fixes for the channel context code. The
      RX_END timestamp support will probably be reworked again as Simon Barber
      noted the calculations weren't really valid, but the discussions there
      are still going on and it's better than what we had before."
      
      ...and:
      
      "Please pull (see below) to get the following changes:
       * a fix & a debug aid in IBSS from Antonio,
       * mesh cleanups from Marco,
       * a few bugfixes for some of my previous patches from Arend and myself,
       * and the big initial VHT support patchset"
      
      And on iwlwifi, Johannes says:
      
      "In addition to the previous four patches that I'm not resending,
      we have a number of cleanups, message reduction, firmware error
      handling improvements (yes yes... we need to fix them instead)
      and various other small things all over."
      
      ...and:
      
      "In his quest to try to understand the current iwlwifi problems (like
      stuck queues etc.) Emmanuel has first cleaned up the PCIe code, I'm
      including his changes in this pull request. Other than that I only have
      a small cleanup from Sachin Kamat to remove a duplicate include and a
      bugfix to turn off MFP if software crypto is enabled, but this isn't
      really interesting as MFP isn't supported right now anyway."
      
      On NFC, Samuel says:
      
      "With this one we have:
      
      - A few HCI improvements in preparation for an upcoming HCI chipset support.
      - A pn544 code cleanup after the old driver was removed.
      - An LLCP improvement for notifying user space when one peer stops ACKing I
        frames."
      
      On ath6kl, Kalle says:
      
      "Major changes this time are firmware recover support to gracefully
      handle if firmware crashes, support for changing regulatory domain and
      support for new ar6004 hardware revision 1.4. Otherwise there are just
      smaller fixes or cleanups from different people."
      
      Thats about it... :-)  Please let me know if there are problems!
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      83a9d197
    • B
      cxgb3: Restore dependency on INET · 9e3262e2
      Ben Hutchings 提交于
      Commit ff33c0e1 ('net: Remove bogus
      dependencies on INET') wrongly removed this dependency.  cxgb3 uses
      the arp_send() function defined in net/ipv4/arp.c.
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9e3262e2