)]}'
{
  "log": [
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "442a4fffffa26fc3080350b4d50172f7589c3ac2",
      "tree": "18f99b2ab50cda90bc64ad49560860729a92c1c2",
      "parents": [
        "ce92136843cb6e14aba5fd7bc4e88dbe71e70c5a"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jarod@redhat.com",
        "time": "Mon Feb 21 21:43:10 2011 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Feb 21 22:42:42 2011 +1100"
      },
      "message": "random: update interface comments to reflect reality\n\nAt present, the comment header in random.c makes no mention of\nadd_disk_randomness, and instead, suggests that disk activity adds to the\nrandom pool by way of add_interrupt_randomness, which appears to not have\nbeen the case since sometime prior to the existence of git, and even prior\nto bitkeeper. Didn\u0027t look any further back. At least, as far as I can\ntell, there are no storage drivers setting IRQF_SAMPLE_RANDOM, which is a\nrequirement for add_interrupt_randomness to trigger, so the only way for a\ndisk to contribute entropy is by way of add_disk_randomness. Update\ncomments accordingly, complete with special mention about solid state\ndrives being a crappy source of entropy (see e2e1a148bc for reference).\n\nSigned-off-by: Jarod Wilson \u003cjarod@redhat.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b29c617af3b09d150d3889836c24d39564b39180",
      "tree": "17514cd85f64917e96d736b6dc5ac681dab93955",
      "parents": [
        "ee1be8626355e6a1f3f8c44e2351ff2661c5998d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Dec 06 11:40:06 2010 -0600"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:18:05 2010 +0100"
      },
      "message": "random: Use this_cpu_inc_return\n\n__this_cpu_inc can create a single instruction to do the same as\n__get_cpu_var()++.\n\nCc: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "4015d9a865e3bcc42d88bedc8ce1551000bab664",
      "tree": "0bec23a1ae5c2c95b99360ff4ddb51b34212f446",
      "parents": [
        "313910d3b98029a867bb4aa3ee552ae573db0458"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Sat Jul 31 19:58:00 2010 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 31 19:58:00 2010 +0800"
      },
      "message": "random: Reorder struct entropy_store to remove padding on 64bits              \n\nRe-order structure entropy_store to remove 8 bytes of padding on\n64 bit builds, so shrinking this structure from 72 to 64 bytes\nand allowing it to fit into one cache line.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e954bc91bdd4bb08b8325478c5004b24a23a3522",
      "tree": "aa5affa35b799f8a71a6b6740c9828832e05085c",
      "parents": [
        "921bae54693f26d01fb8e10ee6968b5cd8184551"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Thu May 20 19:55:01 2010 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 20 19:55:01 2010 +1000"
      },
      "message": "random: simplify fips mode\n\nRather than dynamically allocate 10 bytes, move it to static allocation.\nThis saves space and avoids the need for error checking.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "c41b20e721ea4f6f20f66a66e7f0c3c97a2ca9c2",
      "tree": "92cd1b2b1cdb871530bb07bbbcbfeaffe1170830",
      "parents": [
        "a089377f29d3af0f62f3bdc6db0c5042513fc3f3"
      ],
      "author": {
        "name": "Adam Buchbinder",
        "email": "adam.buchbinder@gmail.com",
        "time": "Fri Dec 11 16:35:39 2009 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Feb 04 11:55:45 2010 +0100"
      },
      "message": "Fix misspellings of \"truly\" in comments.\n\nSome comments misspell \"truly\"; this fixes them. No code changes.\n\nSigned-off-by: Adam Buchbinder \u003cadam.buchbinder@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "cd1510cb5f892907fe1a662f90b41fb3a42954e0",
      "tree": "7243a56629a53f048e07cdc41e3c8d324036b07d",
      "parents": [
        "a8d7ac279743077965afeca0c9ed748507b68e89"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Feb 01 21:48:28 2010 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Feb 02 06:50:27 2010 +1100"
      },
      "message": "random: Remove unused inode variable\n\nThe previous changeset left behind an unused inode variable.\nThis patch removes it.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a996996dd75a9086b12d1cb4010f26e1748993f0",
      "tree": "3a65c1d6636f24e3edc175b54fabfdfd1fed91ef",
      "parents": [
        "92dcffb916d309aa01778bf8963a6932e4014d07"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Fri Jan 29 21:50:36 2010 +1300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Feb 02 06:50:23 2010 +1100"
      },
      "message": "random: drop weird m_time/a_time manipulation\n\nNo other driver does anything remotely like this that I know of except\nfor the tty drivers, and I can\u0027t see any reason for random/urandom to do\nit. In fact, it\u0027s a (trivial, harmless) timing information leak. And\nobviously, it generates power- and flash-cycle wasting I/O, especially\nif combined with something like hwrngd. Also, it breaks ubifs\u0027s\nexpectations.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "35900771c06cee858b725ef7069fb6934691b319",
      "tree": "9f10572c710c0792c4cafe248143512e8208724c",
      "parents": [
        "03daa57cdb2198e36a41ca1f63a030759490363f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "random.c: use %pU to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d4561110a3e9fa742aeec6717248a491dfb1878",
      "tree": "689e2abf19940416ce597ba56ed31026ff59bd21",
      "parents": [
        "86926d0096279b9739ceeff40f68d3c33b9119a9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Nov 16 03:11:48 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 18 08:37:40 2009 -0800"
      },
      "message": "sysctl: Drop \u0026 in front of every proc_handler.\n\nFor consistency drop \u0026 in front of every proc_handler.  Explicity\ntaking the address is unnecessary and it prevents optimizations\nlike stubbing the proc_handlers to NULL.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "894d2491153a9f8270dbed21175d06fde4eba6c7",
      "tree": "e49698028c4a953f4b31363a0225c7fab28cffc0",
      "parents": [
        "c2a86a67fadd9dddc58f55ce6323c04dde59ebed"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 05 14:34:02 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 12 02:04:58 2009 -0800"
      },
      "message": "sysctl drivers: Remove dead binary sysctl support\n\nNow that sys_sysctl is a wrapper around /proc/sys all of\nthe binary sysctl support elsewhere in the tree is\ndead code.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"James E.J. Bottomley\" \u003cJames.Bottomley@suse.de\u003e\nAcked-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e for drivers/char/hpet.c\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b739ef8a4e8cf5201d21abff897e292c232477b",
      "tree": "6301126016ad869997b4ef31973999e16049dfeb",
      "parents": [
        "b6f34d44cb341ad32f08717d1a2c418e6053a031"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Jun 18 19:50:21 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 18 19:50:21 2009 +0800"
      },
      "message": "random: Add optional continuous repetition test to entropy store based rngs\n\nFIPS-140 requires that all random number generators implement continuous self\ntests in which each extracted block of data is compared against the last block\nfor repetition.  The ansi_cprng implements such a test, but it would be nice if\nthe hw rng\u0027s did the same thing.  Obviously its not something thats always\nneeded, but it seems like it would be a nice feature to have on occasion. I\u0027ve\nwritten the below patch which allows individual entropy stores to be flagged as\ndesiring a continuous test to be run on them as is extracted.  By default this\noption is off, but is enabled in the event that fips mode is selected during\nbootup.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "26a9a418237c0b06528941bca693c49c8d97edbe",
      "tree": "79a474f9ff9029362542938c0b82155455445369",
      "parents": [
        "7ee2cb7f32b299c2b06a31fde155457203e4b7dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 19 11:25:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 19 11:25:35 2009 -0700"
      },
      "message": "Avoid ICE in get_random_int() with gcc-3.4.5\n\nMartin Knoblauch reports that trying to build 2.6.30-rc6-git3 with\nRHEL4.3 userspace (gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2)) causes an\ninternal compiler error (ICE):\n\n    drivers/char/random.c: In function `get_random_int\u0027:\n    drivers/char/random.c:1672: error: unrecognizable insn:\n    (insn 202 148 150 0 /scratch/build/linux-2.6.30-rc6-git3/arch/x86/include/asm/tsc.h:23 (set (reg:SI 0 ax [91])\n            (subreg:SI (plus:DI (plus:DI (reg:DI 0 ax [88])\n                        (subreg:DI (reg:SI 6 bp) 0))\n                    (const_int -4 [0xfffffffffffffffc])) 0)) -1 (nil)\n        (nil))\n    drivers/char/random.c:1672: internal compiler error: in extract_insn, at recog.c:2083\n\nand after some debugging it turns out that it\u0027s due to the code trying\nto figure out the rough value of the current stack pointer by taking an\naddress of an uninitialized variable and casting that to an integer.\n\nThis is clearly a compiler bug, but it\u0027s not worth fighting - while the\ncurrent stack kernel pointer might be somewhat hard to predict in user\nspace, it\u0027s also not generally going to change for a lot of the call\nchains for a particular process.\n\nSo just drop it, and mumble some incoherent curses at the compiler.\n\nTested-by: Martin Knoblauch \u003cspamtrap@knobisoft.de\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a0a9bd4db63bc45e3017bedeafbd88d0eb84d02",
      "tree": "2c961332be5d4c4e2c8c4a4a4f899afaebc44dd7",
      "parents": [
        "2c66fa7e6be6bdb88587ac13ac1de080d5be4f95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 08:17:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 07 11:59:06 2009 -0700"
      },
      "message": "random: make get_random_int() more random\n\nIt\u0027s a really simple patch that basically just open-codes the current\n\"secure_ip_id()\" call, but when open-coding it we now use a _static_\nhashing area, so that it gets updated every time.\n\nAnd to make sure somebody can\u0027t just start from the same original seed of\nall-zeroes, and then do the \"half_md4_transform()\" over and over until\nthey get the same sequence as the kernel has, each iteration also mixes in\nthe same old \"current-\u003epid + jiffies\" we used - so we should now have a\nregular strong pseudo-number generator, but we also have one that doesn\u0027t\nhave a single seed.\n\nNote: the \"pid + jiffies\" is just meant to be a tiny tiny bit of noise. It\nhas no real meaning. It could be anything. I just picked the previous\nseed, it\u0027s just that now we keep the state in between calls and that will\nfeed into the next result, and that should make all the difference.\n\nI made that hash be a per-cpu data just to avoid cache-line ping-pong:\nhaving multiple CPU\u0027s write to the same data would be fine for randomness,\nand add yet another layer of chaos to it, but since get_random_int() is\nsupposed to be a fast interface I did it that way instead. I considered\nusing \"__raw_get_cpu_var()\" to avoid any preemption overhead while still\ngetting the hash be _mostly_ ping-pong free, but in the end good taste won\nout.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "417b43d4b728619e9bcc2da4fa246a6350d46667",
      "tree": "3db555a29fefe22f85e79cf589ae534d3354b393",
      "parents": [
        "98f4ebb290a7dca8c48f27ec1d2cab8fa7982dad"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Apr 02 16:56:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:49 2009 -0700"
      },
      "message": "random: align rekey_work\u0027s timer\n\nAlign rekey_work. Even though it\u0027s infrequent, we may as well line it up.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\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": "d178a1eb5c034df1f74a2b67bf311afa5d6b8e95",
      "tree": "34ff540f4e7dfe0a911c8815533e219e6cb8d9e2",
      "parents": [
        "dee4102a9a5882b4f7d5cc165ba29e8cc63cf92e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sun Jan 11 00:35:42 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 16:06:03 2009 +0100"
      },
      "message": "sparseirq: fix build with unknown irq_desc struct\n\nIngo Molnar wrote:\n\u003e\n\u003e tip/kernel/fork.c: In function \u0027copy_signal\u0027:\n\u003e tip/kernel/fork.c:825: warning: unused variable \u0027ret\u0027\n\u003e tip/drivers/char/random.c: In function \u0027get_timer_rand_state\u0027:\n\u003e tip/drivers/char/random.c:584: error: dereferencing pointer to incomplete type\n\u003e tip/drivers/char/random.c: In function \u0027set_timer_rand_state\u0027:\n\u003e tip/drivers/char/random.c:594: error: dereferencing pointer to incomplete type\n\u003e make[3]: *** [drivers/char/random.o] Error 1\n\nirq_desc is defined in linux/irq.h, so include it in the genirq case.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7e51e66899f95dabc89b4d4c6674a6e50fa37fc",
      "tree": "5b4cc72a4e411d6962ce9ce7258abf2bac0204d4",
      "parents": [
        "e8b722f487589a1f60ca27adc695494f188d404e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jan 07 15:03:13 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 04:46:26 2009 +0100"
      },
      "message": "sparseirq: make some func to be used with genirq\n\nImpact: clean up sparseirq fallout on random.c\n\nIngo suggested to change some ifdef from SPARSE_IRQ to GENERIC_HARDIRQS\nso we could some #ifdef later if all arch support genirq\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cda796a3d572059d64f5429dfc1d00ca6fcbaf8d",
      "tree": "622c2b4d01d99e6c26a4f0ea554f866151becb2f",
      "parents": [
        "71183c94804e8e19be32acccc8a019ffb445ec2b"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Jan 06 14:42:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:30 2009 -0800"
      },
      "message": "random: don\u0027t try to look at entropy_count outside the lock\n\nAs a non-atomic value, it\u0027s only safe to look at entropy_count when the\npool lock is held, so we move the BUG_ON inside the lock for correctness.\n\nAlso remove the spurious comment.  It\u0027s ok for entropy_count to\ntemporarily exceed POOLBITS so long as it\u0027s left in a consistent state\nwhen the lock is released.\n\nThis is a more correct, simple, and idiomatic fix for the bug in\n8b76f46a2db.  I\u0027ve left the reorderings introduced by that patch in place\nas they\u0027re harmless, even though they don\u0027t properly deal with potential\natomicity issues.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "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": "233e70f4228e78eb2f80dc6650f65d3ae3dbf17c",
      "tree": "4e18fbe1851e6d2161b7f18265cb21f8a61e3ce7",
      "parents": [
        "3318a386e4ca68c76e0294363d29bdc46fcad670"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Oct 31 23:28:30 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 01 09:49:46 2008 -0700"
      },
      "message": "saner FASYNC handling on file close\n\nAs it is, all instances of -\u003erelease() for files that have -\u003efasync()\nneed to remember to evict file from fasync lists; forgetting that\ncreates a hole and we actually have a bunch that *does* forget.\n\nSo let\u0027s keep our lives simple - let __fput() check FASYNC in\nfile-\u003ef_flags and call -\u003efasync() there if it\u0027s been set.  And lose that\ncrap in -\u003erelease() instances - leaving it there is still valid, but we\ndon\u0027t have to bother anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9301975ec251bab1ad7cfcb84a688b26187e4e4a",
      "tree": "91e48be0bdc67cbcb75bc8a299a3dcf168e0a814",
      "parents": [
        "7110879cf2afbfb7af79675f5ff109e63d631c25",
        "dd3a1db900f2a215a7d7dd71b836e149a6cf5fed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:22:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:23:01 2008 -0700"
      },
      "message": "Merge branch \u0027genirq-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\nThis merges branches irq/genirq, irq/sparseirq-v4, timers/hpet-percpu\nand x86/uv.\n\nThe sparseirq branch is just preliminary groundwork: no sparse IRQs are\nactually implemented by this tree anymore - just the new APIs are added\nwhile keeping the old way intact as well (the new APIs map 1:1 to\nirq_desc[]).  The \u0027real\u0027 sparse IRQ support will then be a relatively\nsmall patch ontop of this - with a v2.6.29 merge target.\n\n* \u0027genirq-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (178 commits)\n  genirq: improve include files\n  intr_remapping: fix typo\n  io_apic: make irq_mis_count available on 64-bit too\n  genirq: fix name space collisions of nr_irqs in arch/*\n  genirq: fix name space collision of nr_irqs in autoprobe.c\n  genirq: use iterators for irq_desc loops\n  proc: fixup irq iterator\n  genirq: add reverse iterator for irq_desc\n  x86: move ack_bad_irq() to irq.c\n  x86: unify show_interrupts() and proc helpers\n  x86: cleanup show_interrupts\n  genirq: cleanup the sparseirq modifications\n  genirq: remove artifacts from sparseirq removal\n  genirq: revert dynarray\n  genirq: remove irq_to_desc_alloc\n  genirq: remove sparse irq code\n  genirq: use inline function for irq_to_desc\n  genirq: consolidate nr_irqs and for_each_irq_desc()\n  x86: remove sparse irq from Kconfig\n  genirq: define nr_irqs for architectures with GENERIC_HARDIRQS\u003dn\n  ...\n"
    },
    {
      "commit": "f221e726bf4e082a05dcd573379ac859bfba7126",
      "tree": "a05f674caac693dc9aec7e46dd06115389f7ece3",
      "parents": [
        "f40cbaa5b0a4719489e6e7947351c99a159aca30"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 15 22:04:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:47 2008 -0700"
      },
      "message": "sysctl: simplify -\u003estrategy\n\nname and nlen parameters passed to -\u003estrategy hook are unused, remove\nthem.  In general -\u003estrategy hook should know what it\u0027s doing, and don\u0027t\ndo something tricky for which, say, pointer to original userspace array\nmay be needed (name).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e [ networking bits ]\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.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": "d6c88a507ef0b6afdb013cba4e7804ba7324d99a",
      "tree": "cdc4041acc212585e3920ad50bf2574cec04076d",
      "parents": [
        "ee32c9732244bde4b9b59eeac2814c23e2b71f8d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 15 15:27:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:15 2008 +0200"
      },
      "message": "genirq: revert dynarray\n\nRevert the dynarray changes. They need more thought and polishing.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2cc21ef843d4fb7da122239b644a1f6f0aca60a6",
      "tree": "5d08e110164176c4011e42d4700ecd0050ad0ce9",
      "parents": [
        "c6b7674f323622d86316bf7951ad9cae1ce24642"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 15 14:16:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:15 2008 +0200"
      },
      "message": "genirq: remove sparse irq code\n\nThis code is not ready, but we need to rip it out instead of rebasing\nas we would lose the APIC/IO_APIC unification otherwise.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3060d6fe28570640c2d7d66d38b9eaa848c3b9e3",
      "tree": "838027c0f8ac336d82b606ba9a61e02453a6de68",
      "parents": [
        "e5a53714acfc7b5f868d07d27c5f02cb00b118db"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:31 2008 +0200"
      },
      "message": "x86: put timer_rand_state pointer into irq_desc\n\nirq_timer_state[] is a NR_IRQS sized array that is a side-by array to\nthe real irq_desc[] array.\n\nIntegrate that field into the (now dynamic) irq_desc dynamic array and\nsave some RAM.\n\nv2: keep the old way to support arch not support irq_desc\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eef1de76da54a2ab6c6659c9a3722fd54a0e3459",
      "tree": "19f77419662903c8f02c3f9e41ef0ca9348147ae",
      "parents": [
        "5a15d7e85582fa84cbd01c6dcc5d927b43fddff4"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:49:58 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:07 2008 +0200"
      },
      "message": "irqs: make irq_timer_state to use dyn_array\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f45f5621df82033cb4964d03530ade2f9a25e7b",
      "tree": "4f536a6df75a0d0885853c8baabbc7108d54bce3",
      "parents": [
        "0799e432acfda879eaeef9622426bfa1434f3786"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:49:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:05 2008 +0200"
      },
      "message": "drivers/char: use nr_irqs\n\nconvert them to nr_irqs.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f331c0296f2a9fee0d396a70598b954062603015",
      "tree": "f74c467d58940131d97d90c4ea549843185e6ef0",
      "parents": [
        "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:48 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: don\u0027t depend on consecutive minor space\n\n* Implement disk_devt() and part_devt() and use them to directly\n  access devt instead of computing it from -\u003emajor and -\u003efirst_minor.\n\n  Note that all references to -\u003emajor and -\u003efirst_minor outside of\n  block layer is used to determine devt of the disk (the part0) and as\n  -\u003emajor and -\u003efirst_minor will continue to represent devt for the\n  disk, converting these users aren\u0027t strictly necessary.  However,\n  convert them for consistency.\n\n* Implement disk_max_parts() to avoid directly deferencing\n  genhd-\u003eminors.\n\n* Update bdget_disk() such that it doesn\u0027t assume consecutive minor\n  space.\n\n* Move devt computation from register_disk() to add_disk() and make it\n  the only one (all other usages use the initially determined value).\n\nThese changes clean up the code and will help disk-\u003epart dereference\nfix and extended block device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8b76f46a2db29407fed66cf4aca19d61b3dcb3e1",
      "tree": "f908592be7c11065b56573722a71dc468817b925",
      "parents": [
        "9d3593574702ae1899e23a1535da1ac71f928042"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Sep 02 14:36:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 19:21:40 2008 -0700"
      },
      "message": "drivers/char/random.c: fix a race which can lead to a bogus BUG()\n\nFix a bug reported by and diagnosed by Aaron Straus.\n\nThis is a regression intruduced into 2.6.26 by\n\n    commit adc782dae6c4c0f6fb679a48a544cfbcd79ae3dc\n    Author: Matt Mackall \u003cmpm@selenic.com\u003e\n    Date:   Tue Apr 29 01:03:07 2008 -0700\n\n        random: simplify and rename credit_entropy_store\n\ncredit_entropy_bits() does:\n\n\tspin_lock_irqsave(\u0026r-\u003elock, flags);\n\t...\n\tif (r-\u003eentropy_count \u003e r-\u003epoolinfo-\u003ePOOLBITS)\n\t\tr-\u003eentropy_count \u003d r-\u003epoolinfo-\u003ePOOLBITS;\n\nso there is a time window in which this BUG_ON():\n\nstatic size_t account(struct entropy_store *r, size_t nbytes, int min,\n\t\t      int reserved)\n{\n\tunsigned long flags;\n\n\tBUG_ON(r-\u003eentropy_count \u003e r-\u003epoolinfo-\u003ePOOLBITS);\n\n\t/* Hold lock while accounting */\n\tspin_lock_irqsave(\u0026r-\u003elock, flags);\n\ncan trigger.\n\nWe could fix this by moving the assertion inside the lock, but it seems\nsafer and saner to revert to the old behaviour wherein\nentropy_store.entropy_count at no time exceeds\nentropy_store.poolinfo-\u003ePOOLBITS.\n\nReported-by: Aaron Straus \u003caaron@merfinllc.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f593653742d1dd816c4e94c6e5154a57ccba6d1",
      "tree": "1e71181cc80da8dc3d6e1da202943482b9eb5500",
      "parents": [
        "fab00c5d15091546be681426c60b2ed2c10513bf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 18 21:32:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 18 21:32:32 2008 -0700"
      },
      "message": "nf_nat: use secure_ipv4_port_ephemeral() for NAT port randomization\n\nUse incoming network tuple as seed for NAT port randomization.\nThis avoids concerns of leaking net_random() bits, and also gives better\nport distribution. Don\u0027t have NAT server, compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n\n[ added missing EXPORT_SYMBOL_GPL ]\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@vger.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": "9a6f70bbed4e8b72dd340812d7c606bfd5e00b47",
      "tree": "55158b087275b1848b5f0ad4e58eb2a2d47016c8",
      "parents": [
        "adc782dae6c4c0f6fb679a48a544cfbcd79ae3dc"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Apr 29 01:03:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "random: add async notification support to /dev/random\n\nAdd async notification support to /dev/random.\n\nA little test case is below.  Without this patch, you get:\n\n$ ./async-random\nDrained the pool\nFound more randomness\n\nWith it, you get:\n\n$ ./async-random\nDrained the pool\nSIGIO\nFound more randomness\n\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n\nstatic void handler(int sig)\n{\n        printf(\"SIGIO\\n\");\n}\n\nint main(int argc, char **argv)\n{\n        int fd, n, err, flags;\n\n        if(signal(SIGIO, handler) \u003c 0){\n                perror(\"setting SIGIO handler\");\n                exit(1);\n        }\n\n        fd \u003d open(\"/dev/random\", O_RDONLY);\n        if(fd \u003c 0){\n                perror(\"open\");\n                exit(1);\n        }\n\n        flags \u003d fcntl(fd, F_GETFL);\n        if (flags \u003c 0){\n                perror(\"getting flags\");\n                exit(1);\n        }\n\n        flags |\u003d O_NONBLOCK;\n        if (fcntl(fd, F_SETFL, flags) \u003c 0){\n                perror(\"setting flags\");\n                exit(1);\n        }\n\n        while((err \u003d read(fd, \u0026n, sizeof(n))) \u003e 0) ;\n\n        if(err \u003d\u003d 0){\n                printf(\"random returned 0\\n\");\n                exit(1);\n        }\n        else if(errno !\u003d EAGAIN){\n                perror(\"read\");\n                exit(1);\n        }\n\n        flags |\u003d O_ASYNC;\n        if (fcntl(fd, F_SETFL, flags) \u003c 0){\n                perror(\"setting flags\");\n                exit(1);\n        }\n\n        if (fcntl(fd, F_SETOWN, getpid()) \u003c 0) {\n                perror(\"Setting SIGIO\");\n                exit(1);\n        }\n\n        printf(\"Drained the pool\\n\");\n        read(fd, \u0026n, sizeof(n));\n        printf(\"Found more randomness\\n\");\n\n        return(0);\n}\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-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": "adc782dae6c4c0f6fb679a48a544cfbcd79ae3dc",
      "tree": "67ad14a2905ff12603dd72601c3ee5398f7148fb",
      "parents": [
        "e68e5b664ecb9bccf68102557107a6b6d739a97c"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:03:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "random: simplify and rename credit_entropy_store\n\n- emphasize bits in the name\n- make zero bits lock-free\n- simplify logic\n\nSigned-off-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": "e68e5b664ecb9bccf68102557107a6b6d739a97c",
      "tree": "f74a1d9585295463f166fdcffcc8e28527728b1a",
      "parents": [
        "993ba2114c554c1561a018e5c63a771ec8e1c469"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:03:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "random: make mixing interface byte-oriented\n\nSwitch add_entropy_words to a byte-oriented interface, eliminating numerous\ncasts and byte/word size rounding issues.  This also reduces the overall\nbit/byte/word confusion in this code.\n\nWe now mix a byte at a time into the word-based pool.  This takes four times\nas many iterations, but should be negligible compared to hashing overhead.\nThis also increases our pool churn, which adds some depth against some\ntheoretical failure modes.\n\nThe function name is changed to emphasize pool mixing and deemphasize entropy\n(the samples mixed in may not contain any).  extract is added to the core\nfunction to make it clear that it extracts from the pool.\n\nSigned-off-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": "993ba2114c554c1561a018e5c63a771ec8e1c469",
      "tree": "75df2f882845b12b698c305625f01dc6ef227147",
      "parents": [
        "6d38b827400d7c02bce391f90d044e4c57d5bc1e"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:03:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "random: simplify add_ptr logic\n\nThe add_ptr variable wasn\u0027t used in a sensible way, use only i instead.\ni got reused later for a different purpose, use j instead.\n\nWhile we\u0027re here, put tap0 first in the tap list and add a comment.\n\nSigned-off-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": "6d38b827400d7c02bce391f90d044e4c57d5bc1e",
      "tree": "826f378b9654d4e5b56d7e372c5d2d5eafd09c2f",
      "parents": [
        "feee76972bcc54b2b1d1dc28bc6c16a8daa9aff8"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:03:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "random: remove some prefetch logic\n\nThe urandom output pool (ie the fast path) fits in one cacheline, so\nthis is pretty unnecessary. Further, the output path has already\nfetched the entire pool to hash it before calling in here.\n\n(This was the only user of prefetch_range in the kernel, and it passed\nin words rather than bytes!)\n\nSigned-off-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": "feee76972bcc54b2b1d1dc28bc6c16a8daa9aff8",
      "tree": "db031968e6a4f76b060298d5d0b3499566ad944d",
      "parents": [
        "433582093a9dc5454ba03b4a7ea201d85e6aa4de"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:03:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "random: eliminate redundant new_rotate variable\n\n- eliminate new_rotate\n- move input_rotate masking\n- simplify input_rotate update\n- move input_rotate update to end of inner loop for readability\n\nSigned-off-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": "433582093a9dc5454ba03b4a7ea201d85e6aa4de",
      "tree": "832757582e6776012433f2878684ecc2c6aa86aa",
      "parents": [
        "1c0ad3d492adf670e47bf0a3d65c6ba5cdee0114"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:03:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "random: remove cacheline alignment for locks\n\nEarlier changes greatly reduce the number of times we grab the lock\nper output byte, so we shouldn\u0027t need this particular hack any more.\n\nSigned-off-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": "1c0ad3d492adf670e47bf0a3d65c6ba5cdee0114",
      "tree": "b043456b0ddb74dfbff51efa57170a9c38eac729",
      "parents": [
        "ffd8d3fa5813430fe3926fe950fde23630f6b1a0"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:03:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "random: make backtracking attacks harder\n\nAt each extraction, we change (poolbits / 16) + 32 bits in the pool,\nor 96 bits in the case of the secondary pools. Thus, a brute-force\nbacktracking attack on the pool state is less difficult than breaking\nthe hash. In certain cases, this difficulty may be is reduced to 2^64\niterations.\n\nInstead, hash the entire pool in one go, then feedback the whole hash\n(160 bits) in one go. This will make backtracking at least as hard as\ninverting the hash.\n\nSigned-off-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": "ffd8d3fa5813430fe3926fe950fde23630f6b1a0",
      "tree": "c5ea8d040ef61603a84b9d3b0a7ca944f24f9d7f",
      "parents": [
        "53c3f63e824764da23676e5c718755ff4aac9b63"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:02:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "random: improve variable naming, clear extract buffer\n\n- split the SHA variables apart into hash and workspace\n- rename data to extract\n- wipe extract and workspace after hashing\n\nSigned-off-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": "53c3f63e824764da23676e5c718755ff4aac9b63",
      "tree": "b17b87f69d1437361725ff809796d48604849eeb",
      "parents": [
        "43ae4860ff4a358c29b9d364e45c2d09ad9fa067"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:02:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "random: reuse rand_initialize\n\nSigned-off-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": "43ae4860ff4a358c29b9d364e45c2d09ad9fa067",
      "tree": "7095758a450557dbf6495b405d49aa1b8535fe26",
      "parents": [
        "88c730da8c8b20fa732221725347bd9460842bac"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:02:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "random: use unlocked_ioctl\n\nNo locking actually needed.\n\nSigned-off-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": "88c730da8c8b20fa732221725347bd9460842bac",
      "tree": "f792b1a388eb4b5c74bfcda340ea207701efa5aa",
      "parents": [
        "90b75ee54666fe615ebcacfc8d8540b80afdedd5"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:02:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "random: consolidate wakeup logic\n\nSigned-off-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": "90b75ee54666fe615ebcacfc8d8540b80afdedd5",
      "tree": "b1bedeaacb7011ba8280a6f84660574536e587da",
      "parents": [
        "0302190411c2ba79819303503999cc839d600704"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 29 01:02:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "random: clean up checkpatch complaints\n\nSigned-off-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": "91f3f1e304f2e9ff2c8b9c76efd4fb8ff93110f7",
      "tree": "1a36c20c159b4ad24b16201dfe5e741dc31c563d",
      "parents": [
        "5ab24c79af5a05659f68eae3e5f232c9a15359d7"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Wed Feb 06 01:37:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "drivers/char/random.c:write_pool() cond_resched() needed\n\nReduce latency for large writes to /dev/[u]random\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Sami Farin \u003csafari-kernel@safari.iki.fi\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": "640e248e44e2c550473550ca83668ceccad21dce",
      "tree": "288be142fdd66cdcedaa33e5c571ce9b393fc615",
      "parents": [
        "e30f98fcac9a203534454ffa6069c9b5fd2404ef"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jan 30 21:17:52 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:32 2008 +0100"
      },
      "message": "unexport add_disk_randomness\n\nThis patch removes the no longer used EXPORT_SYMBOL(add_disk_randomness).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6dd10a62353a50b30b30e0c18653650975b29c71",
      "tree": "1410482f86ec88a4f65692c4dd301eae5696a762",
      "parents": [
        "cb4da1a34de3840ce49dc7292a063e1ef7f127af"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 13 21:12:14 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 21:12:14 2007 -0800"
      },
      "message": "[NET] random : secure_tcp_sequence_number should not assume CONFIG_KTIME_SCALAR\n\nAll 32 bits machines but i386 dont have CONFIG_KTIME_SCALAR. On these\nmachines, ktime.tv64 is more than 4 times the (correct) result given\nby ktime_to_ns()\n\nAgain on these machines, using ktime_get_real().tv64 \u003e\u003e 6 give a\n32bits rollover every 64 seconds, which is not wanted (less than the\n120 s MSL)\n\nUsing ktime_to_ns() is the portable way to get nsecs from a ktime, and\nhave correct code.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c80544dc0b87bb65038355e7aafdc30be16b26ab",
      "tree": "176349304bec88a9de16e650c9919462e0dd453c",
      "parents": [
        "0e9663ee452ffce0d429656ebbcfe69417a30e92"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Oct 18 03:07:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "sparse pointer use of zero as null\n\nGet rid of sparse related warnings from places that use integer as NULL\npointer.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b42c336d06411e6463949d2dac63949f66ff70b",
      "tree": "41fbce14cd5a217341649a025622750f71ec71cd",
      "parents": [
        "32740ddc1095e5e320bf961dda146bf97bc28adb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Oct 01 13:58:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 01 21:01:24 2007 -0700"
      },
      "message": "[TCP]: secure_tcp_sequence_number() should not use a too fast clock\n\nTCP V4 sequence numbers are 32bits, and RFC 793 assumed a 250 KHz clock.\nIn order to follow network speed increase, we can use a faster clock, but\nwe should limit this clock so that the delay between two rollovers is\ngreater than MSL (TCP Maximum Segment Lifetime : 2 minutes)\n\nChoosing a 64 nsec clock should be OK, since the rollovers occur every\n274 seconds.\n\nProblem spotted by Denys Fedoryshchenko\n\n[ This bug was introduced by f85958151900f9d30fa5ff941b0ce71eaa45a7de ]\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a021e9ffd56c22700133ebc37d607f95be8f7bd",
      "tree": "0d289c7feec4e7b3b19c7c312e8cb31532c5b9c9",
      "parents": [
        "f745bb1c73e2395e6b9961d4d915a8f8e2cd32cd"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Thu Jul 19 11:30:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:21:04 2007 -0700"
      },
      "message": "random: fix bound check ordering (CVE-2007-3105)\n\nIf root raised the default wakeup threshold over the size of the\noutput pool, the pool transfer function could overflow the stack with\nRNG bytes, causing a DoS or potential privilege escalation.\n\n(Bug reported by the PaX Team \u003cpageexec@freemail.hu\u003e)\n\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "679ce0ace6b1a07043bc3b405a34ddccad808886",
      "tree": "af185e76fdcae99d9450a3fef7b8c8005eae1cc4",
      "parents": [
        "39a279026609c205d331ec39fea11b2fd470a054"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sat Jun 16 10:16:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "random: fix output buffer folding\n\n(As reported by linux@horizon.com)\n\nFolding is done to minimize the theoretical possibility of systematic\nweakness in the particular bits of the SHA1 hash output.  The result of\nthis bug is that 16 out of 80 bits are un-folded.  Without a major new\nvulnerability being found in SHA1, this is harmless, but still worth\nfixing.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \u003clinux@horizon.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": "7f397dcdb78d699a20d96bfcfb595a2411a5bbd2",
      "tree": "7ecb0b2f782a4e18eef80ff638f0469cd4ad0233",
      "parents": [
        "602b6aeefe8932dd8bb15014e8fe6bb25d736361"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue May 29 21:58:10 2007 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 29 20:09:34 2007 -0700"
      },
      "message": "random: fix seeding with zero entropy\n\nAdd data from zero-entropy random_writes directly to output pools to\navoid accounting difficulties on machines without entropy sources.\n\nTested on lguest with all entropy sources disabled.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "602b6aeefe8932dd8bb15014e8fe6bb25d736361",
      "tree": "7f6eb6fe0a492b91679785705389b043b7406986",
      "parents": [
        "f717221b4e51284c153ab4265c4607e86037047b"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue May 29 21:54:27 2007 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 29 20:09:34 2007 -0700"
      },
      "message": "random: fix error in entropy extraction\n\nFix cast error in entropy extraction.\nAdd comments explaining the magic 16.\nRemove extra confusing loop variable.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f85958151900f9d30fa5ff941b0ce71eaa45a7de",
      "tree": "d42f056f6d9166db310ff4c398b6a73968e1ac35",
      "parents": [
        "4b19ca44cbafabfe0b7b98e2e24b21a96198f509"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Mar 28 14:22:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:25 2007 -0700"
      },
      "message": "[NET]: random functions can use nsec resolution instead of usec\n\nIn order to get more randomness for secure_tcpv6_sequence_number(),\nsecure_tcp_sequence_number(), secure_dccp_sequence_number() functions,\nwe can use the high resolution time services, providing nanosec\nresolution.\n\nI\u0027ve also done two kmalloc()/kzalloc() conversions.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb69cc52364690d7789940c480b3a9490784b680",
      "tree": "725cef0cfc7e43b0826490ccd99769baacf2977d",
      "parents": [
        "fe067e8ab5e0dc5ca3c54634924c628da92090b4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Mar 07 19:33:52 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:03 2007 -0700"
      },
      "message": "[TCP/DCCP/RANDOM]: Remove unused exports.\n\nThis patch removes the following not or no longer used exports:\n- drivers/char/random.c: secure_tcp_sequence_number\n- net/dccp/options.c: sysctl_dccp_feat_sequence_window\n- net/netlink/af_netlink.c: netlink_set_err\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b8693c0617e972fc0b2fd1ebf8de97e15b656c3",
      "tree": "3eb7dfbc8d5e4031e4992bdd566e211f5ada71f3",
      "parents": [
        "5dfe4c964a0dd7bb3a1d64a4166835a153146207"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 3\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": "1f29bcd739972f71f2fd5d5d265daf3e1208fa5e",
      "tree": "96e20e4d0a077d813d8625d6919aba9bd0b5ed13",
      "parents": [
        "98d7340c360993fdd703609ff7462051e03cc2fb"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Dec 10 02:19:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:41 2006 -0800"
      },
      "message": "[PATCH] sysctl: remove unused \"context\" param\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a7113a966241b700aecc7b8cb326cecb62e3c4b2",
      "tree": "b28920a82e7cad67ea6e55826e161ba0e4cf9782",
      "parents": [
        "6c648be6f4183775679c1f2cc4d094128f104fb2"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:44 2006 -0800"
      },
      "message": "[PATCH] struct path: convert char-drivers\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\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": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c",
      "tree": "5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "message": "WorkStruct: Separate delayable and non-delayable events.\n\nSeparate delayable work items from non-delayable work items be splitting them\ninto a separate structure (delayed_work), which incorporates a work_struct and\nthe timer_list removed from work_struct.\n\nThe work_struct struct is huge, and this limits it\u0027s usefulness.  On a 64-bit\narchitecture it\u0027s nearly 100 bytes in size.  This reduces that by half for the\nnon-delayable type of event.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "80fc9f532d8c05d4cb12d55660624ce53a378349",
      "tree": "1231662e3888555c99e749d16f889aecb99bce6d",
      "parents": [
        "53a5fbdc2dff55161a206ed1a1385a8fa8055c34"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@insightbb.com",
        "time": "Wed Oct 11 01:43:58 2006 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dtor@insightbb.com",
        "time": "Wed Oct 11 01:43:58 2006 -0400"
      },
      "message": "Input: add missing exports to fix modular build\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "e9ff3990f08e9a0c2839cc22808b01732ea5b3e4",
      "tree": "c638a7b89f0c5e8adc410316d06ca1de8b8dabee",
      "parents": [
        "0bdd7aab7f0ecd5d337910816aa058c18398628e"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:21 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: switch to using uts namespaces\n\nReplace references to system_utsname to the per-process uts namespace\nwhere appropriate.  This includes things like uname.\n\nChanges: Per Eric Biederman\u0027s comments, use the per-process uts namespace\n\tfor ELF_PLATFORM, sunrpc, and parts of net/ipv4/ipconfig.c\n\n[jdike@addtoit.com: UML fix]\n[clg@fr.ibm.com: cleanup]\n[akpm@osdl.org: build fix]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9361401eb7619c033e2394e4f9f6d410d6719ac7",
      "tree": "04b94a71f2366988c17740d1c16cfbdec41d5d2e",
      "parents": [
        "d366e40a1cabd453be6e2609caa7e12f9ca17b1f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Sep 30 20:45:40 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:31 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Make it possible to disable the block layer [try #6]\n\nMake it possible to disable the block layer.  Not all embedded devices require\nit, some can make do with just JFFS2, NFS, ramfs, etc - none of which require\nthe block layer to be present.\n\nThis patch does the following:\n\n (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev\n     support.\n\n (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls\n     an item that uses the block layer.  This includes:\n\n     (*) Block I/O tracing.\n\n     (*) Disk partition code.\n\n     (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.\n\n     (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the\n     \t block layer to do scheduling.  Some drivers that use SCSI facilities -\n     \t such as USB storage - end up disabled indirectly from this.\n\n     (*) Various block-based device drivers, such as IDE and the old CDROM\n     \t drivers.\n\n     (*) MTD blockdev handling and FTL.\n\n     (*) JFFS - which uses set_bdev_super(), something it could avoid doing by\n     \t taking a leaf out of JFFS2\u0027s book.\n\n (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and\n     linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,\n     however, still used in places, and so is still available.\n\n (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and\n     parts of linux/fs.h.\n\n (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.\n\n (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.\n\n (*) set_page_dirty() doesn\u0027t call __set_page_dirty_buffers() if CONFIG_BLOCK\n     is not enabled.\n\n (*) fs/no-block.c is created to hold out-of-line stubs and things that are\n     required when CONFIG_BLOCK is not set:\n\n     (*) Default blockdev file operations (to give error ENODEV on opening).\n\n (*) Makes some /proc changes:\n\n     (*) /proc/devices does not list any blockdevs.\n\n     (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.\n\n (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.\n\n (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if\n     given command other than Q_SYNC or if a special device is specified.\n\n (*) In init/do_mounts.c, no reference is made to the blockdev routines if\n     CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.\n\n (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return\n     error ENOSYS by way of cond_syscall if so).\n\n (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if\n     CONFIG_BLOCK is not set, since they can\u0027t then happen.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "e4d919188554a77c798a267e098059bc9aa39726",
      "tree": "bb5e47e09f5d107db44358ad668988f5ae768ade",
      "parents": [
        "9cebb5526833059f327d237a032422c762378b2a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:02 2006 -0700"
      },
      "message": "[PATCH] lockdep: locking init debugging improvement\n\nLocking init improvement:\n\n - introduce and use __SPIN_LOCK_UNLOCKED for array initializations,\n   to pass in the name string of locks, used by debugging\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "30aaa154fc21ad1ee4400e28009732a04a80862f",
      "tree": "2486d6ea4bb00a5ed1e24c7ed5b5f76c07d7d49d",
      "parents": [
        "503e4faad18baa62bb818537b920ad939749823e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 09 22:29:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 09 22:29:17 2006 -0700"
      },
      "message": "[IPV6]: Unexport secure_ipv6_port_ephemeral\n\nThis patch removes the unused EXPORT_SYMBOL(secure_ipv6_port_ephemeral).\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d251575ab60ca2b5337574bfaf8f8b583f18059e",
      "tree": "8bd9b2a920d01db2cbd770a712657a0a81723007",
      "parents": [
        "8c174af880d02f29599178284bb43f8d4f0fdcd8"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Wed Jan 11 12:17:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:11 2006 -0800"
      },
      "message": "[PATCH] random: get rid of sparse warning\n\nGet rid of bogus extern attribute that causes sparse warning.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.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": "6c036527a630720063b67d9a65455e8caca2c8fa",
      "tree": "316e947f5f4efcda0205e48044ed1d12665eaed1",
      "parents": [
        "0db925af1db5f3dfe1691c35b39496e2baaff9c9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jul 07 17:56:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:46 2005 -0700"
      },
      "message": "[PATCH] mostly_read data section\n\nAdd a new section called \".data.read_mostly\" for data items that are read\nfrequently and rarely written to like cpumaps etc.\n\nIf these maps are placed in the .data section then these frequenly read\nitems may end up in cachelines with data is is frequently updated.  In that\ncase all processors in an SMP system must needlessly reload the cachelines\nagain and again containing elements of those frequently used variables.\n\nThe ability to share these cachelines will allow each cpu in an SMP system\nto keep local copies of those shared cachelines thereby optimizing\nperformance.\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e95ce279fa611226a1ab0dff1c237c080b51b60",
      "tree": "126f455e9533fdc4e06e819fa8ad87142785466d",
      "parents": [
        "d390493b11e1fc790e3840ed191a0f88e3a54ba7"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sat Apr 16 15:25:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:25:56 2005 -0700"
      },
      "message": "[PATCH] update maintainer for /dev/random\n\nTed has agreed to let me take over as maintainer of /dev/random and\nfriends.  I\u0027ve gone ahead and added a line to his entry in CREDITS.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
