)]}'
{
  "log": [
    {
      "commit": "4dd7a52b53ab79e8990bb295a2907d47345d2fa2",
      "tree": "68e671edcbc17a2b0a5df560bd05c1f28b81c1e2",
      "parents": [
        "4bb2cc8ea8b76426dcb60b95d27d599cb426bcf9"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "dborkman@redhat.com",
        "time": "Mon Nov 11 12:20:32 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Dec 08 07:29:41 2013 -0800"
      },
      "message": "random32: fix off-by-one in seeding requirement\n\n[ Upstream commit 51c37a70aaa3f95773af560e6db3073520513912 ]\n\nFor properly initialising the Tausworthe generator [1], we have\na strict seeding requirement, that is, s1 \u003e 1, s2 \u003e 7, s3 \u003e 15.\n\nCommit 697f8d0348 (\"random32: seeding improvement\") introduced\na __seed() function that imposes boundary checks proposed by the\nerrata paper [2] to properly ensure above conditions.\n\nHowever, we\u0027re off by one, as the function is implemented as:\n\"return (x \u003c m) ? x + m : x;\", and called with __seed(X, 1),\n__seed(X, 7), __seed(X, 15). Thus, an unwanted seed of 1, 7, 15\nwould be possible, whereas the lower boundary should actually\nbe of at least 2, 8, 16, just as GSL does. Fix this, as otherwise\nan initialization with an unwanted seed could have the effect\nthat Tausworthe\u0027s PRNG properties cannot not be ensured.\n\nNote that this PRNG is *not* used for cryptography in the kernel.\n\n [1] http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme.ps\n [2] http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme2.ps\n\nJoint work with Hannes Frederic Sowa.\n\nFixes: 697f8d0348a6 (\"random32: seeding improvement\")\nCc: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\nCc: Florian Weimer \u003cfweimer@redhat.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Daniel Borkmann \u003cdborkman@redhat.com\u003e\nSigned-off-by: Hannes Frederic Sowa \u003channes@stressinduktion.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c2f271001295e9d4b1cca3a01502795e4f0d1639",
      "tree": "d977bfe72c4f54eaa65ac1a315bc6f4ce820eaea",
      "parents": [
        "dad61bad4267b922a9386d9772f80fbac496c05e"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 10 10:52:35 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Oct 22 09:02:25 2013 +0100"
      },
      "message": "random: run random_int_secret_init() run after all late_initcalls\n\ncommit 47d06e532e95b71c0db3839ebdef3fe8812fca2c upstream.\n\nThe some platforms (e.g., ARM) initializes their clocks as\nlate_initcalls for some unknown reason.  So make sure\nrandom_int_secret_init() is run after all of the late_initcalls are\nrun.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "26665db4f7fa71c56eeb9205e79927cfc21e70c4",
      "tree": "8b5dc2c10b8b0aa9c1d1711daf991ae3df30db02",
      "parents": [
        "12dae51a7567bb1e583ee0de6af538db256504db"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jul 14 20:27:52 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 15 08:10:29 2012 -0700"
      },
      "message": "random: remove rand_initialize_irq()\n\ncommit c5857ccf293968348e5eb4ebedc68074de3dcda6 upstream.\n\nWith the new interrupt sampling system, we are no longer using the\ntimer_rand_state structure in the irq descriptor, so we can stop\ninitializing it now.\n\n[ Merged in fixes from Sedat to find some last missing references to\n  rand_initialize_irq() ]\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "29aef9dee78ac45c5bd7f91434b05144ec220abd",
      "tree": "16b4c0aed90542db6e0cb1d45ff2e483ee3f2eae",
      "parents": [
        "f5caa70697d4da107f8fd33fe74977a8ec192aaf"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jul 05 10:35:23 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 15 08:10:28 2012 -0700"
      },
      "message": "random: add new get_random_bytes_arch() function\n\ncommit c2557a303ab6712bb6e09447df828c557c710ac9 upstream.\n\nCreate a new function, get_random_bytes_arch() which will use the\narchitecture-specific hardware random number generator if it is\npresent.  Change get_random_bytes() to not use the HW RNG, even if it\nis avaiable.\n\nThe reason for this is that the hw random number generator is fast (if\nit is present), but it requires that we trust the hardware\nmanufacturer to have not put in a back door.  (For example, an\nincreasing counter encrypted by an AES key known to the NSA.)\n\nIt\u0027s unlikely that Intel (for example) was paid off by the US\nGovernment to do this, but it\u0027s impossible for them to prove otherwise\n  --- especially since Bull Mountain is documented to use AES as a\nwhitener.  Hence, the output of an evil, trojan-horse version of\nRDRAND is statistically indistinguishable from an RDRAND implemented\nto the specifications claimed by Intel.  Short of using a tunnelling\nelectronic microscope to reverse engineer an Ivy Bridge chip and\ndisassembling and analyzing the CPU microcode, there\u0027s no way for us\nto tell for sure.\n\nSince users of get_random_bytes() in the Linux kernel need to be able\nto support hardware systems where the HW RNG is not present, most\ntime-sensitive users of this interface have already created their own\ncryptographic RNG interface which uses get_random_bytes() as a seed.\nSo it\u0027s much better to use the HW RNG to improve the existing random\nnumber generator, by mixing in any entropy returned by the HW RNG into\n/dev/random\u0027s entropy pool, but to always _use_ /dev/random\u0027s entropy\npool.\n\nThis way we get almost of the benefits of the HW RNG without any\npotential liabilities.  The only benefits we forgo is the\nspeed/performance enhancements --- and generic kernel code can\u0027t\ndepend on depend on get_random_bytes() having the speed of a HW RNG\nanyway.\n\nFor those places that really want access to the arch-specific HW RNG,\nif it is available, we provide get_random_bytes_arch().\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n\n"
    },
    {
      "commit": "1d0eb350ee278cb257178a14c4c9d965d7d2835e",
      "tree": "16b4cc295085db157d441e2b08821f92d9161363",
      "parents": [
        "e0604ba541f04a542ee9a7f6a468a60688ad8c72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 04 11:16:01 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 15 08:10:27 2012 -0700"
      },
      "message": "random: create add_device_randomness() interface\n\ncommit a2080a67abe9e314f9e9c2cc3a4a176e8a8f8793 upstream.\n\nAdd a new interface, add_device_randomness() for adding data to the\nrandom pool that is likely to differ between two devices (or possibly\neven per boot).  This would be things like MAC addresses or serial\nnumbers, or the read-out of the RTC. This does *not* add any actual\nentropy to the pool, but it initializes the pool to different values\nfor devices that might otherwise be identical and have very little\nentropy available to them (particularly common in the embedded world).\n\n[ Modified by tytso to mix in a timestamp, since there may be some\n  variability caused by the time needed to detect/configure the hardware\n  in question. ]\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "0110bbfbc8ed1b5240a51e8c767c44a856424139",
      "tree": "f3ac162b4925c7e841413db59dabff88324640ae",
      "parents": [
        "cabf5b0af54cec6a2f9ce674cbc96fc8aa2fc468"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 02 07:52:16 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 15 08:10:10 2012 -0700"
      },
      "message": "random: make \u0027add_interrupt_randomness()\u0027 do something sane\n\ncommit 775f4b297b780601e61787b766f306ed3e1d23eb upstream.\n\nWe\u0027ve been moving away from add_interrupt_randomness() for various\nreasons: it\u0027s too expensive to do on every interrupt, and flooding the\nCPU with interrupts could theoretically cause bogus floods of entropy\nfrom a somewhat externally controllable source.\n\nThis solves both problems by limiting the actual randomness addition\nto just once a second or after 64 interrupts, whicever comes first.\nDuring that time, the interrupt cycle data is buffered up in a per-cpu\npool.  Also, we make sure the the nonblocking pool used by urandom is\ninitialized before we start feeding the normal input pool.  This\nassures that /dev/urandom is returning unpredictable data as soon as\npossible.\n\n(Based on an original patch by Linus, but significantly modified by\ntytso.)\n\nTested-by: Eric Wustrow \u003cewust@umich.edu\u003e\nReported-by: Eric Wustrow \u003cewust@umich.edu\u003e\nReported-by: Nadia Heninger \u003cnadiah@cs.ucsd.edu\u003e\nReported-by: Zakir Durumeric \u003czakir@umich.edu\u003e\nReported-by: J. Alex Halderman \u003cjhalderm@umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "8e6d539e0fd0c2124a20a207da70f2af7a9ae52c",
      "tree": "73016c1bdb5005125cdb5d60d48f73ab4300be64",
      "parents": [
        "8237eb946a1a23c600fb289cf8dd3b399b10604e",
        "49d859d78c5aeb998b6936fcb5f288f78d713489"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 05:29:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 05:29:07 2011 -0700"
      },
      "message": "Merge branch \u0027x86-rdrand-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-rdrand-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, random: Verify RDRAND functionality and allow it to be disabled\n  x86, random: Architectural inlines to get random integers with RDRAND\n  random: Add support for architectural random hooks\n\nFix up trivial conflicts in drivers/char/random.c: the architectural\nrandom hooks touched \"get_random_int()\" that was simplified to use MD5\nand not do the keyptr thing any more (see commit 6e5714eaf77d: \"net:\nCompute protocol sequence numbers and fragment IDs using MD5\").\n"
    },
    {
      "commit": "6e5714eaf77d79ae1c8b47e3e040ff5411b717ec",
      "tree": "30bd0d7a6a0a6ff0ace6da1835ae7b7167cce5e4",
      "parents": [
        "bc0b96b54a21246e377122d54569eef71cec535f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 20:50:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 18:33:19 2011 -0700"
      },
      "message": "net: Compute protocol sequence numbers and fragment IDs using MD5.\n\nComputers have become a lot faster since we compromised on the\npartial MD4 hash which we use currently for performance reasons.\n\nMD5 is a much safer choice, and is inline with both RFC1948 and\nother ISS generators (OpenBSD, Solaris, etc.)\n\nFurthermore, only having 24-bits of the sequence number be truly\nunpredictable is a very serious limitation.  So the periodic\nregeneration and 8-bit counter have been removed.  We compute and\nuse a full 32-bit sequence number.\n\nFor ipv6, DCCP was found to use a 32-bit truncated initial sequence\nnumber (it needs 43-bits) and that is fixed here as well.\n\nReported-by: Dan Kaminsky \u003cdan@doxpara.com\u003e\nTested-by: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63d77173266c1791f1553e9e8ccea65dc87c4485",
      "tree": "81c69a2f30a9bd8302d690000215b474886d0152",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sun Jul 31 13:54:50 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sun Jul 31 13:54:50 2011 -0700"
      },
      "message": "random: Add support for architectural random hooks\n\nAdd support for architecture-specific hooks into the kernel-directed\nrandom number generator interfaces.  This patchset does not use the\narchitecture random number generator interfaces for the\nuserspace-directed interfaces (/dev/random and /dev/urandom), thus\neliminating the need to distinguish between them based on a pool\npointer.\n\nChanges in version 3:\n- Moved the hooks from extract_entropy() to get_random_bytes().\n- Changes the hooks to inlines.\n\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "87c48fa3b4630905f98268dde838ee43626a060c",
      "tree": "1374b52ed0514682f836cfa0a6a683eb549c9613",
      "parents": [
        "21efcfa0ff27776902a8a15e810147be4d937d69"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 21 21:25:58 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 21:25:58 2011 -0700"
      },
      "message": "ipv6: make fragment identifications less predictable\n\nIPv6 fragment identification generation is way beyond what we use for\nIPv4 : It uses a single generator. Its not scalable and allows DOS\nattacks.\n\nNow inetpeer is IPv6 aware, we can use it to provide a more secure and\nscalable frag ident generator (per destination, instead of system wide)\n\nThis patch :\n1) defines a new secure_ipv6_id() helper\n2) extends inet_getid() to provide 32bit results\n3) extends ipv6_select_ident() with a new dest parameter\n\nReported-by: Fernando Gont \u003cfernando@gont.com.ar\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5960164fde9bc2f2a99e751d3393faea316e7e36",
      "tree": "eb4340c46fd459a9a078a9b994b5e940b68a875e",
      "parents": [
        "0a14a130cac9c6826bc81a089b12ab5cbb2b97fc"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed May 26 14:44:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:52 2010 -0700"
      },
      "message": "lib/random32: export pseudo-random number generator for modules\n\nThis patch moves the definition of struct rnd_state and the inline\n__seed() function to linux/random.h.  It renames the static __random32()\nfunction to prandom32() and exports it for use in modules.\n\nprandom32() is useful as a privately-seeded pseudo random number generator\nthat can give the same result every time it is initialized.\n\nFor FCoE FC-BB-6 VN2VN mode self-selected unique FC address generation, we\nneed an pseudo-random number generator seeded with the 64-bit world-wide\nport name.  A truly random generator or one seeded with randomness won\u0027t\ndo because the same sequence of numbers should be generated each time we\nboot or the link comes up.\n\nA prandom32_seed() inline function is added to the header file.  It is\ninlined not for speed, but so the function won\u0027t be expanded in the base\nkernel, but only in the module that uses it.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68622c61dc7971382f5d69cd5d881e618ea30414",
      "tree": "fa3e5f2a76fc1f6362865fdf05dccd5b7a98caa1",
      "parents": [
        "7260a91666a3149181e7b78bbf73beebbb04f8fa"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Fri Jan 30 22:11:32 2009 +0530"
      },
      "committer": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Sat Jan 31 00:05:59 2009 +0530"
      },
      "message": "headers_check fix: linux/random.h\n\nfix the following \u0027make headers_check\u0027 warning:\n\n  usr/include/linux/random.h:39: found __[us]{8,16,32,64} type without #include \u003clinux/types.h\u003e\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\n"
    },
    {
      "commit": "2f983570010a0dcb26d988da02d7ccfad00c807c",
      "tree": "39fd89fd04d940306c02425927fc1308b26357b0",
      "parents": [
        "e9e67a8b579d9605a3d06f7430dbb40465c97bf1"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 03 00:06:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:01:23 2009 -0800"
      },
      "message": "sparseirq: move set/get_timer_rand_state back to .c\n\nthose two functions only used in that C file\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ebb26e7a4e2c5337502e98b2221e037fda911b9",
      "tree": "c761f4ed74cf412bd2f9de7a091280797548c5b1",
      "parents": [
        "8a4830f8891be6b4e04809693a24771a4694e0b0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 11:26:39 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 12:28:50 2008 +0100"
      },
      "message": "sparse irqs: handle !GENIRQ platforms\n\nImpact: build fix\n\nfix:\n\n In file included from /home/mingo/tip/arch/m68k/amiga/amiints.c:39:\n /home/mingo/tip/include/linux/interrupt.h:21: error: expected identifier or \u0027(\u0027\n /home/mingo/tip/arch/m68k/amiga/amiints.c: In function \u0027amiga_init_IRQ\u0027:\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b8f1efad30bd58f89961b82dfe68b9edf8fd2ac",
      "tree": "239251bad791fd60af8c0f2ba365b7188395c83f",
      "parents": [
        "218d11a8b071b23b76c484fd5f72a4fe3306801e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 05 18:58:31 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 14:31:51 2008 +0100"
      },
      "message": "sparse irq_desc[] array: core kernel and x86 changes\n\nImpact: new feature\n\nProblem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with\nNR_CPUS set to large values. The goal is to be able to scale up to much\nlarger NR_IRQS value without impacting the (important) common case.\n\nTo solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of\nirq_desc pointers.\n\nWhen CONFIG_SPARSE_IRQ\u003dy is used, we use kzalloc_node to get irq_desc,\nthis also makes the IRQ descriptors NUMA-local (to the site that calls\nrequest_irq()).\n\nThis gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now\nuses desc-\u003echip_data for x86 to store irq_cfg.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "540473208f8ac71c25a87e1a2670c3c18dd4d6db",
      "tree": "716c6b412ebf3e232bd85da785315f888283d991",
      "parents": [
        "f59e5e82096f81a2cb7d7833001956d81e9fa6fb"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:28 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:44 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 1\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b09b845ca6724c3bbdc00c0cb2313258c7189ca9",
      "tree": "f8f60525deddfbe188ad2428a97988f9142f0369",
      "parents": [
        "714e85be3557222bc25f69c252326207c900a7db"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 20:52:19 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:51 2006 -0800"
      },
      "message": "[RANDOM]: Annotate random.h IP helpers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aaa248f6c9c81b2683db7dbb0689cd5ed1c86d88",
      "tree": "106d9ce5ebac4175b0fb97ff80a92e399fcf2a33",
      "parents": [
        "0187f879ee8d4b914e74ffa3cc5df268311fc2d2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Oct 17 00:09:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:43 2006 -0700"
      },
      "message": "[PATCH] rename net_random to random32\n\nMake net_random() more widely available by calling it random32\n\nakpm: hopefully this will permit the removal of carta_random32.  That needs\nconfirmation from Stephane - this code looks somewhat more computationally\nexpensive, and has a different (ie: callee-stateful) interface.\n\n[akpm@osdl.org: lots of build fixes, cleanups]\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Stephane Eranian \u003ceranian@hpl.hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8313f5ca2b1f86b7df6c99fc4b3fffa1f84e92b",
      "tree": "1ee41d265c7790e4389bf4d123b2b60975ad2967",
      "parents": [
        "a7f5e7f164788a22eb5d3de8e2d3cee1bf58fdca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:25:44 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:56 2006 -0800"
      },
      "message": "[INET6]: Generalise tcp_v6_hash_connect\n\nRenaming it to inet6_hash_connect, making it possible to ditch\ndccp_v6_hash_connect and share the same code with TCP instead.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7f5e7f164788a22eb5d3de8e2d3cee1bf58fdca",
      "tree": "809ed01d61aa9548124b9958a5a500068b1db670",
      "parents": [
        "6d6ee43e0b8b8d4847627fd43739b98ec2b9404f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:25:31 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:55 2006 -0800"
      },
      "message": "[INET]: Generalise tcp_v4_hash_connect\n\nRenaming it to inet_hash_connect, making it possible to ditch\ndccp_v4_hash_connect and share the same code with TCP instead.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4365c9235f80128c3c3d5993074173941b1c1f0",
      "tree": "f507b8360bab9f4c86050d75bb7372aa28ce890e",
      "parents": [
        "d8c97a9451068dd9f7b838a240bb6db894133a5e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:12:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:40 2005 -0700"
      },
      "message": "[RANDOM]: Introduce secure_dccp_sequence_number\n\nCode contributed by Stephen Hemminger.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\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"
    }
  ]
}
