)]}'
{
  "log": [
    {
      "commit": "1d1818316f0b61e0997a159680e1e631a23a407e",
      "tree": "fe79294a13661c75f2c5e311dfa62b2ba5ac8f67",
      "parents": [
        "f6c90b71a355a0a4a22e1cfee5748617adc25a53"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 28 00:01:55 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 28 17:02:43 2006 -0800"
      },
      "message": "[ECONET]: Convert away from SOCKOPS_WRAPPED\n\nJust use a local econet_mutex instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6c90b71a355a0a4a22e1cfee5748617adc25a53",
      "tree": "2fdbe51a57e25a781128ce4a8c85375201221ded",
      "parents": [
        "f1465f7ea9e7aecba8e41d4aac9240f9b7fe2e24"
      ],
      "author": {
        "name": "Petr Vandrovec",
        "email": "petr@vandrovec.name",
        "time": "Mon Mar 27 23:39:31 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 28 17:02:43 2006 -0800"
      },
      "message": "[NET]: Fix ipx/econet/appletalk/irda ioctl crashes\n\nFix kernel oopses whenever somebody issues compatible ioctl on AppleTalk,\nEconet, IPX or IRDA socket.  For AppleTalk/Econet/IRDA it restores state\nin which these sockets were before compat_ioctl was introduced to the socket\nops, for IPX it implements support for 4 ioctls which were not implemented\nbefore - as these ioctls use structures which match between 32bit and 64bit\nuserspace, no special code is needed, just call 64bit ioctl handler.\n\nSigned-off-by: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca4033024858fcbd392465ba9cbf4c838aedfb58",
      "tree": "1cc64bc39d641ee033408ab1f22b612352a69331",
      "parents": [
        "f190055ff5c08a877d3e1ac2e0300fd92c264b06"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Jan 04 13:56:08 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 04 13:56:08 2006 -0800"
      },
      "message": "[ECONET]: Use macro for spinlock_t definition.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5e5fa5e093e42cab4ee3d6dcbc4f450ad29a723",
      "tree": "7a87804b0953f22de43054ccc7ae67ebc5b66b20",
      "parents": [
        "5ff7630e4aa6c3969094dc30ff1cdaa6f52b0ed0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Jan 03 14:18:33 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 14:18:33 2006 -0800"
      },
      "message": "[NET]: Add a dev_ioctl() fallback to sock_ioctl()\n\nCurrently all network protocols need to call dev_ioctl as the default\nfallback in their ioctl implementations.  This patch adds a fallback\nto dev_ioctl to sock_ioctl if the protocol returned -ENOIOCTLCMD.\nThis way all the procotol ioctl handlers can be simplified and we don\u0027t\nneed to export dev_ioctl.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90ddc4f0470427df306f308ad03db6b6b21644b8",
      "tree": "f97c1d57b25585394ebbd4b42b8d42a339f98644",
      "parents": [
        "77d76ea310b50a9c8ff15bd290fcb4ed4961adf2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Dec 22 12:49:22 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:15 2006 -0800"
      },
      "message": "[NET]: move struct proto_ops to const\n\nI noticed that some of \u0027struct proto_ops\u0027 used in the kernel may share\na cache line used by locks or other heavily modified data. (default\nlinker alignement is 32 bytes, and L1_CACHE_LINE is 64 or 128 at\nleast)\n\nThis patch makes sure a \u0027struct proto_ops\u0027 can be declared as const,\nso that all cpus can share all parts of it without false sharing.\n\nThis is not mandatory : a driver can still use a read/write structure\nif it needs to (and eventually a __read_mostly)\n\nI made a global stubstitute to change all existing occurences to make\nthem const.\n\nThis should reduce the possibility of false sharing on SMP, and\nspeedup some socket system calls.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5ed639913eea3e4783a550291775ab78dd84966",
      "tree": "e6e915aa686d2a7125181fc83a847e1955a8ba46",
      "parents": [
        "a5e7c210fefd2454c757a3542e41063407ca7108"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "message": "[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl\n\nThe following patch renames __in_dev_get() to __in_dev_get_rtnl() and\nintroduces __in_dev_get_rcu() to cover the second case.\n\n1) RCU with refcnt should use in_dev_get().\n2) RCU without refcnt should use __in_dev_get_rcu().\n3) All others must hold RTNL and use __in_dev_get_rtnl().\n\nThere is one exception in net/ipv4/route.c which is in fact a pre-existing\nrace condition.  I\u0027ve marked it as such so that we remember to fix it.\n\nThis patch is based on suggestions and prior work by Suzanne Wood and\nPaul McKenney.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61bbcf28a8cb0ba56f8193d512f7222e711a294",
      "tree": "33ae1976ab3b08aac516debb2742d2c6696d5436",
      "parents": [
        "25ed891019b84498c83903ecf53df7ce35e9cff6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 17:24:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:58:24 2005 -0700"
      },
      "message": "[NET]: Store skb-\u003etimestamp as offset to a base timestamp\n\nReduces skb size by 8 bytes on 64-bit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2ccd8fa06c8e302116e71df372f5c1f83432e03",
      "tree": "6e933f4bdc8899009edb33642b908779f123fb4a",
      "parents": [
        "b6b99eb5409d75ae35390057cd28f3aedfbd4cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:34:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:32:25 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003ereal_dev\n\nBonding just wants the device before the skb_bond()\ndecapsulation occurs, so simply pass that original\ndevice into packet_type-\u003efunc() as an argument.\n\nIt remains to be seen whether we can use this same\nexact thing to get rid of skb-\u003einput_dev as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8728b834b226ffcf2c94a58530090e292af2a7bf",
      "tree": "2fd51ff3b7097eb3ffc41ea3a1d8b3ba04715b4c",
      "parents": [
        "6869c4d8e066e21623c812c448a05f1ed931c9c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:25:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:14 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003elist\n\nRemove the \"list\" member of struct sk_buff, as it is entirely\nredundant.  All SKB list removal callers know which list the\nSKB is on, so storing this in sk_buff does nothing other than\ntaking up some space.\n\nTwo tricky bits were SCTP, which I took care of, and two ATM\ndrivers which Francois Romieu \u003cromieu@fr.zoreil.com\u003e fixed\nup.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Francois Romieu \u003cromieu@fr.zoreil.com\u003e\n"
    },
    {
      "commit": "6a2e9b738cb5c929df73b6acabdd8f9a4e9a0416",
      "tree": "c7cdf9033093b52e360ad04dc29739ca36a617a4",
      "parents": [
        "d5950b4355049092739bea97d1bdc14433126cc5"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jul 11 21:13:56 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 21:13:56 2005 -0700"
      },
      "message": "[NET]: move config options out to individual protocols\n\nMove the protocol specific config options out to the specific protocols.\nWith this change net/Kconfig now starts to become readable and serve as a\ngood basis for further re-structuring.\n\nThe menu structure is left almost intact, except that indention is\nfixed in most cases. Most visible are the INET changes where several\n\"depends on INET\" are replaced with a single ifdef INET / endif pair.\n\nSeveral new files were created to accomplish this change - they are\nsmall but serve the purpose that config options are now distributed\nout where they belongs.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
