)]}'
{
  "log": [
    {
      "commit": "de6e05c49f8b4ed63224c5d38891f531ecc4eabb",
      "tree": "2ed69a03c657a5618bc98a5f74acb905bf764ecf",
      "parents": [
        "5f79e0f916a3bdeccc910fdf466bca582a9b2cca"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Fri Mar 23 11:17:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:45 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: kill destroy() in struct nf_conntrack for diet\n\nThe destructor per conntrack is unnecessary, then this replaces it with\nsystem wide destructor.\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": "5f79e0f916a3bdeccc910fdf466bca582a9b2cca",
      "tree": "ef6cb09587609597e611ad38c313df88d8ff2e8b",
      "parents": [
        "e6f689db51a789807edede411b32eb7c9e457948"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Fri Mar 23 11:17:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:44 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: don\u0027t use nfct in skb if conntrack is disabled\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": "1d00a4eb42bdade33a6ec0961cada93577a66ae6",
      "tree": "a181b141818f594eb544601386bf09e45e6193bb",
      "parents": [
        "45e7ae7f716086994e4e747226881f901c67b031"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:30 2007 -0700"
      },
      "message": "[NETLINK]: Remove error pointer from netlink message handler\n\nThe error pointer argument in netlink message handlers is used\nto signal the special case where processing has to be interrupted\nbecause a dump was started but no error happened. Instead it is\nsimpler and more clear to return -EINTR and have netlink_run_queue()\ndeal with getting the queue right.\n\nnfnetlink passed on this error pointer to its subsystem handlers\nbut only uses it to signal the start of a netlink dump. Therefore\nit can be removed there as well.\n\nThis patch also cleans up the error handling in the affected\nmessage handlers to be consistent since it had to be touched anyway.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e284986385b6420a5f30f2dcd743512bbe1a3202",
      "tree": "aee0d30b618ada57371fddfcaeb47bbd767e16e3",
      "parents": [
        "30833ffead66e1f0052150a51db0b45151189ac1"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:48:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:04 2007 -0700"
      },
      "message": "[RTNL]: Message handler registration interface\n\nThis patch adds a new interface to register rtnetlink message\nhandlers replacing the exported rtnl_links[] array which\nrequired many message handlers to be exported unnecessarly.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89560b53b92a07c529e13a462aa7fd87a844f1f5",
      "tree": "89409bee68da1ee44b7945315efecd779d7fe60a",
      "parents": [
        "7dfee1a9c07f80a82aa5fbad340146f2b5c794b4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:27:17 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:02 2007 -0700"
      },
      "message": "[DCCP]: Sample RTT from SYN exchange\n\nFunction:\n"
    },
    {
      "commit": "a36ca733375860b389c15ffdf6a5f92df64a33b6",
      "tree": "36801ab146f9aac5a87eb45bf3c324b3a7c8bac0",
      "parents": [
        "897933bcdf31c372e029dd4e2ecd573ebe6cfd9c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 22:28:08 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:36 2007 -0700"
      },
      "message": "[NETLINK]: Remove NLMSG_{NEW_ANSWER,CANCEL,END}\n\nNot used anywhere and defined inside __KERNEL__, Thomas acked this on irc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "897933bcdf31c372e029dd4e2ecd573ebe6cfd9c",
      "tree": "f8b57b2ea0a2c4e592c55c0fae82332e6484a319",
      "parents": [
        "b529ccf2799c14346d1518e9bdf1f88f03643e99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 22:27:36 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:35 2007 -0700"
      },
      "message": "[SK_BUFF]: Remove skb_add_mtu() leftovers\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "b529ccf2799c14346d1518e9bdf1f88f03643e99",
      "tree": "f899a5a5d66d2ca21724c1871ee3afeda6c4a670",
      "parents": [
        "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 19:08:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:34 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nlmsg_hdr() helper\n\nFor the common \"(struct nlmsghdr *)skb-\u003edata\" sequence, so that we reduce the\nnumber of direct accesses to skb-\u003edata and for consistency with all the other\ncast skb member helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4305b541357ddbd205aa145dc378926b7cb12283",
      "tree": "9b1f57ee4ee757a9324c48a7dea84bc8c279ad82",
      "parents": [
        "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:43:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003eend to sk_buff_data_t\n\nNow to convert the last one, skb-\u003edata, that will allow many simplifications\nand removal of some of the offset helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e07fa9cd3bac1e28cfe3131ed86b053afb02fc9",
      "tree": "177ad0c2cbbd60c25e54b35802219634c047aa08",
      "parents": [
        "b0e380b1d8a8e0aca215df97702f99815f05c094"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:22:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Use offsets for skb-\u003e{mac,network,transport}_header on 64bit architectures\n\nWith this we save 8 bytes per network packet, leaving a 4 bytes hole to be used\nin further shrinking work, likely with the offsetization of other pointers,\nsuch as -\u003e{data,tail,end}, at the cost of adds, that were minimized by the\nusual practice of setting skb-\u003e{mac,nh,n}.raw to a local variable that is then\naccessed multiple times in each function, it also is not more expensive than\nbefore with regards to most of the handling of such headers, like setting one\nof these headers to another (transport to network, etc), or subtracting, adding\nto/from it, comparing them, etc.\n\nNow we have this layout for sk_buff on a x86_64 machine:\n\n[acme@mica net-2.6.22]$ pahole vmlinux sk_buff\nstruct sk_buff {\n\tstruct sk_buff *       next;             /*   0   8 */\n\tstruct sk_buff *       prev;             /*   8   8 */\n\tstruct rb_node         rb;               /*  16  24 */\n\tstruct sock *          sk;               /*  40   8 */\n\tktime_t                tstamp;           /*  48   8 */\n\tstruct net_device *    dev;              /*  56   8 */\n\t/* --- cacheline 1 boundary (64 bytes) --- */\n\tstruct net_device *    input_dev;        /*  64   8 */\n\tsk_buff_data_t         transport_header; /*  72   4 */\n\tsk_buff_data_t         network_header;   /*  76   4 */\n\tsk_buff_data_t         mac_header;       /*  80   4 */\n\n\t/* XXX 4 bytes hole, try to pack */\n\n\tstruct dst_entry *     dst;              /*  88   8 */\n\tstruct sec_path *      sp;               /*  96   8 */\n\tchar                   cb[48];           /* 104  48 */\n\t/* cacheline 2 boundary (128 bytes) was 24 bytes ago*/\n\tunsigned int           len;              /* 152   4 */\n\tunsigned int           data_len;         /* 156   4 */\n\tunsigned int           mac_len;          /* 160   4 */\n\tunion {\n\t\t__wsum         csum;             /*       4 */\n\t\t__u32          csum_offset;      /*       4 */\n\t};                                       /* 164   4 */\n\t__u32                  priority;         /* 168   4 */\n\t__u8                   local_df:1;       /* 172   1 */\n\t__u8                   cloned:1;         /* 172   1 */\n\t__u8                   ip_summed:2;      /* 172   1 */\n\t__u8                   nohdr:1;          /* 172   1 */\n\t__u8                   nfctinfo:3;       /* 172   1 */\n\t__u8                   pkt_type:3;       /* 173   1 */\n\t__u8                   fclone:2;         /* 173   1 */\n\t__u8                   ipvs_property:1;  /* 173   1 */\n\n\t/* XXX 2 bits hole, try to pack */\n\n\t__be16                 protocol;         /* 174   2 */\n\tvoid    (*destructor)(struct sk_buff *); /* 176   8 */\n\tstruct nf_conntrack *  nfct;             /* 184   8 */\n\t/* --- cacheline 3 boundary (192 bytes) --- */\n\tstruct sk_buff *       nfct_reasm;       /* 192   8 */\n\tstruct nf_bridge_info *nf_bridge;        /* 200   8 */\n\t__u16                  tc_index;         /* 208   2 */\n\t__u16                  tc_verd;          /* 210   2 */\n\tdma_cookie_t           dma_cookie;       /* 212   4 */\n\t__u32                  secmark;          /* 216   4 */\n\t__u32                  mark;             /* 220   4 */\n\tunsigned int           truesize;         /* 224   4 */\n\tatomic_t               users;            /* 228   4 */\n\tunsigned char *        head;             /* 232   8 */\n\tunsigned char *        data;             /* 240   8 */\n\tunsigned char *        tail;             /* 248   8 */\n\t/* --- cacheline 4 boundary (256 bytes) --- */\n\tunsigned char *        end;              /* 256   8 */\n}; /* size: 264, cachelines: 5 */\n   /* sum members: 260, holes: 1, sum holes: 4 */\n   /* bit holes: 1, sum bit holes: 2 bits */\n   /* last cacheline: 8 bytes */\n\nOn 32 bits nothing changes, and pointers continue to be used with the compiler\nturning all this abstraction layer into dust. But there are some sk_buff\nvalidation tricks that are now possible, humm... :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_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": "cfe1fc7759fdacb0c650b575daed1692bf3eaece",
      "tree": "b8ed6fbc6c028595f5e82be1bccdeb2727e0a0b2",
      "parents": [
        "bff9b61ce330df04c6830d823c30c04203543f01"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:26:39 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:19 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header_len\n\nFor the common sequence \"skb-\u003eh.raw - skb-\u003enh.raw\", similar to skb-\u003emac_len,\nthat is precalculated tho, don\u0027t think we need to bloat skb with one more\nmember, so just use this new helper, reducing the number of non-skbuff.h\nreferences to the layer headers even more.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "c01003c20563d1e75ec9828d21743919d2b43977",
      "tree": "21cae8933e8a4908d8e8c24244a627bf0c997e77",
      "parents": [
        "db8b22550d4b83f0910d27a34d05aa16f7f7159f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 29 11:46:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 29 11:46:52 2007 -0700"
      },
      "message": "[IFB]: Fix crash on input device removal\n\nThe input_device pointer is not refcounted, which means the device may\ndisappear while packets are queued, causing a crash when ifb passes packets\nwith a stale skb-\u003edev pointer to netif_rx().\n\nFix by storing the interface index instead and do a lookup where neccessary.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9c87a10db08f53c5220f273d518390cbaeb55c8",
      "tree": "02c62caea88ffae0c4ad945df0d60996d8e5d2f1",
      "parents": [
        "c14bac628b9fad6fd4dad8fbb9e864c61a8924c9",
        "c2805fbb8630abb95d94ce7adc3f97976f7e0367"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 28 02:21:18 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 28 02:21:18 2007 -0400"
      },
      "message": "Merge branch \u0027upstream-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes\n"
    },
    {
      "commit": "c2805fbb8630abb95d94ce7adc3f97976f7e0367",
      "tree": "ca94be7f103d430d38ef6543db597e90f3a63999",
      "parents": [
        "ed4bb1063171b2f44a40b0a9c400dedb0590dce6"
      ],
      "author": {
        "name": "Jean Tourrilhes",
        "email": "jt@hpl.hp.com",
        "time": "Fri Mar 23 00:31:16 2007 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Mar 27 14:10:26 2007 -0400"
      },
      "message": "[PATCH] WE-22 : prevent information leak on 64 bit\n\n \tJohannes Berg discovered that kernel space was leaking to\nuserspace on 64 bit platform. He made a first patch to fix that. This\nis an improved version of his patch.\n\nSigned-off-by: Jean Tourrilhes \u003cjt@hpl.hp.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e0ab0bb6d2b77917f4c31f157b2690602a5608f9",
      "tree": "644c65b44f551e29341d5efab6b309ff1e6782f2",
      "parents": [
        "5c46010af210712c8a390c7fe50ff05448983061",
        "40bee44eaef91b6030037c8bb47f909181fb1edc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:49 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block:\n  Export __splice_from_pipe()\n  2/2 splice: dont readpage\n  1/2 splice: dont steal\n  make elv_register() output atomic\n  block: blk_max_pfn is somtimes wrong\n"
    },
    {
      "commit": "a28d193cbf01375974683c13e99a52ef489e5eb0",
      "tree": "d252eeefa13627847f87f2a72a5cdfd3d3484973",
      "parents": [
        "d1985ad1da28eac507d855af8099f6010c51b167"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Mar 26 21:32:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:16 2007 -0700"
      },
      "message": "[PATCH] ipcns: fix !CONFIG_IPC_NS behavior\n\nWhen CONFIG_IPC_NS\u003dn, clone(CLONE_NEWIPC) claims success, but did not actually\nclone a new IPC namespace.\n\nFix this to return -EINVAL so the caller knows his request was denied.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78d832f62643ac6209beccbfb29228314423935e",
      "tree": "07f438ab6e780f39adf8c98d8f0d2f36b9c9ebc4",
      "parents": [
        "62b3e920ed7612f318126f9c9b37c6a8dcd4199e"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Mar 26 21:32:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:15 2007 -0700"
      },
      "message": "[PATCH] utsns: fix !CONFIG_UTS_NS behavior\n\nWhen CONFIG_UTS_NS\u003dn, clone(CLONE_NEWUTS) quietly refuses.  So correctly does\nnot unshare a new uts namespace, but also does not return -EINVAL.\n\nFix this to return -EINVAL so the caller knows his request was denied.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d75e26a8298f84bca66374e98fa69049f26083ba",
      "tree": "9893112e17b0085d7bf938a05fa262d04e2fd866",
      "parents": [
        "3899210ad9850e3b8909674c92dccbd3caaf9750"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Mar 26 21:32:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:15 2007 -0700"
      },
      "message": "[PATCH] uml: fix epoll\n\nUML/x86_64 needs the same packing of struct epoll_event as x86_64.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\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": "40bee44eaef91b6030037c8bb47f909181fb1edc",
      "tree": "3a11cb3bdc0bd385fddd74bc3e5a871be22bfbf1",
      "parents": [
        "08c72591636829d40bd695d43ec6d2a8191b668b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Mar 21 13:11:02 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 27 08:55:47 2007 +0200"
      },
      "message": "Export __splice_from_pipe()\n\nOcfs2 wants to implement it\u0027s own splice write actor so that it can better\nmanage cluster / page locks. This lets us re-use the rest of splice write\nwhile only providing our own code where it\u0027s actually important.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "04a395233089ed160ef87a6c2155e5dedc6f7d15",
      "tree": "bef0b7fc8d245c9cb5299aaa151beb66f74c75b3",
      "parents": [
        "00db779bfe66b9039a6f34b77fe6184820958362"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@swtch.com",
        "time": "Mon Mar 26 11:23:56 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 26 14:23:52 2007 -0700"
      },
      "message": "[PATCH] Add const to pointer qualifiers for __chk_user_ptr and __chk_io_ptr.\n\nChange prototypes for __chk_user_ptr and __chk_io_ptr to take const\nvoid* instead of void*, so that code can pass \"const void *\" to them.\n\n(Right now sparse does not warn about passing const void* to void*\nfunctions, but that is a separate bug that I believe Josh is working on,\nand once sparse does check this, the changed prototypes will be\nnecessary.)\n\nSigned-off-by: Russ Cox \u003crsc@swtch.com\u003e\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Christopher Li \u003csparse@chrisli.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "513daadd152ddbf32cb6d0447ddba3427ce5b8e8",
      "tree": "994549525a3830b496af552dee1fd73227f36373",
      "parents": [
        "362ebd83adb4ff2761b6f49a3570f501c3c7e467"
      ],
      "author": {
        "name": "Suleiman Souhlal",
        "email": "suleiman@google.com",
        "time": "Mon Mar 26 23:03:20 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Mar 26 23:03:20 2007 +0200"
      },
      "message": "ide: use correct IDE error recovery\n\nIDE error recovery is using IDLE IMMEDIATE if the drive is busy or has DRQ set.\nThis violates the ATA spec (can only send IDLEÂ IMMEDIATE when drive is not\nbusy) and really hoses up some drives (modern drives will not be able to\nrecover using this error handling).  The correct thing to do is issue a SRST\nfollowed by a SET FEATURES command.  This is what Western Digital recommends\nfor error recovery and what Western Digital says Windows does. Â ItÂ also does\nnot violate the ATA spec as far as I can tell.\n\nBart:\n* port the patch over the current tree\n* undo the recalibration code removal\n* send SET FEATURES command after checking for good drive status\n* don\u0027t check whether the current request is of REQ_TYPE_ATA_{CMD,TASK}\n  type because we need to send SET FEATURES before handling any requests\n* some pre-ATA4 drives require INITIALIZE DEVICE PARAMETERS command before\n  other commands (except IDENTIFY) so send SET FEATURES only if there are\n  no pending drive-\u003especial requests\n* update comments and patch description\n* any bugs introduced by this patch are mine and not Suleiman\u0027s :-)\n\nSigned-off-by: Suleiman Souhlal \u003csuleiman@google.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "e3a55fd18deab758a2970e0dfcd60a677a920426",
      "tree": "87a0b7e3ae565c10077b1444fda0a462e2e88a1e",
      "parents": [
        "058560fbd70190ea6b50b5df4d814bc30911d06b"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Thu Mar 22 00:11:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 22 19:39:06 2007 -0700"
      },
      "message": "[PATCH] lockdep: lockdep_depth vs. debug_locks\n\nlockdep found a bug during a run of workqueue function - this could be also\ncaused by a bug from other code running simultaneously.\n\nlockdep really shouldn\u0027t be used when debug_locks \u003d\u003d 0!\n\nReported-by: Folkert van Heusden \u003cfolkert@vanheusden.com\u003e\nInspired-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8da38d7bac802ed2a09a79aaae9961c806a1847c",
      "tree": "de79f9def41f0c17702843bcb919ca4b512ba71e",
      "parents": [
        "ad62ca2bd89f72e9b80dfaffc463e87bec5e75cb"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Mar 22 00:11:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 22 19:39:05 2007 -0700"
      },
      "message": "[PATCH] FRV: fix unannotated variable declarations\n\nFix unannotated variable declarations.  Variables that have allocation\nsection annotations (such as __meminitdata) on their definitions must also\nhave them on their declarations as not doing so may affect the addressing\nmode used by the compiler and may result in a linker error.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5851fadce8824d5d4b8fd02c22ae098401f6489e",
      "tree": "c06fcf0d444658c82bbfbdcd7609bed44067ac7d",
      "parents": [
        "d9c1e9a8fff512bb6c43461181d4360f1c8cfd6d"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sun Mar 18 12:58:08 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Mar 18 13:40:06 2007 -0700"
      },
      "message": "[PATCH] Fix build error due to not including \u003clinux/errno.h\u003e\n\nSince d9a9cdfb078d755e648d53ec25b7370f84ee5729 \u003clinux/sysfs.h\u003e is using\nENOSYS without including \u003clinux/errno.h\u003e if CONFIG_SYSFS is disabled.\n\nFixed by including \u003clinux/errno.h\u003e.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5379058b718ac6354ba99cc74d10c28d632dc28a",
      "tree": "9d88b7ca32450668c34e610f34c61db2d72fd72e",
      "parents": [
        "014efb1df74fe5a30bb10102404428fd4229726e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 16 14:15:57 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:07 2007 -0700"
      },
      "message": "[PATCH] fix MTIME_SEC_MAX on 32-bit\n\nThe maximum seconds value we can handle on 32bit is LONG_MAX.\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": "89a09141df6ac1c3821fbe44ca8384eb37692965",
      "tree": "ccb21055fca86ac2657b3262ac37eb3e5c44bea0",
      "parents": [
        "b74a2f0913694556a027795d2954d30523fac4c5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 16 13:38:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:05 2007 -0700"
      },
      "message": "[PATCH] nfs: fix congestion control\n\nThe current NFS client congestion logic is severly broken, it marks the\nbacking device congested during each nfs_writepages() call but doesn\u0027t\nmirror this in nfs_writepage() which makes for deadlocks.  Also it\nimplements its own waitqueue.\n\nReplace this by a more regular congestion implementation that puts a cap on\nthe number of active writeback pages and uses the bdi congestion waitqueue.\n\nAlso always use an interruptible wait since it makes sense to be able to\nSIGKILL the process even for mounts without \u0027intr\u0027.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b257bc051f06607beb3004d9a1c297085e728bec",
      "tree": "2eeb60429d92b683e9593d2fcde2f22ae40a1bf4",
      "parents": [
        "1174cf730179d8f029b9e93cb9a4d5bfb08d1202"
      ],
      "author": {
        "name": "Andrew Johnson",
        "email": "ajohnson@intrinsyc.com",
        "time": "Fri Mar 16 13:38:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:05 2007 -0700"
      },
      "message": "[PATCH] swsusp: fix suspend when console is in VT_AUTO+KD_GRAPHICS mode\n\nWhen the console is in VT_AUTO+KD_GRAPHICS mode, switching to the\nSUSPEND_CONSOLE fails, resulting in vt_waitactive() waiting indefinitely or\nuntil the task is interrupted.  This patch tests if a console switch can\noccur in set_console() and returns early if a console switch is not\npossible.\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Andrew Johnson \u003cajohnson@intrinsyc.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a836f5856ae46ccb2464ea76031ea05ae967b832",
      "tree": "eb0153e3b91381840d478d3e8c5b021dc12b92f9",
      "parents": [
        "65b8291c4000e5f38fc94fb2ca0cb7e8683c8a1b"
      ],
      "author": {
        "name": "Chris Lesiak",
        "email": "chris.lesiak@licor.com",
        "time": "Fri Mar 16 13:38:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:04 2007 -0700"
      },
      "message": "[PATCH] spi: destroy workqueue after spi_unregister_master\n\nFix a bug in the cleanup of an spi_bitbang bus.\n\nThe workqueue associated with the bus was destroyed before the call to\nspi_unregister_master.  That meant that spi devices on that bus would be\nunable to do IO in their remove method.  The shutdown flag should have been\nable to prevent a segfault, but was never getting set.  By waiting to\ndestroy the workqueue until after the master is unregistered, devices are\nable to do IO in their remove methods.  An added benefit is that neither\nthe shutdown flag nor a wait for the queue of messages to empty is needed.\n\nSigned-off-by: Chris Lesiak \u003cchris.lesiak@licor.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2189850f42beff23af32d847bd043cd1d1811a80",
      "tree": "eb7f6b8ab11ee7458b7759788dc3516c0202973c",
      "parents": [
        "94985134b7b46848267ed6b734320db01c974e72"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Fri Mar 16 13:38:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:03 2007 -0700"
      },
      "message": "[PATCH] ufs2: more correct work with time\n\nThis patch corrects work with time in UFS2 case.\n\n1) According to UFS2 disk layout modification/access and so on \"time\"\n   should be hold in two variables one 64bit for seconds and another 32bit for\n   nanoseconds,\n\n   at now for some unknown reason we suppose that \"inode time\" holds in\n   three variables 32bit for seconds, 32bit for milliseconds and 32bit for\n   nanoseconds.\n\n2) We set amount of nanoseconds in \"VFS inode\" to 0 during read, instead of\n   getting values from \"on disk inode\"(this should close\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d7991).\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Bjoern Jacke \u003cbjoern@j3e.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9a9cdfb078d755e648d53ec25b7370f84ee5729",
      "tree": "308380483fd6241b1d0ef5916b9329c1c5df00f6",
      "parents": [
        "6ab27c6bf38d5ff71dafeca77b79e7c284804b75"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Mar 15 15:50:34 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 15 15:29:26 2007 -0700"
      },
      "message": "[PATCH] sysfs and driver core: add callback helper, used by SCSI and S390\n\nThis patch (as868) adds a helper routine for device drivers that need\nto set up a callback to perform some action in a different process\u0027s\ncontext.  This is intended for use by attribute methods that want to\nunregister themselves or their parent device.  Attribute method calls\nare mutually exclusive with unregistration, so such actions cannot be\ntaken directly.\n\nTwo attribute methods are converted to use the new helper routine: one\nfor SCSI device deletion and one for System/390 ccwgroup devices.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04ff97086b1a3237bbd1fe6390fa80fe75207e23",
      "tree": "877e26055759d84a726c6bc68245bc6f9a4a5753",
      "parents": [
        "c4823bce033be74c0fcfbcae2f1be0854fdc2e18"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Mar 12 16:17:58 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Mar 14 15:27:48 2007 -0700"
      },
      "message": "[PATCH] sanitize security_getprocattr() API\n\nhave it return the buffer it had allocated\n\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f35575dfc172f0a93fb464761883c8f49599b7a",
      "tree": "5459681e96de3914a95c4993fc6f54b0e3b2ffee",
      "parents": [
        "392ee1e6dd901db6c4504617476f6442ed91f72d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Mar 08 13:06:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 12 16:31:50 2007 -0700"
      },
      "message": "[PATCH] pci: Repair pci_save/restore_state so we can restore one save many times.\n\nBecause we do not reserve space for the pci-x and pci-e state in struct\npci dev we need to dynamically allocate it.  However because we need\nto support restore being called multiple times after a single save\nit is never safe to free the buffers we have allocated to hold the\nstate.\n\nSo this patch modifies the save routines to first check to see\nif we have already allocated a state buffer before allocating\na new one.  Then the restore routines are modified to not free\nthe state after restoring it.  Simple and it fixes some subtle\nerror path handling bugs, that are hard to test for.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Auke Kok \u003cauke-jan.h.kok@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "392ee1e6dd901db6c4504617476f6442ed91f72d",
      "tree": "591658a0197244782973674f240cf61895ef498e",
      "parents": [
        "529284a0b649499351495949d05fa3359121cbae"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Mar 08 13:04:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 12 16:31:50 2007 -0700"
      },
      "message": "[PATCH] msi: Safer state caching.\n\nThere are two ways pci_save_state and pci_restore_state are used.  As\nhelper functions during suspend/resume, and as helper functions around\na hardware reset event.  When used as helper functions around a hardware\nreset event there is no reason to believe the calls will be paired, nor\nis there a good reason to believe that if we restore the msi state from\nbefore the reset that it will match the current msi state.  Since arch\ncode may change the msi message without going through the driver, drivers\ncurrently do not have enough information to even know when to call\npci_save_state to ensure they will have msi state in sync with the other\nkernel irq reception data structures.\n\nIt turns out the solution is straight forward, cache the state in the\nexisting msi data structures (not the magic pci saved things) and\nhave the msi code update the cached state each time we write to the hardware.\nThis means we never need to read the hardware to figure out what the hardware\nstate should be.\n\nBy modifying the caching in this manner we get to remove our save_state\nroutines and only need to provide restore_state routines.\n\nThe only fields that were at all tricky to regenerate were the msi and msi-x\ncontrol registers and the way we regenerate them currently is a bit dependent\nupon assumptions on how we use the allow msi registers to be configured and used\nmaking the code a little bit brittle.  If we ever change what cases we allow\nor how we configure the msi bits we can address the fragility then.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Auke Kok \u003cauke-jan.h.kok@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e96783f586cc0a64651087cb518209a8577123f",
      "tree": "8b74a5a8fda055ffeaa0c1ae3c070772599f8b3b",
      "parents": [
        "8466c833799b30ab343c5108cd2e460f9f16c9d8",
        "0feba829ee82a6e43baabe3f0bdf91bd937a67a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 09 10:34:55 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 09 10:34:55 2007 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [JFFS2] print a message when marking bad block\n  [JFFS2] Check for all-zero node headers\n  [MTD] [OneNAND] Classify the page data and oob buffer\n  [MTD] [OneNAND] Exit the loop when transferring/filling of the oob is finished\n  [MTD] [OneNAND] add Nokia Copyright and a credit\n  [MTD] [OneNAND] Fix typo \u0026 wrong comments\n  [MTD] [OneNAND] Use oob buffer instead of main one in oob functions\n  [MTD] Correct partition failed erase address\n  [JFFS2] Use yield() between GC passes in background thread.\n  [MTD] [NAND] Correct misspelled preprocessor variable.\n  [MTD] [MAPS] dilnetpc: Fix printk warning\n  [MTD] [NOR] Fix oops in cfi_amdstd_sync\n  [MTD] ESB2 check for closed ROM window\n  [JFFS2] Fix writebuffer recovery in the first page of a block\n  [MTD] [NAND] make oobavail public\n"
    },
    {
      "commit": "470bc844361b238bcbe6a07ba47d51fca25f2742",
      "tree": "818d1727b1613d0893e519e918d76ff4cdfcda7f",
      "parents": [
        "5bc399e9ef430efd5725b66aa2ad7ad2d81e372b"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Fri Mar 09 10:08:11 2007 +0900"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Mar 09 08:08:09 2007 +0000"
      },
      "message": "[MTD] [OneNAND] Classify the page data and oob buffer\n\nClassify the page data and oob buffer\nand it prevents the memory fragementation (writesize + oobsize)\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "f6dfb4fd7dd94429ef1d5233688aaed2a63f856b",
      "tree": "81c29bfad51e187830ca059855aa285e350c9481",
      "parents": [
        "b40df5743ee8aed8674edbbb77b8fd3c8c7a747f"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Mar 07 20:41:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 08 07:38:22 2007 -0800"
      },
      "message": "[PATCH] Add epoll compat_ code to fs/compat.c\n\nIA64 and ARM-OABI are currently using their own version of epoll compat_\ncode.\n\nAn architecture needs epoll_event translation if alignof(u64) in 32 bit\nmode is different from alignof(u64) in 64 bit mode.  If an architecture\nneeds epoll_event translation, it must define struct compat_epoll_event in\nasm/compat.h and set CONFIG_HAVE_COMPAT_EPOLL_EVENT and use\ncompat_sys_epoll_ctl and compat_sys_epoll_wait.\n\nAll 64 bit architecture should use compat_sys_epoll_pwait.\n\n[sfr: restructure and move to fs/compat.c, remove MIPS version\nof compat_sys_epoll_pwait, use __put_user_unaligned]\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f92267c51a514f35ad5b0fd46cb099c0980b679",
      "tree": "06101742bffb98e305dcf9db208e55ed89182d44",
      "parents": [
        "eee8abe5de9cbd936b51db292c8d3c406b0e79e7"
      ],
      "author": {
        "name": "Vitaly Wool",
        "email": "vwool@ru.mvista.com",
        "time": "Tue Mar 06 16:56:34 2007 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Mar 08 09:17:43 2007 +0000"
      },
      "message": "[MTD] [NAND] make oobavail public\n\nDuring the MTD rework the oobavail parameter of mtd_info structure has become\nprivate. This is not quite correct in terms of integrity and logic. If we have\nmeans to write to OOB area, then we\u0027d like to know upfront how many bytes out\nof OOB are spare per page to be able to adapt to specific cases.\nThe patch inlined adds the public oobavail parameter.\n\nSigned-off-by: Vitaly Wool \u003cvwool@ru.mvista.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5b3c1184e78dd7d74eced83b25af88cf1d13e686",
      "tree": "2a172026fc3492a9cdd66bca1e57d019eb78bf28",
      "parents": [
        "fe1b4ba400193176213f95be3ea711a53518a609",
        "99c72ce091ec85868a0847e598eb7562dc0d8205"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 19:53:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 19:53:34 2007 -0800"
      },
      "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  [DCCP]: Set RTO for newly created child socket\n  [DCCP]: Correctly split CCID half connections\n  [NET]: Fix compat_sock_common_getsockopt typo.\n  [NET]: Revert incorrect accept queue backlog changes.\n  [INET]: twcal_jiffie should be unsigned long, not int\n  [GIANFAR]: Fix compile error in latest git\n  [PPPOE]: Use ifindex instead of device pointer in key lookups.\n  [NETFILTER]: ip6_route_me_harder should take into account mark\n  [NETFILTER]: nfnetlink_log: fix reference counting\n  [NETFILTER]: nfnetlink_log: fix module reference counting\n  [NETFILTER]: nfnetlink_log: fix possible NULL pointer dereference\n  [NETFILTER]: nfnetlink_log: fix NULL pointer dereference\n  [NETFILTER]: nfnetlink_log: fix use after free\n  [NETFILTER]: nfnetlink_log: fix reference leak\n  [NETFILTER]: tcp conntrack: accept SYN|URG as valid\n  [NETFILTER]: nf_conntrack/nf_nat: fix incorrect config ifdefs\n  [NETFILTER]: conntrack: fix {nf,ip}_ct_iterate_cleanup endless loops\n"
    },
    {
      "commit": "8328258e745b80290534c9ab5bede6cd8340ea75",
      "tree": "b1904eb2841f9805e1bf6d524963ad6d9ec583e1",
      "parents": [
        "205c911da322908abe127b96d2ef2a4a2aa5109a",
        "a715dfc7b9ef15ed5b398b185bd84cc015ff37f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 17:31:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 17:31:29 2007 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  sdhci: release irq during suspend\n  sdhci: make isr tolerant of read errors\n  mmc: require explicit support for high-speed\n  ncpfs: make sure server connection survives a kill\n"
    }
  ],
  "next": "205c911da322908abe127b96d2ef2a4a2aa5109a"
}
