)]}'
{
  "log": [
    {
      "commit": "2f53384424251c06038ae612e56231b96ab610ee",
      "tree": "e3524210033983e5727c88e21bb3e6a766b20ae4",
      "parents": [
        "e675f0cc9a872fd152edc0c77acfed19bf28b81e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 03 09:37:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 17:35:43 2012 -0400"
      },
      "message": "tcp: allow splice() to build full TSO packets\n\nvmsplice()/splice(pipe, socket) call do_tcp_sendpages() one page at a\ntime, adding at most 4096 bytes to an skb. (assuming PAGE_SIZE\u003d4096)\n\nThe call to tcp_push() at the end of do_tcp_sendpages() forces an\nimmediate xmit when pipe is not already filled, and tso_fragment() try\nto split these skb to MSS multiples.\n\n4096 bytes are usually split in a skb with 2 MSS, and a remaining\nsub-mss skb (assuming MTU\u003d1500)\n\nThis makes slow start suboptimal because many small frames are sent to\nqdisc/driver layers instead of big ones (constrained by cwnd and packets\nin flight of course)\n\nIn fact, applications using sendmsg() (adding an additional memory copy)\ninstead of vmsplice()/splice()/sendfile() are a bit faster because of\nthis anomaly, especially if serving small files in environments with\nlarge initial [c]wnd.\n\nCall tcp_push() only if MSG_MORE is not set in the flags parameter.\n\nThis bit is automatically provided by splice() internals but for the\nlast page, or on all pages if user specified SPLICE_F_MORE splice()\nflag.\n\nIn some workloads, this can reduce number of sent logical packets by an\norder of magnitude, making zero-copy TCP actually faster than\none-copy :)\n\nReported-by: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Nandita Dukkipati \u003cnanditad@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: H.K. Jerry Chu \u003chkchu@google.com\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Mahesh Bandewar \u003cmaheshb@google.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail\u003ecom\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed359a3b7b6ade0071f378c0cf4392d252f7d334",
      "tree": "8f81e03fcb44a7d36f53bc5a53d8eced7154bee2",
      "parents": [
        "95694129b43165911dc4e8a972f0d39ad98d86be",
        "2240eb4ae3dc4acff20d1a8947c441c451513e37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 17:53:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 17:53:39 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Provide device string properly for USB i2400m wimax devices, also\n    don\u0027t OOPS when providing firmware string.  From Phil Sutter.\n\n 2) Add support for sh_eth SH7734 chips, from Nobuhiro Iwamatsu.\n\n 3) Add another device ID to USB zaurus driver, from Guan Xin.\n\n 4) Loop index start in pool vector iterator is wrong causing MAC to not\n    get configured in bnx2x driver, fix from Dmitry Kravkov.\n\n 5) EQL driver assumes HZ\u003d100, fix from Eric Dumazet.\n\n 6) Now that skb_add_rx_frag() can specify the truesize increment\n    separately, do so in f_phonet and cdc_phonet, also from Eric\n    Dumazet.\n\n 7) virtio_net accidently uses net_ratelimit() not only on the kernel\n    warning but also the statistic bump, fix from Rick Jones.\n\n 8) ip_route_input_mc() uses fixed init_net namespace, oops, use\n    dev_net(dev) instead.  Fix from Benjamin LaHaise.\n\n 9) dev_forward_skb() needs to clear the incoming interface index of the\n    SKB so that it looks like a new incoming packet, also from Benjamin\n    LaHaise.\n\n10) iwlwifi mistakenly initializes a channel entry as 2GHZ instead of\n    5GHZ, fix from Stanislav Yakovlev.\n\n11) Missing kmalloc() return value checks in orinoco, from Santosh\n    Nayak.\n\n12) ath9k doesn\u0027t check for HT capabilities in the right way, it is\n    checking ht_supported instead of the ATH9K_HW_CAP_HT flag.  Fix from\n    Sujith Manoharan.\n\n13) Fix x86 BPF JIT emission of 16-bit immediate field of AND\n    instructions, from Feiran Zhuang.\n\n14) Avoid infinite loop in GARP code when registering sysfs entries.\n    From David Ward.\n\n15) rose protocol uses memcpy instead of memcmp in a device address\n    comparison, oops.  Fix from Daniel Borkmann.\n\n16) Fix build of lpc_eth due to dev_hw_addr_rancom() interface being\n    renamed to eth_hw_addr_random().  From Roland Stigge.\n\n17) Make ipv6 RTM_GETROUTE interpret RTA_IIF attribute the same way\n    that ipv4 does.  Fix from Shmulik Ladkani.\n\n18) via-rhine has an inverted bit test, causing suspend/resume\n    regressions.  Fix from Andreas Mohr.\n\n19) RIONET assumes 4K page size, fix from Akinobu Mita.\n\n20) Initialization of imask register in sky2 is buggy, because bits are\n    \"or\u0027d\" into an uninitialized local variable.  Fix from Lino\n    Sanfilippo.\n\n21) Fix FCOE checksum offload handling, from Yi Zou.\n\n22) Fix VLAN processing regression in e1000, from Jiri Pirko.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits)\n  sky2: dont overwrite settings for PHY Quick link\n  tg3: Fix 5717 serdes powerdown problem\n  net: usb: cdc_eem: fix mtu\n  net: sh_eth: fix endian check for architecture independent\n  usb/rtl8150 : Remove duplicated definitions\n  rionet: fix page allocation order of rionet_active\n  via-rhine: fix wait-bit inversion.\n  ipv6: Fix RTM_GETROUTE\u0027s interpretation of RTA_IIF to be consistent with ipv4\n  net: lpc_eth: Fix rename of dev_hw_addr_random\n  net/netfilter/nfnetlink_acct.c: use linux/atomic.h\n  rose_dev: fix memcpy-bug in rose_set_mac_address\n  Fix non TBI PHY access; a bad merge undid bug fix in a previous commit.\n  net/garp: avoid infinite loop if attribute already exists\n  x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND\n  bonding: emit event when bonding changes MAC\n  mac80211: fix oper channel timestamp updation\n  ath9k: Use HW HT capabilites properly\n  MAINTAINERS: adding maintainer for ipw2x00\n  net: orinoco: add error handling for failed kmalloc().\n  net/wireless: ipw2x00: fix a typo in wiphy struct initilization\n  ...\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4e7b2f1454382b220f792a7fbcbebd0985187161",
      "tree": "c0161155b8d2dc170ee3727c4b4cd99302f41379",
      "parents": [
        "2e57b79ccef1ff1422fdf45a9b28fe60f8f084f7"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Mar 27 15:55:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 28 04:45:37 2012 -0400"
      },
      "message": "net/ipv4: fix IPv4 multicast over network namespaces\n\nWhen using multicast over a local bridge feeding a number of LXC guests\nusing veth, the LXC guests are unable to get a response from other guests\nwhen pinging 224.0.0.1.  Multicast packets did not appear to be getting\ndelivered to the network namespaces of the guest hosts, and further\ninspection showed that the incoming route was pointing to the loopback\ndevice of the host, not the guest.  This lead to the wrong network namespace\nbeing picked up by sockets (like ICMP).  Fix this by using the correct\nnetwork namespace when creating the inbound route entry.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eaddcd76903c28e84bb452a35835babb0800a2c4",
      "tree": "97e512e21955da69d434a34b4e073ba880ec7d3d",
      "parents": [
        "523f610e1be2a4afca605962e137064378883c5f"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Thu Mar 22 16:14:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 22:36:17 2012 -0400"
      },
      "message": "bonding: remove entries for master_ip and vlan_ip and query devices instead\n\nThe following patch aimed to resolve an issue where secondary, tertiary,\netc. addresses added to bond interfaces could overwrite the\nbond-\u003emaster_ip and vlan_ip values.\n\n        commit 917fbdb32f37e9a93b00bb12ee83532982982df3\n        Author: Henrik Saavedra Persson \u003chenrik.e.persson@ericsson.com\u003e\n        Date:   Wed Nov 23 23:37:15 2011 +0000\n\n            bonding: only use primary address for ARP\n\nThat patch was good because it prevented bonds using ARP monitoring from\nsending frames with an invalid source IP address.  Unfortunately, it\ndidn\u0027t always work as expected.\n\nWhen using an ioctl (like ifconfig does) to set the IP address and\nnetmask, 2 separate ioctls are actually called to set the IP and netmask\nif the mask chosen doesn\u0027t match the standard mask for that class of\naddress.  The first ioctl did not have a mask that matched the one in\nthe primary address and would still cause the device address to be\noverwritten.  The second ioctl that was called to set the mask would\nthen detect as secondary and ignored, but the damage was already done.\n\nThis was not an issue when using an application that used netlink\nsockets as the setting of IP and netmask came down at once.  The\ninconsistent behavior between those two interfaces was something that\nneeded to be resolved.\n\nWhile I was thinking about how I wanted to resolve this, Ralf Zeidler\ncame with a patch that resolved this on a RHEL kernel by keeping a full\nshadow of the entries in dev-\u003eifa_list for the bonding device and vlan\ndevices in the bonding driver.  I didn\u0027t like the duplication of the\nlist as I want to see the \u0027bonding\u0027 struct and code shrink rather than\ngrow, but liked the general idea.\n\nAs the Subject indicates this patch drops the master_ip and vlan_ip\nelements from the \u0027bonding\u0027 and \u0027vlan_entry\u0027 structs, respectively.\nThis can be done because a device\u0027s address-list is now traversed to\ndetermine the optimal source IP address for ARP requests and for checks\nto see if the bonding device has a particular IP address.  This code\ncould have all be contained inside the bonding driver, but it made more\nsense to me to EXPORT and call inet_confirm_addr since it did exactly\nwhat was needed.\n\nI tested this and a backported patch and everything works as expected.\nRalf also helped with verification of the backported patch.\n\nThanks to Ralf for all his help on this.\n\nv2: Whitespace and organizational changes based on suggestions from Jay\nVosburgh and Dave Miller.\n\nv3: Fixup incorrect usage of rcu_read_unlock based on Dave Miller\u0027s\nsuggestion.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Ralf Zeidler \u003cralf.zeidler@nsn.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "523f610e1be2a4afca605962e137064378883c5f",
      "tree": "82923297355fccb70a03c5d2108bc5a6030212a2",
      "parents": [
        "5d5440a835710d09f0ef18da5000541ec98b537a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 22 12:27:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 22:36:17 2012 -0400"
      },
      "message": "netfilter: remove forward module param confusion.\n\nIt used to be an int, and it got changed to a bool parameter at least\n7 years ago.  It happens that NF_ACCEPT and NF_DROP are 0 and 1, so\nthis works, but it\u0027s unclear, and the check that it\u0027s in range is not\nrequired.\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b59bf081622b6446db77ad06c93fe23677bc533",
      "tree": "3f4bb5a27c90cc86994a1f6d3c53fbf9208003cb",
      "parents": [
        "e45836fafe157df137a837093037f741ad8f4c90",
        "bbdb32cb5b73597386913d052165423b9d736145"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking merge from David Miller:\n \"1) Move ixgbe driver over to purely page based buffering on receive.\n     From Alexander Duyck.\n\n  2) Add receive packet steering support to e1000e, from Bruce Allan.\n\n  3) Convert TCP MD5 support over to RCU, from Eric Dumazet.\n\n  4) Reduce cpu usage in handling out-of-order TCP packets on modern\n     systems, also from Eric Dumazet.\n\n  5) Support the IP{,V6}_UNICAST_IF socket options, making the wine\n     folks happy, from Erich Hoover.\n\n  6) Support VLAN trunking from guests in hyperv driver, from Haiyang\n     Zhang.\n\n  7) Support byte-queue-limtis in r8169, from Igor Maravic.\n\n  8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but\n     was never properly implemented, Jiri Benc fixed that.\n\n  9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.\n\n  10) Support kernel side dump filtering by ctmark in netfilter\n      ctnetlink, from Pablo Neira Ayuso.\n\n  11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.\n\n  12) Add new peek socket options to assist with socket migration, from\n      Pavel Emelyanov.\n\n  13) Add sch_plug packet scheduler whose queue is controlled by\n      userland daemons using explicit freeze and release commands.  From\n      Shriram Rajagopalan.\n\n  14) Fix FCOE checksum offload handling on transmit, from Yi Zou.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)\n  Fix pppol2tp getsockname()\n  Remove printk from rds_sendmsg\n  ipv6: fix incorrent ipv6 ipsec packet fragment\n  cpsw: Hook up default ndo_change_mtu.\n  net: qmi_wwan: fix build error due to cdc-wdm dependecy\n  netdev: driver: ethernet: Add TI CPSW driver\n  netdev: driver: ethernet: add cpsw address lookup engine support\n  phy: add am79c874 PHY support\n  mlx4_core: fix race on comm channel\n  bonding: send igmp report for its master\n  fs_enet: Add MPC5125 FEC support and PHY interface selection\n  net: bpf_jit: fix BPF_S_LDX_B_MSH compilation\n  net: update the usage of CHECKSUM_UNNECESSARY\n  fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n  net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso\n  ixgbe: Fix issues with SR-IOV loopback when flow control is disabled\n  net/hyperv: Fix the code handling tx busy\n  ixgbe: fix namespace issues when FCoE/DCB is not enabled\n  rtlwifi: Remove unused ETH_ADDR_LEN defines\n  igbvf: Use ETH_ALEN\n  ...\n\nFix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and\ndrivers/net/usb/{Kconfig,qmi_wwan.c} as per David.\n"
    },
    {
      "commit": "0d9cabdccedb79ee5f27b77ff51f29a9e7d23275",
      "tree": "8bfb64c3672d058eb90aec3c3a9c4f61cef9097c",
      "parents": [
        "701085b219016d38f105b031381b9cee6200253a",
        "3ce3230a0cff484e5130153f244d4fb8a56b3a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Out of the 8 commits, one fixes a long-standing locking issue around\n  tasklist walking and others are cleanups.\"\n\n* \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: Walk task list under tasklist_lock in cgroup_enable_task_cg_list\n  cgroup: Remove wrong comment on cgroup_enable_task_cg_list()\n  cgroup: remove cgroup_subsys argument from callbacks\n  cgroup: remove extra calls to find_existing_css_set\n  cgroup: replace tasklist_lock with rcu_read_lock\n  cgroup: simplify double-check locking in cgroup_attach_proc\n  cgroup: move struct cgroup_pidlist out from the header file\n  cgroup: remove cgroup_attach_task_current_cg()\n"
    },
    {
      "commit": "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
      "tree": "0dbb83e57260ea7fc0dc421f214d5f1b26262005",
      "parents": [
        "0bbfcaff9b2a69c71a95e6902253487ab30cb498",
        "bea95c152dee1791dd02cbc708afbb115bb00f9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf events changes for v3.4 from Ingo Molnar:\n\n - New \"hardware based branch profiling\" feature both on the kernel and\n   the tooling side, on CPUs that support it.  (modern x86 Intel CPUs\n   with the \u0027LBR\u0027 hardware feature currently.)\n\n   This new feature is basically a sophisticated \u0027magnifying glass\u0027 for\n   branch execution - something that is pretty difficult to extract from\n   regular, function histogram centric profiles.\n\n   The simplest mode is activated via \u0027perf record -b\u0027, and the result\n   looks like this in perf report:\n\n\t$ perf record -b any_call,u -e cycles:u branchy\n\n\t$ perf report -b --sort\u003dsymbol\n\t    52.34%  [.] main                   [.] f1\n\t    24.04%  [.] f1                     [.] f3\n\t    23.60%  [.] f1                     [.] f2\n\t     0.01%  [k] _IO_new_file_xsputn    [k] _IO_file_overflow\n\t     0.01%  [k] _IO_vfprintf_internal  [k] _IO_new_file_xsputn\n\t     0.01%  [k] _IO_vfprintf_internal  [k] strchrnul\n\t     0.01%  [k] __printf               [k] _IO_vfprintf_internal\n\t     0.01%  [k] main                   [k] __printf\n\n   This output shows from/to branch columns and shows the highest\n   percentage (from,to) jump combinations - i.e.  the most likely taken\n   branches in the system.  \"branches\" can also include function calls\n   and any other synchronous and asynchronous transitions of the\n   instruction pointer that are not \u0027next instruction\u0027 - such as system\n   calls, traps, interrupts, etc.\n\n   This feature comes with (hopefully intuitive) flat ascii and TUI\n   support in perf report.\n\n - Various \u0027perf annotate\u0027 visual improvements for us assembly junkies.\n   It will now recognize function calls in the TUI and by hitting enter\n   you can follow the call (recursively) and back, amongst other\n   improvements.\n\n - Multiple threads/processes recording support in perf record, perf\n   stat, perf top - which is activated via a comma-list of PIDs:\n\n\tperf top -p 21483,21485\n\tperf stat -p 21483,21485 -ddd\n\tperf record -p 21483,21485\n\n - Support for per UID views, via the --uid paramter to perf top, perf\n   report, etc.  For example \u0027perf top --uid mingo\u0027 will only show the\n   tasks that I am running, excluding other users, root, etc.\n\n - Jump label restructurings and improvements - this includes the\n   factoring out of the (hopefully much clearer) include/linux/static_key.h\n   generic facility:\n\n\tstruct static_key key \u003d STATIC_KEY_INIT_FALSE;\n\n\t...\n\n\tif (static_key_false(\u0026key))\n\t        do unlikely code\n\telse\n\t        do likely code\n\n\t...\n\tstatic_key_slow_inc();\n\t...\n\tstatic_key_slow_inc();\n\t...\n\n   The static_key_false() branch will be generated into the code with as\n   little impact to the likely code path as possible.  the\n   static_key_slow_*() APIs flip the branch via live kernel code patching.\n\n   This facility can now be used more widely within the kernel to\n   micro-optimize hot branches whose likelihood matches the static-key\n   usage and fast/slow cost patterns.\n\n - SW function tracer improvements: perf support and filtering support.\n\n - Various hardenings of the perf.data ABI, to make older perf.data\u0027s\n   smoother on newer tool versions, to make new features integrate more\n   smoothly, to support cross-endian recording/analyzing workflows\n   better, etc.\n\n - Restructuring of the kprobes code, the splitting out of \u0027optprobes\u0027,\n   and a corner case bugfix.\n\n - Allow the tracing of kernel console output (printk).\n\n - Improvements/fixes to user-space RDPMC support, allowing user-space\n   self-profiling code to extract PMU counts without performing any\n   system calls, while playing nice with the kernel side.\n\n - \u0027perf bench\u0027 improvements\n\n - ... and lots of internal restructurings, cleanups and fixes that made\n   these features possible.  And, as usual this list is incomplete as\n   there were also lots of other improvements\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (120 commits)\n  perf report: Fix annotate double quit issue in branch view mode\n  perf report: Remove duplicate annotate choice in branch view mode\n  perf/x86: Prettify pmu config literals\n  perf report: Enable TUI in branch view mode\n  perf report: Auto-detect branch stack sampling mode\n  perf record: Add HEADER_BRANCH_STACK tag\n  perf record: Provide default branch stack sampling mode option\n  perf tools: Make perf able to read files from older ABIs\n  perf tools: Fix ABI compatibility bug in print_event_desc()\n  perf tools: Enable reading of perf.data files from different ABI rev\n  perf: Add ABI reference sizes\n  perf report: Add support for taken branch sampling\n  perf record: Add support for sampling taken branch\n  perf tools: Add code to support PERF_SAMPLE_BRANCH_STACK\n  x86/kprobes: Split out optprobe related code to kprobes-opt.c\n  x86/kprobes: Fix a bug which can modify kernel code permanently\n  x86/kprobes: Fix instruction recovery on optimized path\n  perf: Add callback to flush branch_stack on context switch\n  perf: Disable PERF_SAMPLE_BRANCH_* when not supported\n  perf/x86: Add LBR software filter support for Intel CPUs\n  ...\n"
    },
    {
      "commit": "5928a2b60cfdbad730f93696acab142d0b607280",
      "tree": "49bb21c9219673e61bad7a7c9202c7f25f5fe1be",
      "parents": [
        "5ed59af85077d28875a3a137b21933aaf1b4cd50",
        "bdd4431c8d071491a68a65d9457996f222b5ecd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 17:12:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU changes for v3.4 from Ingo Molnar.  The major features of this\nseries are:\n\n - making RCU more aggressive about entering dyntick-idle mode in order\n   to improve energy efficiency\n\n - converting a few more call_rcu()s to kfree_rcu()s\n\n - applying a number of rcutree fixes and cleanups to rcutiny\n\n - removing CONFIG_SMP #ifdefs from treercu\n\n - allowing RCU CPU stall times to be set via sysfs\n\n - adding CPU-stall capability to rcutorture\n\n - adding more RCU-abuse diagnostics\n\n - updating documentation\n\n - fixing yet more issues located by the still-ongoing top-to-bottom\n   inspection of RCU, this time with a special focus on the CPU-hotplug\n   code path.\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)\n  rcu: Stop spurious warnings from synchronize_sched_expedited\n  rcu: Hold off RCU_FAST_NO_HZ after timer posted\n  rcu: Eliminate softirq-mediated RCU_FAST_NO_HZ idle-entry loop\n  rcu: Add RCU_NONIDLE() for idle-loop RCU read-side critical sections\n  rcu: Allow nesting of rcu_idle_enter() and rcu_idle_exit()\n  rcu: Remove redundant check for rcu_head misalignment\n  PTR_ERR should be called before its argument is cleared.\n  rcu: Convert WARN_ON_ONCE() in rcu_lock_acquire() to lockdep\n  rcu: Trace only after NULL-pointer check\n  rcu: Call out dangers of expedited RCU primitives\n  rcu: Rework detection of use of RCU by offline CPUs\n  lockdep: Add CPU-idle/offline warning to lockdep-RCU splat\n  rcu: No interrupt disabling for rcu_prepare_for_idle()\n  rcu: Move synchronize_sched_expedited() to rcutree.c\n  rcu: Check for illegal use of RCU from offlined CPUs\n  rcu: Update stall-warning documentation\n  rcu: Add CPU-stall capability to rcutorture\n  rcu: Make documentation give more realistic rcutorture duration\n  rcutorture: Permit holding off CPU-hotplug operations during boot\n  rcu: Print scheduling-clock information on RCU CPU stall-warning messages\n  ...\n"
    },
    {
      "commit": "c8628155ece363487b57d33441ea0359018c0fa7",
      "tree": "a3a4e89d3f66208f4145bb2ed401e464474a8d9f",
      "parents": [
        "e86b291962cbf477e35d983d312428cf737bc0f8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Mar 18 11:07:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 19 16:53:08 2012 -0400"
      },
      "message": "tcp: reduce out_of_order memory use\n\nWith increasing receive window sizes, but speed of light not improved\nthat much, out of order queue can contain a huge number of skbs, waiting\nto be moved to receive_queue when missing packets can fill the holes.\n\nSome devices happen to use fat skbs (truesize of 4096 + sizeof(struct\nsk_buff)) to store regular (MTU \u003c\u003d 1500) frames. This makes highly\nprobable sk_rmem_alloc hits sk_rcvbuf limit, which can be 4Mbytes in\nmany cases.\n\nWhen limit is hit, tcp stack calls tcp_collapse_ofo_queue(), a true\nlatency killer and cpu cache blower.\n\nDoing the coalescing attempt each time we add a frame in ofo queue\npermits to keep memory use tight and in many cases avoid the\ntcp_collapse() thing later.\n\nTested on various wireless setups (b43, ath9k, ...) known to use big skb\ntruesize, this patch removed the \"packets collapsed in receive queue due\nto low socket buffer\" I had before.\n\nThis also reduced average memory used by tcp sockets.\n\nWith help from Neal Cardwell.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: H.K. Jerry Chu \u003chkchu@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e86b291962cbf477e35d983d312428cf737bc0f8",
      "tree": "11520ec988be8644df08684004512c35881e21b5",
      "parents": [
        "de1288041d01120559d53ebd98e0f92476ee56d3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Mar 18 11:06:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 19 16:53:07 2012 -0400"
      },
      "message": "tcp: introduce tcp_data_queue_ofo\n\nSplit tcp_data_queue() in two parts for better readability.\n\ntcp_data_queue_ofo() is responsible for queueing incoming skb into out\nof order queue.\n\nChange code layout so that the skb_set_owner_r() is performed only if\nskb is not dropped.\n\nThis is a preliminary patch before \"reduce out_of_order memory use\"\nfollowing patch.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: H.K. Jerry Chu \u003chkchu@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4da0bd736552e6377b407b3c3d3ae518ebbdd269",
      "tree": "f0da9f843b8033565c3ca4103fccb17a60688326",
      "parents": [
        "81a430ac1b88b0702c57d2513e247317e810e04d",
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 18 23:29:41 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 18 23:29:41 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "124d37e9f088a8f56494b0264d63d22555f53fef",
      "tree": "372cf065963b109c0df78964ec196488a570eba5",
      "parents": [
        "1aa9bc5b2f4cf8c48944fb9a607bf1dd674e2c10"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Mar 15 05:25:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 16 23:00:20 2012 -0700"
      },
      "message": "arp: allow arp processing to honor per interface arp_accept sysctl\n\nI found recently that the arp_process function which handles all of our received\narp frames, is using IPV4_DEVCONF_ALL macro to check the state of the arp_process\nflag.  This seems wrong, as it implies that either none or all of the network\ninterfaces accept gratuitous arps.  This patch corrects that, allowing\nper-interface arp_accept configuration to deviate from the all setting.  Note\nthis also brings us into line with the way the arp_filter setting is handled\nduring arp_process execution.\n\nTested this myself on my home network, and confirmed it works as expected.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afd465030acb4098abcb6b965a5aebc7ea2209e0",
      "tree": "59c93e8eda99cd59339dfbb77f1d2c4f79c634ee",
      "parents": [
        "058bd4d2a4ff0aaa4a5381c67e776729d840c785"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Mar 12 07:03:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 17:05:21 2012 -0700"
      },
      "message": "net: ipv4: Standardize prefixes for message logging\n\nAdd #define pr_fmt(fmt) as appropriate.\n\nAdd \"IPv4: \", \"TCP: \", and \"IPsec: \" to appropriate files.\nStandardize on \"UDPLite: \" for appropriate uses.\nSome prefixes were previously \"UDPLITE: \" and \"UDP-Lite: \".\n\nAdd KBUILD_MODNAME \": \" to icmp and gre.\nRemove embedded prefixes as appropriate.\n\nAdd missing \"\\n\" to pr_info in gre.c.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35239e23c66f1614c76739b62a299c3c92d6eb68",
      "tree": "7b1e068df888ec9a00b43c1dd7517a6490da6a94",
      "parents": [
        "3f33ab1c0c741bfab2138c14ba1918a7905a1e8b",
        "87e24f4b67e68d9fd8df16e0bf9c66d1ad2a2533"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:07 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:11 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "058bd4d2a4ff0aaa4a5381c67e776729d840c785",
      "tree": "4d1ea864a8740676c7e7c5a03cdaa67fc5f29418",
      "parents": [
        "43db362d3adda9e0a915ddb9a8d1a41186e19179"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Mar 11 18:36:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 11 23:42:51 2012 -0700"
      },
      "message": "net: Convert printks to pr_\u003clevel\u003e\n\nUse a more current kernel messaging style.\n\nConvert a printk block to print_hex_dump.\nCoalesce formats, align arguments.\nUse %s, __func__ instead of embedding function names.\n\nSome messages that were prefixed with \u003cfoo\u003e_close are\nnow prefixed with \u003cfoo\u003e_fini.  Some ah4 and esp messages\nare now not prefixed with \"ip \".\n\nThe intent of this patch is to later add something like\n  #define pr_fmt(fmt) \"IPv4: \" fmt.\nto standardize the output messages.\n\nText size is trivially reduced. (x86-32 allyesconfig)\n\n$ size net/ipv4/built-in.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 887888\t  31558\t 249696\t1169142\t 11d6f6\tnet/ipv4/built-in.o.new\n 887934\t  31558\t 249800\t1169292\t 11d78c\tnet/ipv4/built-in.o.old\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dfd25ffffc132c00070eed64200e8950da5d7e9d",
      "tree": "fbce07add57f0ab7a16792b4af461d2f9e265fb6",
      "parents": [
        "4e50391968849860dff1aacde358b4eb14aa5127"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Mar 10 09:20:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 11 15:52:12 2012 -0700"
      },
      "message": "tcp: fix syncookie regression\n\ncommit ea4fc0d619 (ipv4: Don\u0027t use rt-\u003ert_{src,dst} in ip_queue_xmit())\nadded a serious regression on synflood handling.\n\nSimon Kirby discovered a successful connection was delayed by 20 seconds\nbefore being responsive.\n\nIn my tests, I discovered that xmit frames were lost, and needed ~4\nretransmits and a socket dst rebuild before being really sent.\n\nIn case of syncookie initiated connection, we use a different path to\ninitialize the socket dst, and inet-\u003ecork.fl.u.ip4 is left cleared.\n\nAs ip_queue_xmit() now depends on inet flow being setup, fix this by\ncopying the temp flowi4 we use in cookie_v4_check().\n\nReported-by: Simon Kirby \u003csim@netnation.com\u003e\nBisected-by: Simon Kirby \u003csim@netnation.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a91395f20119d696330e2604451614a64369d1b",
      "tree": "723ce2b36156eb078583f1892420b84eb338ed2f",
      "parents": [
        "ba57b4db2624793c6eb8f2c051c9f7b8a6e7b6a6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 20:48:08 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 14:34:50 2012 -0800"
      },
      "message": "ipv4: Make ip_rcv_options() return bool.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba57b4db2624793c6eb8f2c051c9f7b8a6e7b6a6",
      "tree": "67823715c9c24e2fd0bfa2bb7393d3e0e08eadb1",
      "parents": [
        "b2d3298e0916fa059712691c85a0e97becc4ab9f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 20:45:32 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 14:34:50 2012 -0800"
      },
      "message": "ipv4: Make ip_call_ra_chain() return bool.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2d3298e0916fa059712691c85a0e97becc4ab9f",
      "tree": "c7d5ea46a9dbf9cebdb122df4aaf0beda6e7621e",
      "parents": [
        "1a0bdadb4e36abac63b0a9787f372aac30c11a9e",
        "a7f4255f906f60f72e00aad2fb000939449ff32e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 14:34:20 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 14:34:20 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "ac3f48de09d8f4b73397047e413fadff7f65cfa7",
      "tree": "ae13a0ca68397df2792e064b0877376d106a2030",
      "parents": [
        "5faa5df1fa2024bd750089ff21dcc4191798263d"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Mar 06 21:21:10 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 08 00:30:32 2012 -0800"
      },
      "message": "route: Remove redirect_genid\n\nAs we invalidate the inetpeer tree along with the routing cache now,\nwe don\u0027t need a genid to reset the redirect handling when the routing\ncache is flushed.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5faa5df1fa2024bd750089ff21dcc4191798263d",
      "tree": "a47a76a4bd9a3b61dcc2d2a34149e6ffecdf8cd8",
      "parents": [
        "dcf353b17007841f91e1735e33790508c84c9ad0"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Mar 06 21:20:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 08 00:30:24 2012 -0800"
      },
      "message": "inetpeer: Invalidate the inetpeer tree along with the routing cache\n\nWe initialize the routing metrics with the values cached on the\ninetpeer in rt_init_metrics(). So if we have the metrics cached on the\ninetpeer, we ignore the user configured fib_metrics.\n\nTo fix this issue, we replace the old tree with a fresh initialized\ninet_peer_base. The old tree is removed later with a delayed work queue.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c75a312d8b2c97943014261d71c6ef2622b6d0d9",
      "tree": "374a25ac277d787485dc9acf87710e28f50d52bb",
      "parents": [
        "b4fb05ea402cb6930b40d3152d8acabc391b23e2",
        "ace30d73ef09fd5f95b24c5c1c5aa11963981494"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 22:27:56 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 22:27:56 2012 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net-next\n"
    },
    {
      "commit": "b4fb05ea402cb6930b40d3152d8acabc391b23e2",
      "tree": "6d8e347a2a10fe9a260c322409e793796ba5ce57",
      "parents": [
        "ae5d33723e325392c48bc0ff481d9ec8d646a0ed"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Mar 07 04:45:43 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 15:13:42 2012 -0500"
      },
      "message": "tcp: md5: correct a RCU lockdep splat\n\ncommit a8afca0329 (tcp: md5: protects md5sig_info with RCU) added a\nlockdep splat in tcp_md5_do_lookup() in case a timer fires a tcp\nretransmit.\n\nAt this point, socket lock is owned by the sofirq handler, not the user,\nso we should adjust a bit the lockdep condition, as we dont hold\nrcu_read_lock().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50978462300f74dc48aea4a38471cb69bdf741a5",
      "tree": "0d63f721f996d4c4a4e37cd08df949e25d4c980e",
      "parents": [
        "2c8503f55fbdfbeff4164f133df804cf4d316290"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 28 19:13:48 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Mar 07 17:41:22 2012 +0100"
      },
      "message": "netfilter: add cttimeout infrastructure for fine timeout tuning\n\nThis patch adds the infrastructure to add fine timeout tuning\nover nfnetlink. Now you can use the NFNL_SUBSYS_CTNETLINK_TIMEOUT\nsubsystem to create/delete/dump timeout objects that contain some\nspecific timeout policy for one flow.\n\nThe follow up patches will allow you attach timeout policy object\nto conntrack via the CT target and the conntrack extension\ninfrastructure.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "2c8503f55fbdfbeff4164f133df804cf4d316290",
      "tree": "fe491bc79fd59aa4b8b99ea63d13e62b6a2ef1cb",
      "parents": [
        "b888341c7f33035694f70428d7001d73f0b2a3b1"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 28 18:23:31 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Mar 07 17:41:19 2012 +0100"
      },
      "message": "netfilter: nf_conntrack: pass timeout array to l4-\u003enew and l4-\u003epacket\n\nThis patch defines a new interface for l4 protocol trackers:\n\nunsigned int *(*get_timeouts)(struct net *net);\n\nthat is used to return the array of unsigned int that contains\nthe timeouts that will be applied for this flow. This is passed\nto the l4proto-\u003enew(...) and l4proto-\u003epacket(...) functions to\nspecify the timeout policy.\n\nThis interface allows per-net global timeout configuration\n(although only DCCP supports this by now) and it will allow\ncustom custom timeout configuration by means of follow-up\npatches.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "6939c33a757bd006c5e0b8b5fd429fc587a4d0f4",
      "tree": "c635fa7ceeb8a1a80540b45cf9e059ccb98ecdb1",
      "parents": [
        "544d5c7d9f4d1ec4f170bc5bcc522012cb7704bc"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Fri Feb 10 23:10:52 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Mar 07 17:40:49 2012 +0100"
      },
      "message": "netfilter: merge ipt_LOG and ip6_LOG into xt_LOG\n\nipt_LOG and ip6_LOG have a lot of common code, merge them\nto reduce duplicate code.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "544d5c7d9f4d1ec4f170bc5bcc522012cb7704bc",
      "tree": "d7e4eff56efb23801a5ad0e4720efe13c68672ca",
      "parents": [
        "076a0ca02644657b13e4af363f487ced2942e9cb"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sun Feb 05 03:44:51 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Mar 07 17:40:46 2012 +0100"
      },
      "message": "netfilter: ctnetlink: allow to set expectfn for expectations\n\nThis patch allows you to set expectfn which is specifically used\nby the NAT side of most of the existing conntrack helpers.\n\nI have added a symbol map that uses a string as key to look up for\nthe function that is attached to the expectation object. This is\nthe best solution I came out with to solve this issue.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "4648dc97af9d496218a05353b0e442b3dfa6aaab",
      "tree": "23de76651009140a71bd3eead8a366b25eb53e47",
      "parents": [
        "5cb917bc4f3882ecee87064483111023086757d3"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Mon Mar 05 19:35:04 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 06 14:43:49 2012 -0500"
      },
      "message": "tcp: fix tcp_shift_skb_data() to not shift SACKed data below snd_una\n\nThis commit fixes tcp_shift_skb_data() so that it does not shift\nSACKed data below snd_una.\n\nThis fixes an issue whose symptoms exactly match reports showing\ntp-\u003esacked_out going negative since 3.3.0-rc4 (see \"WARNING: at\nnet/ipv4/tcp_input.c:3418\" thread on netdev).\n\nSince 2008 (832d11c5cd076abc0aa1eaf7be96c81d1a59ce41)\ntcp_shift_skb_data() had been shifting SACKed ranges that were below\nsnd_una. It checked that the *end* of the skb it was about to shift\nfrom was above snd_una, but did not check that the end of the actual\nshifted range was above snd_una; this commit adds that check.\n\nShifting SACKed ranges below snd_una is problematic because for such\nranges tcp_sacktag_one() short-circuits: it does not declare anything\nas SACKed and does not increase sacked_out.\n\nBefore the fixes in commits cc9a672ee522d4805495b98680f4a3db5d0a0af9\nand daef52bab1fd26e24e8e9578f8fb33ba1d0cb412, shifting SACKed ranges\nbelow snd_una happened to work because tcp_shifted_skb() was always\n(incorrectly) passing in to tcp_sacktag_one() an skb whose end_seq\ntcp_shift_skb_data() had already guaranteed was beyond snd_una. Hence\ntcp_sacktag_one() never short-circuited and always increased\ntp-\u003esacked_out in this case.\n\nAfter those two fixes, my testing has verified that shifting SACKed\nranges below snd_una could cause tp-\u003esacked_out to go negative with\nthe following sequence of events:\n\n(1) tcp_shift_skb_data() sees an skb whose end_seq is beyond snd_una,\n    then shifts a prefix of that skb that is below snd_una\n\n(2) tcp_shifted_skb() increments the packet count of the\n    already-SACKed prev sk_buff\n\n(3) tcp_sacktag_one() sees the end of the new SACKed range is below\n    snd_una, so it short-circuits and doesn\u0027t increase tp-\u003esacked_out\n\n(5) tcp_clean_rtx_queue() sees the SACKed skb has been ACKed,\n    decrements tp-\u003esacked_out by this \"inflated\" pcount that was\n    missing a matching increase in tp-\u003esacked_out, and hence\n    tp-\u003esacked_out underflows to a u32 like 0xFFFFFFFF, which casted\n    to s32 is negative.\n\n(6) this leads to the warnings seen in the recent \"WARNING: at\n    net/ipv4/tcp_input.c:3418\" thread on the netdev list; e.g.:\n    tcp_input.c:3418  WARN_ON((int)tp-\u003esacked_out \u003c 0);\n\nMore generally, I think this bug can be tickled in some cases where\ntwo or more ACKs from the receiver are lost and then a DSACK arrives\nthat is immediately above an existing SACKed skb in the write queue.\n\nThis fix changes tcp_shift_skb_data() to abort this sequence at step\n(1) in the scenario above by noticing that the bytes are below snd_una\nand not shifting them.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6a1ad4295f9291038380178d09978caf6982dd8",
      "tree": "7c35e8efe1812baca9c6b9674be1ee02a0495ec3",
      "parents": [
        "036dafa28da1e2565a8529de2ae663c37b7a0060",
        "f3969bf78f140f437f51787dfc2751943ba454d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 05 21:16:26 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 05 21:16:26 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/vmxnet3/vmxnet3_drv.c\n\nSmall vmxnet3 conflict with header size bug fix in \u0027net\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "737f24bda723fdf89ecaacb99fa2bf5683c32799",
      "tree": "35495fff3e9956679cb5468e74e6814c8e44ee66",
      "parents": [
        "8eedce996556d7d06522cd3a0e6069141c8dffe0",
        "b7c924274c456499264d1cfa3d44063bb11eb5db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/builtin-record.c\n\ttools/perf/builtin-top.c\n\ttools/perf/perf.h\n\ttools/perf/util/top.h\n\nMerge reason: resolve these cherry-picking conflicts.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c0638c247f559e1a16ee79e54df14bca2cb679ea",
      "tree": "5ad6fbbc412db40d4772d3d6473b8eb54800dbbd",
      "parents": [
        "9c5028e9da1255dd2b99762d8627b88b29f68cce"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Fri Mar 02 21:36:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 03 14:57:59 2012 -0500"
      },
      "message": "tcp: don\u0027t fragment SACKed skbs in tcp_mark_head_lost()\n\nIn tcp_mark_head_lost() we should not attempt to fragment a SACKed skb\nto mark the first portion as lost. This is for two primary reasons:\n\n(1) tcp_shifted_skb() coalesces adjacent regions of SACKed skbs. When\ndoing this, it preserves the sum of their packet counts in order to\nreflect the real-world dynamics on the wire. But given that skbs can\nhave remainders that do not align to MSS boundaries, this packet count\npreservation means that for SACKed skbs there is not necessarily a\ndirect linear relationship between tcp_skb_pcount(skb) and\nskb-\u003elen. Thus tcp_mark_head_lost()\u0027s previous attempts to fragment\noff and mark as lost a prefix of length (packets - oldcnt)*mss from\nSACKed skbs were leading to occasional failures of the WARN_ON(len \u003e\nskb-\u003elen) in tcp_fragment() (which used to be a BUG_ON(); see the\nrecent \"crash in tcp_fragment\" thread on netdev).\n\n(2) there is no real point in fragmenting off part of a SACKed skb and\ncalling tcp_skb_mark_lost() on it, since tcp_skb_mark_lost() is a NOP\nfor SACKed skbs.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nAcked-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4017c5368f992fb8fb3a2545a0977082c6664e4",
      "tree": "b18fee77164297141c988965a9846225f8d8b3d3",
      "parents": [
        "97767a87f3be8834192dc3fc9412aaccf708d87f",
        "413708bbaf5c85c4c8a264145f7d6c3afcd97f99"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 17:57:40 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 17:57:40 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/broadcom/tg3.c\n\nConflicts in the statistics regression bug fix from \u0027net\u0027,\nbut happily Matt Carlson originally posted the fix against\n\u0027net-next\u0027 so I used that to resolve this.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c90d3b30334833450ccbb02f452d4972a3c3c3f",
      "tree": "36581d7c5fa05c1223e6116f981a5857a02dfb43",
      "parents": [
        "ecb971923614775a118bc05ad16b2bde450cac7d"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Sun Feb 26 10:06:19 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 28 15:06:46 2012 -0500"
      },
      "message": "tcp: fix false reordering signal in tcp_shifted_skb\n\nWhen tcp_shifted_skb() shifts bytes from the skb that is currently\npointed to by \u0027highest_sack\u0027 then the increment of\nTCP_SKB_CB(skb)-\u003eseq implicitly advances tcp_highest_sack_seq(). This\nimplicit advancement, combined with the recent fix to pass the correct\nSACKed range into tcp_sacktag_one(), caused tcp_sacktag_one() to think\nthat the newly SACKed range was before the tcp_highest_sack_seq(),\nleading to a call to tcp_update_reordering() with a degree of\nreordering matching the size of the newly SACKed range (typically just\n1 packet, which is a NOP, but potentially larger).\n\nThis commit fixes this by simply calling tcp_sacktag_one() before the\nTCP_SKB_CB(skb)-\u003eseq advancement that can advance our notion of the\nhighest SACKed sequence.\n\nCorrespondingly, we can simplify the code a little now that\ntcp_shifted_skb() should update the lost_cnt_hint in all cases where\nskb \u003d\u003d tp-\u003elost_skb_hint.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdd4431c8d071491a68a65d9457996f222b5ecd3",
      "tree": "9de69701cdba1dd28bcb804476bff07806f6d7a3",
      "parents": [
        "586c6e7013c8cbb8c91aaa6568ec349b1dc2c691",
        "1cc85961e214773cb7d7f2ccbe3bc644dd466df0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 10:16:01 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 10:16:10 2012 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu\n\nThe major features of this series are:\n\n - making RCU more aggressive about entering dyntick-idle mode in order to\n   improve energy efficiency\n\n - converting a few more call_rcu()s to kfree_rcu()s\n\n - applying a number of rcutree fixes and cleanups to rcutiny\n\n - removing CONFIG_SMP #ifdefs from treercu\n\n - allowing RCU CPU stall times to be set via sysfs\n\n - adding CPU-stall capability to rcutorture\n\n - adding more RCU-abuse diagnostics\n\n - updating documentation\n\n - fixing yet more issues located by the still-ongoing top-to-bottom\n   inspection of RCU, this time with a special focus on the\n   CPU-hotplug code path.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff4783ce78c08d2990126ce1874250ae8e72bbd2",
      "tree": "5c95885a4ab768101dd72942b57c238d452a7565",
      "parents": [
        "622121719934f60378279eb440d3cec2fc3176d2",
        "203738e548cefc3fc3c2f73a9063176c9f3583d5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 21:55:51 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 21:55:51 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/sfc/rx.c\n\nOverlapping changes in drivers/net/ethernet/sfc/rx.c, one to change\nthe rx_buf-\u003eis_page boolean into a set of u16 flags, and another to\nadjust how -\u003eip_summed is initialized.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "203738e548cefc3fc3c2f73a9063176c9f3583d5",
      "tree": "478ff8731ab81f6e35b2fe28ac466850c5f86f48",
      "parents": [
        "3c761ea05a8900a907f32b628611873f6bef24b2",
        "b072342e266bcac633a8412add1644a77968ce8a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 26 12:47:17 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 26 12:47:17 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n1) ICMP sockets leave err uninitialized but we try to return it for the\n   unsupported MSG_OOB case, reported by Dave Jones.\n\n2) Add new Zaurus device ID entries, from Dave Jones.\n\n3) Pointer calculation in hso driver memset is wrong, from Dan\n   Carpenter.\n\n4) ks8851_probe() checks unsigned value as negative, fix also from Dan\n   Carpenter.\n\n5) Fix crashes in atl1c driver due to TX queue handling, from Eric\n   Dumazet.  I anticipate some TX side locking fixes coming in the near\n   future for this driver as well.\n\n6) The inline directive fix in Bluetooth which was breaking the build\n   only with very new versions of GCC, from Johan Hedberg.\n\n7) Fix crashes in the ATP CLIP code due to ARP cleanups this merge\n   window, reported by Meelis Roos and fixed by Eric Dumazet.\n\n8) JME driver doesn\u0027t flush RX FIFO correctly, from Guo-Fu Tseng.\n\n9) Some ip6_route_output() callers test the return value for NULL, but\n   this never happens as the convention is to return a dst entry with\n   dst-\u003eerror set.  Fixes from RonQing Li.\n\n10) Logitech Harmony 900 should be handled by zaurus driver not\n   cdc_ether, update white lists and black lists accordingly.  From\n   Scott Talbert.\n\n11) Receiving from certain kinds of devices there won\u0027t be a MAC header,\n   so there is no MAC header to fixup in the IPSEC code, and if we try\n   to do it we\u0027ll crash.  Fix from Eric Dumazet.\n\n12) Port type array indexing off-by-one in mlx4 driver, fix from Yevgeny\n   Petrilin.\n\n13) Fix regression in link-down handling in davinci_emac which causes\n   all RX descriptors to be freed up and therefore RX to wedge\n   completely, from Christian Riesch.\n\n14) It took two attempts, but ctnetlink soft lockups seem to be\n   cured now, from Pablo Neira Ayuso.\n\n15) Endianness bug fix in ENIC driver, from Santosh Nayak.\n\n16) The long ago conversion of the PPP fragmentation code over to\n   abstracted SKB list handling wasn\u0027t perfect, once we get an\n   out of sequence SKB we don\u0027t flush the rest of them like we\n   should.  From Ben McKeegan.\n\n17) Fix regression of -\u003eip_summed initialization in sfc driver.\n   From Ben Hutchings.\n\n18) Bluetooth timeout mistakenly using msecs instead of jiffies,\n   from Andrzej Kaczmarek.\n\n19) Using _sync variant of work cancellation results in deadlocks,\n   use the non _sync variants instead.  From Andre Guedes.\n\n20) Bluetooth rfcomm code had reference counting problems leading\n   to crashes, fix from Octavian Purdila.\n\n21) The conversion of netem over to classful qdisc handling added\n   two bugs to netem_dequeue(), fixes from Eric Dumazet.\n\n22) Missing pci_iounmap() in ATM Solos driver.  Fix from Julia Lawall.\n\n23) b44_pci_exit() should not have __exit tag since it\u0027s invoked from\n   non-__exit code.  From Nikola Pajkovsky.\n\n24) The conversion of the neighbour hash tables over to RCU added a\n   race, fixed here by adding the necessary reread of tbl-\u003enht, fix\n   from Michel Machado.\n\n25) When we added VF (virtual function) attributes for network device\n   dumps, this potentially bloats up the size of the dump of one\n   network device such that the dump size is too large for the buffer\n   allocated by properly written netlink applications.\n\n   In particular, if you add 255 VFs to a network device, parts of\n   GLIBC stop working.\n\n   To fix this, we add an attribute that is used to turn on these\n   extended portions of the network device dump.  Sophisticaed\n   applications like \u0027ip\u0027 that want to see this stuff  will be changed\n   to set the attribute, whereas things like GLIBC that don\u0027t care\n   about VFs simply will not, and therefore won\u0027t be busted by the\n   mere presence of VFs on a network device.\n\n   Thanks to the tireless work of Greg Rose on this fix.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (53 commits)\n  sfc: Fix assignment of ip_summed for pre-allocated skbs\n  ppp: fix \u0027ppp_mp_reconstruct bad seq\u0027 errors\n  enic: Fix endianness bug.\n  gre: fix spelling in comments\n  netfilter: ctnetlink: fix soft lockup when netlink adds new entries (v2)\n  Revert \"netfilter: ctnetlink: fix soft lockup when netlink adds new entries\"\n  davinci_emac: Do not free all rx dma descriptors during init\n  mlx4_core: Fixing array indexes when setting port types\n  phy: IC+101G and PHY_HAS_INTERRUPT flag\n  netdev/phy/icplus: Correct broken phy_init code\n  ipsec: be careful of non existing mac headers\n  Move Logitech Harmony 900 from cdc_ether to zaurus\n  hso: memsetting wrong data in hso_get_count()\n  netfilter: ip6_route_output() never returns NULL.\n  ethernet/broadcom: ip6_route_output() never returns NULL.\n  ipv6: ip6_route_output() never returns NULL.\n  jme: Fix FIFO flush issue\n  atm: clip: remove clip_tbl\n  ipv4: ping: Fix recvmsg MSG_OOB error handling.\n  rtnetlink: Fix problem with buffer allocation\n  ...\n"
    },
    {
      "commit": "80d326fab534a5380e8f6e509a0b9076655a9670",
      "tree": "57c636de934b3f8abb7db9bcde64360ecc4eaf66",
      "parents": [
        "48e316bc2e045206248c6c75c0d5bbc0c9ddc32c"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Feb 24 14:30:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 14:10:06 2012 -0500"
      },
      "message": "netlink: add netlink_dump_control structure for netlink_dump_start()\n\nDavem considers that the argument list of this interface is getting\nout of control. This patch tries to address this issue following\nhis proposal:\n\nstruct netlink_dump_control c \u003d { .dump \u003d dump, .done \u003d done, ... };\n\nnetlink_dump_start(..., \u0026c);\n\nSuggested by David S. Miller.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bff528578fc3c4a14227b052a313109b5ffb73da",
      "tree": "3a8a383ac300e6d864524bd20c248132bb3eb798",
      "parents": [
        "5d69703263d588dbb03f4e57091afd8942d96e6d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Feb 24 08:08:20 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 24 17:41:11 2012 -0500"
      },
      "message": "gre: fix spelling in comments\n\nThe original spelling and bad word choice makes these comments hard to read.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5905afb0ee6550b42c49213da1c22d67316c194",
      "tree": "253fdb322e6e5b257ffda3b9b66bce90a473a6f7",
      "parents": [
        "1cfa60dc7d7c7cc774a44eee47ff135a644a1f31"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 24 08:31:31 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 24 10:05:59 2012 +0100"
      },
      "message": "static keys: Introduce \u0027struct static_key\u0027, static_key_true()/false() and static_key_slow_[inc|dec]()\n\nSo here\u0027s a boot tested patch on top of Jason\u0027s series that does\nall the cleanups I talked about and turns jump labels into a\nmore intuitive to use facility. It should also address the\nvarious misconceptions and confusions that surround jump labels.\n\nTypical usage scenarios:\n\n        #include \u003clinux/static_key.h\u003e\n\n        struct static_key key \u003d STATIC_KEY_INIT_TRUE;\n\n        if (static_key_false(\u0026key))\n                do unlikely code\n        else\n                do likely code\n\nOr:\n\n        if (static_key_true(\u0026key))\n                do likely code\n        else\n                do unlikely code\n\nThe static key is modified via:\n\n        static_key_slow_inc(\u0026key);\n        ...\n        static_key_slow_dec(\u0026key);\n\nThe \u0027slow\u0027 prefix makes it abundantly clear that this is an\nexpensive operation.\n\nI\u0027ve updated all in-kernel code to use this everywhere. Note\nthat I (intentionally) have not pushed through the rename\nblindly through to the lowest levels: the actual jump-label\npatching arch facility should be named like that, so we want to\ndecouple jump labels from the static-key facility a bit.\n\nOn non-jump-label enabled architectures static keys default to\nlikely()/unlikely() branches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: a.p.zijlstra@chello.nl\nCc: mathieu.desnoyers@efficios.com\nCc: davem@davemloft.net\nCc: ddaney.cavm@gmail.com\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20120222085809.GA26397@elte.hu\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03606895cd98c0a628b17324fd7b5ff15db7e3cd",
      "tree": "26aab95243f23a5d0cff45ee0d6afd1608afe5df",
      "parents": [
        "4a2258ddddefeef3291c0fc66437c73d84261a1e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Feb 23 10:55:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 23 16:50:45 2012 -0500"
      },
      "message": "ipsec: be careful of non existing mac headers\n\nNiccolo Belli reported ipsec crashes in case we handle a frame without\nmac header (atm in his case)\n\nBefore copying mac header, better make sure it is present.\n\nBugzilla reference:  https://bugzilla.kernel.org/show_bug.cgi?id\u003d42809\n\nReported-by: Niccolò Belli \u003cdarkbasic@linuxsystems.it\u003e\nTested-by: Niccolò Belli \u003cdarkbasic@linuxsystems.it\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5e7424d424f6398a198ead79d99e0a3c2f24ce8",
      "tree": "2fc4ba0c2664cefb38f47c372260ee379d0e2f79",
      "parents": [
        "115c9b81928360d769a76c632bae62d15206a94a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 17:59:19 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 17:59:19 2012 -0500"
      },
      "message": "ipv4: ping: Fix recvmsg MSG_OOB error handling.\n\nDon\u0027t return an uninitialized variable as the error, return\n-EOPNOTSUPP instead.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f518bf745cbd6007d8069100fb9cb09e960c872",
      "tree": "debbe9e9340d46080f1b82e4149a2427545c4aef",
      "parents": [
        "4934b0329f7150dcb5f90506860e2db32274c755"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Feb 21 07:30:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 21 14:58:57 2012 -0500"
      },
      "message": "datagram: Add offset argument to __skb_recv_datagram\n\nThis one is only considered for MSG_PEEK flag and the value pointed by\nit specifies where to start peeking bytes from. If the offset happens to\npoint into the middle of the returned skb, the offset within this skb is\nput back to this very argument.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "605b4afec8e51d0603089eac01a3ca9dd919e909",
      "tree": "7b57719cd58c9cbce4294eaa7c58afb09fce3829",
      "parents": [
        "4f9c8c1b091628a550b70ee51d7d729187f5c290"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 17:08:33 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:32 2012 -0800"
      },
      "message": "ipv4: Convert call_rcu() to kfree_rcu(), drop opt_kfree_rcu\n\nThe call_rcu() in do_ip_setsockopt() invokes opt_kfree_rcu(), which just\ncalls kfree().  So convert the call_rcu() to kfree_rcu(), which allows\nopt_kfree_rcu() to be eliminated.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: netdev@vger.kernel.org\n"
    },
    {
      "commit": "4f9c8c1b091628a550b70ee51d7d729187f5c290",
      "tree": "2ce74534f850815825cd047882a166d17e82f028",
      "parents": [
        "a6c76da8f8b4549ccec7425ba94d8395d68a2e56"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 17:06:11 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:31 2012 -0800"
      },
      "message": "ipv4: Convert call_rcu() to kfree_rcu(), drop opt_kfree_rcu()\n\nBecause opt_kfree_rcu() just calls kfree(), all call_rcu() uses of it\nmay be converted to kfree_rcu().  This permits opt_kfree_rcu() to\nbe eliminated.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: netdev@vger.kernel.org\n"
    },
    {
      "commit": "8ebbfb49574818f07a25bc119b1bbdf1c2853a39",
      "tree": "e7b1ea6c6a3ea522654c685f2f0c9f41466fdcf9",
      "parents": [
        "39e255dab5a993cbebb35598015da1d4a0eb3727",
        "847c9db5cb50841589b8ebd3da0769b1b02fb3b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 20 16:13:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 20 16:13:58 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nAssorted fixes, sat in -next for a week or so...\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  ocfs2: deal with wraparounds of i_nlink in ocfs2_rename()\n  vfs: fix compat_sys_stat() handling of overflows in st_nlink\n  quota: Fix deadlock with suspend and quotas\n  vfs: Provide function to get superblock and wait for it to thaw\n  vfs: fix panic in __d_lookup() with high dentry hashtable counts\n  autofs4 - fix lockdep splat in autofs\n  vfs: fix d_inode_lookup() dentry ref leak\n"
    },
    {
      "commit": "32efe08d77f5902ce7315fc9003c010ffffb8268",
      "tree": "40a88e6bae4e797cafce33f16a25e350c038f9bb",
      "parents": [
        "da1943164677ae2cdd630196b79089d476726348",
        "b01543dfe67bb1d191998e90d20534dc354de059"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 19 16:03:15 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 19 16:03:15 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c\n\nSmall minor conflict in bnx2x, wherein one commit changed how\nstatistics were stored in software, and another commit\nfixed endianness bugs wrt. reading the values provided by\nthe chip in memory.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80703d265b7e8a801560d907b1bfe340e574dbca",
      "tree": "4259c2f99614735f5048ebc1f339a0ba20735d6d",
      "parents": [
        "4c5e40366a8879a3fda6a22a4b65c02ef20a08c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 17:48:35 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 17:48:35 2012 -0500"
      },
      "message": "ipv4: Eliminate spurious argument to __ipv4_neigh_lookup\n\n\u0027tbl\u0027 is always arp_tbl, so specifying it is pointless.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2cedb63df14342ad40a8b5b324fc5d94a60b665",
      "tree": "bebdbe0f98c216e59849bc3adb85f8abf5aadc2b",
      "parents": [
        "a1e785e02bb53573443c7e58a444cef1a049f6ce"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Wed Feb 15 06:45:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 15:34:16 2012 -0500"
      },
      "message": "net: replace random_ether_addr() with eth_hw_addr_random()\n\nReplace usage of random_ether_addr() with eth_hw_addr_random()\nto set addr_assign_type correctly to NET_ADDR_RANDOM.\n\nChange the trivial cases.\n\nv2: adapt to renamed eth_hw_addr_random()\n\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0af2a0d0576205dda778d25c6c344fc6508fc81d",
      "tree": "3f3b3d70ed8d614c2b64ddeaaac27f526e844497",
      "parents": [
        "fbcf88b8833ce2c404b9a0e7caab82b20312cbbc"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Mon Feb 13 20:22:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 14 14:38:57 2012 -0500"
      },
      "message": "tcp: fix tcp_shifted_skb() adjustment of lost_cnt_hint for FACK\n\nThis commit ensures that lost_cnt_hint is correctly updated in\ntcp_shifted_skb() for FACK TCP senders. The lost_cnt_hint adjustment\nin tcp_sacktag_one() only applies to non-FACK senders, so FACK senders\nneed their own adjustment.\n\nThis applies the spirit of 1e5289e121372a3494402b1b131b41bfe1cf9b7f -\nexcept now that the sequence range passed into tcp_sacktag_one() is\ncorrect we need only have a special case adjustment for FACK.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "074b85175a43a23fdbde60f55feea636e0bf0f85",
      "tree": "e6f6fdd82854b2bf25ea5b404cee010806a8fced",
      "parents": [
        "1d6f2097865e64963e90cce04980dce2f9fc023f"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Wed Feb 08 12:39:07 2012 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Feb 13 20:45:38 2012 -0500"
      },
      "message": "vfs: fix panic in __d_lookup() with high dentry hashtable counts\n\nWhen the number of dentry cache hash table entries gets too high\n(2147483648 entries), as happens by default on a 16TB system, use of a\nsigned integer in the dcache_init() initialization loop prevents the\ndentry_hashtable from getting initialized, causing a panic in\n__d_lookup().  Fix this in dcache_init() and similar areas.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "daef52bab1fd26e24e8e9578f8fb33ba1d0cb412",
      "tree": "93c2cb04a8861280aefcb94961e81e4d5a580095",
      "parents": [
        "cc9a672ee522d4805495b98680f4a3db5d0a0af9"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Sun Feb 12 18:37:10 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 13 01:00:22 2012 -0500"
      },
      "message": "tcp: fix range tcp_shifted_skb() passes to tcp_sacktag_one()\n\nFix the newly-SACKed range to be the range of newly-shifted bytes.\n\nPreviously - since 832d11c5cd076abc0aa1eaf7be96c81d1a59ce41 -\ntcp_shifted_skb() incorrectly called tcp_sacktag_one() with the start\nand end sequence numbers of the skb it passes in set to the range just\nbeyond the range that is newly-SACKed.\n\nThis commit also removes a special-case adjustment to lost_cnt_hint in\ntcp_shifted_skb() since the pre-existing adjustment of lost_cnt_hint\nin tcp_sacktag_one() now properly handles this things now that the\ncorrect start sequence number is passed in.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc9a672ee522d4805495b98680f4a3db5d0a0af9",
      "tree": "391c58df73783b8b662f638e14e1f48aa83578e4",
      "parents": [
        "8df54d622a120058ee8bec38743c9b8f091c8e58"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Sun Feb 12 18:37:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 13 01:00:21 2012 -0500"
      },
      "message": "tcp: allow tcp_sacktag_one() to tag ranges not aligned with skbs\n\nThis commit allows callers of tcp_sacktag_one() to pass in sequence\nranges that do not align with skb boundaries, as tcp_shifted_skb()\nneeds to do in an upcoming fix in this patch series.\n\nIn fact, now tcp_sacktag_one() does not need to depend on an input skb\nat all, which makes its semantics and dependencies more clear.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c507d2897bd9be810b3403ade73b04cf6fdfd4a",
      "tree": "dfd808407a0f800195e994bb2cfc401fae23295e",
      "parents": [
        "7a3198a89722ad9521d22b05938d357eac7460fa"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@redhat.com",
        "time": "Thu Feb 09 09:35:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 13 00:46:41 2012 -0500"
      },
      "message": "net: implement IP_RECVTOS for IP_PKTOPTIONS\n\nCurrently, it is not easily possible to get TOS/DSCP value of packets from\nan incoming TCP stream. The mechanism is there, IP_PKTOPTIONS getsockopt\nwith IP_RECVTOS set, the same way as incoming TTL can be queried. This is\nnot actually implemented for TOS, though.\n\nThis patch adds this functionality, both for IPv4 (IP_PKTOPTIONS) and IPv6\n(IPV6_2292PKTOPTIONS). For IPv4, like in the IP_RECVTTL case, the value of\nthe TOS field is stored from the other party\u0027s ACK.\n\nThis is needed for proxies which require DSCP transparency. One such example\nis at http://zph.bratcheda.org/.\n\nSigned-off-by: Jiri Benc \u003cjbenc@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5ef8a4d87ab21d575ac86366599c9152a28028d",
      "tree": "8b1be85ad1af7ee6a0e3e36c77ae738c966c1f21",
      "parents": [
        "d9dd966d7fc088a6bed991c2b1e2fba4485e0a31",
        "8df54d622a120058ee8bec38743c9b8f091c8e58"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 23:32:28 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 23:32:28 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/infiniband/hw/nes/nes_cm.c\n\nSimple whitespace conflict.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70620c46ac2b45c24b0f22002fdf5ddd1f7daf81",
      "tree": "1ca143be17f6c1e78b7740c5bb2a4a12b0d059a2",
      "parents": [
        "5dc7883f2a7c25f8df40d7479687153558cd531b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Feb 10 04:07:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 15:13:36 2012 -0500"
      },
      "message": "net: Don\u0027t proxy arp respond if iif \u003d\u003d rt-\u003edst.dev if private VLAN is disabled\n\nCommit 653241 (net: RFC3069, private VLAN proxy arp support) changed\nthe behavior of arp proxy to send arp replies back out on the interface\nthe request came in even if the private VLAN feature is disabled.\n\nPreviously we checked rt-\u003edst.dev !\u003d skb-\u003edev for in scenarios, when\nproxy arp is enabled on for the netdevice and also when individual proxy\nneighbour entries have been added.\n\nThis patch adds the check back for the pneigh_lookup() scenario.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nAcked-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dc7883f2a7c25f8df40d7479687153558cd531b",
      "tree": "8f105bb70f72675e6bc4e2bc7516856fb21e24c0",
      "parents": [
        "2b73bc65e2771372c818db7955709c8caedbf8b9"
      ],
      "author": {
        "name": "Li Wei",
        "email": "lw@cn.fujitsu.com",
        "time": "Thu Feb 09 21:15:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 15:12:12 2012 -0500"
      },
      "message": "ipv4: Fix wrong order of ip_rt_get_source() and update iph-\u003edaddr.\n\nThis patch fix a bug which introduced by commit ac8a4810 (ipv4: Save\nnexthop address of LSRR/SSRR option to IPCB.).In that patch, we saved\nthe nexthop of SRR in ip_option-\u003enexthop and update iph-\u003edaddr until\nwe get to ip_forward_options(), but we need to update it before\nip_rt_get_source(), otherwise we may get a wrong src.\n\nSigned-off-by: Li Wei \u003clw@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76e21053b5bf33a07c76f99d27a74238310e3c71",
      "tree": "70ac2a67be8f19da96896950447567e156975149",
      "parents": [
        "43480aecb1f538d4f6dd8b2c5d2b71fb98659072"
      ],
      "author": {
        "name": "Erich E. Hoover",
        "email": "ehoover@mines.edu",
        "time": "Wed Feb 08 09:11:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 08 15:52:45 2012 -0500"
      },
      "message": "ipv4: Implement IP_UNICAST_IF socket option.\n\nThe IP_UNICAST_IF feature is needed by the Wine project.  This patch\nimplements the feature by setting the outgoing interface in a similar\nfashion to that of IP_MULTICAST_IF.  A separate option is needed to\nhandle this feature since the existing options do not provide all of\nthe characteristics required by IP_UNICAST_IF, a summary is provided\nbelow.\n\nSO_BINDTODEVICE:\n* SO_BINDTODEVICE requires administrative privileges, IP_UNICAST_IF\ndoes not.  From reading some old mailing list articles my\nunderstanding is that SO_BINDTODEVICE requires administrative\nprivileges because it can override the administrator\u0027s routing\nsettings.\n* The SO_BINDTODEVICE option restricts both outbound and inbound\ntraffic, IP_UNICAST_IF only impacts outbound traffic.\n\nIP_PKTINFO:\n* Since IP_PKTINFO and IP_UNICAST_IF are independent options,\nimplementing IP_UNICAST_IF with IP_PKTINFO will likely break some\napplications.\n* Implementing IP_UNICAST_IF on top of IP_PKTINFO significantly\ncomplicates the Wine codebase and reduces the socket performance\n(doing this requires a lot of extra communication between the\n\"server\" and \"user\" layers).\n\nbind():\n* bind() does not work on broadcast packets, IP_UNICAST_IF is\nspecifically intended to work with broadcast packets.\n* Like SO_BINDTODEVICE, bind() restricts both outbound and inbound\ntraffic.\n\nSigned-off-by: Erich E. Hoover \u003cehoover@mines.edu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d25886ee2fbc05a7bf4dae5f5ae345cb73df2fd",
      "tree": "a474640348866b4b7f7ba14bb52978f5963191c0",
      "parents": [
        "3f61cd879c2f112c468e8849949b6fc88c739679"
      ],
      "author": {
        "name": "Anisse Astier",
        "email": "anisse@astier.eu",
        "time": "Tue Feb 07 07:39:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 07 13:35:28 2012 -0500"
      },
      "message": "net: Fix build regression when INET_UDP_DIAG\u003dy and IPV6\u003dm\n\nTested-by: Anisse Astier \u003canisse@astier.eu\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2446eaab5585555a38ea0df4e01ff313dbb4ac9",
      "tree": "58bf7212d6bebd30ec6477f84440cbbd8dbb3bb1",
      "parents": [
        "5962b35c1de3254a2f03b95efd3b7854b874d7b7"
      ],
      "author": {
        "name": "Shawn Lu",
        "email": "shawn.lu@ericsson.com",
        "time": "Sat Feb 04 12:38:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 04 18:20:05 2012 -0500"
      },
      "message": "tcp_v4_send_reset: binding oif to iif in no sock case\n\nBinding RST packet outgoing interface to incoming interface\nfor tcp v4 when there is no socket associate with it.\nwhen sk is not NULL, using sk-\u003esk_bound_dev_if instead.\n(suggested by Eric Dumazet).\n\nThis has few benefits:\n1. tcp_v6_send_reset already did that.\n2. This helps tcp connect with SO_BINDTODEVICE set. When\nconnection is lost, we still able to sending out RST using\nsame interface.\n3. we are sending reply, it is most likely to be succeed\nif iif is used\n\nSigned-off-by: Shawn Lu \u003cshawn.lu@ericsson.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd48dc34fe7639a8b2e22d8b609672f5f81aa7cb",
      "tree": "f16ace0ae09edab16bf6d0be9e8280dfbb7100da",
      "parents": [
        "8d9eb069eafce49307f839783e4a4673414b1fd5",
        "5962b35c1de3254a2f03b95efd3b7854b874d7b7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 04 16:39:32 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 04 16:39:32 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "c43b874d5d714f271b80d4c3f49e05d0cbf51ed2",
      "tree": "c56f3500327b081228d4c7369d39740e9bb4a0a9",
      "parents": [
        "786f528119722f564a22ad953411374e06116333"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Thu Feb 02 00:07:00 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 02 14:34:41 2012 -0500"
      },
      "message": "tcp: properly initialize tcp memory limits\n\nCommit 4acb4190 tries to fix the using uninitialized value\nintroduced by commit 3dc43e3,  but it would make the\nper-socket memory limits too small.\n\nThis patch fixes this and also remove the redundant codes\nintroduced in 4acb4190.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "761b3ef50e1c2649cffbfa67a4dcb2dcdb7982ed",
      "tree": "67ab6a9a2520811c9c0b4d70d1c19b4bfca16237",
      "parents": [
        "61d1d219c4c0761059236a46867bc49943c4d29d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jan 31 13:47:36 2012 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Feb 02 09:20:22 2012 -0800"
      },
      "message": "cgroup: remove cgroup_subsys argument from callbacks\n\nThe argument is not used at all, and it\u0027s not necessary, because\na specific callback handler of course knows which subsys it\nbelongs to.\n\nNow only -\u003epupulate() takes this argument, because the handlers of\nthis callback always call cgroup_add_file()/cgroup_add_files().\n\nSo we reduce a few lines of code, though the shrinking of object size\nis minimal.\n\n 16 files changed, 113 insertions(+), 162 deletions(-)\n\n   text    data     bss     dec     hex filename\n5486240  656987 7039960 13183187         c928d3 vmlinux.o.orig\n5486170  656987 7039960 13183117         c9288d vmlinux.o\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "efcdbf24fd5daa88060869e51ed49f68b7ac8708",
      "tree": "8c771a1ef2c93f1ba959709d6ffb4fd56af53699",
      "parents": [
        "48c3883999cb06246911e29356d194f96f1c75ef"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Mon Jan 30 14:16:06 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 01 14:41:50 2012 -0500"
      },
      "message": "net: Disambiguate kernel message\n\nSome of our machines were reporting:\n\nTCP: too many of orphaned sockets\n\neven when the number of orphaned sockets was well below the\nlimit.\n\nWe print a different message depending on whether we\u0027re out\nof TCP memory or there are too many orphaned sockets.\n\nAlso move the check out of line and cleanup the messages\nthat were printed.\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nSuggested-by: Mohan Srinivasan \u003cmohan@fb.com\u003e\nCc: netdev@vger.kernel.org\nCc: linux-kernel@vger.kernel.org\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "658ddaaf6694adf63f67451dec9ddeb87a7cb2d7",
      "tree": "33f917f23d7faa78e8dc9a23a57b7265facd2638",
      "parents": [
        "5b11b2e4bdef20e839d90dce96c5bbeafaf9616c"
      ],
      "author": {
        "name": "Shawn Lu",
        "email": "shawn.lu@ericsson.com",
        "time": "Tue Jan 31 22:35:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 01 12:43:54 2012 -0500"
      },
      "message": "tcp: md5: RST: getting md5 key from listener\n\nTCP RST mechanism is broken in TCP md5(RFC2385). When\nconnection is gone, md5 key is lost, sending RST\nwithout md5 hash is deem to ignored by peer. This can\nbe a problem since RST help protocal like bgp to fast\nrecove from peer crash.\n\nIn most case, users of tcp md5, such as bgp and ldp,\nhave listener on both sides to accept connection from peer.\nmd5 keys for peers are saved in listening socket.\n\nThere are two cases in finding md5 key when connection is\nlost:\n1.Passive receive RST: The message is send to well known port,\ntcp will associate it with listner. md5 key is gotten from\nlistener.\n\n2.Active receive RST (no sock): The message is send to ative\nside, there is no socket associated with the message. In this\ncase, finding listener from source port, then find md5 key from\nlistener.\n\nwe are not loosing sercuriy here:\npacket is checked with md5 hash. No RST is generated\nif md5 hash doesn\u0027t match or no md5 key can be found.\n\nSigned-off-by: Shawn Lu \u003cshawn.lu@ericsson.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8afca032998850ec63e83d555cdcf0eb5680cd6",
      "tree": "012c06f6b3a2bfa6a908954a671b1e36e2198eb6",
      "parents": [
        "41de8d4cff21a2e81e3d9ff66f5f7c903f9c3ab1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 31 18:45:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 01 02:11:47 2012 -0500"
      },
      "message": "tcp: md5: protects md5sig_info with RCU\n\nThis patch makes sure we use appropriate memory barriers before\npublishing tp-\u003emd5sig_info, allowing tcp_md5_do_lookup() being used from\ntcp_v4_send_reset() without holding socket lock (upcoming patch from\nShawn Lu)\n\nNote we also need to respect rcu grace period before its freeing, since\nwe can free socket without this grace period thanks to\nSLAB_DESTROY_BY_RCU\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Shawn Lu \u003cshawn.lu@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f3d9cb2962967d9d7e03abb4a7ca275a9a3fea5",
      "tree": "7847eb10ad6a754ed2798bce28ea3d142484a164",
      "parents": [
        "a915da9b69273815527ccb3789421cb7027b545b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 31 10:56:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 16:11:48 2012 -0500"
      },
      "message": "tcp: md5: use sock_kmalloc() to limit md5 keys\n\nThere is no limit on number of MD5 keys an application can attach to a\ntcp socket.\n\nThis patch adds a per tcp socket limit based\non /proc/sys/net/core/optmem_max\n\nWith current default optmem_max values, this allows about 150 keys on\n64bit arches, and 88 keys on 32bit arches.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a915da9b69273815527ccb3789421cb7027b545b",
      "tree": "79b266da33febc50bc54adc033ac9e38a1750bcf",
      "parents": [
        "a2d91241a80ec9bbc5ab24b9a2c4d730b3fa5730"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 31 05:18:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 12:14:00 2012 -0500"
      },
      "message": "tcp: md5: rcu conversion\n\nIn order to be able to support proper RST messages for TCP MD5 flows, we\nneed to allow access to MD5 keys without locking listener socket.\n\nThis conversion is a nice cleanup, and shrinks size of timewait sockets\nby 80 bytes.\n\nIPv6 code reuses generic code found in IPv4 instead of duplicating it.\n\nControl path uses GFP_KERNEL allocations instead of GFP_ATOMIC.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Shawn Lu \u003cshawn.lu@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2d91241a80ec9bbc5ab24b9a2c4d730b3fa5730",
      "tree": "a7f7806de977f4c0df5073c6eee1e0151d741b81",
      "parents": [
        "6c05d25267ebb371c4311de6904f740342e82f7c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 31 01:04:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 12:13:59 2012 -0500"
      },
      "message": "tcp: md5: remove obsolete md5_add() method\n\nWe no longer use md5_add() method from struct tcp_sock_af_ops\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b35e1e6e9ca651e6b291c96d1106043c9af314a",
      "tree": "d18caadee5e93dc45d0c5fa2c530537cfa14586c",
      "parents": [
        "4acb41903b2f99f3dffd4c3df9acc84ca5942cb2"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Sat Jan 28 17:29:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 30 12:42:58 2012 -0500"
      },
      "message": "tcp: fix tcp_trim_head() to adjust segment count with skb MSS\n\nThis commit fixes tcp_trim_head() to recalculate the number of\nsegments in the skb with the skb\u0027s existing MSS, so trimming the head\ncauses the skb segment count to be monotonically non-increasing - it\nshould stay the same or go down, but not increase.\n\nPreviously tcp_trim_head() used the current MSS of the connection. But\nif there was a decrease in MSS between original transmission and ACK\n(e.g. due to PMTUD), this could cause tcp_trim_head() to\ncounter-intuitively increase the segment count when trimming bytes off\nthe head of an skb. This violated assumptions in tcp_tso_acked() that\ntcp_trim_head() only decreases the packet count, so that packets_acked\nin tcp_tso_acked() could underflow, leading tcp_clean_rtx_queue() to\npass u32 pkts_acked values as large as 0xffffffff to\nca_ops-\u003epkts_acked().\n\nAs an aside, if tcp_trim_head() had really wanted the skb to reflect\nthe current MSS, it should have called tcp_set_skb_tso_segs()\nunconditionally, since a decrease in MSS would mean that a\nsingle-packet skb should now be sliced into multiple segments.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nAcked-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4acb41903b2f99f3dffd4c3df9acc84ca5942cb2",
      "tree": "3a2dc1739d654effecd86749e49a40d41019e645",
      "parents": [
        "8a8ee9aff6c3077dd9c2c7a77478e8ed362b96c6"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Mon Jan 30 01:20:17 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 30 12:41:06 2012 -0500"
      },
      "message": "net/tcp: Fix tcp memory limits initialization when !CONFIG_SYSCTL\n\nsysctl_tcp_mem() initialization was moved to sysctl_tcp_ipv4.c\nin commit 3dc43e3e4d0b52197d3205214fe8f162f9e0c334, since it\nbecame a per-ns value.\n\nThat code, however, will never run when CONFIG_SYSCTL is\ndisabled, leading to bogus values on those fields - causing hung\nTCP sockets.\n\nThis patch fixes it by keeping an initialization code in\ntcp_init(). It will be overwritten by the first net namespace\ninit if CONFIG_SYSCTL is compiled in, and do the right thing if\nit is compiled out.\n\nIt is also named properly as tcp_init_mem(), to properly signal\nits non-sysctl side effect on TCP limits.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nLink: http://lkml.kernel.org/r/4F22D05A.8030604@parallels.com\n[ renamed the function, tidied up the changelog a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ec88662041e172acf33d7a15a2020841ee82afb",
      "tree": "2d8d0103e050a9ad08932b369ad52eb3e7f1ab25",
      "parents": [
        "f5e261e626eb3fe07adf484aaad2ecfc757feba3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 27 15:01:08 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 27 21:00:07 2012 -0500"
      },
      "message": "ipv4: ip_gre: Convert to dst_neigh_lookup()\n\nThe conversion is very similar to that made to ipv6\u0027s SIT code.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2b3ee9e4200b32d113b1bd3c93f9a836c97357c",
      "tree": "d80ac5e5fddf395762f2b31110757abf833e752e",
      "parents": [
        "40206dd98f066d596d4280558fc5f798165861c7"
      ],
      "author": {
        "name": "Willem de Bruijn",
        "email": "willemb@google.com",
        "time": "Thu Jan 26 10:34:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 26 16:34:08 2012 -0500"
      },
      "message": "ipv6: Fix ip_gre lockless xmits.\n\nTunnel devices set NETIF_F_LLTX to bypass HARD_TX_LOCK.  Sit and\nipip set this unconditionally in ops-\u003esetup, but gre enables it\nconditionally after parameter passing in ops-\u003enewlink. This is\nnot called during tunnel setup as below, however, so GRE tunnels are\nstill taking the lock.\n\nmodprobe ip_gre\nip tunnel add test0 mode gre remote 10.5.1.1 dev lo\nip link set test0 up\nip addr add 10.6.0.1 dev test0\n # cat /sys/class/net/test0/features\n # $DIR/test_tunnel_xmit 10 10.5.2.1\nip route add 10.5.2.0/24 dev test0\nip tunnel del test0\n\nThe newlink callback is only called in rtnl_netlink, and only if\nthe device is new, as it calls register_netdevice internally. Gre\ntunnels are created at \u0027ip tunnel add\u0027 with ioctl SIOCADDTUNNEL,\nwhich calls ipgre_tunnel_locate, which calls register_netdev.\nrtnl_newlink is called at \u0027ip link set\u0027, but skips ops-\u003enewlink\nand the device is up with locking still enabled. The equivalent\nipip tunnel works fine, btw (just substitute \u0027method gre\u0027 for\n\u0027method ipip\u0027).\n\nOn kernels before /sys/class/net/*/features was removed [1],\nthe first commented out line returns 0x6000 with method gre,\nwhich indicates that NETIF_F_LLTX (0x1000) is not set. With ipip,\nit reports 0x7000. This test cannot be used on recent kernels where\nthe sysfs file is removed (and ETHTOOL_GFEATURES does not currently\nwork for tunnel devices, because they lack dev-\u003eethtool_ops).\n\nThe second commented out line calls a simple transmission test [2]\nthat sends on 24 cores at maximum rate. Results of a single run:\n\nipip:\t\t\t19,372,306\ngre before patch:\t 4,839,753\ngre after patch:\t19,133,873\n\nThis patch replicates the condition check in ipgre_newlink to\nipgre_tunnel_locate. It works for me, both with oseq on and off.\nThis is the first time I looked at rtnetlink and iproute2 code,\nthough, so someone more knowledgeable should probably check the\npatch. Thanks.\n\nThe tail of both functions is now identical, by the way. To avoid\ncode duplication, I\u0027ll be happy to rework this and merge the two.\n\n[1] http://patchwork.ozlabs.org/patch/104610/\n[2] http://kernel.googlecode.com/files/xmit_udp_parallel.c\n\nSigned-off-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39232973b779ab0c02cb6dcd8f819b7cb0fcd09a",
      "tree": "02713ba159c04960e7b158c70e994b56c11ae20b",
      "parents": [
        "09e9b813d34d9a09d64a64580a9959d8bae1f4f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 26 15:22:32 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 26 15:22:32 2012 -0500"
      },
      "message": "ipv4/ipv6: Prepare for new route gateway semantics.\n\nIn the future the ipv4/ipv6 route gateway will take on two types\nof values:\n\n1) INADDR_ANY/IN6ADDR_ANY, for local network routes, and in this case\n   the neighbour must be obtained using the destination address in\n   ipv4/ipv6 header as the lookup key.\n\n2) Everything else, the actual nexthop route address.\n\nSo if the gateway is not inaddr-any we use it, otherwise we must use\nthe packet\u0027s destination address.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09e9b813d34d9a09d64a64580a9959d8bae1f4f5",
      "tree": "5e8616336466d89c10da8a52166213d345cbe060",
      "parents": [
        "bb349bb4b19b39830e0486aedfd7c7dca23b7baf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 25 04:44:20 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 26 13:51:00 2012 -0500"
      },
      "message": "tcp: add LINUX_MIB_TCPRETRANSFAIL counter\n\nIt might be useful to get a counter of failed tcp_retransmit_skb()\ncalls.\n\nReported-by: Satoru Moriya \u003csatoru.moriya@hds.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fddb7b5761f104f034a0e708ece756d9b2eb2cac",
      "tree": "f995ec889ebc1edc3fc9d3b0fe1da1fe9c2d6b76",
      "parents": [
        "2b05ad33e1e624e7f08b8676d270dc7725403b7e"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fbl@redhat.com",
        "time": "Wed Jan 25 08:34:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 25 21:50:43 2012 -0500"
      },
      "message": "tcp: bind() optimize port allocation\n\nPort autoselection finds a port and then drop the lock,\nthen right after that, gets the hash bucket again and lock it.\n\nFix it to go direct.\n\nSigned-off-by: Flavio Leitner \u003cfbl@redhat.com\u003e\nSigned-off-by: Marcelo Ricardo Leitner \u003cmleitner@redhat.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b05ad33e1e624e7f08b8676d270dc7725403b7e",
      "tree": "0f180ef1fa0efcea96738315917eaa014c2ac8f0",
      "parents": [
        "68315801dbf3ab2001679fd2074c9dc5dcf87dfa"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fbl@redhat.com",
        "time": "Wed Jan 25 08:34:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 25 21:50:43 2012 -0500"
      },
      "message": "tcp: bind() fix autoselection to share ports\n\nThe current code checks for conflicts when the application\nrequests a specific port.  If there is no conflict, then\nthe request is granted.\n\nOn the other hand, the port autoselection done by the kernel\nfails when all ports are bound even when there is a port\nwith no conflict available.\n\nThe fix changes port autoselection to check if there is a\nconflict and use it if not.\n\nSigned-off-by: Flavio Leitner \u003cfbl@redhat.com\u003e\nSigned-off-by: Marcelo Ricardo Leitner \u003cmleitner@redhat.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c54a45700195d9491e2cc2115ea61315a8ba3927",
      "tree": "c87ae0da5bf7c8b79241fdc8d694785092a42a4c",
      "parents": [
        "61d57f87f3fb04a305f22befabd042ffbec8b852",
        "701b259f446be2f3625fb852bceb93afe76e206d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 22:57:24 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 22:57:24 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "61d57f87f3fb04a305f22befabd042ffbec8b852",
      "tree": "ef0596f29c69f50dc2fed1bbc9bf9cfcd879cdd7",
      "parents": [
        "658c8d964eb3cdb7e4230a59ba09c75a3359ee4a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 18:23:30 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 18:23:30 2012 -0500"
      },
      "message": "ip_gre: Fix bug added to ipgre_tunnel_xmit().\n\nWe can remove the rt_gateway \u003d\u003d 0 check but we shouldn\u0027t\nremove the \u0027dst\u0027 initialization too.\n\nNoticed by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "658c8d964eb3cdb7e4230a59ba09c75a3359ee4a",
      "tree": "e8808141e0c266a53944892785e55223f0f4dd26",
      "parents": [
        "496053f488fc2d859e41574f3421993826d2d0eb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 18:18:05 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 18:18:05 2012 -0500"
      },
      "message": "ipip: Fix bug added to ipip_tunnel_xmit().\n\nWe can remove the rt_gateway \u003d\u003d 0 check but we shouldn\u0027t\nremove the \u0027dst\u0027 initialization too.\n\nNoticed by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "496053f488fc2d859e41574f3421993826d2d0eb",
      "tree": "a97d4e40752b2b86023e896633ee0de55af2927e",
      "parents": [
        "d2346963bfcbb9a8ee783ca3c3b3bdd7448ec9d5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 11 16:46:32 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 18:08:46 2012 -0500"
      },
      "message": "ipv4: Remove bogus checks of rt_gateway being zero.\n\nIt can never actually happen.  rt_gateway is either the fully resolved\nflow lookup key\u0027s destination address, or the non-zero FIB entry gateway\naddress.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a622e71f58ec9f092fc99eacae0e6cf14f6e742",
      "tree": "d0a19d7ad6672eb38a14b9d2cedf5fab690d18f4",
      "parents": [
        "df505eb804d5221c3164ebecd1286cb7fc7f49ba"
      ],
      "author": {
        "name": "shawnlu",
        "email": "shawn.lu@ericsson.com",
        "time": "Fri Jan 20 12:22:04 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 22 15:08:45 2012 -0500"
      },
      "message": "tcp: md5: using remote adress for md5 lookup in rst packet\n\nmd5 key is added in socket through remote address.\nremote address should be used in finding md5 key when\nsending out reset packet.\n\nSigned-off-by: shawnlu \u003cshawn.lu@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "974c12360dfe6ab01201fe9e708e7755c413f8b6",
      "tree": "8cdf87f44c8be550af2ec1530f8cb271fb1a2e1f",
      "parents": [
        "d0249e44432aa0ffcf710b64449b8eaa3722547e"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Thu Jan 19 14:42:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 22 15:08:44 2012 -0500"
      },
      "message": "tcp: detect loss above high_seq in recovery\n\nCorrectly implement a loss detection heuristic: New sequences (above\nhigh_seq) sent during the fast recovery are deemed lost when higher\nsequences are SACKed.\n\nCurrent code does not catch these losses, because tcp_mark_head_lost()\ndoes not check packets beyond high_seq. The fix is straight-forward by\nchecking packets until the highest sacked packet. In addition, all the\nFLAG_DATA_LOST logic are in-effective and redundant and can be removed.\n\nUpdate the loss heuristic comments. The algorithm above is documented\nas heuristic B, but it is redundant too because heuristic A already\ncovers B.\n\nNote that this change only marks some forward-retransmitted packets LOST.\nIt does NOT forbid TCP performing further CWR on new losses. A potential\nfollow-up patch under preparation is to perform another CWR on \"new\"\nlosses such as\n1) sequence above high_seq is lost (by resetting high_seq to snd_nxt)\n2) retransmission is lost.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a45f0086a2dcf50db7e6a0bf5be933880f85127",
      "tree": "f67d6ddb68c276bcf34077e7442b0ca722144c75",
      "parents": [
        "fc16dcd8c2e1e9bc91ed765957e1f2bbf334253e"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Wed Jan 18 17:47:59 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 20 14:17:26 2012 -0500"
      },
      "message": "tcp: fix undo after RTO for CUBIC\n\nThis patch fixes CUBIC so that cwnd reductions made during RTOs can be\nundone (just as they already can be undone when using the default/Reno\nbehavior).\n\nWhen undoing cwnd reductions, BIC-derived congestion control modules\nwere restoring the cwnd from last_max_cwnd. There were two problems\nwith using last_max_cwnd to restore a cwnd during undo:\n\n(a) last_max_cwnd was set to 0 on state transitions into TCP_CA_Loss\n(by calling the module\u0027s reset() functions), so cwnd reductions from\nRTOs could not be undone.\n\n(b) when fast_covergence is enabled (which it is by default)\nlast_max_cwnd does not actually hold the value of snd_cwnd before the\nloss; instead, it holds a scaled-down version of snd_cwnd.\n\nThis patch makes the following changes:\n\n(1) upon undo, revert snd_cwnd to ca-\u003eloss_cwnd, which is already, as\nthe existing comment notes, the \"congestion window at last loss\"\n\n(2) stop forgetting ca-\u003eloss_cwnd on TCP_CA_Loss events\n\n(3) use ca-\u003elast_max_cwnd to check if we\u0027re in slow start\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Sangtae Ha \u003csangtae.ha@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc16dcd8c2e1e9bc91ed765957e1f2bbf334253e",
      "tree": "c7174ce035611b3088e2da38003655cf26e8ce0b",
      "parents": [
        "b67f231ded332461dd31123c4f659c4681223fb1"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Wed Jan 18 17:47:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 20 14:17:26 2012 -0500"
      },
      "message": "tcp: fix undo after RTO for BIC\n\nThis patch fixes BIC so that cwnd reductions made during RTOs can be\nundone (just as they already can be undone when using the default/Reno\nbehavior).\n\nWhen undoing cwnd reductions, BIC-derived congestion control modules\nwere restoring the cwnd from last_max_cwnd. There were two problems\nwith using last_max_cwnd to restore a cwnd during undo:\n\n(a) last_max_cwnd was set to 0 on state transitions into TCP_CA_Loss\n(by calling the module\u0027s reset() functions), so cwnd reductions from\nRTOs could not be undone.\n\n(b) when fast_covergence is enabled (which it is by default)\nlast_max_cwnd does not actually hold the value of snd_cwnd before the\nloss; instead, it holds a scaled-down version of snd_cwnd.\n\nThis patch makes the following changes:\n\n(1) upon undo, revert snd_cwnd to ca-\u003eloss_cwnd, which is already, as\nthe existing comment notes, the \"congestion window at last loss\"\n\n(2) stop forgetting ca-\u003eloss_cwnd on TCP_CA_Loss events\n\n(3) use ca-\u003elast_max_cwnd to check if we\u0027re in slow start\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccb19d263fd1c9e34948e2158c53eacbff369344",
      "tree": "6683e55f183920dcbf3e1a5b749e7f9780c465b3",
      "parents": [
        "6a488979f574cb4287880db2dbc8b13cee30c5be",
        "c3b5003b628d8e373262bee42c7260d6a799c73e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 22:26:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 22:26:41 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)\n  tg3: Fix single-vector MSI-X code\n  openvswitch: Fix multipart datapath dumps.\n  ipv6: fix per device IP snmp counters\n  inetpeer: initialize -\u003eredirect_genid in inet_getpeer()\n  net: fix NULL-deref in WARN() in skb_gso_segment()\n  net: WARN if skb_checksum_help() is called on skb requiring segmentation\n  caif: Remove bad WARN_ON in caif_dev\n  caif: Fix typo in Vendor/Product-ID for CAIF modems\n  bnx2x: Disable AN KR work-around for BCM57810\n  bnx2x: Remove AutoGrEEEn for BCM84833\n  bnx2x: Remove 100Mb force speed for BCM84833\n  bnx2x: Fix PFC setting on BCM57840\n  bnx2x: Fix Super-Isolate mode for BCM84833\n  net: fix some sparse errors\n  net: kill duplicate included header\n  net: sh-eth: Fix build error by the value which is not defined\n  net: Use device model to get driver name in skb_gso_segment()\n  bridge: BH already disabled in br_fdb_cleanup()\n  net: move sock_update_memcg outside of CONFIG_INET\n  mwl8k: Fixing Sparse ENDIAN CHECK warning\n  ...\n"
    },
    {
      "commit": "10ec1bb7e9eb462548f14dd53c73e927a3ddf31c",
      "tree": "dbdd695c7879a4c8039b38f123ea7846964399d5",
      "parents": [
        "65e9d2faab70d07b9a38ac6ed298f191d24541fc"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Jan 17 10:48:43 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 17 15:52:12 2012 -0500"
      },
      "message": "inetpeer: initialize -\u003eredirect_genid in inet_getpeer()\n\nkmemcheck complains that -\u003eredirect_genid doesn\u0027t get initialized.\nPresumably it should be set to zero.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "747465ef7a082033e086dedc8189febfda43b015",
      "tree": "efbdc7a1f25f7bced035077769b4005ea1419abc",
      "parents": [
        "2b2d465631db59c144f537a9bef47a883c55d670"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 16 19:27:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 17 10:31:12 2012 -0500"
      },
      "message": "net: fix some sparse errors\n\nmake C\u003d2 CF\u003d\"-D__CHECK_ENDIAN__\" M\u003dnet\n\nAnd fix flowi4_init_output() prototype for sport\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b2d465631db59c144f537a9bef47a883c55d670",
      "tree": "559e06d89bd37fb31006806c7d128171f7122e9c",
      "parents": [
        "34aa6f1400810890636ba0b170effbfa71eacec7"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "davidshan@tencent.com",
        "time": "Mon Jan 16 18:34:24 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 17 10:31:12 2012 -0500"
      },
      "message": "net: kill duplicate included header\n\nFor net part, remove duplicate included header.\n\nSigned-off-by: Shan Wei \u003cdavidshan@tencent.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c49c41a4134679cecb77362e7f6b59acb6320aa7",
      "tree": "45e690c036ca5846a48c8be67945d1d841b2d96d",
      "parents": [
        "892d208bcf79e4e1058707786a7b6d486697cd78",
        "f423e5ba76e7e4a6fcb4836b4f072d1fdebba8b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security:\n  capabilities: remove __cap_full_set definition\n  security: remove the security_netlink_recv hook as it is equivalent to capable()\n  ptrace: do not audit capability check when outputing /proc/pid/stat\n  capabilities: remove task_ns_* functions\n  capabitlies: ns_capable can use the cap helpers rather than lsm call\n  capabilities: style only - move capable below ns_capable\n  capabilites: introduce new has_ns_capabilities_noaudit\n  capabilities: call has_ns_capability from has_capability\n  capabilities: remove all _real_ interfaces\n  capabilities: introduce security_capable_noaudit\n  capabilities: reverse arguments to security_capable\n  capabilities: remove the task from capable LSM hook entirely\n  selinux: sparse fix: fix several warnings in the security server cod\n  selinux: sparse fix: fix warnings in netlink code\n  selinux: sparse fix: eliminate warnings for selinuxfs\n  selinux: sparse fix: declare selinux_disable() in security.h\n  selinux: sparse fix: move selinux_complete_init\n  selinux: sparse fix: make selinux_secmark_refcount static\n  SELinux: Fix RCU deref check warning in sel_netport_insert()\n\nManually fix up a semantic mis-merge wrt security_netlink_recv():\n\n - the interface was removed in commit fd7784615248 (\"security: remove\n   the security_netlink_recv hook as it is equivalent to capable()\")\n\n - a new user of it appeared in commit a38f7907b926 (\"crypto: Add\n   userspace configuration API\")\n\ncausing no automatic merge conflict, but Eric Paris pointed out the\nissue.\n"
    },
    {
      "commit": "1398eee08222a038fa5f017900f387e81f6e3ff4",
      "tree": "0ac3e3645b2a71d4c67471ef0c072cfd87c6ff48",
      "parents": [
        "cf778b00e96df6d64f8e21b8395d1f8a859ecdc7"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Thu Jan 12 02:16:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 12:27:59 2012 -0800"
      },
      "message": "net: decrement memcg jump label when limit, not usage, is changed\n\nThe logic of the current code is that whenever we destroy\na cgroup that had its limit set (set meaning different than\nmaximum), we should decrement the jump_label counter.\nOtherwise we assume it was never incremented.\n\nBut what the code actually does is test for RES_USAGE\ninstead of RES_LIMIT. Usage being different than maximum\nis likely to be true most of the time.\n\nThe effect of this is that the key must become negative,\nand since the jump_label test says:\n\n        !!atomic_read(\u0026key-\u003eenabled);\n\nwe\u0027ll have jump_labels still on when no one else is\nusing this functionality.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf778b00e96df6d64f8e21b8395d1f8a859ecdc7",
      "tree": "4cc157d564bd65d687bdf722af3202e9e277ea98",
      "parents": [
        "9ee6045f09a7875ebe55b9942b232a19076b157b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 12 04:41:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 12:26:56 2012 -0800"
      },
      "message": "net: reintroduce missing rcu_assign_pointer() calls\n\ncommit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to\nRCU_INIT_POINTER) did a lot of incorrect changes, since it did a\ncomplete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x,\ny).\n\nWe miss needed barriers, even on x86, when y is not NULL.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCC: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b09c84cb622ffbcdb5d541986b1eaf7d5812602",
      "tree": "5c322a4985f97c1360cf8877e8c70f8a0875dab0",
      "parents": [
        "c8991362a0d3cf317dfbfb6cb946607870654e6d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Jan 10 22:37:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 11 12:56:06 2012 -0800"
      },
      "message": "inet_diag: Rename inet_diag_req_compat into inet_diag_req\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8991362a0d3cf317dfbfb6cb946607870654e6d",
      "tree": "21db1072591e2549fedd6d54586efe3ef7f45cb4",
      "parents": [
        "f515e6b77045b4b1f54617d9fbf4a22b95a58757"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Jan 10 22:36:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 11 12:56:06 2012 -0800"
      },
      "message": "inet_diag: Rename inet_diag_req into inet_diag_req_v2\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38e5781bbf8e82c1635ea845e0d07b2228a5ac7a",
      "tree": "69ced9c509c864a67122c5e1337f14cd1d9e988d",
      "parents": [
        "979ecef5b89a8003902299566d9cdc08de34a3ee",
        "a8c1f65c79cbbb2f7da782d4c9d15639a9b94b27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 14:46:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 14:46:52 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  igmp: Avoid zero delay when receiving odd mixture of IGMP queries\n  netdev: make net_device_ops const\n  bcm63xx: make ethtool_ops const\n  usbnet: make ethtool_ops const\n  net: Fix build with INET disabled.\n  net: introduce netif_addr_lock_nested() and call if when appropriate\n  net: correct lock name in dev_[uc/mc]_sync documentations.\n  net: sk_update_clone is only used in net/core/sock.c\n  8139cp: fix missing napi_gro_flush.\n  pktgen: set correct max and min in pktgen_setup_inject()\n  smsc911x: Unconditionally include linux/smscphy.h in smsc911x.h\n  asix: fix infinite loop in rx_fixup()\n  net: Default UDP and UNIX diag to \u0027n\u0027.\n  r6040: fix typo in use of MCR0 register bits\n  net: fix sock_clone reference mismatch with tcp memcontrol\n"
    },
    {
      "commit": "a8c1f65c79cbbb2f7da782d4c9d15639a9b94b27",
      "tree": "8e1ac7654905142f37d74d8e3e376325a5eb48b1",
      "parents": [
        "e5686ad82ca2aeed7a8f24ffca115c0b7478dec9"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Jan 09 14:06:46 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 09 14:06:46 2012 -0800"
      },
      "message": "igmp: Avoid zero delay when receiving odd mixture of IGMP queries\n\nCommit 5b7c84066733c5dfb0e4016d939757b38de189e4 (\u0027ipv4: correct IGMP\nbehavior on v3 query during v2-compatibility mode\u0027) added yet another\ncase for query parsing, which can result in max_delay \u003d 0.  Substitute\na value of 1, as in the usual v3 case.\n\nReported-by: Simon McVittie \u003csmcv@debian.org\u003e\nReferences: http://bugs.debian.org/654876\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "6d62a66e4211546f9e5c5d1ad586749a51cf30db",
      "tree": "3d258aa96a35435ec4a372a9ffe016161a66db8e",
      "parents": [
        "77e1e438cbb1b8f9b7a3bb2d4f0264d1dd952d75"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 07 12:13:06 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 07 12:13:06 2012 -0800"
      },
      "message": "net: Default UDP and UNIX diag to \u0027n\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "fd778461524849afd035679030ae8e8873c72b81"
}
