1. 15 11月, 2013 23 次提交
    • N
      sit: link local routes are missing · f0e2acfa
      Nicolas Dichtel 提交于
      When a link local address was added to a sit interface, the corresponding route
      was not configured. This breaks routing protocols that use the link local
      address, like OSPFv3.
      
      To ease the code reading, I remove sit_route_add(), which only adds v4 mapped
      routes, and add this kind of route directly in sit_add_v4_addrs(). Thus link
      local and v4 mapped routes are configured in the same place.
      Reported-by: NLi Hongjun <hongjun.li@6wind.com>
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f0e2acfa
    • N
      sit: fix prefix length of ll and v4mapped addresses · 929c9cf3
      Nicolas Dichtel 提交于
      When the local IPv4 endpoint is wilcard (0.0.0.0), the prefix length is
      correctly set, ie 64 if the address is a link local one or 96 if the address is
      a v4 mapped one.
      But when the local endpoint is specified, the prefix length is set to 128 for
      both kind of address. This patch fix this wrong prefix length.
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      929c9cf3
    • D
      isdnloop: use strlcpy() instead of strcpy() · f9a23c84
      Dan Carpenter 提交于
      These strings come from a copy_from_user() and there is no way to be
      sure they are NUL terminated.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f9a23c84
    • W
      sit: fix use after free of fb_tunnel_dev · 9434266f
      Willem de Bruijn 提交于
      Bug: The fallback device is created in sit_init_net and assumed to be
      freed in sit_exit_net. First, it is dereferenced in that function, in
      sit_destroy_tunnels:
      
              struct net *net = dev_net(sitn->fb_tunnel_dev);
      
      Prior to this, rtnl_unlink_register has removed all devices that match
      rtnl_link_ops == sit_link_ops.
      
      Commit 205983c4 added the line
      
      +       sitn->fb_tunnel_dev->rtnl_link_ops = &sit_link_ops;
      
      which cases the fallback device to match here and be freed before it
      is last dereferenced.
      
      Fix: This commit adds an explicit .delllink callback to sit_link_ops
      that skips deallocation at rtnl_unlink_register for the fallback
      device. This mechanism is comparable to the one in ip_tunnel.
      
      It also modifies sit_destroy_tunnels and its only caller sit_exit_net
      to avoid the offending dereference in the first place. That double
      lookup is more complicated than required.
      
      Test: The bug is only triggered when CONFIG_NET_NS is enabled. It
      causes a GPF only when CONFIG_DEBUG_SLAB is enabled. Verified that
      this bug exists at the mentioned commit, at davem-net HEAD and at
      3.11.y HEAD. Verified that it went away after applying this patch.
      
      Fixes: 205983c4 ("sit: allow to use rtnl ops on fb tunnel")
      Signed-off-by: NWillem de Bruijn <willemb@google.com>
      Acked-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9434266f
    • D
      net:fec: fix WARNING caused by lack of calls to dma_mapping_error() · d842a31f
      Duan Fugang-B38611 提交于
      The driver fails to check the results of DMA mapping and results in
      the following warning: (with kernel config "CONFIG_DMA_API_DEBUG" enable)
      
      ------------[ cut here ]------------
      WARNING: at lib/dma-debug.c:937 check_unmap+0x43c/0x7d8()
      fec 2188000.ethernet: DMA-API: device driver failed to check map
      error[device address=0x00000000383a8040] [size=2048 bytes] [mapped as single]
      
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.10.17-16827-g9cdb0ba-dirty #188
      [<80013c4c>] (unwind_backtrace+0x0/0xf8) from [<80011704>] (show_stack+0x10/0x14)
      [<80011704>] (show_stack+0x10/0x14) from [<80025614>] (warn_slowpath_common+0x4c/0x6c)
      [<80025614>] (warn_slowpath_common+0x4c/0x6c) from [<800256c8>] (warn_slowpath_fmt+0x30/0x40)
      [<800256c8>] (warn_slowpath_fmt+0x30/0x40) from [<8026bfdc>] (check_unmap+0x43c/0x7d8)
      [<8026bfdc>] (check_unmap+0x43c/0x7d8) from [<8026c584>] (debug_dma_unmap_page+0x6c/0x78)
      [<8026c584>] (debug_dma_unmap_page+0x6c/0x78) from [<8038049c>] (fec_enet_rx_napi+0x254/0x8a8)
      [<8038049c>] (fec_enet_rx_napi+0x254/0x8a8) from [<804dc8c0>] (net_rx_action+0x94/0x160)
      [<804dc8c0>] (net_rx_action+0x94/0x160) from [<8002c758>] (__do_softirq+0xe8/0x1d0)
      [<8002c758>] (__do_softirq+0xe8/0x1d0) from [<8002c8e8>] (do_softirq+0x4c/0x58)
      [<8002c8e8>] (do_softirq+0x4c/0x58) from [<8002cb50>] (irq_exit+0x90/0xc8)
      [<8002cb50>] (irq_exit+0x90/0xc8) from [<8000ea88>] (handle_IRQ+0x3c/0x94)
      [<8000ea88>] (handle_IRQ+0x3c/0x94) from [<8000855c>] (gic_handle_irq+0x28/0x5c)
      [<8000855c>] (gic_handle_irq+0x28/0x5c) from [<8000de00>] (__irq_svc+0x40/0x50)
      Exception stack(0x815a5f38 to 0x815a5f80)
      5f20:                                                       815a5f80 3b9aca00
      5f40: 0fe52383 00000002 0dd8950e 00000002 81e7b080 00000000 00000000 815ac4d8
      5f60: 806032ec 00000000 00000017 815a5f80 80059028 8041fc4c 60000013 ffffffff
      [<8000de00>] (__irq_svc+0x40/0x50) from [<8041fc4c>] (cpuidle_enter_state+0x50/0xf0)
      [<8041fc4c>] (cpuidle_enter_state+0x50/0xf0) from [<8041fd94>] (cpuidle_idle_call+0xa8/0x14c)
      [<8041fd94>] (cpuidle_idle_call+0xa8/0x14c) from [<8000edac>] (arch_cpu_idle+0x10/0x4c)
      [<8000edac>] (arch_cpu_idle+0x10/0x4c) from [<800582f8>] (cpu_startup_entry+0x60/0x130)
      [<800582f8>] (cpu_startup_entry+0x60/0x130) from [<80bc7a48>] (start_kernel+0x2d0/0x328)
      [<80bc7a48>] (start_kernel+0x2d0/0x328) from [<10008074>] (0x10008074)
      ---[ end trace c6edec32436e0042 ]---
      
      Because dma-debug add new interfaces to debug dma mapping errors, pls refer
      to: http://lwn.net/Articles/516640/
      
      After dma mapping, it must call dma_mapping_error() to check mapping error,
      otherwise the map_err_type alway is MAP_ERR_NOT_CHECKED, check_unmap() define
      the mapping is not checked and dump the error msg. So,add dma_mapping_error()
      checking to fix the WARNING
      
      And RX DMA buffers are used repeatedly and the driver copies it into an skb,
      fec_enet_rx() should not map or unmap, use dma_sync_single_for_cpu()/dma_sync_single_for_device()
      instead of dma_map_single()/dma_unmap_single().
      
      There have another potential issue:  fec_enet_rx() passes the DMA address to __va().
      Physical and DMA addresses are *not* the same thing. They may differ if the device
      is behind an IOMMU or bounce buffering was required, or just because there is a fixed
      offset between the device and host physical addresses. Also fix it in this patch.
      
      =============================================
      V2: add net_ratelimit() to limit map err message.
          use dma_sync_single_for_cpu() instead of dma_map_single().
          fix the issue that pass DMA addresses to __va() to get virture address.
      V1: initial send
      =============================================
      Signed-off-by: NFugang Duan <B38611@freescale.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d842a31f
    • C
      net: sctp: bug-fixing: retran_path not set properly after transports recovering (v3) · d30a58ba
      Chang Xiangzhong 提交于
      When a transport recovers due to the new coming sack, SCTP should
      iterate all of its transport_list to locate the __two__ most recently used
      transport and set to active_path and retran_path respectively. The exising
      code does not find the two properly - In case of the following list:
      
      [most-recent] -> [2nd-most-recent] -> ...
      
      Both active_path and retran_path would be set to the 1st element.
      
      The bug happens when:
      1) multi-homing
      2) failure/partial_failure transport recovers
      Both active_path and retran_path would be set to the same most-recent one, in
      other words, retran_path would not take its role - an end user might not even
      notice this issue.
      Signed-off-by: NChang Xiangzhong <changxiangzhong@gmail.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d30a58ba
    • E
      net-tcp: fix panic in tcp_fastopen_cache_set() · dccf76ca
      Eric Dumazet 提交于
      We had some reports of crashes using TCP fastopen, and Dave Jones
      gave a nice stack trace pointing to the error.
      
      Issue is that tcp_get_metrics() should not be called with a NULL dst
      
      Fixes: 1fe4c481 ("net-tcp: Fast Open client - cookie cache")
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: NDave Jones <davej@redhat.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Acked-by: NYuchung Cheng <ycheng@google.com>
      Tested-by: NDave Jones <davej@fedoraproject.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dccf76ca
    • N
      bonding: fix two race conditions in bond_store_updelay/downdelay · b869ccfa
      Nikolay Aleksandrov 提交于
      This patch fixes two race conditions between bond_store_updelay/downdelay
      and bond_store_miimon which could lead to division by zero as miimon can
      be set to 0 while either updelay/downdelay are being set and thus miss the
      zero check in the beginning, the zero div happens because updelay/downdelay
      are stored as new_value / bond->params.miimon. Use rtnl to synchronize with
      miimon setting.
      
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      CC: Veaceslav Falico <vfalico@redhat.com>
      Signed-off-by: NNikolay Aleksandrov <nikolay@redhat.com>
      Acked-by: NVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b869ccfa
    • E
      tcp: tsq: restore minimal amount of queueing · 98e09386
      Eric Dumazet 提交于
      After commit c9eeec26 ("tcp: TSQ can use a dynamic limit"), several
      users reported throughput regressions, notably on mvneta and wifi
      adapters.
      
      802.11 AMPDU requires a fair amount of queueing to be effective.
      
      This patch partially reverts the change done in tcp_write_xmit()
      so that the minimal amount is sysctl_tcp_limit_output_bytes.
      
      It also remove the use of this sysctl while building skb stored
      in write queue, as TSO autosizing does the right thing anyway.
      
      Users with well behaving NICS and correct qdisc (like sch_fq),
      can then lower the default sysctl_tcp_limit_output_bytes value from
      128KB to 8KB.
      
      This new usage of sysctl_tcp_limit_output_bytes permits each driver
      authors to check how their driver performs when/if the value is set
      to a minimum of 4KB.
      
      Normally, line rate for a single TCP flow should be possible,
      but some drivers rely on timers to perform TX completion and
      too long TX completion delays prevent reaching full throughput.
      
      Fixes: c9eeec26 ("tcp: TSQ can use a dynamic limit")
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: NSujith Manoharan <sujith@msujith.org>
      Reported-by: NArnaud Ebalard <arno@natisbad.org>
      Tested-by: NSujith Manoharan <sujith@msujith.org>
      Cc: Felix Fietkau <nbd@openwrt.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      98e09386
    • D
      Merge branch 'hwtstamp' · 6afae645
      David S. Miller 提交于
      Ben Hutchings says:
      
      ====================
      net_tstamp: Validate hwtstamp_config completely before applying it
      
      This series fixes very similar bugs in 6 implementations of
      SIOCSHWTSTAMP.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6afae645
    • B
      ixp4xx_eth: Validate hwtstamp_config completely before applying it · a5be8cd3
      Ben Hutchings 提交于
      hwtstamp_ioctl() should validate all fields of hwtstamp_config
      before making any changes.  Currently it sets the TX configuration
      before validating the rx_filter field.
      
      Untested as I don't have a cross-compiler to hand.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a5be8cd3
    • B
      ti_cpsw: Validate hwtstamp_config completely before applying it · 2ee91e54
      Ben Hutchings 提交于
      cpsw_hwtstamp_ioctl() should validate all fields of hwtstamp_config,
      and the hardware version, before making any changes.  Currently it
      sets the TX configuration before validating the rx_filter field
      or that the hardware supports timestamping.
      
      Also correct the error code for hardware versions that don't
      support timestamping.  ENOTSUPP is used by the NFS implementation
      and is not part of userland API; we want EOPNOTSUPP (which glibc
      also calls ENOTSUP, with one 'P').
      
      Untested as I don't have a cross-compiler to hand.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Acked-by: NMugunthan V N <mugunthanvnm@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2ee91e54
    • B
      stmmac: Validate hwtstamp_config completely before applying it · 5f3da328
      Ben Hutchings 提交于
      stmmac_hwtstamp_ioctl() should validate all fields of hwtstamp_config
      before making any changes.  Currently it sets the TX configuration
      before validating the rx_filter field.
      
      Compile-tested only.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f3da328
    • B
      pch_gbe: Validate hwtstamp_config completely before applying it · 810abe9b
      Ben Hutchings 提交于
      hwtstamp_ioctl() should validate all fields of hwtstamp_config
      before making any changes.  Currently it sets the TX configuration
      before validating the rx_filter field.
      
      Compile-tested only.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      810abe9b
    • B
      e1000e: Validate hwtstamp_config completely before applying it · 62d7e3a2
      Ben Hutchings 提交于
      e1000e_hwtstamp_ioctl() should validate all fields of hwtstamp_config
      before making any changes.  Currently it copies the configuration to
      the e1000_adapter structure before validating it at all.
      
      Change e1000e_config_hwtstamp() to take a pointer to the
      hwstamp_config and to copy the config after validating it.
      
      Compile-tested only.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Acked-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62d7e3a2
    • B
      tg3: Validate hwtstamp_config completely before applying it · 58b187c6
      Ben Hutchings 提交于
      tg3_hwtstamp_ioctl() should validate all fields of hwtstamp_config
      before making any changes.  Currently it sets the TX configuration
      before validating the rx_filter field.
      
      Compile-tested only.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Acked-by: NNithin Nayak Sujir <nsujir@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      58b187c6
    • T
      bridge: Fix memory leak when deleting bridge with vlan filtering enabled · b4e09b29
      Toshiaki Makita 提交于
      We currently don't call br_vlan_flush() when deleting a bridge, which
      leads to memory leak if br->vlan_info is allocated.
      
      Steps to reproduce:
        while :
        do
          brctl addbr br0
          bridge vlan add dev br0 vid 10 self
          brctl delbr br0
        done
      We can observe the cache size of corresponding slab entry
      (as kmalloc-2048 in SLUB) is increased.
      
      kmemleak output:
      unreferenced object 0xffff8800b68a7000 (size 2048):
        comm "bridge", pid 2086, jiffies 4295774704 (age 47.656s)
        hex dump (first 32 bytes):
          00 00 00 00 00 00 00 00 00 48 9b 36 00 88 ff ff  .........H.6....
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
          [<ffffffff815eb6ae>] kmemleak_alloc+0x4e/0xb0
          [<ffffffff8116a1ca>] kmem_cache_alloc_trace+0xca/0x220
          [<ffffffffa03eddd6>] br_vlan_add+0x66/0xe0 [bridge]
          [<ffffffffa03e543c>] br_setlink+0x2dc/0x340 [bridge]
          [<ffffffff8150e481>] rtnl_bridge_setlink+0x101/0x200
          [<ffffffff8150d9d9>] rtnetlink_rcv_msg+0x99/0x260
          [<ffffffff81528679>] netlink_rcv_skb+0xa9/0xc0
          [<ffffffff8150d938>] rtnetlink_rcv+0x28/0x30
          [<ffffffff81527ccd>] netlink_unicast+0xdd/0x190
          [<ffffffff8152807f>] netlink_sendmsg+0x2ff/0x740
          [<ffffffff814e8368>] sock_sendmsg+0x88/0xc0
          [<ffffffff814e8ac8>] ___sys_sendmsg.part.14+0x298/0x2b0
          [<ffffffff814e91de>] __sys_sendmsg+0x4e/0x90
          [<ffffffff814e922e>] SyS_sendmsg+0xe/0x10
          [<ffffffff81601669>] system_call_fastpath+0x16/0x1b
          [<ffffffffffffffff>] 0xffffffffffffffff
      Signed-off-by: NToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b4e09b29
    • T
      bridge: Call vlan_vid_del for all vids at nbp_vlan_flush · dbbaf949
      Toshiaki Makita 提交于
      We should call vlan_vid_del for all vids at nbp_vlan_flush to prevent
      vid_info->refcount from being leaked when detaching a bridge port.
      Signed-off-by: NToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dbbaf949
    • T
      bridge: Use vlan_vid_[add/del] instead of direct ndo_vlan_rx_[add/kill]_vid calls · 19236837
      Toshiaki Makita 提交于
      We should use wrapper functions vlan_vid_[add/del] instead of
      ndo_vlan_rx_[add/kill]_vid. Otherwise, we might be not able to communicate
      using vlan interface in a certain situation.
      
      Example of problematic case:
        vconfig add eth0 10
        brctl addif br0 eth0
        bridge vlan add dev eth0 vid 10
        bridge vlan del dev eth0 vid 10
        brctl delif br0 eth0
      In this case, we cannot communicate via eth0.10 because vlan 10 is
      filtered by NIC that has the vlan filtering feature.
      Signed-off-by: NToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      19236837
    • D
      random32: use msecs_to_jiffies for reseed timer · 0125737a
      Daniel Borkmann 提交于
      Use msecs_to_jiffies, for these calculations as different HZ
      considerations are taken into account for conversion of the timer
      shot, and also it makes the code more readable.
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0125737a
    • D
      random32: add __init prefix to prandom_start_seed_timer · 66b25142
      Daniel Borkmann 提交于
      We only call that in functions annotated with __init, so add __init
      prefix in prandom_start_seed_timer() as well, so that the kernel can
      make use of this hint and we can possibly free up resources after it's
      usage. And since it's an internal function rename it to
      __prandom_start_seed_timer().
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66b25142
    • J
      macvtap: limit head length of skb allocated · 16a3fa28
      Jason Wang 提交于
      We currently use hdr_len as a hint of head length which is advertised by
      guest. But when guest advertise a very big value, it can lead to an 64K+
      allocating of kmalloc() which has a very high possibility of failure when host
      memory is fragmented or under heavy stress. The huge hdr_len also reduce the
      effect of zerocopy or even disable if a gso skb is linearized in guest.
      
      To solves those issues, this patch introduces an upper limit (PAGE_SIZE) of the
      head, which guarantees an order 0 allocation each time.
      
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      16a3fa28
    • J
      tuntap: limit head length of skb allocated · 96f8d9ec
      Jason Wang 提交于
      We currently use hdr_len as a hint of head length which is advertised by
      guest. But when guest advertise a very big value, it can lead to an 64K+
      allocating of kmalloc() which has a very high possibility of failure when host
      memory is fragmented or under heavy stress. The huge hdr_len also reduce the
      effect of zerocopy or even disable if a gso skb is linearized in guest.
      
      To solves those issues, this patch introduces an upper limit (PAGE_SIZE) of the
      head, which guarantees an order 0 allocation each time.
      
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      96f8d9ec
  2. 14 11月, 2013 6 次提交
  3. 13 11月, 2013 11 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 42a2d923
      Linus Torvalds 提交于
      Pull networking updates from David Miller:
      
       1) The addition of nftables.  No longer will we need protocol aware
          firewall filtering modules, it can all live in userspace.
      
          At the core of nftables is a, for lack of a better term, virtual
          machine that executes byte codes to inspect packet or metadata
          (arriving interface index, etc.) and make verdict decisions.
      
          Besides support for loading packet contents and comparing them, the
          interpreter supports lookups in various datastructures as
          fundamental operations.  For example sets are supports, and
          therefore one could create a set of whitelist IP address entries
          which have ACCEPT verdicts attached to them, and use the appropriate
          byte codes to do such lookups.
      
          Since the interpreted code is composed in userspace, userspace can
          do things like optimize things before giving it to the kernel.
      
          Another major improvement is the capability of atomically updating
          portions of the ruleset.  In the existing netfilter implementation,
          one has to update the entire rule set in order to make a change and
          this is very expensive.
      
          Userspace tools exist to create nftables rules using existing
          netfilter rule sets, but both kernel implementations will need to
          co-exist for quite some time as we transition from the old to the
          new stuff.
      
          Kudos to Patrick McHardy, Pablo Neira Ayuso, and others who have
          worked so hard on this.
      
       2) Daniel Borkmann and Hannes Frederic Sowa made several improvements
          to our pseudo-random number generator, mostly used for things like
          UDP port randomization and netfitler, amongst other things.
      
          In particular the taus88 generater is updated to taus113, and test
          cases are added.
      
       3) Support 64-bit rates in HTB and TBF schedulers, from Eric Dumazet
          and Yang Yingliang.
      
       4) Add support for new 577xx tigon3 chips to tg3 driver, from Nithin
          Sujir.
      
       5) Fix two fatal flaws in TCP dynamic right sizing, from Eric Dumazet,
          Neal Cardwell, and Yuchung Cheng.
      
       6) Allow IP_TOS and IP_TTL to be specified in sendmsg() ancillary
          control message data, much like other socket option attributes.
          From Francesco Fusco.
      
       7) Allow applications to specify a cap on the rate computed
          automatically by the kernel for pacing flows, via a new
          SO_MAX_PACING_RATE socket option.  From Eric Dumazet.
      
       8) Make the initial autotuned send buffer sizing in TCP more closely
          reflect actual needs, from Eric Dumazet.
      
       9) Currently early socket demux only happens for TCP sockets, but we
          can do it for connected UDP sockets too.  Implementation from Shawn
          Bohrer.
      
      10) Refactor inet socket demux with the goal of improving hash demux
          performance for listening sockets.  With the main goals being able
          to use RCU lookups on even request sockets, and eliminating the
          listening lock contention.  From Eric Dumazet.
      
      11) The bonding layer has many demuxes in it's fast path, and an RCU
          conversion was started back in 3.11, several changes here extend the
          RCU usage to even more locations.  From Ding Tianhong and Wang
          Yufen, based upon suggestions by Nikolay Aleksandrov and Veaceslav
          Falico.
      
      12) Allow stackability of segmentation offloads to, in particular, allow
          segmentation offloading over tunnels.  From Eric Dumazet.
      
      13) Significantly improve the handling of secret keys we input into the
          various hash functions in the inet hashtables, TCP fast open, as
          well as syncookies.  From Hannes Frederic Sowa.  The key fundamental
          operation is "net_get_random_once()" which uses static keys.
      
          Hannes even extended this to ipv4/ipv6 fragmentation handling and
          our generic flow dissector.
      
      14) The generic driver layer takes care now to set the driver data to
          NULL on device removal, so it's no longer necessary for drivers to
          explicitly set it to NULL any more.  Many drivers have been cleaned
          up in this way, from Jingoo Han.
      
      15) Add a BPF based packet scheduler classifier, from Daniel Borkmann.
      
      16) Improve CRC32 interfaces and generic SKB checksum iterators so that
          SCTP's checksumming can more cleanly be handled.  Also from Daniel
          Borkmann.
      
      17) Add a new PMTU discovery mode, IP_PMTUDISC_INTERFACE, which forces
          using the interface MTU value.  This helps avoid PMTU attacks,
          particularly on DNS servers.  From Hannes Frederic Sowa.
      
      18) Use generic XPS for transmit queue steering rather than internal
          (re-)implementation in virtio-net.  From Jason Wang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1622 commits)
        random32: add test cases for taus113 implementation
        random32: upgrade taus88 generator to taus113 from errata paper
        random32: move rnd_state to linux/random.h
        random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized
        random32: add periodic reseeding
        random32: fix off-by-one in seeding requirement
        PHY: Add RTL8201CP phy_driver to realtek
        xtsonic: add missing platform_set_drvdata() in xtsonic_probe()
        macmace: add missing platform_set_drvdata() in mace_probe()
        ethernet/arc/arc_emac: add missing platform_set_drvdata() in arc_emac_probe()
        ipv6: protect for_each_sk_fl_rcu in mem_check with rcu_read_lock_bh
        vlan: Implement vlan_dev_get_egress_qos_mask as an inline.
        ixgbe: add warning when max_vfs is out of range.
        igb: Update link modes display in ethtool
        netfilter: push reasm skb through instead of original frag skbs
        ip6_output: fragment outgoing reassembled skb properly
        MAINTAINERS: mv643xx_eth: take over maintainership from Lennart
        net_sched: tbf: support of 64bit rates
        ixgbe: deleting dfwd stations out of order can cause null ptr deref
        ixgbe: fix build err, num_rx_queues is only available with CONFIG_RPS
        ...
      42a2d923
    • L
      Merge branch 'akpm' (patches from Andrew Morton) · 5cbb3d21
      Linus Torvalds 提交于
      Merge first patch-bomb from Andrew Morton:
       "Quite a lot of other stuff is banked up awaiting further
        next->mainline merging, but this batch contains:
      
         - Lots of random misc patches
         - OCFS2
         - Most of MM
         - backlight updates
         - lib/ updates
         - printk updates
         - checkpatch updates
         - epoll tweaking
         - rtc updates
         - hfs
         - hfsplus
         - documentation
         - procfs
         - update gcov to gcc-4.7 format
         - IPC"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (269 commits)
        ipc, msg: fix message length check for negative values
        ipc/util.c: remove unnecessary work pending test
        devpts: plug the memory leak in kill_sb
        ./Makefile: export initial ramdisk compression config option
        init/Kconfig: add option to disable kernel compression
        drivers: w1: make w1_slave::flags long to avoid memory corruption
        drivers/w1/masters/ds1wm.cuse dev_get_platdata()
        drivers/memstick/core/ms_block.c: fix unreachable state in h_msb_read_page()
        drivers/memstick/core/mspro_block.c: fix attributes array allocation
        drivers/pps/clients/pps-gpio.c: remove redundant of_match_ptr
        kernel/panic.c: reduce 1 byte usage for print tainted buffer
        gcov: reuse kbasename helper
        kernel/gcov/fs.c: use pr_warn()
        kernel/module.c: use pr_foo()
        gcov: compile specific gcov implementation based on gcc version
        gcov: add support for gcc 4.7 gcov format
        gcov: move gcov structs definitions to a gcc version specific file
        kernel/taskstats.c: return -ENOMEM when alloc memory fails in add_del_listener()
        kernel/taskstats.c: add nla_nest_cancel() for failure processing between nla_nest_start() and nla_nest_end()
        kernel/sysctl_binary.c: use scnprintf() instead of snprintf()
        ...
      5cbb3d21
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9bc9ccd7
      Linus Torvalds 提交于
      Pull vfs updates from Al Viro:
       "All kinds of stuff this time around; some more notable parts:
      
         - RCU'd vfsmounts handling
         - new primitives for coredump handling
         - files_lock is gone
         - Bruce's delegations handling series
         - exportfs fixes
      
        plus misc stuff all over the place"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (101 commits)
        ecryptfs: ->f_op is never NULL
        locks: break delegations on any attribute modification
        locks: break delegations on link
        locks: break delegations on rename
        locks: helper functions for delegation breaking
        locks: break delegations on unlink
        namei: minor vfs_unlink cleanup
        locks: implement delegations
        locks: introduce new FL_DELEG lock flag
        vfs: take i_mutex on renamed file
        vfs: rename I_MUTEX_QUOTA now that it's not used for quotas
        vfs: don't use PARENT/CHILD lock classes for non-directories
        vfs: pull ext4's double-i_mutex-locking into common code
        exportfs: fix quadratic behavior in filehandle lookup
        exportfs: better variable name
        exportfs: move most of reconnect_path to helper function
        exportfs: eliminate unused "noprogress" counter
        exportfs: stop retrying once we race with rename/remove
        exportfs: clear DISCONNECTED on all parents sooner
        exportfs: more detailed comment for path_reconnect
        ...
      9bc9ccd7
    • L
      Merge tag 'dlm-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · f0230294
      Linus Torvalds 提交于
      Pull dlm fix from David Teigland:
       "This set includes a single fix to resolve to a race that could cause
        lockspace shutdown to incorrectly return -EBUSY"
      
      * tag 'dlm-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: Avoid that dlm_release_lockspace() incorrectly returns -EBUSY
      f0230294
    • L
      Merge tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubi · 39222c82
      Linus Torvalds 提交于
      Pull UBI changes from Artem Bityutskiy:
       "A bunch of fixes for the fastmap feature, which is still new and
        rather experimental.  It looks like it starts getting more users.
      
        No significant changes for the "classical" non-fastmap UBI"
      
      * tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubi:
        UBI: Add some asserts to ubi_attach_fastmap()
        UBI: Fix memory leak in ubi_attach_fastmap() error path
        UBI: simplify image sequence test
        UBI: fastmap: fix backward compatibility with image_seq
        UBI: Call scan_all() with correct offset in error case
        UBI: Fix error path in scan_pool()
        UBI: fix refill_wl_user_pool()
      39222c82
    • L
      Merge tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubifs · fbe43ff0
      Linus Torvalds 提交于
      Pull ubifs changes from Artem Bityutskiy:
       "Mostly fixes for the power cut emulation UBIFS mode, and only one
        functional change which fixes a return error code"
      
      * tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubifs:
        UBIFS: correct data corruption range
        UBIFS: fix return code
        UBIFS: remove unnecessary code in ubifs_garbage_collect
      fbe43ff0
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · a7fa20a5
      Linus Torvalds 提交于
      Pull fuse updates from Miklos Szeredi:
       "This adds a ->writepage() implementation to fuse, improving mmaped
        writeout and paving the way for buffered writeback.
      
        And there's a patch to add a fix minor number for /dev/cuse, similarly
        to /dev/fuse"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: writepages: protect secondary requests from fuse file release
        fuse: writepages: update bdi writeout when deleting secondary request
        fuse: writepages: crop secondary requests
        fuse: writepages: roll back changes if request not found
        cuse: add fix minor number to /dev/cuse
        fuse: writepage: skip already in flight
        fuse: writepages: handle same page rewrites
        fuse: writepages: fix aggregation
        fuse: fix race in fuse_writepages()
        fuse: Implement writepages callback
        fuse: don't BUG on no write file
        fuse: lock page in mkwrite
        fuse: Prepare to handle multiple pages in writeback
        fuse: Getting file for writeback helper
      a7fa20a5
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · a3012453
      Linus Torvalds 提交于
      Pull ext[23], udf and quota fixes from Jan Kara:
       "Assorted fixes in quota, ext2, ext3 & udf.
      
        Probably the most important is a fix of fs corruption issue in ext2
        XIP support (OTOH xip is rarely used)"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Fix fs corruption in ext2_get_xip_mem()
        quota: info leak in quota_getquota()
        jbd: Revert "jbd: remove dependency on __GFP_NOFAIL"
        udf: fix for pathetic mount times in case of invalid file system
        ext3: Count journal as bsddf overhead in ext3_statfs
      a3012453
    • L
      Merge tag 'for-f2fs-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · dd1d1399
      Linus Torvalds 提交于
      Pull f2fs updates from Jaegeuk Kim:
       "This patch-set includes the following major enhancement patches.
         - add a sysfs to control reclaiming free segments
         - enhance the f2fs global lock procedures
         - enhance the victim selection flow
         - wait for selected node blocks during fsync
         - add some tracepoints
         - add a config to remove abundant BUG_ONs
      
        The other bug fixes are as follows.
         - fix deadlock on acl operations
         - fix some bugs with respect to orphan inodes
      
        And, there are a bunch of cleanups"
      
      * tag 'for-f2fs-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (42 commits)
        f2fs: issue more large discard command
        f2fs: fix memory leak after kobject init failed in fill_super
        f2fs: cleanup waiting routine for writeback pages in cp
        f2fs: avoid to use a NULL point in destroy_segment_manager
        f2fs: remove unnecessary TestClearPageError when wait pages writeback
        f2fs: update f2fs document
        f2fs: avoid to wait all the node blocks during fsync
        f2fs: check all ones or zeros bitmap with bitops for better mount performance
        f2fs: change the method of calculating the number summary blocks
        f2fs: fix calculating incorrect free size when update xattr in __f2fs_setxattr
        f2fs: add an option to avoid unnecessary BUG_ONs
        f2fs: introduce CONFIG_F2FS_CHECK_FS for BUG_ON control
        f2fs: fix a deadlock during init_acl procedure
        f2fs: clean up acl flow for better readability
        f2fs: remove unnecessary segment bitmap updates
        f2fs: add tracepoint for vm_page_mkwrite
        f2fs: add tracepoint for set_page_dirty
        f2fs: remove redundant set_page_dirty from write_compacted_summaries
        f2fs: add reclaiming control by sysfs
        f2fs: introduce f2fs_balance_fs_bg for some background jobs
        ...
      dd1d1399
    • L
      Merge branch 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · a9986464
      Linus Torvalds 提交于
      Pull cgroup changes from Tejun Heo:
       "Not too much activity this time around.  css_id is finally killed and
        a minor update to device_cgroup"
      
      * 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        device_cgroup: remove can_attach
        cgroup: kill css_id
        memcg: stop using css id
        memcg: fail to create cgroup if the cgroup id is too big
        memcg: convert to use cgroup id
        memcg: convert to use cgroup_is_descendant()
      a9986464
    • L
      Merge branch 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 13aa7e0b
      Linus Torvalds 提交于
      Pull libata changes from Tejun Heo:
       "Nothing too interesting.  Only two minor fixes in libata core.  Most
        changes are specific to hardware which isn't too common"
      
      * 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci: Add Device IDs for Intel Wildcat Point-LP
        sata_rcar: Convert to clk_prepare/unprepare
        drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive
        libata: Add some missing command descriptions
        sata_highbank: clear whole array in highbank_initialize_phys()
        ahci: disabled FBS prior to issuing software reset
        libata: Fix display of sata speed
        ahci: imx: setup power saving methods
        ata_piix: minor typo and a printk fix
        ahci: Changing two module params with static and __read_mostly
      13aa7e0b