1. 04 Sep, 2012 5 commits
  2. 03 Sep, 2012 14 commits
    • Yuchung Cheng's avatar
      tcp: use PRR to reduce cwin in CWR state · 684bad11
      Yuchung Cheng authored
      Use proportional rate reduction (PRR) algorithm to reduce cwnd in CWR state,
      in addition to Recovery state. Retire the current rate-halving in CWR.
      When losses are detected via ACKs in CWR state, the sender enters Recovery
      state but the cwnd reduction continues and does not restart.
      
      Rename and refactor cwnd reduction functions since both CWR and Recovery
      use the same algorithm:
      tcp_init_cwnd_reduction() is new and initiates reduction state variables.
      tcp_cwnd_reduction() is previously tcp_update_cwnd_in_recovery().
      tcp_ends_cwnd_reduction() is previously  tcp_complete_cwr().
      
      The rate halving functions and logic such as tcp_cwnd_down(), tcp_min_cwnd(),
      and the cwnd moderation inside tcp_enter_cwr() are removed. The unused
      parameter, flag, in tcp_cwnd_reduction() is also removed.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Acked-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      684bad11
    • Yuchung Cheng's avatar
      tcp: move tcp_update_cwnd_in_recovery · fb4d3d1d
      Yuchung Cheng authored
      To prepare replacing rate halving with PRR algorithm in CWR state.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Acked-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fb4d3d1d
    • Yuchung Cheng's avatar
      tcp: move tcp_enter_cwr() · 09484d1f
      Yuchung Cheng authored
      To prepare replacing rate halving with PRR algorithm in CWR state.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Acked-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      09484d1f
    • Bjørn Mork's avatar
      net: sierra_net: rx_urb_size is constant · 5aee0728
      Bjørn Mork authored
      The rx_urb_size is set to the same value for every device
      supported by this driver.  No need to keep a per-device
      data structure to do that. Replacing with a macro constant.
      
      This was the last device specific info, and removing it
      allows us to delete the sierra_net_info_data struct.
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5aee0728
    • Bjørn Mork's avatar
      9625e5fa
    • Bjørn Mork's avatar
      net: cx82310_eth: use common match macro · 11ad714b
      Bjørn Mork authored
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      11ad714b
    • Pablo Neira Ayuso's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · ace1fe12
      Pablo Neira Ayuso authored
      This merges (3f509c68 netfilter: nf_nat_sip: fix incorrect handling
      of EBUSY for RTCP expectation) to Patrick McHardy's IPv6 NAT changes.
      ace1fe12
    • Jan Beulich's avatar
      netfilter: properly annotate ipv4_netfilter_{init,fini}() · ce9f3f31
      Jan Beulich authored
      Despite being just a few bytes of code, they should still have proper
      annotations.
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      ce9f3f31
    • Michael Wang's avatar
      netfilter: pass 'nf_hook_ops' instead of 'list_head' to nf_queue() · 1c15b677
      Michael Wang authored
      Since 'list_for_each_continue_rcu' has already been replaced by
      'list_for_each_entry_continue_rcu', pass 'list_head' to nf_queue() as a
      parameter can not benefit us any more.
      
      This patch will replace 'list_head' with 'nf_hook_ops' as the parameter of
      nf_queue() and __nf_queue() to save code.
      Signed-off-by: default avatarMichael Wang <wangyun@linux.vnet.ibm.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      1c15b677
    • Michael Wang's avatar
      netfilter: pass 'nf_hook_ops' instead of 'list_head' to nf_iterate() · 2a6decfd
      Michael Wang authored
      Since 'list_for_each_continue_rcu' has already been replaced by
      'list_for_each_entry_continue_rcu', pass 'list_head' to nf_iterate() as a
      parameter can not benefit us any more.
      
      This patch will replace 'list_head' with 'nf_hook_ops' as the parameter of
      nf_iterate() to save code.
      Signed-off-by: default avatarMichael Wang <wangyun@linux.vnet.ibm.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      2a6decfd
    • Cong Wang's avatar
      netfilter: remove xt_NOTRACK · 96550501
      Cong Wang authored
      It was scheduled to be removed for a long time.
      
      Cc: Pablo Neira Ayuso <pablo@netfilter.org>
      Cc: Patrick McHardy <kaber@trash.net>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: netfilter@vger.kernel.org
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      96550501
    • Pablo Neira Ayuso's avatar
      netfilter: nf_conntrack: add nf_ct_timeout_lookup · 84b5ee93
      Pablo Neira Ayuso authored
      This patch adds the new nf_ct_timeout_lookup function to encapsulate
      the timeout policy attachment that is called in the nf_conntrack_in
      path.
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      84b5ee93
    • Pablo Neira Ayuso's avatar
      netfilter: xt_CT: refactorize xt_ct_tg_check · 236df005
      Pablo Neira Ayuso authored
      This patch adds xt_ct_set_helper and xt_ct_set_timeout to reduce
      the size of xt_ct_tg_check.
      
      This aims to improve code mantainability by splitting xt_ct_tg_check
      in smaller chunks.
      
      Suggested by Eric Dumazet.
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      236df005
    • Pablo Neira Ayuso's avatar
      netfilter: xt_socket: fix compilation warnings with gcc 4.7 · 6703aa74
      Pablo Neira Ayuso authored
      This patch fixes compilation warnings in xt_socket with gcc-4.7.
      
      In file included from net/netfilter/xt_socket.c:22:0:
      net/netfilter/xt_socket.c: In function ‘socket_mt6_v1’:
      include/net/netfilter/nf_tproxy_core.h:175:23: warning: ‘sport’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:265:16: note: ‘sport’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      include/net/netfilter/nf_tproxy_core.h:175:23: warning: ‘dport’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:265:9: note: ‘dport’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      include/net/netfilter/nf_tproxy_core.h:175:6: warning: ‘saddr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:264:27: note: ‘saddr’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      include/net/netfilter/nf_tproxy_core.h:175:6: warning: ‘daddr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:264:19: note: ‘daddr’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      net/netfilter/xt_socket.c: In function ‘socket_match.isra.4’:
      include/net/netfilter/nf_tproxy_core.h:75:2: warning: ‘protocol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:113:5: note: ‘protocol’ was declared here
      In file included from include/net/tcp.h:37:0,
                       from net/netfilter/xt_socket.c:17:
      include/net/inet_hashtables.h:356:45: warning: ‘sport’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:112:16: note: ‘sport’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      include/net/netfilter/nf_tproxy_core.h:106:23: warning: ‘dport’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:112:9: note: ‘dport’ was declared here
      In file included from include/net/tcp.h:37:0,
                       from net/netfilter/xt_socket.c:17:
      include/net/inet_hashtables.h:356:15: warning: ‘saddr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:111:16: note: ‘saddr’ was declared here
      In file included from include/net/tcp.h:37:0,
                       from net/netfilter/xt_socket.c:17:
      include/net/inet_hashtables.h:356:15: warning: ‘daddr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:111:9: note: ‘daddr’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      net/netfilter/xt_socket.c: In function ‘socket_mt6_v1’:
      include/net/netfilter/nf_tproxy_core.h:175:23: warning: ‘sport’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:268:16: note: ‘sport’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      include/net/netfilter/nf_tproxy_core.h:175:23: warning: ‘dport’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:268:9: note: ‘dport’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      include/net/netfilter/nf_tproxy_core.h:175:6: warning: ‘saddr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:267:27: note: ‘saddr’ was declared here
      In file included from net/netfilter/xt_socket.c:22:0:
      include/net/netfilter/nf_tproxy_core.h:175:6: warning: ‘daddr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      net/netfilter/xt_socket.c:267:19: note: ‘daddr’ was declared here
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      6703aa74
  3. 02 Sep, 2012 2 commits
  4. 01 Sep, 2012 4 commits
    • David S. Miller's avatar
      Merge branch 'tcp_fastopen_server' · 1bed966c
      David S. Miller authored
      Jerry Chu says:
      
      ====================
      This patch series provides the server (passive open) side code
      for TCP Fast Open. Together with the earlier client side patches
      it completes the TCP Fast Open implementation.
      
      The server side Fast Open code accepts data carried in the SYN
      packet with a valid Fast Open cookie, and passes it to the
      application right away, allowing application to send back response
      data, all before TCP's 3-way handshake finishes.
      
      A simple cookie scheme together with capping the number of
      outstanding TFO requests (still in TCP_SYN_RECV state) to a limit
      per listener forms the main line of defense against spoofed SYN
      attacks.
      
      For more details about TCP Fast Open see our IETF internet draft
      at http://www.ietf.org/id/draft-ietf-tcpm-fastopen-01.txt
      and a research paper at
      http://conferences.sigcomm.org/co-next/2011/papers/1569470463.pdf
      
      A prototype implementation was first developed by Sivasankar
      Radhakrishnan (sivasankar@cs.ucsd.edu).
      
      A patch based on an older version of Linux kernel has been
      undergoing internal tests at Google for the past few months.
      
      Jerry Chu (3):
        tcp: TCP Fast Open Server - header & support functions
        tcp: TCP Fast Open Server - support TFO listeners
        tcp: TCP Fast Open Server - main code path
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1bed966c
    • Jerry Chu's avatar
      tcp: TCP Fast Open Server - main code path · 168a8f58
      Jerry Chu authored
      This patch adds the main processing path to complete the TFO server
      patches.
      
      A TFO request (i.e., SYN+data packet with a TFO cookie option) first
      gets processed in tcp_v4_conn_request(). If it passes the various TFO
      checks by tcp_fastopen_check(), a child socket will be created right
      away to be accepted by applications, rather than waiting for the 3WHS
      to finish.
      
      In additon to the use of TFO cookie, a simple max_qlen based scheme
      is put in place to fend off spoofed TFO attack.
      
      When a valid ACK comes back to tcp_rcv_state_process(), it will cause
      the state of the child socket to switch from either TCP_SYN_RECV to
      TCP_ESTABLISHED, or TCP_FIN_WAIT1 to TCP_FIN_WAIT2. At this time
      retransmission will resume for any unack'ed (data, FIN,...) segments.
      Signed-off-by: default avatarH.K. Jerry Chu <hkchu@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      168a8f58
    • Jerry Chu's avatar
      tcp: TCP Fast Open Server - support TFO listeners · 8336886f
      Jerry Chu authored
      This patch builds on top of the previous patch to add the support
      for TFO listeners. This includes -
      
      1. allocating, properly initializing, and managing the per listener
      fastopen_queue structure when TFO is enabled
      
      2. changes to the inet_csk_accept code to support TFO. E.g., the
      request_sock can no longer be freed upon accept(), not until 3WHS
      finishes
      
      3. allowing a TCP_SYN_RECV socket to properly poll() and sendmsg()
      if it's a TFO socket
      
      4. properly closing a TFO listener, and a TFO socket before 3WHS
      finishes
      
      5. supporting TCP_FASTOPEN socket option
      
      6. modifying tcp_check_req() to use to check a TFO socket as well
      as request_sock
      
      7. supporting TCP's TFO cookie option
      
      8. adding a new SYN-ACK retransmit handler to use the timer directly
      off the TFO socket rather than the listener socket. Note that TFO
      server side will not retransmit anything other than SYN-ACK until
      the 3WHS is completed.
      
      The patch also contains an important function
      "reqsk_fastopen_remove()" to manage the somewhat complex relation
      between a listener, its request_sock, and the corresponding child
      socket. See the comment above the function for the detail.
      Signed-off-by: default avatarH.K. Jerry Chu <hkchu@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8336886f
    • Jerry Chu's avatar
      tcp: TCP Fast Open Server - header & support functions · 10467163
      Jerry Chu authored
      This patch adds all the necessary data structure and support
      functions to implement TFO server side. It also documents a number
      of flags for the sysctl_tcp_fastopen knob, and adds a few Linux
      extension MIBs.
      
      In addition, it includes the following:
      
      1. a new TCP_FASTOPEN socket option an application must call to
      supply a max backlog allowed in order to enable TFO on its listener.
      
      2. A number of key data structures:
      "fastopen_rsk" in tcp_sock - for a big socket to access its
      request_sock for retransmission and ack processing purpose. It is
      non-NULL iff 3WHS not completed.
      
      "fastopenq" in request_sock_queue - points to a per Fast Open
      listener data structure "fastopen_queue" to keep track of qlen (# of
      outstanding Fast Open requests) and max_qlen, among other things.
      
      "listener" in tcp_request_sock - to point to the original listener
      for book-keeping purpose, i.e., to maintain qlen against max_qlen
      as part of defense against IP spoofing attack.
      
      3. various data structure and functions, many in tcp_fastopen.c, to
      support server side Fast Open cookie operations, including
      /proc/sys/net/ipv4/tcp_fastopen_key to allow manual rekeying.
      Signed-off-by: default avatarH.K. Jerry Chu <hkchu@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      10467163
  5. 31 Aug, 2012 15 commits
    • Francois Romieu's avatar
      r8169: add D-Link DGE-560T identifiers. · 2a35cfa5
      Francois Romieu authored
      This one includes a 8168. Not to be confused with the sky2 driven
      one whose PCI vendor and device ID are the same.
      Reported-by: default avatarNeyuki Inaya <in@joblog.ru>
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2a35cfa5
    • Jiri Bohac's avatar
      bonding: add some slack to arp monitoring time limits · da210f55
      Jiri Bohac authored
      Currently, all the time limits in the bonding ARP monitor are in
      multiples of arp_interval -- the time interval at which the ARP
      monitor is periodically scheduled.
      
      With a fast network round-trip and a little scheduling latency
      of the ARP monitor work, a limit of n*delta_in_ticks may
      effectively mean (n-1)*delta_in_ticks.
      
      This is fatal in case of n==1  (the link will stay down
      forever) and makes the behaviour non-deterministic in all the
      other cases.
      
      Add a delta_in_ticks/2 time slack to all the time limits.
      Signed-off-by: default avatarJiri Bohac <jbohac@suse.cz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      da210f55
    • Sorin Dumitru's avatar
      ipv6: remove some deadcode · eb7e0575
      Sorin Dumitru authored
      __ipv6_regen_rndid no longer returns anything other than 0
      so there's no point in verifying what it returns
      Signed-off-by: default avatarSorin Dumitru <sdumitru@ixiacom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eb7e0575
    • Rami Rosen's avatar
      net: fix documentation of skb_needs_linearize(). · d1a53dfd
      Rami Rosen authored
      skb_needs_linearize() does not check highmem DMA as it does not call
      illegal_highdma() anymore, so there is no need to mention highmem DMA here.
      
      (Indeed, ~NETIF_F_SG flag, which is checked in skb_needs_linearize(), can
      be set when illegal_highdma() returns true, and we are assured that
      illegal_highdma() is invoked prior to skb_needs_linearize() as
      skb_needs_linearize() is a static method called only once.
      But ~NETIF_F_SG can be set not only there in this same invocation path.
      It can also be set when can_checksum_protocol() returns false).
      
      see commit 02932ce9,
      Convert skb_need_linearize() to use precomputed features.
      Signed-off-by: default avatarRami Rosen <rosenr@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d1a53dfd
    • Alexander Duyck's avatar
      ipv4: Minor logic clean-up in ipv4_mtu · 98d75c37
      Alexander Duyck authored
      In ipv4_mtu there is some logic where we are testing for a non-zero value
      and a timer expiration, then setting the value to zero, and then testing if
      the value is zero we set it to a value based on the dst.  Instead of
      bothering with the extra steps it is easier to just cleanup the logic so
      that we set it to the dst based value if it is zero or if the timer has
      expired.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      98d75c37
    • Wanlong Gao's avatar
      net:atm:fix up ENOIOCTLCMD error handling · 4a2c2406
      Wanlong Gao authored
      At commit 07d106d0, Linus pointed out that ENOIOCTLCMD should be
      translated as ENOTTY to user mode.
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarWanlong Gao <gaowanlong@cn.fujitsu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4a2c2406
    • Srinivas Kandagatla's avatar
      net:stmmac: convert driver to use devm_request_and_ioremap. · 3f8bdecd
      Srinivas Kandagatla authored
      This patch moves calls to ioremap and request_mem_region to
      devm_request_and_ioremap call.
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f8bdecd
    • Srinivas Kandagatla's avatar
      net:stmmac: Remove bus_id from mdio platform data. · d56631a6
      Srinivas Kandagatla authored
      This patch removes bus_id from mdio platform data, The reason to remove
      bus_id is, stmmac mdio bus_id is always same as stmmac bus-id, so there
      is no point in passing this in different variable.
      Also stmmac ethernet driver connects to phy with bus_id passed its
      platform data.
      So, having single bus-id is much simpler.
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d56631a6
    • Srinivas Kandagatla's avatar
      net:stmmac: fix broken stmmac_pltfr_remove. · 1f9defa0
      Srinivas Kandagatla authored
      This patch fixes stmmac_pltfr_remove function, which is broken because,
      it is accessing plat variable via freed memory priv pointer which gets
      freed by free_netdev called from stmmac_dvr_remove.
      
      In short this patch caches the plat pointer in local variable before
      calling stmmac_dvr_remove to prevent code accessing freed memory.
      
      Without this patch any attempt to remove the stmmac device will fail as
      below:
      
      Unregistering eth 0 ...
      Unable to handle kernel paging request at virtual address 6b6b6bab
      pgd = de5dc000
      [6b6b6bab] *pgd=00000000
      Internal error: Oops: 5 [#1] PREEMPT SMP
      Modules linked in: cdev(O+)
      CPU: 0    Tainted: G           O  (3.3.1_stm24_0210-b2000+ #25)
      PC is at stmmac_pltfr_remove+0x2c/0xa0
      LR is at stmmac_pltfr_remove+0x28/0xa0
      pc : [<c01b8908>]    lr : [<c01b8904>]    psr: 60000013
      sp : def6be78  ip : de6c5a00  fp : 00000000
      r10: 00000028  r9 : c082d81d  r8 : 00000001
      r7 : de65a600  r6 : df81b240  r5 : c0413fd8  r4 : 00000000
      r3 : 6b6b6b6b  r2 : def6be6c  r1 : c0355e2b  r0 : 00000020
      Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 10c53c7d  Table: 5e5dc04a  DAC: 00000015
      Process insmod (pid: 738, stack limit = 0xdef6a2f0)
      Stack: (0xdef6be78 to 0xdef6c000)
      be60:                                                       c0413fe0
      c0403658
      be80: c0400bb0 c019270c c01926f8 c0191478 00000000 c0414014 c0413fe0
      c01914d8
      bea0: 00000000 c0413fe0 df8045d0 c019109c c0413fe0 c0400bf0 c0413fd8
      c018f04c
      bec0: 00000000 bf000000 c0413fd8 c01929a0 c0413fd8 bf000000 00000000
      c0192bfc
      bee0: bf00009c bf000014 def6a000 c000859c 00000000 00000001 bf00009c
      bf00009c
      bf00: 00000001 bf00009c 00000001 bf0000e4 de65a600 00000001 c082d81d
      c0058cd0
      bf20: bf0000a8 c004fbd8 c0056414 c082d815 c02aea20 bf0001f0 00b0b008
      e0846208
      bf40: c03ec8a0 e0846000 0000db0d e0850604 e08504de e0853a24 00000204
      000002d4
      bf60: 00000000 00000000 0000001c 0000001d 00000009 00000000 00000006
      00000000
      bf80: 00000003 f63d4e2e 0000db0d bef02ed8 00000080 c000d2e8 def6a000
      00000000
      bfa0: 00000000 c000d140 f63d4e2e 0000db0d 00b0b018 0000db0d 00b0b008
      b6f4f298
      bfc0: f63d4e2e 0000db0d bef02ed8 00000080 00000003 00000000 00010000
      00000000
      bfe0: 00b0b008 bef02c64 00008d20 b6ef3784 60000010 00b0b018 5a5a5a5a
      5a5a5a5a
      [<c01b8908>] (stmmac_pltfr_remove+0x2c/0xa0) from [<c019270c>]
      (platform_drv_remove+0x14/0x18)
      [<c019270c>] (platform_drv_remove+0x14/0x18) from [<c0191478>]
      (__device_release_driver+0x64/0xa4)
      [<c0191478>] (__device_release_driver+0x64/0xa4) from [<c01914d8>]
      (device_release_driver+0x20/0x2c)
      [<c01914d8>] (device_release_driver+0x20/0x2c) from [<c019109c>]
      (bus_remove_device+0xcc/0xdc)
      [<c019109c>] (bus_remove_device+0xcc/0xdc) from [<c018f04c>]
      (device_del+0x104/0x160)
      [<c018f04c>] (device_del+0x104/0x160) from [<c01929a0>]
      (platform_device_del+0x18/0x58)
      [<c01929a0>] (platform_device_del+0x18/0x58) from [<c0192bfc>]
      (platform_device_unregister+0xc/0x18)
      [<c0192bfc>] (platform_device_unregister+0xc/0x18) from [<bf000014>]
      (r_init+0x14/0x2c [cdev])
      [<bf000014>] (r_init+0x14/0x2c [cdev]) from [<c000859c>]
      (do_one_initcall+0x90/0x160)
      [<c000859c>] (do_one_initcall+0x90/0x160) from [<c0058cd0>]
      (sys_init_module+0x15c4/0x1794)
      [<c0058cd0>] (sys_init_module+0x15c4/0x1794) from [<c000d140>]
      (ret_fast_syscall+0x0/0x30)
      Code: e1a04000 e59f0070 eb039b65 e59636e4 (e5933040)
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1f9defa0
    • Srinivas Kandagatla's avatar
      net:stmmac: Add check if mdiobus is registered in stmmac_mdio_unregister · a5cf5ce9
      Srinivas Kandagatla authored
      This patch adds a basic check in stmmac_mdio_unregister to see if mdio
      bus registeration for this driver was actually sucessfull or not.
      
      Use case here is, if BSP considers using mdio-gpio bus along with stmmac
      driver by passing mdio_bus_data as NULL in platform data.
      Call to stmmac_mdio_register with mdio_bus_data as NULL returns 0, which
      is a considered sucessfull call form stmmac. Then again when we unload
      the driver we just call stmmac_mdio_unregister, this is were the actual
      problem is stmmac-mdio code dont really know at this instance of calling
      that stmmac_mdio_register was actually successful.
      
      So Adding a check in stmmac_mdio_unregister is always safe.
      
      Without this patch stmmac driver calls stmmac_mdio_register from
      stmmac_release which Segfaults as mii bus was never registered at the
      first point.
      
      Originally the this bug was found when unloading an stmmac driver
      instance which uses mdio-gpio for smi access.
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a5cf5ce9
    • David S. Miller's avatar
    • Wei Yongjun's avatar
      openvswitch: using kfree_rcu() to simplify the code · 80f0fd8a
      Wei Yongjun authored
      The callback function of call_rcu() just calls a kfree(), so we
      can use kfree_rcu() instead of call_rcu() + callback function.
      
      spatch with a semantic match is used to found this problem.
      (http://coccinelle.lip6.fr/)
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Acked-by: default avatarJesse Gross <jesse@nicira.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      80f0fd8a
    • Xi Wang's avatar
      af_unix: fix shutdown parameter checking · fc61b928
      Xi Wang authored
      Return -EINVAL rather than 0 given an invalid "mode" parameter.
      Signed-off-by: default avatarXi Wang <xi.wang@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fc61b928
    • Xi Wang's avatar
      decnet: fix shutdown parameter checking · 46b66d70
      Xi Wang authored
      The allowed value of "how" is SHUT_RD/SHUT_WR/SHUT_RDWR (0/1/2),
      rather than SHUTDOWN_MASK (3).
      Signed-off-by: default avatarXi Wang <xi.wang@gmail.com>
      Acked-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      46b66d70
    • Alex Bergmann's avatar
      tcp: Increase timeout for SYN segments · 6c9ff979
      Alex Bergmann authored
      Commit 9ad7c049 ("tcp: RFC2988bis + taking RTT sample from 3WHS for
      the passive open side") changed the initRTO from 3secs to 1sec in
      accordance to RFC6298 (former RFC2988bis). This reduced the time till
      the last SYN retransmission packet gets sent from 93secs to 31secs.
      
      RFC1122 is stating that the retransmission should be done for at least 3
      minutes, but this seems to be quite high.
      
        "However, the values of R1 and R2 may be different for SYN
        and data segments.  In particular, R2 for a SYN segment MUST
        be set large enough to provide retransmission of the segment
        for at least 3 minutes.  The application can close the
        connection (i.e., give up on the open attempt) sooner, of
        course."
      
      This patch increases the value of TCP_SYN_RETRIES to the value of 6,
      providing a retransmission window of 63secs.
      
      The comments for SYN and SYNACK retries have also been updated to
      describe the current settings. The same goes for the documentation file
      "Documentation/networking/ip-sysctl.txt".
      Signed-off-by: default avatarAlexander Bergmann <alex@linlab.net>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6c9ff979