)]}'
{
  "log": [
    {
      "commit": "00c04af9df3d26e5a8093da850e982a7b6aeada7",
      "tree": "4764d2dd26f672f707fe513815a7745d03f46f43",
      "parents": [
        "fb983d4578e238b7f483b4f8f39f3a0f35d34d16"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:23:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:14 2007 -0700"
      },
      "message": "[NET_SCHED]: kill jiffie conversion macros\n\nNow that all packet schedulers have been converted to hrtimers most users\nof PSCHED_JIFFIE2US and PSCHED_US2JIFFIE are gone. The remaining users use\nit to convert external time units to packet scheduler clock ticks, so use\nPSCHED_TICKS_PER_SEC instead.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4179477f637caa730626bd597fdf28c5bad73565",
      "tree": "cdaeaf817b34ee03b0f4b4203d675272f152947a",
      "parents": [
        "641b9e0e8b7f96425da6ce98f3361e3af0baee29"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:19:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:05 2007 -0700"
      },
      "message": "[NET_SCHED]: Add hrtimer based qdisc watchdog\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "641b9e0e8b7f96425da6ce98f3361e3af0baee29",
      "tree": "2315fed3b4fd9df52a52464b9b1ce1561d403a87",
      "parents": [
        "ddc7b8e32b22fe8b45d306b7d99472d4b560add6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:18:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:04 2007 -0700"
      },
      "message": "[NET_SCHED]: Use ktime as clocksource\n\nGet rid of the manual clock source selection mess and use ktime. Also\nuse a scalar representation, which allows to clean up pkt_sched.h a bit\nmore and results in less ktime_to_ns() calls in most cases.\n\nThe PSCHED_US2JIFFIE/PSCHED_JIFFIE2US macros are implemented quite\ninefficient by this patch, following patches will convert all qdiscs\nto hrtimers and get rid of them entirely.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a6114d94b6d6f82e81cb8e0d8b0d4cf50739fec",
      "tree": "5c7e4d025d13351cebbdcf6cf6e833575d4fd30b",
      "parents": [
        "d10ba34b001944a8d1c8adb5646140ef089c432b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Mar 15 21:08:55 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:02 2007 -0700"
      },
      "message": "[KBUILD]: Unifdef headers changed by the skb layer header refactorings\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8e2078cfe414a99cf6f2f2f1d78c7e75392e9d4",
      "tree": "35f283c122ef0e82f0a76f7d42591ecaf77aa3f0",
      "parents": [
        "5c8ce7c92106434d2bdc9d5dfa5f62bf4546b296"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Mar 14 16:45:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:57 2007 -0700"
      },
      "message": "[NETFILTER]: ctnetlink: add support for internal tcp connection tracking flags handling\n\nThis patch let userspace programs set the IP_CT_TCP_BE_LIBERAL flag to\nforce the pickup of established connections.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7ac05f3407a3fb5a1b2ff5d5554899eaa0a10a3",
      "tree": "d8360ce670e1a60110ef6ddff20399129c51eefc",
      "parents": [
        "edda553c324bdc5bb5c2d553b524cab37058a855"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Mar 14 16:44:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:55 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: add nf_copy() to safely copy members in skb\n\nThis unifies the codes to copy netfilter related datas. Before copying,\nnf_copy() puts original members in destination skb.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edda553c324bdc5bb5c2d553b524cab37058a855",
      "tree": "04b041d20e685e2d7dab1dad41419af0360aa312",
      "parents": [
        "9b88790972498d235a2a4d2b66640c3c5b70bb7c"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Mar 14 16:43:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:54 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: add __nf_copy() to copy members in skb\n\nThis unifies the codes to copy netfilter related datas. Note that\n__nf_copy() assumes destination skb doesn\u0027t have any netfilter\nrelated members.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e87e014ec881ce353e1f43340157f519b5d9f30",
      "tree": "694f65663570254f706ab328cf303cfd270cf74d",
      "parents": [
        "f4bc177f0ff0bf41b178452877762a9f0184d1a1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:42:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:52 2007 -0700"
      },
      "message": "[JHASH]: Use const in jhash2\n\nUse const to avoid forcing users to cast const data.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "010c7d6f867e98c86723f420d485583464fbab45",
      "tree": "5ee196dbe0709ba70dbf385c5b7cde78ffc7c90a",
      "parents": [
        "73c361862c2be2e4ed6019da283fe1b422107f16"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:40:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:46 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: uninline notifier registration functions\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3c5029cf7a96da3acdf6884a21581b5bef310c3",
      "tree": "c599a8870e199562f4937193f2b3dc3d56a55145",
      "parents": [
        "c6a1e615d1ba942b9e783079d53f741e4a8e1c89"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:39:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:43 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: use mutex instead of semaphore\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac5357ebac43e191003c2cd0722377dccfa01a84",
      "tree": "a5a09bed344af07a68a95c2c4606a6c7eedc4748",
      "parents": [
        "b19caa0ca071dce76b0e81e957e7eb7c03d72cf5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:38:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:40 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: remove ugly hack in l4proto registration\n\nRemove ugly special-casing of nf_conntrack_l4proto_generic, all it\nwants is its sysctl tables registered, so do that explicitly in an\ninit function and move the remaining protocol initialization and\ncleanup code to nf_conntrack_proto.c as well.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "587aa64163bb14f70098f450abab9410787fce9d",
      "tree": "399c00a969d9a8c7af13675583c5417282d18974",
      "parents": [
        "ce18afe57bf53477f133208856dd2b7e6b5db5e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:37:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:34 2007 -0700"
      },
      "message": "[NETFILTER]: Remove IPv4 only connection tracking/NAT\n\nRemove the obsolete IPv4 only connection tracking/NAT as scheduled in\nfeature-removal-schedule.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39b89160df691045d1449cbaef43c02084c7543a",
      "tree": "bbe217599a1b84f3bf33c053e2c7d3bdf8bdd571",
      "parents": [
        "b0061ce49c83657563b64ffcf1ec137110230d93"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:06:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipipv6_hdr(), remove skb-\u003eh.ipv6h\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0061ce49c83657563b64ffcf1ec137110230d93",
      "tree": "be6788071fdbc53261ee395f596705e1418461d1",
      "parents": [
        "aa8223c7bb0b05183e1737881ed21827aa5b9e73"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:02:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:27 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipip_hdr(), remove skb-\u003eh.ipiph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa8223c7bb0b05183e1737881ed21827aa5b9e73",
      "tree": "05c9832326edfeb878472f15cf8133ed9f014cdf",
      "parents": [
        "ab6a5bb6b28a970104a34f0f6959b73cf61bdc72"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:04:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:26 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce tcp_hdr(), remove skb-\u003eh.th\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab6a5bb6b28a970104a34f0f6959b73cf61bdc72",
      "tree": "54cfa7d4fe00d0c28a60022b075afc0856d6fc2b",
      "parents": [
        "88c7664f13bd1a36acb8566b93892a4c58759ac6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 18 17:43:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:24 2007 -0700"
      },
      "message": "[TCP]: Introduce tcp_hdrlen() and tcp_optlen()\n\nThe ip_hdrlen() buddy, created to reduce the number of skb-\u003eh.th-\u003e uses and to\navoid the longer, open coded equivalent.\n\nDitched a no-op in bnx2 in the process.\n\nI wonder if we should have a BUG_ON(skb-\u003eh.th-\u003edoff \u003c 5) in tcp_optlen()...\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88c7664f13bd1a36acb8566b93892a4c58759ac6",
      "tree": "18ead610bf54ef87f3832c61d64a4bad30d4f78e",
      "parents": [
        "4bedb45203eab92a87b4c863fe2d0cded633427f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:43:18 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce icmp_hdr(), remove skb-\u003eh.icmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bedb45203eab92a87b4c863fe2d0cded633427f",
      "tree": "d46e43d0a08253cf85ee2db64df6aee5e4ff5a07",
      "parents": [
        "d9edf9e2be0f7661558984c32bd53867a7037fd3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:28:48 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:22 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce udp_hdr(), remove skb-\u003eh.uh\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9edf9e2be0f7661558984c32bd53867a7037fd3",
      "tree": "603271a9d0756e229ad9ff13c628a33306c96bdf",
      "parents": [
        "cc70ab261c9f997589546100ddec5da6bfd89c4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:19:23 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce igmp_hdr() \u0026 friends, remove skb-\u003eh.igmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc70ab261c9f997589546100ddec5da6bfd89c4e",
      "tree": "0be6a4f0dc81131747f3d3726dba77d922c6bee9",
      "parents": [
        "2c0fd387b00a6758550b5ca1aae4408374483fe7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:03:22 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:20 2007 -0700"
      },
      "message": "[ICMP6]: Introduce icmp6_hdr()\n\nFor consistency with all the other skb-\u003eh.raw accessors.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c0fd387b00a6758550b5ca1aae4408374483fe7",
      "tree": "e6bd255fb77d476424345c7864f6ee14cb0d1ddc",
      "parents": [
        "967b05f64e27d04a4c8879addd0e1c52137e2c9e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:59:32 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:19 2007 -0700"
      },
      "message": "[SCTP]: Introduce sctp_hdr()\n\nFor consistency with all the other skb-\u003eh.raw accessors.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "967b05f64e27d04a4c8879addd0e1c52137e2c9e",
      "tree": "c2c7ab3f0284903222d6d0864deaedbd4766b9b8",
      "parents": [
        "ea2ae17d6443abddc79480dc9f7af8feacabddc4"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:51:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:17 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_transport_header\n\nFor the cases where the transport header is being set to a offset from\nskb-\u003edata.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2ae17d6443abddc79480dc9f7af8feacabddc4",
      "tree": "2d6f48a5e4a40f761b5b510af9aac1fca55004cb",
      "parents": [
        "badff6d01a8589a1c828b0bf118903ca38627f4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:55:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:16 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_offset()\n\nFor the quite common \u0027skb-\u003eh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "badff6d01a8589a1c828b0bf118903ca38627f4e",
      "tree": "89611d7058c612085c58dfb9913ee30ddf04b604",
      "parents": [
        "0660e03f6b18f19b6bbafe7583265a51b90daf36"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:06:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:15 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_transport_header(skb)\n\nFor the common, open coded \u0027skb-\u003eh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003eh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple cases:\n\nskb-\u003eh.raw \u003d skb-\u003edata;\nskb-\u003eh.raw \u003d {skb_push|[__]skb_pull}()\n\nThe next ones will handle the slightly more \"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0660e03f6b18f19b6bbafe7583265a51b90daf36",
      "tree": "82cc819ead5ab7858ba211ee8719a3e6d2bb984f",
      "parents": [
        "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:54:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:14 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipv6_hdr(), remove skb-\u003enh.ipv6h\n\nNow the skb-\u003enh union has just one member, .raw, i.e. it is just like the\nskb-\u003emac union, strange, no? I\u0027m just leaving it like that till the transport\nlayer is done with, when we\u0027ll rename skb-\u003emac.raw to skb-\u003emac_header (or\n-\u003emac_header_offset?), ditto for -\u003e{h,nh}.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb",
      "tree": "de57331758805956bcb54dda798e3ca76dd5a46f",
      "parents": [
        "fd74e6ccd522e2f26163eb5ac1abebcab2bd017c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:56:31 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:12 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce arp_hdr(), remove skb-\u003enh.arph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9bdd4b5257406b0608385d19c40b5511decf4f6",
      "tree": "fe5319c322a11c0b00e7ef0473762a8d1961da83",
      "parents": [
        "0272ffc46f81a4bbbf302ba093c737e969c5bb55"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:09:15 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:07 2007 -0700"
      },
      "message": "[IP]: Introduce ip_hdrlen()\n\nFor the common sequence \"skb-\u003enh.iph-\u003eihl * 4\", removing a good number of open\ncoded skb-\u003enh.iph uses, now to go after the rest...\n\nJust out of curiosity, here are the idioms found to get the same result:\n\nskb-\u003enh.iph-\u003eihl \u003c\u003c 2\nskb-\u003enh.iph-\u003eihl\u003c\u003c2\nskb-\u003enh.iph-\u003eihl * 4\nskb-\u003enh.iph-\u003eihl*4\n(skb-\u003enh.iph)-\u003eihl * sizeof(u32)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c14d2450cb7fe1786e2ec325172baf66922bf597",
      "tree": "1186bfb1ed197e81a1ff816a513ad69503d5d786",
      "parents": [
        "878c814500b123dd61a5e211879a32e5fd932713"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 11 22:39:41 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:01 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_network_header\n\nFor the cases where the network header is being set to a offset from skb-\u003edata.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc",
      "tree": "3b9073cecfbb3b6a1e25ab2b5dd2a22a43aef238",
      "parents": [
        "bbe735e4247dba32568a305553b010081c8dea99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:50:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:59 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header()\n\nFor the places where we need a pointer to the network header, it is still legal\nto touch skb-\u003enh.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbe735e4247dba32568a305553b010081c8dea99",
      "tree": "95d96619c85785a47ccee48965b68d99cf946854",
      "parents": [
        "e7dd65dafda5737a983c04d652a69ab8da78ee3f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 22:16:10 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:58 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_offset()\n\nFor the quite common \u0027skb-\u003enh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce",
      "tree": "03a715961ba576a11cbc0e91c5d465e4c4d95d82",
      "parents": [
        "57effc70a5be9f7804e9a99964eb7265367effca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:45:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:46 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_network_header(skb)\n\nFor the common, open coded \u0027skb-\u003enh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003enh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "797659fb4a4a511649cd71028141c32ad1698a12",
      "tree": "370361e706de99e3c176b343e9f2db5a1a9df2a3",
      "parents": [
        "37e6636669b0b996681586facee8034f7f674f6a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 15:56:08 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:43 2007 -0700"
      },
      "message": "[PPPOE]: Introduce pppoe_hdr()\n\nFor consistency with all the other skb-\u003enh.raw accessors.\n\nAlso do some really obvious simplifications in pppoe_recvmsg, well the\nkfree_skb one is not so obvious, but free() and kfree() have the same behaviour\n(hint :-) ).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37e6636669b0b996681586facee8034f7f674f6a",
      "tree": "4ab874ffd5b5408aa0d8bf59b3dcdb0c89b9b770",
      "parents": [
        "98e399f82ab3a6d863d1d4a7ea48925cc91c830e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 15:34:36 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:42 2007 -0700"
      },
      "message": "[LLC]: Kill llc_set_pdu_hdr\n\nWe\u0027ll have skb_reset_network_header soon.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98e399f82ab3a6d863d1d4a7ea48925cc91c830e",
      "tree": "5f84043aeec1ec27c2e8e6cc25b5d2e6c3d07343",
      "parents": [
        "31713c333ddbb66d694829082620b69b71c4b09a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:33:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:41 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_mac_header()\n\nFor the places where we need a pointer to the mac header, it is still legal to\ntouch skb-\u003emac.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nThis one also converts some more cases to skb_reset_mac_header() that my\nregex missed as it had no spaces before nor after \u0027\u003d\u0027, ugh.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48d49d0ccdaa9caff4636ef9c3410973d28131b5",
      "tree": "3bdf0729bf05e817d1bb9c3299906682414f8a76",
      "parents": [
        "f64955eb117ad62480b858fd69a11e6f9e74f60b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 12:30:58 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:37 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_mac_header()\n\nFor the cases where we want to set skb-\u003emac.raw to an offset from skb-\u003edata.\n\nSimple cases first, the memmove ones and specially pktgen will be left for later.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "459a98ed881802dee55897441bc7f77af614368e",
      "tree": "b81f76632d8f2e21eb91ec3d885091a98398d93e",
      "parents": [
        "4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:30:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:32 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_mac_header(skb)\n\nFor the common, open coded \u0027skb-\u003emac.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003emac.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92f37fd2ee805aa77925c1e64fd56088b46094fc",
      "tree": "8251c38b83ab362116dac89d94412ce229b42831",
      "parents": [
        "c7a3c5da35055e2fa97ed4f0da3eec4bd0ef4c38"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 25 22:14:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:21 2007 -0700"
      },
      "message": "[NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support\n\nNow that network timestamps use ktime_t infrastructure, we can add a new\nSOL_SOCKET sockopt  SO_TIMESTAMPNS.\n\nThis command is similar to SO_TIMESTAMP, but permits transmission of\na \u0027timespec struct\u0027 instead of a \u0027timeval struct\u0027 control message.\n(nanosecond resolution instead of microsecond)\n\nControl message is labelled SCM_TIMESTAMPNS instead of SCM_TIMESTAMP\n\nA socket cannot mix SO_TIMESTAMP and SO_TIMESTAMPNS : the two modes are\nmutually exclusive.\n\nsock_recv_timestamp() became too big to be fully inlined so I added a\n__sock_recv_timestamp() helper function.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: linux-arch@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2a316fd068c455c609ecc155dcfaa7e208d29fe",
      "tree": "9839e2c7e05e9d25241fa7c7b27fd06214120292",
      "parents": [
        "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 08 20:41:08 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:05 2007 -0700"
      },
      "message": "[NET]: Replace CONFIG_NET_DEBUG with sysctl.\n\nCovert network warning messages from a compile time to runtime choice.\nRemoves kernel config option and replaces it with new /proc/sys/net/core/warnings.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23",
      "tree": "b5ae288b3c27d13bde9648c41d7db3cfe1884bc2",
      "parents": [
        "cb69cc52364690d7789940c480b3a9490784b680"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 18 17:33:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:04 2007 -0700"
      },
      "message": "[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution\n\nNow network timestamps use ktime_t infrastructure, we can add a new\nioctl() SIOCGSTAMPNS command to get timestamps in \u0027struct timespec\u0027.\nUser programs can thus access to nanosecond resolution.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe067e8ab5e0dc5ca3c54634924c628da92090b4",
      "tree": "98f5a6ebbb770f16682cfc52caea2da1e7eeb73b",
      "parents": [
        "02ea4923b4997d7e1310c027081f46d584b9d714"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 07 12:12:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:02 2007 -0700"
      },
      "message": "[TCP]: Abstract out all write queue operations.\n\nThis allows the write queue implementation to be changed,\nfor example, to one which allows fast interval searching.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "759e5d006462d53fb708daa8284b4ad909415da1",
      "tree": "edcc4e9d975199b3fe5e2aadc3d1e06824755e75",
      "parents": [
        "1ab6eb62b02e0949a392fb19bf31ba59ae1022b1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Mar 25 20:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:51 2007 -0700"
      },
      "message": "[UDP]: Clean up UDP-Lite receive checksum\n\nThis patch eliminates some duplicate code for the verification of\nreceive checksums between UDP-Lite and UDP.  It does this by\nintroducing __skb_checksum_complete_head which is identical to\n__skb_checksum_complete_head apart from the fact that it takes\na length parameter rather than computing the first skb-\u003elen bytes.\n\nAs a result UDP-Lite will be able to use hardware checksum offload\nfor packets which do not use partial coverage checksums.  It also\nmeans that UDP-Lite loopback no longer does unnecessary checksum\nverification.\n\nIf any NICs start support UDP-Lite this would also start working\nautomatically.\n\nThis patch removes the assumption that msg_flags has MSG_TRUNC clear\nupon entry in recvmsg.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc910a27839584209726537698b596576940add4",
      "tree": "e03b021dcb5046ffb1e8154f0f4d4bc72c4c1c1d",
      "parents": [
        "ca043569390c528de4cd5ec9e07502f2bf4ecd1f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 25 20:27:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:45 2007 -0700"
      },
      "message": "[NETLINK]: Limit NLMSG_GOODSIZE to 8K.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c385b4d5a71b8ad552aecaa968ea46d7da2f6a",
      "tree": "49d8e60418cb4eeb0c9ed79fd095af50f6ec6623",
      "parents": [
        "502b093569e48db264831be7966e1c447de2f52f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Apr 25 17:08:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:43 2007 -0700"
      },
      "message": "[IPV6] ADDRCONF: Optimistic Duplicate Address Detection (RFC 4429) Support.\n\nNominally an autoconfigured IPv6 address is added to an interface in the\nTentative state (as per RFC 2462).  Addresses in this state remain in this\nstate while the Duplicate Address Detection process operates on them to\ndetermine their uniqueness on the network.  During this period, these\ntentative addresses may not be used for communication, increasing the time\nbefore a node may be able to communicate on a network.  Using Optimistic\nDuplicate Address Detection, autoconfigured addresses may be used\nimmediately for communication on the network, as long as certain rules are\nfollowed to avoid conflicts with other nodes during the Duplicate Address\nDetection process.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c",
      "tree": "4bc9d61031f4eb40d73887d6bde09e7d6bf2b259",
      "parents": [
        "3927f2e8f9afa3424bb51ca81f7abac01ffd0005"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 19 16:16:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:34 2007 -0700"
      },
      "message": "[NET]: convert network timestamps to ktime_t\n\nWe currently use a special structure (struct skb_timeval) and plain\n\u0027struct timeval\u0027 to store packet timestamps in sk_buffs and struct\nsock.\n\nThis has some drawbacks :\n- Fixed resolution of micro second.\n- Waste of space on 64bit platforms where sizeof(struct timeval)\u003d16\n\nI suggest using ktime_t that is a nice abstraction of high resolution\ntime services, currently capable of nanosecond resolution.\n\nAs sizeof(ktime_t) is 8 bytes, using ktime_t in \u0027struct sock\u0027 permits\na 8 byte shrink of this structure on 64bit architectures. Some other\nstructures also benefit from this size reduction (struct ipq in\nipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)\n\nOnce this ktime infrastructure adopted, we can more easily provide\nnanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or\nSO_TIMESTAMPNS/SCM_TIMESTAMPNS)\n\nNote : this patch includes a bug correction in\ncompat_sock_get_timestamp() where a \"err \u003d 0;\" was missing (so this\nsyscall returned -ENOENT instead of 0)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCC: John find \u003clinux.kernel@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3927f2e8f9afa3424bb51ca81f7abac01ffd0005",
      "tree": "da9e335169572e6c743c084edce6a802f9e667ee",
      "parents": [
        "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 25 19:54:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:33 2007 -0700"
      },
      "message": "[NET]: div64_64 consolidate (rev3)\n\nHere is the current version of the 64 bit divide common code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5",
      "tree": "69a3ca50c6e266853676a545a113f13f254ae535",
      "parents": [
        "39df232f1a9ba48d41c68ee7d4046756e709cf91"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sun Mar 04 16:12:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:32 2007 -0700"
      },
      "message": "[NET]: Convert xtime.tv_sec to get_seconds()\n\nWhere appropriate, convert references to xtime.tv_sec to the\nget_seconds() helper function.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa438ccfdfd3f6db02c13b61b21454eb81cd6a13",
      "tree": "a1759259d7543586185e2fb9db21461147944f18",
      "parents": [
        "e317f6f69cb95527799d308a9421b7dc1252989a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 04 16:05:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:27 2007 -0700"
      },
      "message": "[NET]: Keep sk_backlog near sk_lock\n\nsk_backlog is a critical field of struct sock. (known famous words)\n\nIt is (ab)used in hot paths, in particular in release_sock(), tcp_recvmsg(),\ntcp_v4_rcv(), sk_receive_skb().\n\nIt really makes sense to place it next to sk_lock, because sk_backlog is only\nused after sk_lock locked (and thus memory cache line in L1 cache). This\nshould reduce cache misses and sk_lock acquisition time.\n\n(In theory, we could only move the head pointer near sk_lock, and leaving tail\nfar away, because \u0027tail\u0027 is normally not so hot, but keep it simple :) )\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cfe3baaf07c9e40a75f9a70662de56df1c246a8",
      "tree": "989b2aff491b5df3aa0215f611a8c7f1360c67e9",
      "parents": [
        "c5e7af0df5d7234afd8596560d9f570cfc6c18bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Feb 27 10:09:49 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:23 2007 -0700"
      },
      "message": "[TCP]: Add two new spurious RTO responses to FRTO\n\nNew sysctl tcp_frto_response is added to select amongst these\nresponses:\n\t- Rate halving based; reuses CA_CWR state (default)\n\t- Very conservative; used to be the only one available (\u003d1)\n\t- Undo cwr; undoes ssthresh and cwnd reductions (\u003d2)\n\nThe response with rate halving requires a new parameter to\ntcp_enter_cwr because FRTO has already reduced ssthresh and\ndoing a second reduction there has to be prevented. In addition,\nto keep things nice on 80 cols screen, a local variable was\nadded.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0ef57cc56c3c96493f9b0d6c77bb9608eeaa173",
      "tree": "df6c7b65456507354b35b7b318332a3c8d11f98e",
      "parents": [
        "54287cc178cf85dbae0decec8b4dc190bff757ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 22 22:52:59 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:21 2007 -0700"
      },
      "message": "[TCP]: Make snd_cwnd_clamp a u32.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54287cc178cf85dbae0decec8b4dc190bff757ad",
      "tree": "44dedf7be5ac37fae65718d359ff598902247753",
      "parents": [
        "cf4c6bf83d0fa070f60b1ba8124dfe0e65fbfbcc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Feb 22 03:20:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:21 2007 -0700"
      },
      "message": "[TCP]: Keep copied_seq, rcv_wup and rcv_next together.\n\nI noticed in oprofile study a cache miss in tcp_rcv_established() to read\ncopied_seq.\n\nffffffff80400a80 \u003ctcp_rcv_established\u003e: /* tcp_rcv_established total: 4034293  \n2.0400 */\n\n 55493  0.0281 :ffffffff80400bc9:   mov    0x4c8(%r12),%eax copied_seq\n543103  0.2746 :ffffffff80400bd1:   cmp    0x3e0(%r12),%eax   rcv_nxt    \n\nif (tp-\u003ecopied_seq \u003d\u003d tp-\u003ercv_nxt \u0026\u0026\n        len - tcp_header_len \u003c\u003d tp-\u003eucopy.len) {\n\nIn this function, the cache line 0x4c0 -\u003e 0x500 is used only for this\nreading \u0027copied_seq\u0027 field.\n\nrcv_wup and copied_seq should be next to rcv_nxt field, to lower number of\nactive cache lines in hot paths. (tcp_rcv_established(), tcp_poll(), ...)\n\nAs you suggested, I changed tcp_create_openreq_child() so that these fields\nare changed together, to avoid adding a new store buffer stall.\n\nPatch is 64bit friendly (no new hole because of alignment constraints)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "886236c1247ab5e2ad9c73f6e9a652e3ae3c8b07",
      "tree": "f0ab2d6f6b6c98c6042be100db752c2d492669ae",
      "parents": [
        "5ef814753eb810d900fbd77af7c87f6d04f0e551"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Sun Mar 25 19:21:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:19 2007 -0700"
      },
      "message": "[TCP]: Add RFC3742 Limited Slow-Start, controlled by variable sysctl_tcp_max_ssthresh.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46d0de4ed92650b95f27acae09914996bbe624e7",
      "tree": "455e6a9772294ef16a88800709685797e1779b75",
      "parents": [
        "7c9a4a5b67926dd186d427bc5b9fce6ccbde154c"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:10:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:12 2007 -0700"
      },
      "message": "[TCP] FRTO: Entry is allowed only during (New)Reno like recovery\n\nThis interpretation comes from RFC4138:\n    \"If the sender implements some loss recovery algorithm other\n     than Reno or NewReno [FHG04], the F-RTO algorithm SHOULD\n     NOT be entered when earlier fast recovery is underway.\"\n\nI think the RFC means to say (especially in the light of\nAppendix B) that ...recovery is underway (not just fast recovery)\nor was underway when it was interrupted by an earlier (F-)RTO\nthat hasn\u0027t yet been resolved (snd_una has not advanced enough).\nThus, my interpretation is that whenever TCP has ever\nretransmitted other than head, basic version cannot be used\nbecause then the order assumptions which are used as FRTO basis\ndo not hold.\n\nNewReno has only the head segment retransmitted at a time.\nTherefore, walk up to the segment that has not been SACKed, if\nthat segment is not retransmitted nor anything before it, we know\nfor sure, that nothing after the non-SACKed segment should be\neither. This assumption is valid because TCPCB_EVER_RETRANS does\nnot leave holes but each non-SACKed segment is rexmitted\nin-order.\n\nCheck for retrans_out \u003e 1 avoids more expensive walk through the\nskb list, as we can know the result beforehand: F-RTO will not be\nallowed.\n\nSACKed skb can turn into non-SACked only in the extremely rare\ncase of SACK reneging, in this case we might fail to detect\nretransmissions if there were them for any other than head. To\nget rid of that feature, whole rexmit queue would have to be\nwalked (always) or FRTO should be prevented when SACK reneging\nhappens. Of course RTO should still trigger after reneging which\nmakes this issue even less likely to show up. And as long as the\nresponse is as conservative as it\u0027s now, nothing bad happens even\nthen.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdaae17da81db79b9aa4dfbf43305cfeef64f6a8",
      "tree": "5dce126ae84073646c15417c30bd1b6b13660784",
      "parents": [
        "9ead9a1d385ae2c52a6dcf2828d84ce66be04fc2"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 22:59:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:02 2007 -0700"
      },
      "message": "[TCP] FRTO: Moved tcp_use_frto from tcp.h to tcp_input.c\n\nIn addition, removed inline.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12145387a042e8aa4439485f8976e6992a529b12",
      "tree": "ae161089e3058663510033fa85ed05115ab3b550",
      "parents": [
        "6f4c5bdef2943d9ec074be32c437ca897016aaad",
        "68c9f75a0539db583db074059d54deb607d1a475"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 18:20:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 18:20:32 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [BNX2]: Fix occasional NETDEV WATCHDOG on 5709.\n  [IPV6]: Disallow RH0 by default.\n  [XFRM]: beet: fix pseudo header length value\n  [TCP]: Congestion control initialization.\n"
    },
    {
      "commit": "0bcbc92629044b5403719f77fb015e9005b1f504",
      "tree": "ac9635a8ac7b14edcaa0e5ad42a5bc70f778ec33",
      "parents": [
        "05d224468a273a9ee773a0e9d34227ee7f2c0840"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 14:58:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 24 14:58:30 2007 -0700"
      },
      "message": "[IPV6]: Disallow RH0 by default.\n\nA security issue is emerging.  Disallow Routing Header Type 0 by default\nas we have been doing for IPv4.\nNote: We allow RH2 by default because it is harmless.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e40f2ab0a7e36706ee78b78b3792f08f208cd44",
      "tree": "f04d09eb760c19bfd343d696f297e01b4ab2ea98",
      "parents": [
        "fc83815c3afe1bd8d0f0961a668a96caabb049be"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@in.ibm.com",
        "time": "Mon Apr 23 14:41:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "Taskstats fix the structure members alignment issue\n\nWe broke the the alignment of members of taskstats to the 8 byte boundary\nwith the CSA patches.  In the current kernel, the taskstats structure is\nnot suitable for use by 32 bit applications in a 64 bit kernel.\n\nOn x86_64\n\nOffsets of taskstats\u0027 members (64 bit kernel, 64 bit application)\n\n@taskstats\u0027offsetof[@taskstats\u0027indices] \u003d (\n        0,      # version\n        4,      # ac_exitcode\n        8,      # ac_flag\n        9,      # ac_nice\n        16,     # cpu_count\n        24,     # cpu_delay_total\n        32,     # blkio_count\n        40,     # blkio_delay_total\n        48,     # swapin_count\n        56,     # swapin_delay_total\n        64,     # cpu_run_real_total\n        72,     # cpu_run_virtual_total\n        80,     # ac_comm\n        112,    # ac_sched\n        113,    # ac_pad\n        116,    # ac_uid\n        120,    # ac_gid\n        124,    # ac_pid\n        128,    # ac_ppid\n        132,    # ac_btime\n        136,    # ac_etime\n        144,    # ac_utime\n        152,    # ac_stime\n        160,    # ac_minflt\n        168,    # ac_majflt\n        176,    # coremem\n        184,    # virtmem\n        192,    # hiwater_rss\n        200,    # hiwater_vm\n        208,    # read_char\n        216,    # write_char\n        224,    # read_syscalls\n        232,    # write_syscalls\n        240,    # read_bytes\n        248,    # write_bytes\n        256,    # cancelled_write_bytes\n    );\n\nOffsets of taskstats\u0027 members (64 bit kernel, 32 bit application)\n\n@taskstats\u0027offsetof[@taskstats\u0027indices] \u003d (\n        0,      # version\n        4,      # ac_exitcode\n        8,      # ac_flag\n        9,      # ac_nice\n        12,     # cpu_count\n        20,     # cpu_delay_total\n        28,     # blkio_count\n        36,     # blkio_delay_total\n        44,     # swapin_count\n        52,     # swapin_delay_total\n        60,     # cpu_run_real_total\n        68,     # cpu_run_virtual_total\n        76,     # ac_comm\n        108,    # ac_sched\n        109,    # ac_pad\n        112,    # ac_uid\n        116,    # ac_gid\n        120,    # ac_pid\n        124,    # ac_ppid\n        128,    # ac_btime\n        132,    # ac_etime\n        140,    # ac_utime\n        148,    # ac_stime\n        156,    # ac_minflt\n        164,    # ac_majflt\n        172,    # coremem\n        180,    # virtmem\n        188,    # hiwater_rss\n        196,    # hiwater_vm\n        204,    # read_char\n        212,    # write_char\n        220,    # read_syscalls\n        228,    # write_syscalls\n        236,    # read_bytes\n        244,    # write_bytes\n        252,    # cancelled_write_bytes\n    );\n\nThis is one way to solve the problem without re-arranging structure members\nis to pack the structure.  The patch adds an __attribute__((aligned(8))) to\nthe taskstats structure members so that 32 bit applications using taskstats\ncan work with a 64 bit kernel.\n\nUsing __attribute__((packed)) would break the 64 bit alignment of members.\n\nThe fix was tested on x86_64. After the fix, we got\n\nOffsets of taskstats\u0027 members (64 bit kernel, 64 bit application)\n\n@taskstats\u0027offsetof[@taskstats\u0027indices] \u003d (\n        0,      # version\n        4,      # ac_exitcode\n        8,      # ac_flag\n        9,      # ac_nice\n        16,     # cpu_count\n        24,     # cpu_delay_total\n        32,     # blkio_count\n        40,     # blkio_delay_total\n        48,     # swapin_count\n        56,     # swapin_delay_total\n        64,     # cpu_run_real_total\n        72,     # cpu_run_virtual_total\n        80,     # ac_comm\n        112,    # ac_sched\n        113,    # ac_pad\n        120,    # ac_uid\n        124,    # ac_gid\n        128,    # ac_pid\n        132,    # ac_ppid\n        136,    # ac_btime\n        144,    # ac_etime\n        152,    # ac_utime\n        160,    # ac_stime\n        168,    # ac_minflt\n        176,    # ac_majflt\n        184,    # coremem\n        192,    # virtmem\n        200,    # hiwater_rss\n        208,    # hiwater_vm\n        216,    # read_char\n        224,    # write_char\n        232,    # read_syscalls\n        240,    # write_syscalls\n        248,    # read_bytes\n        256,    # write_bytes\n        264,    # cancelled_write_bytes\n    );\n\nOffsets of taskstats\u0027 members (64 bit kernel, 32 bit application)\n\n@taskstats\u0027offsetof[@taskstats\u0027indices] \u003d (\n        0,      # version\n        4,      # ac_exitcode\n        8,      # ac_flag\n        9,      # ac_nice\n        16,     # cpu_count\n        24,     # cpu_delay_total\n        32,     # blkio_count\n        40,     # blkio_delay_total\n        48,     # swapin_count\n        56,     # swapin_delay_total\n        64,     # cpu_run_real_total\n        72,     # cpu_run_virtual_total\n        80,     # ac_comm\n        112,    # ac_sched\n        113,    # ac_pad\n        120,    # ac_uid\n        124,    # ac_gid\n        128,    # ac_pid\n        132,    # ac_ppid\n        136,    # ac_btime\n        144,    # ac_etime\n        152,    # ac_utime\n        160,    # ac_stime\n        168,    # ac_minflt\n        176,    # ac_majflt\n        184,    # coremem\n        192,    # virtmem\n        200,    # hiwater_rss\n        208,    # hiwater_vm\n        216,    # read_char\n        224,    # write_char\n        232,    # read_syscalls\n        240,    # write_syscalls\n        248,    # read_bytes\n        256,    # write_bytes\n        264,    # cancelled_write_bytes\n    );\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea8df8c5e609a53f4d03d133baea9561412f4303",
      "tree": "1451390f27ffad89c11671eb3e61d66f48dca00b",
      "parents": [
        "241c39b9ac4bf847013aa06cce6d4d61426a2006",
        "1d464c26b5625215c4b35fb336c8f3c57d248c2e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 20 22:57:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 20 22:57:51 2007 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Fix wrong checksum for split TCP packets on 64-bit MIPS\n  [MIPS] Fix BUG(), BUG_ON() handling\n  [MIPS] Retry {save,restore}_fp_context if failed in atomic context.\n  [MIPS] Disallow CpU exception in kernel again.\n  [MIPS] Add missing silicon revisions for BCM112x\n"
    },
    {
      "commit": "8e821cad12e80cd1a8a3fbadf91f62f17f32549e",
      "tree": "7a3755731152198410008921b3a2b8e7015e5f0e",
      "parents": [
        "7ab77e03c1f665d5dee78f1248fffd11fa0c5154"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 20 16:12:34 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 20 22:56:29 2007 -0700"
      },
      "message": "NFS: clean up the unstable write code\n\nGet rid of the inlined #ifdefs.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d464c26b5625215c4b35fb336c8f3c57d248c2e",
      "tree": "88316e8149c4125dbdb55ff90a4e8d45a024940b",
      "parents": [
        "ba755f8ec80fdbf2b5212622eabf7355464c6327"
      ],
      "author": {
        "name": "Dave Johnson",
        "email": "djohnson+linux-mips@sw.starentnetworks.com",
        "time": "Wed Apr 18 10:39:41 2007 -0400"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Fix wrong checksum for split TCP packets on 64-bit MIPS\n\nI\u0027ve traced down an off-by-one TCP checksum calculation error under\nthe following conditions:\n\n1) The TCP code needs to split a full-sized packet due to a reduced\n   MSS (typically due to the addition of TCP options mid-stream like\n   SACK).\n   _AND_\n2) The checksum of the 2nd fragment is larger than the checksum of the\n   original packet.  After subtraction this results in a checksum for\n   the 1st fragment with bits 16..31 set to 1. (this is ok)\n   _AND_\n3) The checksum of the 1st fragment\u0027s TCP header plus the previously\n   32bit checksum of the 1st fragment DOES NOT cause a 32bit overflow\n   when added together.  This results in a checksum of the TCP header\n   plus TCP data that still has the upper 16 bits as 1\u0027s.\n   _THEN_\n4) The TCP+data checksum is added to the checksum of the pseudo IP\n   header with csum_tcpudp_nofold() incorrectly (the bug).\n    \nThe problem is the checksum of the TCP+data is passed to\ncsum_tcpudp_nofold() as an 32bit unsigned value, however the assembly\ncode acts on it as if it is a 64bit unsigned value.\n\nThis causes an incorrect 32-\u003e64bit extension if the sum has bit 31\nset.  The resulting checksum is off by one.\n    \nThis problems is data and TCP header dependent due to #2 and #3\nabove so it doesn\u0027t occur on every TCP packet split.\n    \nSigned-off-by: Dave Johnson \u003cdjohnson+linux-mips@sw.starentnetworks.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "ba755f8ec80fdbf2b5212622eabf7355464c6327",
      "tree": "211f9963c94d740a629c0a72fcacdb1761506873",
      "parents": [
        "faea62346444ce5b1dba8fb5291d95b676522c42"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Thu Apr 12 20:02:54 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Fix BUG(), BUG_ON() handling\n\nWith commit 63dc68a8cf60cb110b147dab1704d990808b39e2, kernel can not\nhandle BUG() and BUG_ON() properly since get_user() returns false for\nkernel code.  Use __get_user() to skip unnecessary access_ok().  This\npatch also make BRK_BUG code encoded in the TNE instruction.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "faea62346444ce5b1dba8fb5291d95b676522c42",
      "tree": "d00e53763ca9b145348e5754aaf0cd4dcbb12123",
      "parents": [
        "5323180db75d562a287cb2020b07c9422df13df6"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Mon Apr 16 23:19:44 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Retry {save,restore}_fp_context if failed in atomic context.\n\nThe save_fp_context()/restore_fp_context() might sleep on accessing\nuser stack and therefore might lose FPU ownership in middle of them.\n\nIf these function failed due to \"in_atomic\" test in do_page_fault,\ntouch the sigcontext area in non-atomic context and retry these\nsave/restore operation.\n\nThis is a replacement of a (broken) fix which was titled \"Allow CpU\nexception in kernel partially\".\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "5323180db75d562a287cb2020b07c9422df13df6",
      "tree": "71039fd0a03f89ebb3172d75a9e594d4f9f56fd6",
      "parents": [
        "9a9943575ade643368849e2c963094ac637867e0"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Apr 14 02:37:26 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Disallow CpU exception in kernel again.\n\nThe commit 4d40bff7110e9e1a97ff8c01bdd6350e9867cc10 (\"Allow CpU\nexception in kernel partially\") was broken.  The commit was to fix\ntheoretical problem but broke usual case.  Revert it for now.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "9a9943575ade643368849e2c963094ac637867e0",
      "tree": "c57803e7c5d48a59133e88a75704e0b86fd3bcaa",
      "parents": [
        "46fcc86dd71d70211e965102fb69414c90381880"
      ],
      "author": {
        "name": "Mark Mason",
        "email": "mmason@upwardaccess.com",
        "time": "Fri Apr 13 10:32:25 2007 -0700"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Add missing silicon revisions for BCM112x\n\nRecent versions of the BCM112X processors aren\u0027t recognized by Linux\n(preventing Linux from booting on those processors).  This patch adds\nsupport for those that are missing.\n\nSigned-off-by: Mark Mason \u003cmason@broadcom.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "80d74d5123bf3aecd32302809c4e61bb8a16786b",
      "tree": "604d95410caa54c60abcfb018bc62f4fde0398bc",
      "parents": [
        "245d95a423664761d9399656098523db6988e9cc",
        "19bb3506e27096eea5f7b71b89621ad1203ed318"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:51:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:51:32 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [BRIDGE]: Unaligned access when comparing ethernet addresses\n  [SCTP]: Unmap v4mapped addresses during SCTP_BINDX_REM_ADDR operation.\n  [SCTP]: Fix assertion (!atomic_read(\u0026sk-\u003esk_rmem_alloc)) failed message\n  [NET]: Set a separate lockdep class for neighbour table\u0027s proxy_queue\n  [NET]: Fix UDP checksum issue in net poll mode.\n  [KEY]: Fix conversion between IPSEC_MODE_xxx and XFRM_MODE_xxx.\n  [NET]: Get rid of alloc_skb_from_cache\n"
    },
    {
      "commit": "93da28790c17345f4db10358dfb19b4c241d8ba3",
      "tree": "47616f12e51de5c8f1ccb9f0f6fcb6b458fc0720",
      "parents": [
        "30f3deeee81cf22546da1b0b89a937bb991dea23"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Tue Apr 17 00:32:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:27 2007 -0700"
      },
      "message": "Provide dummy devm_ioport_* if !HAS_IOPORT\n\nProvide an dummy implementation of devm_ioport_map() and\ndevm_ioport_unmap() to allow drivers (eg, pata_platform) to build for\nplatforms where CONFIG_NO_IOPORT is selected.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88ed39b064575b4f42ecb737ec2daa66717de173",
      "tree": "a9c181fc229fbe6f1f6d70372256d3fd7a3150b9",
      "parents": [
        "7fc1a1abc1eca1278d6d37ec54b72005d15b5c1e"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Mon Apr 16 22:53:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:27 2007 -0700"
      },
      "message": "alpha: build fixes - force architecture\n\nOverride compiler .arch directive for generic kernel build.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b75b05b73cdefd1d10074e9dad60812f9731a5e",
      "tree": "a477c79aa402cd2e2600dc99a7d772e6bf84c5c1",
      "parents": [
        "8a93258ce302c2b597289770cb7de8dba7c6c219"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Mon Apr 16 22:53:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:27 2007 -0700"
      },
      "message": "alpha: fixes for specific machine types\n\nFiles:\n\narch/alpha/kernel/core_mcpcia.c\narch/alpha/kernel/sys_rawhide.c\ninclude/asm-alpha/core_mcpcia.h\n\n\tDetermine correct hose configuration; RAWHIDE family can have\n        2 or 4 hoses, so make sure non-existent hoses are ignored.\n\narch/alpha/kernel/err_titan.c\n\n\tSupply a needed #include \u003casm/irq_regs.h\u003e\n\narch/alpha/kernel/module.c\n\n\tAdd some useful output to the relocation overflow messages.\n\narch/alpha/kernel/sys_noritake.c\n\n\tSupply necessary noritake_end_irq() to correct interrupt handling.\n\tThis fixes a problem first noted by hangs during boot probing with\n\ta DE500-BA TULIP NIC present.\n\narch/alpha/kernel/sys_sio.c\n\n\tCorrect saving of original PIRQ register (PCI IRQ routing);\n\tchange default PIRQ setting to leave PCI IRQs 9 and 14 free to\n\tbe used for sound (Multia) and IDE (any), respectively.\n\ninclude/asm-alpha/io.h\n\n\tSupply the \"isa_virt_to_bus\" routine.\n\nSigned-off-by: Jay Estabrook \u003cjay.estabrook@hp.com\u003e\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "112654208bd6f092e064973b8fa680e37ffa74a6",
      "tree": "30c5e0d05e8f91f70cb3f32b6c22a33c1602ff57",
      "parents": [
        "c4bbafda70a0fc95c6595bffd6825ef264050d01"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 16 22:53:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:26 2007 -0700"
      },
      "message": "kernel-doc: fix plist.h comments\n\nMake kernel-doc comments match macro names.\nCorrect parameter names in a few places.\nRemove \u0027#\u0027 from beginning of kernel-doc comment macro names.\nRemove extra (erroneous) blank lines in kernel-doc.\n\nWarning(plist.h:100): Cannot understand  * #PLIST_HEAD_INIT - static struct plist_head initializer on line 100 - I thought it was a doc line\nWarning(plist.h:112): Cannot understand  * #PLIST_NODE_INIT - static struct plist_node initializer on line 112 - I thought it was a doc line\nWarning(plist.h:103): No description found for parameter \u0027_lock\u0027\nWarning(plist.h:129): No description found for parameter \u0027lock\u0027\nWarning(plist.h:158): No description found for parameter \u0027pos\u0027\nWarning(plist.h:169): No description found for parameter \u0027pos\u0027\nWarning(plist.h:169): No description found for parameter \u0027n\u0027\nWarning(plist.h:179): No description found for parameter \u0027mem\u0027\n\nThis still leaves one warning \u0026 one error that need attention:\nError(plist.h:219): cannot understand prototype: \u0027(\u0027\nWarning(plist.h): no structured comments found\n\nAcked-by: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nCc: Daniel Walker \u003cdwalker@mvista.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4b7e8754e3198eb5392568e523da6440143c2cd",
      "tree": "95af9b699851d63fe4d6487d193a71b4037893c3",
      "parents": [
        "6f29e35e2d4cdbc3e8785982314e54ec5df4ad37"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Mon Apr 16 22:53:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:26 2007 -0700"
      },
      "message": "allow vmsplice to work in 32-bit mode on ppc64\n\nTrivial change to pass vmsplice arguments through the compat layer on\npp64.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2ecba71717c4f60671175fd26083c35a4b9ad58",
      "tree": "b51d9e55cc4777254fed5d6b2056cc26d5ccda9f",
      "parents": [
        "5e7d7fa57323dfb48fb09464cf4542daa7ce8a72"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Tue Apr 17 12:45:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Apr 17 13:13:31 2007 -0700"
      },
      "message": "[NET]: Set a separate lockdep class for neighbour table\u0027s proxy_queue\n\nOtherwise the following calltrace will lead to a wrong\nlockdep warning:\n\n  neigh_proxy_process()\n    `- lock(neigh_table-\u003eproxy_queue.lock);\n  arp_redo /* via tbl-\u003eproxy_redo */\n  arp_process\n  neigh_event_ns\n  neigh_update\n  skb_queue_purge\n    `- lock(neighbor-\u003earp_queue.lock);\n\nThis is not a deadlock actually, as neighbor table\u0027s proxy_queue\nand the neighbor\u0027s arp_queue are different queues.\n\nLockdep thinks there is a deadlock as both queues are initialized\nwith skb_queue_head_init() and thus have a common class.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4dfa0b1fb39c7ffe74741d60668825de6a47b69",
      "tree": "1866a6b51f666b4969f6c0be55c25f31e4d42a51",
      "parents": [
        "6f29e35e2d4cdbc3e8785982314e54ec5df4ad37"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 17 12:28:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Apr 17 13:13:16 2007 -0700"
      },
      "message": "[NET]: Get rid of alloc_skb_from_cache\n\nSince this was added originally for Xen, and Xen has recently (~2.6.18)\nstopped using this function, we can safely get rid of it.  Good timing\ntoo since this function has started to bit rot.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a6d41b32a17ca902ef50fdfa170d7f23264bad5",
      "tree": "1a380f2e7fe7858da3dfb53ec85e3d4b100c948f",
      "parents": [
        "60fa3f769f7651a60125a0f44e3ffe3246d7cf39"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 14 19:10:12 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Apr 14 21:46:48 2007 -0700"
      },
      "message": "NFS: Ensure PG_writeback is cleared when writeback fails\n\nIf the writebacks are cancelled via nfs_cancel_dirty_list, or due to the\nmemory allocation failing in nfs_flush_one/nfs_flush_multi, then we must\nensure that the PG_writeback flag is cleared.\n\nAlso ensure that we actually own the PG_writeback flag whenever we\nschedule a new writeback by making nfs_set_page_writeback() return the\nvalue of test_set_page_writeback().\nThe PG_writeback page flag ends up replacing the functionality of the\nPG_FLUSHING nfs_page flag, so we rip that out too.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bd51cce98aa80ff8b56d34a0e48316c5f887818",
      "tree": "76735fa7f5767fa379f30399a9bd048a3bbf3fc3",
      "parents": [
        "9631eb0bc18bc1fd1cc84e535260d67ed6a36865",
        "a7a832de9e9624bcf069a5369c3c38ba2f44d460"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 10 17:22:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 10 17:22:31 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:\n  ide: add \"optical\" to sysfs \"media\" attribute\n  ide: ugly messages trying to open CD drive with no media present\n  ide: correctly prevent IDE timer expiry function to run if request was already handled\n"
    },
    {
      "commit": "b4dfd6bc35f6c1e0fcbb4268c523b3939955d3af",
      "tree": "2b33ae37af2c77fd844243165d00a47450cfc543",
      "parents": [
        "90f30eccf41302a2542f5d374af243061902bd98",
        "2e0d232bff31973f58c33412b45fce51b6770698"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 10 17:21:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 10 17:21:57 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] SGI Altix : fix pcibr_dmamap_ate32() bug\n  [IA64] Fix CPU freq displayed in /proc/cpuinfo\n  [IA64] Fix wrong assumption about irq and vector in msi_ia64.c\n  [IA64] BTE error timer fix\n"
    },
    {
      "commit": "23450319e2890986c247ec0aa1442f060e657e6d",
      "tree": "c30fc173d8b97343f8ae7b1b1ed511366af256ab",
      "parents": [
        "90f30eccf41302a2542f5d374af243061902bd98"
      ],
      "author": {
        "name": "Suleiman Souhlal",
        "email": "suleiman@google.com",
        "time": "Tue Apr 10 22:38:37 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Apr 10 22:38:37 2007 +0200"
      },
      "message": "ide: correctly prevent IDE timer expiry function to run if request was already handled\n\nIt is possible for the timer expiry function to run even though the\nrequest has already been handled: ide_timer_expiry() only checks that\nthe handler is not NULL, but it is possible that we have handled a\nrequest (thus clearing the handler) and then started a new request\n(thus starting the timer again, and setting a handler). \n\nA simple way to exhibit this is to set the DMA timeout to 1 jiffy and\nrun dd: The kernel will panic after a few minutes because\nide_timer_expiry() tries to add a timer when it\u0027s already active.\n\nTo fix this, we simply add a request generation count that gets\nincremented at every interrupt, and check in ide_timer_expiry() that\nwe have not already handled a new interrupt before running the expiry\nfunction.\n\nSigned-off-by: Suleiman Souhlal \u003csuleiman@google.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "49f19710512c825aaea73b9207b3a848027cda1d",
      "tree": "06da31bd9a84273e12aa43f536f90eb8146ff92e",
      "parents": [
        "a5bfffac645a7b2d8119f8bbae34df5c94832799"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sun Apr 08 16:04:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Apr 08 19:47:55 2007 -0700"
      },
      "message": "[PATCH] Proper fix for highmem kmap_atomic functions for VMI for 2.6.21\n\nSince lazy MMU batching mode still allows interrupts to enter, it is\npossible for interrupt handlers to try to use kmap_atomic, which fails when\nlazy mode is active, since the PTE update to highmem will be delayed.  The\nbest workaround is to issue an explicit flush in kmap_atomic_functions\ncase; this is the only way nested PTE updates can happen in the interrupt\nhandler.\n\nThanks to Jeremy Fitzhardinge for noting the bug and suggestions on a fix.\n\nThis patch gets reverted again when we start 2.6.22 and the bug gets fixed\ndifferently.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "995f054f2a342f8505fed4f8395d12c0f5966414",
      "tree": "08ddf96e3365d2b0a9940914fdb179810fbca3a0",
      "parents": [
        "bbef618190fb484b28b7d441e6fc5d524027c4fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 07 12:05:00 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Apr 07 10:03:43 2007 -0700"
      },
      "message": "[PATCH] high-res timers: resume fix\n\nSoeren Sonnenburg reported that upon resume he is getting\nthis backtrace:\n\n [\u003cc0119637\u003e] smp_apic_timer_interrupt+0x57/0x90\n [\u003cc0142d30\u003e] retrigger_next_event+0x0/0xb0\n [\u003cc0104d30\u003e] apic_timer_interrupt+0x28/0x30\n [\u003cc0142d30\u003e] retrigger_next_event+0x0/0xb0\n [\u003cc0140068\u003e] __kfifo_put+0x8/0x90\n [\u003cc0130fe5\u003e] on_each_cpu+0x35/0x60\n [\u003cc0143538\u003e] clock_was_set+0x18/0x20\n [\u003cc0135cdc\u003e] timekeeping_resume+0x7c/0xa0\n [\u003cc02aabe1\u003e] __sysdev_resume+0x11/0x80\n [\u003cc02ab0c7\u003e] sysdev_resume+0x47/0x80\n [\u003cc02b0b05\u003e] device_power_up+0x5/0x10\n\nit turns out that on resume we mistakenly re-enable interrupts too\nearly.  Do the timer retrigger only on the current CPU.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Soeren Sonnenburg \u003ckernel@nn7.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e0d232bff31973f58c33412b45fce51b6770698",
      "tree": "b23f921ec8786904b56e2b6c2c42822630757cb4",
      "parents": [
        "8a3a78d1498c4c13c3ec235a4b6338624b6ef68d"
      ],
      "author": {
        "name": "Mike Habeck",
        "email": "habeck@sgi.com",
        "time": "Fri Apr 06 12:04:39 2007 -0500"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Apr 06 15:38:12 2007 -0700"
      },
      "message": "[IA64] SGI Altix : fix pcibr_dmamap_ate32() bug\n\nOn a SGI Altix TIOCP based PCI bus we need to include the ATE_PIO attribute\nbit if we\u0027re mapping a 32bit MSI address.\n\nSigned-off-by: Mike Habeck \u003chabeck@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "58e949139014a852a83b5ef071136b1f50c86ad1",
      "tree": "447803d964bd8fb955056bfd9c4f1949d6b01bb0",
      "parents": [
        "ba6e8564f459211117ce300eae2c7fdd23befe34"
      ],
      "author": {
        "name": "Maciej Zenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 04 19:08:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 04 21:12:48 2007 -0700"
      },
      "message": "[PATCH] ia64: desc_empty thinko/typo fix\n\nJust a one-byter for an ia64 thinko/typo - already fixed for i386 and x86_64.\n\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2363cc0264c42636e9e7622f78dde5c2f66beb8e",
      "tree": "33136de9f38ad6cfc7ce9b6d4d10f1227239a05b",
      "parents": [
        "c75fd0ee6e1750e6e527ed1d4aeee66739d9ad79"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 04 19:08:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 04 21:12:47 2007 -0700"
      },
      "message": "[PATCH] remove protection of LANANA-reserved majors\n\nRevert all this.  It can cause device-mapper to receive a different major from\nearlier kernels and it turns out that the Amanda backup program (via GNU tar,\napparently) checks major numbers on files when performing incremental backups.\n\nWhich is a bit broken of Amanda (or tar), but this feature isn\u0027t important\nenough to justify the churn.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5792a2856a63cdc568e08a7d6f9b2413d9217b3e",
      "tree": "042a09fbfdf75dac5efa3bf61c7d6c6dd4c6ba7f",
      "parents": [
        "456a09dce9ca9b0013cabcda918aee851a04471d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Apr 04 19:08:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 04 21:12:47 2007 -0700"
      },
      "message": "[PATCH] md: avoid a deadlock when removing a device from an md array via sysfs\n\nA device can be removed from an md array via e.g.\n  echo remove \u003e /sys/block/md3/md/dev-sde/state\n\nThis will try to remove the \u0027dev-sde\u0027 subtree which will deadlock\nsince\n  commit e7b0d26a86943370c04d6833c6edba2a72a6e240\n\nWith this patch we run the kobject_del via schedule_work so as to\navoid the deadlock.\n\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f23a31d1cbe791a1ce86ffa9b23251ab0a1ef45",
      "tree": "1c8f50f7e880d156e632a96dee270cb982d96edc",
      "parents": [
        "18d6e9d51891f91af4e7351cbab3cb180bb9f430"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Mon Apr 02 11:39:25 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 04 02:12:27 2007 -0400"
      },
      "message": "libata: Limit ATAPI DMA to R/W commands only for TORiSAN DVD drives (take 3)\n\npatch 4/4:\n\n  Limit ATAPI DMA to R/W commands only for TORiSAN DRD-N216 DVD-ROM drives\n  (http://bugzilla.kernel.org/show_bug.cgi?id\u003d6710)\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "18d6e9d51891f91af4e7351cbab3cb180bb9f430",
      "tree": "5ba793fd334c4afbbcdfeb00353f46c9d3aaf6a2",
      "parents": [
        "56287768e31268969abd94b38b931a29d1ced1ce"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Mon Apr 02 11:34:15 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 04 02:12:27 2007 -0400"
      },
      "message": "libata: Limit max sector to 128 for TORiSAN DVD drives (take 3)\n\npatch 3/4:\n  The TORiSAN drive locks up when max sector \u003d\u003d 256.\n  Limit max sector to 128 for the TORiSAN DRD-N216 drives.\n  (http://bugzilla.kernel.org/show_bug.cgi?id\u003d6710)\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7152764700559b6a4041fdaba345df9a5cd962f0",
      "tree": "2b5d3bc3d4c36b4e0a5599be4db93a4f72aaf90d",
      "parents": [
        "277239f228654fc03affdf2aa0e7a3969f420415"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Mon Apr 02 11:28:52 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 04 02:12:27 2007 -0400"
      },
      "message": "libata: reorder HSM_ST_FIRST for easier decoding (take 3)\n\npatch 1/4:\n  Reorder HSM_ST_FIRST, such that the task state transition is easier decoded with human eyes.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d80f0a4beb15d817bfbb18a29e5ffc1d9dc353ea",
      "tree": "fca112824f4db65fee71e3583840c7283f492c1a",
      "parents": [
        "5c0efdbc1b1891857659594741a4cb6405b63126"
      ],
      "author": {
        "name": "Robert Reif",
        "email": "reif@earthlink.net",
        "time": "Wed Mar 28 14:21:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 02 14:26:21 2007 -0700"
      },
      "message": "[SPARC]: Add unsigned to unused bit field in a.out.h\n\nAdd unsigned to unused bit field in a.out.h to make sparse happy.\n\n[ I took care of the sparc64 side as well -DaveM ]\n\nSigned-off-by: Robert Reif \u003creif@earthlink.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a5ee4cc9ef8de5185114237a81f5f395e21d8fd",
      "tree": "378d367ba1d97304051d3be0cec901fe8ab38d60",
      "parents": [
        "b6a8b316c667f914c198a2de62e6729f359b7931",
        "a369a7100da3b4f5c2269be25160653d2c7013fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 11:41:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 11:41:55 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6:\n  [PATCH] x86: Don\u0027t probe for DDC on VBE1.2\n  [PATCH] x86-64: Increase NMI watchdog probing timeout\n  [PATCH] x86-64: Let oprofile reserve MSR on all CPUs\n  [PATCH] x86-64: Disable local APIC timer use on AMD systems with C1E\n"
    },
    {
      "commit": "1d64b9cb1dc2a7cd521444e3d908adeccd026356",
      "tree": "31c6c7751b656e74b5ee05159c85154f710e8956",
      "parents": [
        "0c84ce268b69855919b6ac7edc8f11caf21e9c88"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 01 23:49:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:09 2007 -0700"
      },
      "message": "[PATCH] Fix microcode-related suspend problem\n\nFix the regression resulting from the recent change of suspend code\nordering that causes systems based on Intel x86 CPUs using the microcode\ndriver to hang during the resume.\n\nThe problem occurs since the microcode driver uses request_firmware() in\nits CPU hotplug notifier, which is called after tasks has been frozen and\nhangs.  It can be fixed by telling the microcode driver to use the\nmicrocode stored in memory during the resume instead of trying to load it\nfrom disk.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAdrian Bunk \u003cbunk@stusta.de\u003e\nCc: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Maxim \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c84ce268b69855919b6ac7edc8f11caf21e9c88",
      "tree": "64e1fca7d80026db60ed4dde751d553193587034",
      "parents": [
        "bcd9b89c02295b075fda4bdb666f6641f8212226"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Apr 01 23:49:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:09 2007 -0700"
      },
      "message": "[PATCH] driver core: fix built-in drivers sysfs links\n\nbuilt-in drivers had broken sysfs links that caused bootup hangs for\ncertain driver unregistry sequences.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10fa1155a2c3282f421a74fedfad1957e8bdc86c",
      "tree": "21ec69d27c0d5e239f9c0eed531dbcdc0f602af2",
      "parents": [
        "05565b65a5309e3e5c86db1975b57f75661bee8f"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun Apr 01 23:49:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:08 2007 -0700"
      },
      "message": "[PATCH] uml: fix unreasonably long udelay\n\nCurrently we have a confused udelay implementation.\n\n* __const_udelay does not accept usecs but xloops in i386 and x86_64\n* our implementation requires usecs as arg\n* it gets a xloops count when called by asm/arch/delay.h\n\nBugs related to this (extremely long shutdown times) where reported by some\nx86_64 users, especially using Device Mapper.\n\nTo hit this bug, a compile-time constant time parameter must be passed -\nthat\u0027s why UML seems to work most times.  Fix this with a simple udelay\nimplementation.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3556ddfa9284a86a59a9b78fe5894430f6ab4eef",
      "tree": "f85b5acde48b6ffa7f1c9abbb3ea2ff4a2e92b4b",
      "parents": [
        "2e175a90047a2dbc76fde169c990164895b25dfc"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Apr 02 12:14:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Mon Apr 02 12:14:12 2007 +0200"
      },
      "message": "[PATCH] x86-64: Disable local APIC timer use on AMD systems with C1E\n\nAMD dual core laptops with C1E do not run the APIC timer correctly\nwhen they go idle. Previously the code assumed this only happened\non C2 or deeper.  But not all of these systems report support C2.\n\nUse a AMD supplied snippet to detect C1E being enabled and then disable\nlocal apic timer use.\n\nThis supercedes an earlier workaround using DMI detection of specific systems.\n\nThanks to Mark Langsdorf for the detection snippet.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "2e175a90047a2dbc76fde169c990164895b25dfc",
      "tree": "ddff26c8c44a4cb10594753785f7c8ee03000861",
      "parents": [
        "c21b1e4d9b0c263a35f67eed2b025d053566c557",
        "398e692fd5cecdd25d311b47bbae69f7bac3a3cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Apr 01 14:43:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Apr 01 14:43:57 2007 -0700"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  [ARM] 4298/1: fix memory barriers for DMA coherent and SMP platforms\n  [ARM] 4295/2: Fix error-handling in pxaficp_ir.c (version 2)\n  [ARM] Fix __NR_kexec_load\n  [ARM] Export dma_channel_active()\n  [ARM] 4296/1: ixp4xx: compile fix\n  [ARM] 4289/1: AT91: SAM9260 NAND flash timing\n"
    },
    {
      "commit": "398e692fd5cecdd25d311b47bbae69f7bac3a3cb",
      "tree": "f1852c28d9f9c47c4763607630ac3db1c91930d6",
      "parents": [
        "9a4d93d49d140c196020a1bae339efcf211cac03"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Sat Mar 31 12:03:20 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Apr 01 22:38:36 2007 +0100"
      },
      "message": "[ARM] 4298/1: fix memory barriers for DMA coherent and SMP platforms\n\nThis patch:\n- Switches mb/rmb/wmb back to being full-blown DMBs on ARM SMP systems,\n  since mb/rmb/wmb are required to order Normal memory accesses as well.\n- Enables the use of DMB and ISB on XSC3 (which is an ARMv5TE ISA core\n  but conforms to the ARMv6 memory ordering model and supports the\n  various ARMv6 barriers.)\n- Makes DMA coherent platforms (only ixp23xx at the moment) map\n  mb/rmb/wmb to dmb(), as on DMA coherent platforms, DMA consistent\n  mappings are done as Normal mappings, which are weakly ordered.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "6c330ba72c45007a9ef681396925c22d11029008",
      "tree": "06d48dc7222c0908a88d429c20ba8d0c5ff945b7",
      "parents": [
        "ec14d7964bc3c89fb24c95af00d39033afc32f8e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Apr 01 22:35:01 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Apr 01 22:35:01 2007 +0100"
      },
      "message": "[ARM] Fix __NR_kexec_load\n\nIt\u0027s __NR_kexec_load, not __NR_sys_kexec_load\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c35e584c087381aaa5f1ed40a28b978535c18fb2",
      "tree": "3792eefee615bda5e97518c5769b2a1a5f3973ea",
      "parents": [
        "a5bd1786fb30abe663b904f6d79bba413e9ba883"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Mar 31 03:20:27 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 30 19:21:30 2007 -0700"
      },
      "message": "[PATCH] uml: fix static linking for real\n\nThere was a typo in commit 7632fc8f809a97f9d82ce125e8e3e579390ce2e5,\npreventing it from working - 32bit binaries crashed hopelessly before\nthe below fix and work perfectly now.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b8777b46823fb0b42fba69b5311682124e5a71c",
      "tree": "97b4dae887703d67e61d30243037d7dda53f312e",
      "parents": [
        "2848e647402719d4a8d03141361caed60f2668da"
      ],
      "author": {
        "name": "Vladimir Barinov",
        "email": "vbarinov@ru.mvista.com",
        "time": "Thu Mar 29 16:29:20 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Mar 30 16:56:05 2007 +0100"
      },
      "message": "[ARM] 4296/1: ixp4xx: compile fix\n\nFix compilation fail for ixp4xx platforms for the case when CONFIG_IXP4XX_INDIRECT_PCI is set. That is due to the check_signature() is appeared in include/linux/io.h.\n\nSigned-off-by: Vladimir Barinov \u003cvbarinov@ru.mvista.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "8a1e97ee2e025f116765c92409a3cf8f6cb07ad6",
      "tree": "c3df538fce3f32b35b1b8355a9a411cb668e724e",
      "parents": [
        "6c9fde4bfff11b2fd93b4e518ae7ecb25a9244e4"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Mar 29 23:42:42 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Mar 29 23:46:36 2007 +0100"
      },
      "message": "[MIPS] SMTC: Fix recursion in instant IPI replay code.\n\nlocal_irq_restore -\u003e raw_local_irq_restore -\u003e irq_restore_epilog -\u003e\n\tsmtc_ipi_replay -\u003e smtc_ipi_dq -\u003e spin_unlock_irqrestore -\u003e\n\t_spin_unlock_irqrestore -\u003e local_irq_restore\n\nThe recursion does abort when there is no more IPI queued for a CPU, so\nthis isn\u0027t usually fatal which is why we got away with this for so long\nuntil this was discovered by code inspection.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "eb541cb24078eae83b9ef0573af36347d8dc01ee",
      "tree": "8b6a4e068ff0f8950c02df2a7d075688c9487588",
      "parents": [
        "619af723ac1fe75262441453c9d35870593822e2"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 26 09:30:32 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Mar 29 23:46:35 2007 +0100"
      },
      "message": "[MIPS] MV64340: Add missing prototype for mv64340_irq_init().\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "9415fddd99e12d57640774a3043a809140245c40",
      "tree": "baafe3ad88c33b853acd81cff3745d45c2a26c2e",
      "parents": [
        "297640e89ea21e314bdda45468e5f78c978dae16",
        "c01003c20563d1e75ec9828d21743919d2b43977"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 29 13:15:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 29 13:15:13 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [IFB]: Fix crash on input device removal\n  [BNX2]: Fix link interrupt problem.\n"
    }
  ],
  "next": "297640e89ea21e314bdda45468e5f78c978dae16"
}
