)]}'
{
  "log": [
    {
      "commit": "f132c6cf77251e011e1dad0ec88c0b1fda16d5aa",
      "tree": "f04b469a3547a19b7bdbe110adc571eb71c93328",
      "parents": [
        "23016defd7db701a01dc49f972ad6b1bae9651c2",
        "3f6240f3e4e2608caf1a70d614ada658cbcbe7be"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:30:57 2012 -0700"
      },
      "committer": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:45:28 2012 -0700"
      },
      "message": "Merge commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027 into msm-3.4\n\nAU_LINUX_ANDROID_ICS.04.00.04.00.126 from msm-3.0.\nFirst parent is from google/android-3.4.\n\n* commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027: (8712 commits)\n  PRNG: Device tree entry for qrng device.\n  vidc:1080p: Set video core timeout value for Thumbnail mode\n  msm: sps: improve the debugging support in SPS driver\n  board-8064 msm: Overlap secure and non secure video firmware heaps.\n  msm: clock: Add handoff ops for 7x30 and copper XO clocks\n  msm_fb: display: Wait for external vsync before DTV IOMMU unmap\n  msm: Fix ciruclar dependency in debug UART settings\n  msm: gdsc: Add GDSC regulator driver for msm-copper\n  defconfig: Enable Mobicore Driver.\n  mobicore: Add mobicore driver.\n  mobicore: rename variable to lower case.\n  mobicore: rename folder.\n  mobicore: add makefiles\n  mobicore: initial import of kernel driver\n  ASoC: msm: Add SLIMBUS_2_RX CPU DAI\n  board-8064-gpio: Update FUNC for EPM SPI CS\n  msm_fb: display: Remove chicken bit config during video playback\n  mmc: msm_sdcc: enable the sanitize capability\n  msm-fb: display: lm2 writeback support on mpq platfroms\n  msm_fb: display: Disable LVDS phy \u0026 pll during panel off\n  ...\n\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "5500e4fab219bf210f22d2334cc98f3ca8f8912d",
      "tree": "60f3edf480190ee60676348c1ca2730a699f8671",
      "parents": [
        "903f6c716db3d4e26952aae9717f81dd5bc9e4ba",
        "76e10d158efb6d4516018846f60c2ab5501900bc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 13:56:28 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 13:56:28 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4\u0027 into android-3.4\n"
    },
    {
      "commit": "bad115cfe5b509043b684d3a007ab54b80090aa1",
      "tree": "f2da25538f8fcf48ae7a74b3b040d58628b52094",
      "parents": [
        "1be5f0b7575e090fd100a98b303860879b5800de"
      ],
      "author": {
        "name": "Willy Tarreau",
        "email": "w@1wt.eu",
        "time": "Thu May 17 11:14:14 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 18:31:43 2012 -0400"
      },
      "message": "tcp: do_tcp_sendpages() must try to push data out on oom conditions\n\nSince recent changes on TCP splicing (starting with commits 2f533844\n\"tcp: allow splice() to build full TSO packets\" and 35f9c09f \"tcp:\ntcp_sendpages() should call tcp_push() once\"), I started seeing\nmassive stalls when forwarding traffic between two sockets using\nsplice() when pipe buffers were larger than socket buffers.\n\nLatest changes (net: netdev_alloc_skb() use build_skb()) made the\nproblem even more apparent.\n\nThe reason seems to be that if do_tcp_sendpages() fails on out of memory\ncondition without being able to send at least one byte, tcp_push() is not\ncalled and the buffers cannot be flushed.\n\nAfter applying the attached patch, I cannot reproduce the stalls at all\nand the data rate it perfectly stable and steady under any condition\nwhich previously caused the problem to be permanent.\n\nThe issue seems to have been there since before the kernel migrated to\ngit, which makes me think that the stalls I occasionally experienced\nwith tux during stress-tests years ago were probably related to the\nsame issue.\n\nThis issue was first encountered on 3.0.31 and 3.2.17, so please backport\nto -stable.\n\nSigned-off-by: Willy Tarreau \u003cw@1wt.eu\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "ec0b571c19ac62ab0bb80d373a3d4922a48b4b75",
      "tree": "10c597f5227c969c3f2b909fbeb29725a0c5c6e8",
      "parents": [
        "7bb8b65407a519d3a90dd8cecdd1ccd10ee0c6cc",
        "36be50515fe2aef61533b516fa2576a2c7fe7664"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 14 16:41:02 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 14 16:41:02 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc7\u0027 into android-3.4\n"
    },
    {
      "commit": "6329bf0a03811f4644a4c8d50bf241f6db6f19b5",
      "tree": "3b92221c0536e4cfc414a3ff36483de00a739e96",
      "parents": [
        "2c653ad630abce4b447292fbfb20d48c2136a13d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Feb 23 10:55:02 2012 +0000"
      },
      "committer": {
        "name": "Jin Hong",
        "email": "jinh@codeaurora.org",
        "time": "Sat May 12 21:53:36 2012 -0700"
      },
      "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\nCRs-Fixed: 344300\nChange-Id: Ic2d8f3f6b90233d6e87741373c33ef510b35aaa5\nSigned-off-by: Jin Hong \u003cjinh@codeaurora.org\u003e\n"
    },
    {
      "commit": "dccd9ecc374462e5d6a5b8f8110415a86c2213d8",
      "tree": "92985101d752308885e7b29678dc9845eabea0d6",
      "parents": [
        "0e0c55165b638e96c8d7097ea638aa368daa268a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 22:16:32 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 22:16:32 2012 -0400"
      },
      "message": "ipv4: Do not use dead fib_info entries.\n\nDue to RCU lookups and RCU based release, fib_info objects can\nbe found during lookup which have fi-\u003efib_dead set.\n\nWe must ignore these entries, otherwise we risk dereferencing\nthe parts of the entry which are being torn down.\n\nReported-by: Yevgen Pronenko \u003cyevgen.pronenko@sonymobile.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f02fac63308349b1dbde468adfd084fdb560eeae",
      "tree": "35c39e5c3c70e40c52bc18c07a88dd7a1becb649",
      "parents": [
        "6ff6845be02be8d53da28d2333a015d54b1234db",
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 07 18:20:34 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 07 18:20:34 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc6\u0027 into android-3.4\n\nConflicts:\n\tarch/arm/mm/cache-l2x0.c\n\tarch/arm/mm/mmu.c\n\nChange-Id: If4f371a21c052fa597d107c44b128a093e4a8b91\n"
    },
    {
      "commit": "b49960a05e32121d29316cfdf653894b88ac9190",
      "tree": "101bb83073486809d5cc84505fecf772f4a77599",
      "parents": [
        "84768edbb2721637620b2d84501bb0d5aed603f1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed May 02 02:28:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 02 21:08:58 2012 -0400"
      },
      "message": "tcp: change tcp_adv_win_scale and tcp_rmem[2]\n\ntcp_adv_win_scale default value is 2, meaning we expect a good citizen\nskb to have skb-\u003elen / skb-\u003etruesize ratio of 75% (3/4)\n\nIn 2.6 kernels we (mis)accounted for typical MSS\u003d1460 frame :\n1536 + 64 + 256 \u003d 1856 \u0027estimated truesize\u0027, and 1856 * 3/4 \u003d 1392.\nSo these skbs were considered as not bloated.\n\nWith recent truesize fixes, a typical MSS\u003d1460 frame truesize is now the\nmore precise :\n2048 + 256 \u003d 2304. But 2304 * 3/4 \u003d 1728.\nSo these skb are not good citizen anymore, because 1460 \u003c 1728\n\n(GRO can escape this problem because it build skbs with a too low\ntruesize.)\n\nThis also means tcp advertises a too optimistic window for a given\nallocated rcvspace : When receiving frames, sk_rmem_alloc can hit\nsk_rcvbuf limit and we call tcp_prune_queue()/tcp_collapse() too often,\nespecially when application is slow to drain its receive queue or in\ncase of losses (netperf is fast, scp is slow). This is a major latency\nsource.\n\nWe should adjust the len/truesize ratio to 50% instead of 75%\n\nThis patch :\n\n1) changes tcp_adv_win_scale default to 1 instead of 2\n\n2) increase tcp_rmem[2] limit from 4MB to 6MB to take into account\nbetter truesize tracking and to allow autotuning tcp receive window to\nreach same value than before. Note that same amount of kernel memory is\nconsumed compared to 2.6 kernels.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aadf030d84352a91cdadf50f947da739c5611450",
      "tree": "5f22ec57ee257776b4c157f0c91f3612f05ed6c5",
      "parents": [
        "aad2732ba0dddcf3446a4e3c4843496759c1c305",
        "69964ea4c7b68c9399f7977aa5b9aa6539a6a98a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 01 15:47:09 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 01 15:47:09 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc5\u0027 into android-3.4\n"
    },
    {
      "commit": "1cebce36d660c83bd1353e41f3e66abd4686f215",
      "tree": "cd82ebc7c67f3d67e4de202dd3dafbb347f2324c",
      "parents": [
        "05be18241e83d2ac6b656c8f924e74b3998c173f"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Mon Apr 30 06:00:18 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 30 13:44:39 2012 -0400"
      },
      "message": "tcp: fix infinite cwnd in tcp_complete_cwr()\n\nWhen the cwnd reduction is done, ssthresh may be infinite\nif TCP enters CWR via ECN or F-RTO. If cwnd is not undone, i.e.,\nundo_marker is set, tcp_complete_cwr() falsely set cwnd to the\ninfinite ssthresh value. The correct operation is to keep cwnd\nintact because it has been updated in ECN or F-RTO.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "651913ce9de2bbcedef608c5d6cf39c244248509",
      "tree": "c2c25a9e8f5c1e8e29c81f857fcbdcb5c4945f64",
      "parents": [
        "8b6efb75e9467f7c2df279cbd657f741ec3493cf"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Fri Apr 27 11:29:37 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 27 12:34:39 2012 -0400"
      },
      "message": "tcp: clean up use of jiffies in tcp_rcv_rtt_measure()\n\nClean up a reference to jiffies in tcp_rcv_rtt_measure() that should\ninstead reference tcp_time_stamp. Since the result of the subtraction\nis passed into a function taking u32, this should not change any\nbehavior (and indeed the generated assembly does not change on\nx86_64). However, it seems worth cleaning this up for consistency and\nclarity (and perhaps to avoid bugs if this is copied and pasted\nsomewhere else).\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62ad6fcd743792bf294f2a7ba26ab8f462065150",
      "tree": "6c8a4302149d69c5cd3933bbf09a7da5b148780e",
      "parents": [
        "202149265770426f0965557ffa0b500fbbd701dd"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "davidshan@tencent.com",
        "time": "Tue Apr 24 18:15:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 25 20:43:01 2012 -0400"
      },
      "message": "udp_diag: implement idiag_get_info for udp/udplite to get queue information\n\nWhen we use netlink to monitor queue information for udp socket,\nidiag_rqueue and idiag_wqueue of inet_diag_msg are returned with 0.\n\nKeep consistent with netstat, just return back allocated rmem/wmem size.\n\nSigned-off-by: Shan Wei \u003cdavidshan@tencent.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab2965eefef95a2eecfd54c12b0eb243162862e9",
      "tree": "c947fdc158e144c2d060486b65d10ee67d254039",
      "parents": [
        "a0ec4361e4539e30cf1c5de7ddfd2dadcd8e1595",
        "e816b57a337ea3b755de72bec38c10c864f23015"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 19 14:42:22 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 19 14:42:22 2012 -0700"
      },
      "message": "Merge commit \u0027v3.4-rc3\u0027 into android-3.4\n\nConflicts:\n\tdrivers/staging/android/lowmemorykiller.c\n\nChange-Id: Ia3ffcfc702e28c4fce0e91b363f4afd5f1c40306\n"
    },
    {
      "commit": "22b4a4f22da4b39c6f7f679fd35f3d35c91bf851",
      "tree": "6cd9d5d169384e39c030e18f75c1b1e0d792e5bd",
      "parents": [
        "56fa9b16303b0a3bad88ff528c4d5ff54d8cdb47"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Apr 18 10:14:23 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 18 16:52:45 2012 -0400"
      },
      "message": "tcp: fix retransmit of partially acked frames\n\nAlexander Beregalov reported skb_over_panic errors and provided stack\ntrace.\n\nI occurs commit a21d45726aca (tcp: avoid order-1 allocations on wifi and\ntx path) added a regression, when a retransmit is done after a partial\nACK.\n\ntcp_retransmit_skb() tries to aggregate several frames if the first one\nhas enough available room to hold the following ones payload. This is\ncontrolled by /proc/sys/net/ipv4/tcp_retrans_collapse tunable (default :\nenabled)\n\nProblem is we must make sure _pskb_trim_head() doesnt fool\nskb_availroom() when pulling some bytes from skb (this pull is done when\nreceiver ACK part of the frame).\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Marc MERLIN \u003cmarc@merlins.org\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d846f02392a710f9604892ac3329e628e60a230",
      "tree": "8c8a8cd663914e546b324d0657fdfad2c8becdee",
      "parents": [
        "48159f009f5f92ef5962e7c278ac615d74242fa5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Apr 16 23:28:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 17 22:32:00 2012 -0400"
      },
      "message": "tcp: fix tcp_grow_window() for large incoming frames\n\ntcp_grow_window() has to grow rcv_ssthresh up to window_clamp, allowing\nsender to increase its window.\n\ntcp_grow_window() still assumes a tcp frame is under MSS, but its no\nlonger true with LRO/GRO.\n\nThis patch fixes one of the performance issue we noticed with GRO on.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "174808af90a06ee59ffedd60c00c252f1f887f25",
      "tree": "5e026fdc0d2b4d66c0a79267e5755e10d6d04bd8",
      "parents": [
        "778c2dee6f134bf0472ed45eedaee53b4f336afb",
        "5d949944229b0a08e218723be231731cd86b94f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 14:04:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 14:04:33 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) Fix bluetooth userland regression reported by Keith Packard, from\n    Gustavo Padovan.\n\n 2) Revert ath9k PS idle change, from Sujith Manoharan.\n\n 3) Correct default TCP memory limits (again), from Eric Dumazet.\n\n 4) Fix tcp_rcv_rtt_update() accidental use of unscaled RTT, from Neal\n    Cardwell.\n\n 5) We made a facility for layers like wireless to say how much tailroom\n    they need in the SKB for link layer stuff such as wireless\n    encryption etc., but TCP works hard to fill every SKB out to the end\n    defeating this specification.\n\n    This leads to every TCP packet getting reallocated by the wireless\n    code in order to have the right amount of tailroom available.\n\n    Fix TCP to only fill SKBs out to the real amount of data area it\n    asked for during the allocation, this way it won\u0027t eat into the\n    slack added for the device\u0027s tailroom needs.\n\n    Reported by Marc Merlin and fixed by Eric Dumazet.\n\n 6) Leaks, endian bugs, and new device IDs in bluetooth from Santosh\n    Nayak, João Paulo Rechi Vita, Cho, Yu-Chen, Andrei Emeltchenko,\n    AceLan Kao, and Andrei Emeltchenko.\n\n 7) OOPS on tty_close fix in bluetooth\u0027s hci_ldisc from Johan Hovold.\n\n 8) netfilter erroneously scales TCP window twice, fix from Changli Gao.\n\n 9) Memleak fix in wext-core from Julia Lawall.\n\n10) Consistently handle invalid TCP packets in ipv4 vs.  ipv6 conntrack,\n    from Jozsef Kadlecsik.\n\n11) Validate IP header length properly in netfilter conntrack\u0027s\n    ipv4_get_l4proto().\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (39 commits)\n  NFC: Fix the LLCP Tx fragmentation loop\n  rtlwifi: Add missing DMA buffer unmapping for PCI drivers\n  rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine\n  tcp: avoid order-1 allocations on wifi and tx path\n  net: allow pskb_expand_head() to get maximum tailroom\n  bridge: Do not send queries on multicast group leaves\n  MAINTAINERS: Mark NATSEMI driver as orphan\u0027d.\n  tcp: fix tcp_rcv_rtt_update() use of an unscaled RTT sample\n  tcp: restore correct limit\n  Revert \"ath9k: fix going to full-sleep on PS idle\"\n  rt2x00: Fix rfkill_polling register function.\n  bcma: fix build error on MIPS; implicit pcibios_enable_device\n  netfilter: nf_conntrack: fix incorrect logic in nf_conntrack_init_net\n  netfilter: nf_ct_ipv4: packets with wrong ihl are invalid\n  netfilter: nf_ct_ipv4: handle invalid IPv4 and IPv6 packets consistently\n  net/wireless/wext-core.c: add missing kfree\n  rtlwifi: Fix oops on rate-control failure\n  mac80211: Convert WARN_ON to WARN_ON_ONCE\n  rtlwifi: rtl8192de: Fix firmware initialization\n  nl80211: ensure interface is up in various APIs\n  ...\n"
    },
    {
      "commit": "a21d45726acacc963d8baddf74607d9b74e2b723",
      "tree": "7cd7e1409ac0242148a0a8117956d08572eb32cf",
      "parents": [
        "87151b8689d890dfb495081f7be9b9e257f7a2df"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 10 20:30:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 11 10:11:12 2012 -0400"
      },
      "message": "tcp: avoid order-1 allocations on wifi and tx path\n\nMarc Merlin reported many order-1 allocations failures in TX path on its\nwireless setup, that dont make any sense with MTU\u003d1500 network, and non\nSG capable hardware.\n\nAfter investigation, it turns out TCP uses sk_stream_alloc_skb() and\nused as a convention skb_tailroom(skb) to know how many bytes of data\npayload could be put in this skb (for non SG capable devices)\n\nNote : these skb used kmalloc-4096 (MTU\u003d1500 + MAX_HEADER +\nsizeof(struct skb_shared_info) being above 2048)\n\nLater, mac80211 layer need to add some bytes at the tail of skb\n(IEEE80211_ENCRYPT_TAILROOM \u003d 18 bytes) and since no more tailroom is\navailable has to call pskb_expand_head() and request order-1\nallocations.\n\nThis patch changes sk_stream_alloc_skb() so that only\nsk-\u003esk_prot-\u003emax_header bytes of headroom are reserved, and use a new\nskb field, avail_size to hold the data payload limit.\n\nThis way, order-0 allocations done by TCP stack can leave more than 2 KB\nof tailroom and no more allocation is performed in mac80211 layer (or\nany layer needing some tailroom)\n\navail_size is unioned with mark/dropcount, since mark will be set later\nin IP stack for output packets. Therefore, skb size is unchanged.\n\nReported-by: Marc MERLIN \u003cmarc@merlins.org\u003e\nTested-by: Marc MERLIN \u003cmarc@merlins.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94fb175c0414902ad9dbd956addf3a5feafbc85b",
      "tree": "5d3c37abe78f072e92072f2079a98303c92cf16e",
      "parents": [
        "a9e1e53bcfb29b3b503a5e75ce498d9a64f32c1e",
        "a2bd1140a264b561e38d99e656cd843c2d840e86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 10 15:30:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 10 15:30:16 2012 -0700"
      },
      "message": "Merge tag \u0027dmaengine-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine\n\nPull dmaengine fixes from Dan Williams:\n\n1/ regression fix for Xen as it now trips over a broken assumption\n   about the dma address size on 32-bit builds\n\n2/ new quirk for netdma to ignore dma channels that cannot meet\n   netdma alignment requirements\n\n3/ fixes for two long standing issues in ioatdma (ring size overflow)\n   and iop-adma (potential stack corruption)\n\n* tag \u0027dmaengine-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine:\n  netdma: adding alignment check for NETDMA ops\n  ioatdma: DMA copy alignment needed to address IOAT DMA silicon errata\n  ioat: ring size variables need to be 32bit to avoid overflow\n  iop-adma: Corrected array overflow in RAID6 Xscale(R) test.\n  ioat: fix size of \u0027completion\u0027 for Xen\n"
    },
    {
      "commit": "18a223e0b9ec8979320ba364b47c9772391d6d05",
      "tree": "0028fe1163490ced0dcf3d72384fba0e37cf085e",
      "parents": [
        "5fb84b1428b271f8767e0eb3fcd7231896edfaa4"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Tue Apr 10 07:59:20 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:47:09 2012 -0400"
      },
      "message": "tcp: fix tcp_rcv_rtt_update() use of an unscaled RTT sample\n\nFix a code path in tcp_rcv_rtt_update() that was comparing scaled and\nunscaled RTT samples.\n\nThe intent in the code was to only use the \u0027m\u0027 measurement if it was a\nnew minimum.  However, since \u0027m\u0027 had not yet been shifted left 3 bits\nbut \u0027new_sample\u0027 had, this comparison would nearly always succeed,\nleading us to erroneously set our receive-side RTT estimate to the \u0027m\u0027\nsample when that sample could be nearly 8x too high to use.\n\nThe overall effect is to often cause the receive-side RTT estimate to\nbe significantly too large (up to 40% too large for brief periods in\nmy tests).\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fb84b1428b271f8767e0eb3fcd7231896edfaa4",
      "tree": "4e27fb488ee9a0ecc4fca1c736dc5415cebbe59c",
      "parents": [
        "ecd159fc5f415fa742d5daa5b43200606e6ad493"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 10 00:56:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:39:26 2012 -0400"
      },
      "message": "tcp: restore correct limit\n\nCommit c43b874d5d714f (tcp: properly initialize tcp memory limits) tried\nto fix a regression added in commits 4acb4190 \u0026 3dc43e3,\nbut still get it wrong.\n\nResult is machines with low amount of memory have too small tcp_rmem[2]\nvalue and slow tcp receives : Per socket limit being 1/1024 of memory\ninstead of 1/128 in old kernels, so rcv window is capped to small\nvalues.\n\nFix this to match comment and previous behavior.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Jason Wang \u003cjasowang@redhat.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07153c6ec074257ade76a461429b567cff2b3a1e",
      "tree": "ca918b6b18835b650ad4a9fed8bc08b1e6c6d273",
      "parents": [
        "8430eac2f6a3c2adce22d490e2ab8bb50d59077a"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Apr 03 22:02:01 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Apr 10 12:50:49 2012 +0200"
      },
      "message": "netfilter: nf_ct_ipv4: packets with wrong ihl are invalid\n\nIt was reported that the Linux kernel sometimes logs:\n\nklogd: [2629147.402413] kernel BUG at net / netfilter /\nnf_conntrack_proto_tcp.c: 447!\nklogd: [1072212.887368] kernel BUG at net / netfilter /\nnf_conntrack_proto_tcp.c: 392\n\nipv4_get_l4proto() in nf_conntrack_l3proto_ipv4.c and tcp_error() in\nnf_conntrack_proto_tcp.c should catch malformed packets, so the errors\nat the indicated lines - TCP options parsing - should not happen.\nHowever, tcp_error() relies on the \"dataoff\" offset to the TCP header,\ncalculated by ipv4_get_l4proto().  But ipv4_get_l4proto() does not check\nbogus ihl values in IPv4 packets, which then can slip through tcp_error()\nand get caught at the TCP options parsing routines.\n\nThe patch fixes ipv4_get_l4proto() by invalidating packets with bogus\nihl value.\n\nThe patch closes netfilter bugzilla id 771.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "8430eac2f6a3c2adce22d490e2ab8bb50d59077a",
      "tree": "0513c19811d4a34a122155351ee5728572ddadaf",
      "parents": [
        "95ad2f873d5d404dc9ebc2377de0b762346346c0"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Mon Apr 09 16:32:16 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Apr 10 00:38:34 2012 +0200"
      },
      "message": "netfilter: nf_ct_ipv4: handle invalid IPv4 and IPv6 packets consistently\n\nIPv6 conntrack marked invalid packets as INVALID and let the user\ndrop those by an explicit rule, while IPv4 conntrack dropped such\npackets itself.\n\nIPv4 conntrack is changed so that it marks INVALID packets and let\nthe user to drop them.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "bc7b88a0df0d28a19ba75fce0811dfd6ea500295",
      "tree": "1fa08d5ec6d31f035eccb6c920f9c862b80dd11b",
      "parents": [
        "8024cefc83bba720768a898f1c05248050648a71"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jun 16 14:37:03 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:56 2012 -0700"
      },
      "message": "netfilter: have ip*t REJECT set the sock err when an icmp is to be sent\n\nAllow the REJECT --reject-with icmp*blabla to also set the matching error\nlocally on the socket affected by the reject.\nThis allows the process to see an error almost as if it received it\nvia ICMP.\nIt avoids the local process who\u0027s ingress packet is rejected to have to\nwait for a pseudo-eternity until some timeout kicks in.\n\nIdeally, this should be enabled with a new iptables flag similar to\n   --reject-with-sock-err\nFor now it is enabled with CONFIG_IP*_NF_TARGET_REJECT_SKERR option.\n\nChange-Id: I649a4fd5940029ec0b3233e5abb205da6984891e\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "c543f112f11bd08d5efdf8815ff419bd20a7a392",
      "tree": "141ab0657cbec45454b435988db0e7d8b4d5d29b",
      "parents": [
        "0432013eb1fbddf51f43d3dfb7553db011c81707"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Jun 30 11:23:04 2009 +0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:47 2012 -0700"
      },
      "message": "net: Replace AID_NET_RAW checks with capable(CAP_NET_RAW).\n\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n"
    },
    {
      "commit": "5a0b3548945769cf631a21e769f14a9ba8ae1c99",
      "tree": "5fd686e471913689408a3c843e68f3f539320142",
      "parents": [
        "4364dda78fc5a61c05b4469f69090446f5cbeac8"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Wed Jan 07 11:40:42 2009 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:15 2012 -0700"
      },
      "message": "misc: uidstat: Adding uid stat driver to collect network statistics.\n\nSigned-off-by: Mike Chan \u003cmike@android.com\u003e\n"
    },
    {
      "commit": "4364dda78fc5a61c05b4469f69090446f5cbeac8",
      "tree": "c3f2f685dbad347db5a099d30973aeaed416aece",
      "parents": [
        "2365d054980471b7fcb6d862169ddcec1eb52f4d"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rlove@google.com",
        "time": "Thu Jul 31 11:12:44 2008 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:15 2012 -0700"
      },
      "message": "sysfs_net_ipv4: Add sysfs-based knobs for controlling TCP window size\n\nAdd a family of knobs to /sys/kernel/ipv4 for controlling the TCP window size:\n\n\ttcp_wmem_min\n\ttcp_wmem_def\n\ttcp_wmem_max\n\ttcp_rmem_min\n\ttcp_rmem_def\n\ttcp_rmem_max\n\nThis six values mirror the sysctl knobs in /proc/sys/net/ipv4/tcp_wmem and\n/proc/sys/net/ipv4/tcp_rmem.\n\nSysfs, unlike sysctl, allows us to set and manage the files\u0027 permissions and\nowners.\n\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\n"
    },
    {
      "commit": "2365d054980471b7fcb6d862169ddcec1eb52f4d",
      "tree": "532fd00c912501470daba9a90ab5d0248843929c",
      "parents": [
        "2038692b9acf7ae3054a35e879039ff062316bf0"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rlove@google.com",
        "time": "Mon May 12 17:08:29 2008 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:15 2012 -0700"
      },
      "message": "net: socket ioctl to reset connections matching local address\n\nIntroduce a new socket ioctl, SIOCKILLADDR, that nukes all sockets\nbound to the same local address. This is useful in situations with\ndynamic IPs, to kill stuck connections.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\n\nnet: fix tcp_v4_nuke_addr\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n\nnet: ipv4: Fix a spinlock recursion bug in tcp_v4_nuke.\n\nWe can\u0027t hold the lock while calling to tcp_done(), so we drop\nit before calling. We then have to start at the top of the chain again.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n\nnet: ipv4: Fix race in tcp_v4_nuke_addr().\n\nTo fix a recursive deadlock in 2.6.29, we stopped holding the hash table lock\nacross tcp_done() calls. This fixed the deadlock, but introduced a race where\nthe socket could die or change state.\n\nFix: Before unlocking the hash table, we grab a reference to the socket. We\ncan then unlock the hash table without risk of the socket going away. We then\nlock the socket, which is safe because it is pinned. We can then call\ntcp_done() without recursive deadlock and without race. Upon return, we unlock\nthe socket and then unpin it, killing it.\n\nChange-Id: Idcdae072b48238b01bdbc8823b60310f1976e045\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\nAcked-by: Dima Zavin \u003cdima@android.com\u003e\n\nipv4: disable bottom halves around call to tcp_done().\n\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n\nipv4: Move sk_error_report inside bh_lock_sock in tcp_v4_nuke_addr\n\nWhen sk_error_report is called, it wakes up the user-space thread, which then\ncalls tcp_close.  When the tcp_close is interrupted by the tcp_v4_nuke_addr\nioctl thread running tcp_done, it leaks 392 bytes and triggers a WARN_ON.\n\nThis patch moves the call to sk_error_report inside the bh_lock_sock, which\nmatches the locking used in tcp_v4_err.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "2038692b9acf7ae3054a35e879039ff062316bf0",
      "tree": "c0ac7f6245ec55f48eade0c9d0529466a573b1e2",
      "parents": [
        "d92aa582e4cf5c378defc14b892ae056c9db65b6"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rlove@google.com",
        "time": "Wed Oct 15 15:35:44 2008 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:14 2012 -0700"
      },
      "message": "Paranoid network.\n\nWith CONFIG_ANDROID_PARANOID_NETWORK, require specific uids/gids to instantiate\nnetwork sockets.\n\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\n\nparanoid networking: Use in_egroup_p() to check group membership\n\nThe previous group_search() caused trouble for partners with module builds.\nin_egroup_p() is also cleaner.\n\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n\nFix 2.6.29 build.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n\nnet: Fix compilation of the IPv6 module\n\nFix compilation of the IPv6 module -- current-\u003eeuid does not exist anymore,\ncurrent_euid() is what needs to be used.\n\nSigned-off-by: Steinar H. Gunderson \u003csesse@google.com\u003e\n"
    },
    {
      "commit": "35f9c09fe9c72eb8ca2b8e89a593e1c151f28fc2",
      "tree": "6e57508d6633c47b8846cfdbaefc33e6e0128a47",
      "parents": [
        "78d50217baf36093ab320f95bae0d6452daec85c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 05 03:05:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 05 19:04:27 2012 -0400"
      },
      "message": "tcp: tcp_sendpages() should call tcp_push() once\n\ncommit 2f533844242 (tcp: allow splice() to build full TSO packets) added\na regression for splice() calls using SPLICE_F_MORE.\n\nWe need to call tcp_flush() at the end of the last page processed in\ntcp_sendpages(), or else transmits can be deferred and future sends\nstall.\n\nAdd a new internal flag, MSG_SENDPAGE_NOTLAST, acting like MSG_MORE, but\nwith different semantic.\n\nFor all sendpage() providers, its a transparent change. Only\nsock_sendpage() and tcp_sendpages() can differentiate the two different\nflags provided by pipe_to_sendpage()\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": "a2bd1140a264b561e38d99e656cd843c2d840e86",
      "tree": "9c9f19dde5c0213a52de0e77c16059062cc6c8a1",
      "parents": [
        "f26df1a1a9452573af7b6cea9a4723593e838568"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "dave.jiang@intel.com",
        "time": "Wed Apr 04 16:10:46 2012 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 05 15:27:12 2012 -0700"
      },
      "message": "netdma: adding alignment check for NETDMA ops\n\nThis is the fallout from adding memcpy alignment workaround for certain\nIOATDMA hardware. NetDMA will only use DMA engine that can handle byte align\nops.\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Dave Jiang \u003cdave.jiang@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "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": "a76e99abc558aed633ba28ff61c5328116292bf3",
      "tree": "60f7677f0baafa00825accc1214839246b3e78dd",
      "parents": [
        "a54734678ff9cb97938b9f7648547174f3b118e4",
        "1d05f993784973189395051cc711fdd6dd5eb389"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "committer": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "message": "Merge branch \u0027Linux 3.0.21\u0027 into msm-3.0\n\nMerge Upstream\u0027s stable 3.0.21 branch into msm-3.0\nThis consists 814 commits and some merge conflicts.\n\nThe merge conflicts are because of some local changes to\nmsm-3.0 as well as some conflicts between google\u0027s tree and\nthe upstream tree.\n\nConflicts:\n\tarch/arm/kernel/head.S\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/mmc/core/core.c\n\tdrivers/tty/serial/serial_core.c\n\tdrivers/usb/host/ehci-hub.c\n\tdrivers/usb/serial/qcserial.c\n\tfs/namespace.c\n\tfs/proc/base.c\n\nChange-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\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": "8a533666d1591cf4ea596c6bd710e2fe682cb56a",
      "tree": "0c525703fd834499c659490b3cb38835fde14f51",
      "parents": [
        "323a479328cbc2fb5cf647790f7414ca570a577b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Feb 09 16:13:19 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Feb 13 11:06:13 2012 -0800"
      },
      "message": "net: fix NULL dereferences in check_peer_redir()\n\n[ Upstream commit d3aaeb38c40e5a6c08dd31a1b64da65c4352be36, along\n  with dependent backports of commits:\n     69cce1d1404968f78b177a0314f5822d5afdbbfb\n     9de79c127cccecb11ae6a21ab1499e87aa222880\n     218fa90f072e4aeff9003d57e390857f4f35513e\n     580da35a31f91a594f3090b7a2c39b85cb051a12\n     f7e57044eeb1841847c24aa06766c8290c202583\n     e049f28883126c689cf95859480d9ee4ab23b7fa ]\n\nGergely Kalman reported crashes in check_peer_redir().\n\nIt appears commit f39925dbde778 (ipv4: Cache learned redirect\ninformation in inetpeer.) added a race, leading to possible NULL ptr\ndereference.\n\nSince we can now change dst neighbour, we should make sure a reader can\nsafely use a neighbour.\n\nAdd RCU protection to dst neighbour, and make sure check_peer_redir()\ncan be called safely by different cpus in parallel.\n\nAs neighbours are already freed after one RCU grace period, this patch\nshould not add typical RCU penalty (cache cold effects)\n\nMany thanks to Gergely for providing a pretty report pointing to the\nbug.\n\nReported-by: Gergely Kalman \u003csynapse@hippy.csoma.elte.hu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\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": "81ecd154d0b07bd5dab6e4f09336cb068b70bcb9",
      "tree": "b93363dce01b629923b1ab0c38aa4174edbd2c45",
      "parents": [
        "8b4bb350e120fe0b32a0b1b8d227e65af03e3993"
      ],
      "author": {
        "name": "shawnlu",
        "email": "shawn.lu@ericsson.com",
        "time": "Fri Jan 20 12:22:04 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:19:04 2012 -0800"
      },
      "message": "tcp: md5: using remote adress for md5 lookup in rst packet\n\n[ Upstream commit 8a622e71f58ec9f092fc99eacae0e6cf14f6e742 ]\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8b4bb350e120fe0b32a0b1b8d227e65af03e3993",
      "tree": "da0f48a820eaa413f7b30d93468f8d386d1a2d16",
      "parents": [
        "f217c4711d71aa6811b6e71d219b9efafa5d55a6"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Sat Jan 28 17:29:46 2012 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:19:04 2012 -0800"
      },
      "message": "tcp: fix tcp_trim_head() to adjust segment count with skb MSS\n\n[ Upstream commit 5b35e1e6e9ca651e6b291c96d1106043c9af314a ]\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\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ffee9a18f29a0645c2d117083e025f557c738018",
      "tree": "3ce5e07a74f8e314df5eed0df8dc5acfc3aa54e7",
      "parents": [
        "da8ae089a79cdc37589cab581a2ca9cf48f98904"
      ],
      "author": {
        "name": "Nick Bowler",
        "email": "nbowler@elliptictech.com",
        "time": "Thu Nov 10 09:01:27 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:54 2012 -0800"
      },
      "message": "ah: Don\u0027t return NET_XMIT_DROP on input.\n\ncommit 4b90a603a1b21d63cf743cc833680cb195a729f6 upstream.\n\nWhen the ahash driver returns -EBUSY, AH4/6 input functions return\nNET_XMIT_DROP, presumably copied from the output code path.  But\nreturning transmit codes on input doesn\u0027t make a lot of sense.\nSince NET_XMIT_DROP is a positive int, this gets interpreted as\nthe next header type (i.e., success).  As that can only end badly,\nremove the check.\n\nSigned-off-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\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"
    }
  ],
  "next": "efcdbf24fd5daa88060869e51ed49f68b7ac8708"
}
