)]}'
{
  "log": [
    {
      "commit": "009e577e079656d51d0fe9b15e61e41b00816c29",
      "tree": "bc0f1ac69dae6c845f1d02b710bf9073a7d8616a",
      "parents": [
        "1411d5a7fbe7dce1568b6f0a94c7cbc69eed1bfe"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 12:29:54 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:40:19 2007 -0500"
      },
      "message": "Add wait_for_completion_killable\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "1411d5a7fbe7dce1568b6f0a94c7cbc69eed1bfe",
      "tree": "c69fa1370eeb40d43c26444db61a853162683771",
      "parents": [
        "294d5cc233d81ec4aec77ebc60dc5752a3d0082a"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 12:00:00 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:40:14 2007 -0500"
      },
      "message": "Add wait_event_killable\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "294d5cc233d81ec4aec77ebc60dc5752a3d0082a",
      "tree": "9b75eba307934d5cb156202617bd4bfa7c7f01ee",
      "parents": [
        "da78451190bdaae0e67d6c96b1ec3366abc45474"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:59:46 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:40:07 2007 -0500"
      },
      "message": "Add schedule_timeout_killable\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "da78451190bdaae0e67d6c96b1ec3366abc45474",
      "tree": "744e88aa523c52e7363577f8af266345490012dc",
      "parents": [
        "ad776537cc6b4b936cfd11893e7b698dfa072666"
      ],
      "author": {
        "name": "Liam R. Howlett",
        "email": "howlett@gmail.com",
        "time": "Thu Dec 06 17:39:54 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:39:54 2007 -0500"
      },
      "message": "Use mutex_lock_killable in vfs_readdir\n\nSigned-off-by: Liam R. Howlett \u003chowlett@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "ad776537cc6b4b936cfd11893e7b698dfa072666",
      "tree": "b553f03f34ce8750150765755abaaec27943fa0d",
      "parents": [
        "0b94e97a25d9b06ef17fca8da23169200bead1e2"
      ],
      "author": {
        "name": "Liam R. Howlett",
        "email": "howlett@gmail.com",
        "time": "Thu Dec 06 17:37:59 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:37:59 2007 -0500"
      },
      "message": "Add mutex_lock_killable\n\nSimilar to mutex_lock_interruptible, it can be interrupted by a fatal\nsignal only.\n\nSigned-off-by: Liam R. Howlett \u003chowlett@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "0b94e97a25d9b06ef17fca8da23169200bead1e2",
      "tree": "4f7d920d03e9532d93921831efe704a4b645a3b4",
      "parents": [
        "2687a3569e40b1302f96698bcd6329aeb0ce3dd2"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:19:57 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:35:48 2007 -0500"
      },
      "message": "Use lock_page_killable\n\nReplacing lock_page with lock_page_killable in do_generic_mapping_read()\nallows us to kill `cat\u0027 of a file on an NFS-mounted filesystem\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "2687a3569e40b1302f96698bcd6329aeb0ce3dd2",
      "tree": "7bb5e1ffd807ef94b145f6829bf4326a98b8fd99",
      "parents": [
        "f776d12dd16da1b0cd55a1240002c1b31f315d5d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:18:49 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:35:41 2007 -0500"
      },
      "message": "Add lock_page_killable\n\nThis routine is like lock_page, but can be interrupted by a fatal signal\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f776d12dd16da1b0cd55a1240002c1b31f315d5d",
      "tree": "b57a69c2143361edf6b2c2d4fd1b6e8616c8f347",
      "parents": [
        "f021a3c2b14d0dd082c2cee890c204d9e1dee52b"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:15:50 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:35:35 2007 -0500"
      },
      "message": "Add fatal_signal_pending\n\nLike signal_pending, but it\u0027s only true for signals which are fatal to\nthis process\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f021a3c2b14d0dd082c2cee890c204d9e1dee52b",
      "tree": "aa37eb6845605de6c69a70ac8cc3b22e2b0170a6",
      "parents": [
        "338077e54e17e656da470a84724b773816207316"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:13:16 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:35:28 2007 -0500"
      },
      "message": "Add TASK_WAKEKILL\n\nSet TASK_WAKEKILL for TASK_STOPPED and TASK_TRACED, add TASK_KILLABLE and\nuse TASK_WAKEKILL in signal_wake_up()\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "338077e54e17e656da470a84724b773816207316",
      "tree": "79194e34d4ca5a454bf996640fa78c1964b727cc",
      "parents": [
        "e1abb39c60971590b6580c0d3a12119dcbad9c50"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:09:35 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:35:17 2007 -0500"
      },
      "message": "exit: Use task_is_*\n\nAlso restructure the loop in do_wait()\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "e1abb39c60971590b6580c0d3a12119dcbad9c50",
      "tree": "eed33345fb9a46029c54eea84aa03d7587038294",
      "parents": [
        "d9514f6c6b95b5a747ba902858eff577281e8659"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:07:35 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:35:04 2007 -0500"
      },
      "message": "signal: Use task_is_*\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "d9514f6c6b95b5a747ba902858eff577281e8659",
      "tree": "9fb8130dd44f2a1e95f8de55ab1a24064bab83f0",
      "parents": [
        "6618a3e275519e10001a2ac4669f46141d4c108b"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:07:07 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:34:59 2007 -0500"
      },
      "message": "sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "6618a3e275519e10001a2ac4669f46141d4c108b",
      "tree": "aee9f4dfc741c434e39fd9da057598dccebe1959",
      "parents": [
        "d2f60e5faa9aef9a08d0abaee2007e5a0800d2c5"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:06:16 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:34:52 2007 -0500"
      },
      "message": "ptrace: Use task_is_*\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "d2f60e5faa9aef9a08d0abaee2007e5a0800d2c5",
      "tree": "e85f413bbfe4fe906249c53d553faf52768efec5",
      "parents": [
        "e64d66c8edf11629aa203328daf898775ee27dd4"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:06:01 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:34:47 2007 -0500"
      },
      "message": "power: Use task_is_*\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "e64d66c8edf11629aa203328daf898775ee27dd4",
      "tree": "3b91bfac6774079eff7707214645f75a1484f20a",
      "parents": [
        "6d8982d9b8f4b771754335f1398e406cc72003c3"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 17:34:36 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:34:36 2007 -0500"
      },
      "message": "wait: Use TASK_NORMAL\n\nAlso move wake_up_locked() to be with the related functions\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "6d8982d9b8f4b771754335f1398e406cc72003c3",
      "tree": "02209faf6ae4c1a8e6aa5f069aaa0968a4c6dd6a",
      "parents": [
        "1587e2b1880632d959db6ac9e79cb1d99a73c656"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:04:01 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:20:35 2007 -0500"
      },
      "message": "proc/base.c: Use task_is_*\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "1587e2b1880632d959db6ac9e79cb1d99a73c656",
      "tree": "083188c4df42d49156618b1cabec341951554661",
      "parents": [
        "21498223daad359d048b35b0ee4d1b93300ef258"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:03:36 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:20:28 2007 -0500"
      },
      "message": "proc/array.c: Use TASK_REPORT\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "21498223daad359d048b35b0ee4d1b93300ef258",
      "tree": "46f40aa0c7f02d5fe9aee60a3e21974717542235",
      "parents": [
        "92a1f4bc7af13949d2185449307088cf98b4755d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:02:55 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:20:22 2007 -0500"
      },
      "message": "perfmon: Use task_is_*\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "92a1f4bc7af13949d2185449307088cf98b4755d",
      "tree": "db5a1a87a0170ae5dcba05228f5e3c1a78612fcf",
      "parents": [
        "4a6e9e2ce822c9f597b3036887f6cf5fa3a79375"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 10:55:25 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:07:29 2007 -0500"
      },
      "message": "Add macros to replace direct uses of TASK_ flags\n\nWith the changes to support TASK_KILLABLE, -\u003estate becomes a bitmask, and\nmoving these tests to convenience macros will fix all the users.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "4a6e9e2ce822c9f597b3036887f6cf5fa3a79375",
      "tree": "b0659479debfe0824022665e399b552bb4bb2415",
      "parents": [
        "ceaeee6ad6c2a24bf37d9f426414cf3007432352"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Aug 30 16:10:22 2007 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:07:16 2007 -0500"
      },
      "message": "Use wake_up_locked() in eventpoll\n\nReplace the uses of __wake_up_locked with wake_up_locked\n\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\n"
    },
    {
      "commit": "ceaeee6ad6c2a24bf37d9f426414cf3007432352",
      "tree": "fa330133773d10a9d7f329e3db2cc371999c6d86",
      "parents": [
        "3743d33edf4e49376384822c57c4ee5cdf2d32f8",
        "5e2862eb5a263a0339a85545d96fb20995d67b1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Dec 06 09:43:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Dec 06 09:43:26 2007 -0800"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Oprofile: Fix computation of number of counters.\n  [MIPS] Alchemy: fix IRQ bases\n  [MIPS] Alchemy: replace ffs() with __ffs()\n  [MIPS] BCM1480: Fix interrupt routing, take 2.\n"
    },
    {
      "commit": "3743d33edf4e49376384822c57c4ee5cdf2d32f8",
      "tree": "75241a77262048fa96689f1beb7298435804f200",
      "parents": [
        "00a5825332769706eb2e276c101dd20269a53992"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Dec 06 09:41:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Dec 06 09:41:12 2007 -0800"
      },
      "message": "Tiny clean-up of OPROFILE/KPROBES configuration\n\nMake the Kconfig.instrumentation file a bit easier on the eyes, and use\nthe new ARCH_SUPPORTS_OPROFILE for x86[-64].\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00a5825332769706eb2e276c101dd20269a53992",
      "tree": "7ae71fbd4e111dc80e493d25fc12b855f7028e85",
      "parents": [
        "7e1fb765c613298d861f80fa18af26df87a4ec19"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Dec 06 16:53:19 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Dec 06 09:37:03 2007 -0800"
      },
      "message": "Fix oprofile configuration breakage\n\nThe cleanup 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 broke the oprofile\nconfiguration for MIPS by allowing oprofile support to be built for\nkernel models where oprofile doesn\u0027t have a chance in hell to work.\n\nJust a dependecy list on a number of architectures is - surprise - broken\nand should as per past discussions probably in most considered to be\nbroken in most cases.  So I introduce a dependency for the oprofile\nconfiguration on ARCH_SUPPORTS_OPROFILE.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e2862eb5a263a0339a85545d96fb20995d67b1f",
      "tree": "a455b6c67268f31662d61276602509b3221cba1f",
      "parents": [
        "0e8120e0946152720af3d73691550bba108a3826"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Dec 06 09:12:28 2007 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Dec 06 17:15:58 2007 +0000"
      },
      "message": "[MIPS] Oprofile: Fix computation of number of counters.\n\nVSMP kernels will split the available performance counters between the two\nprocessors / cores.  But don\u0027t do this when we\u0027re not on a VSMP system ...\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "0e8120e0946152720af3d73691550bba108a3826",
      "tree": "4802cffba4b829c77b30630fea822988e153bd7c",
      "parents": [
        "4b36673284f86c649b9d9ec5818b1912fde556b3"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Wed Dec 05 19:08:26 2007 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Dec 06 17:15:58 2007 +0000"
      },
      "message": "[MIPS] Alchemy: fix IRQ bases\n\nDo what the commits commits f3e8d1da389fe2e514e31f6e93c690c8e1243849 and\n9d360ab4a7568a8d177280f651a8a772ae52b9b9 failed to achieve -- actually\nconvert the Alchemy code to irq_cpu.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "4b36673284f86c649b9d9ec5818b1912fde556b3",
      "tree": "b8f4a90a85babb175b74091efae5c33beef94b75",
      "parents": [
        "f435a91e66e7776f0c73fca5af3cb87c61130ed6"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Wed Dec 05 19:08:24 2007 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Dec 06 17:15:58 2007 +0000"
      },
      "message": "[MIPS] Alchemy: replace ffs() with __ffs()\n\nFix havoc wrought by commit 56f621c7f6f735311eed3f36858b402013023c18 --\nau_ffs() and ffs() are equivalent, that patch should have just replaced one\nwith another.  Now replace ffs() with __ffs() which returns an unbiased bit\nnumber.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "f435a91e66e7776f0c73fca5af3cb87c61130ed6",
      "tree": "439a0e66278ce743d750300d816b561e69bccbe8",
      "parents": [
        "7e1fb765c613298d861f80fa18af26df87a4ec19"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Dec 06 17:15:57 2007 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Dec 06 17:15:57 2007 +0000"
      },
      "message": "[MIPS] BCM1480: Fix interrupt routing, take 2.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "7e1fb765c613298d861f80fa18af26df87a4ec19",
      "tree": "2c6d499decaf469bcc79a4873557146ead3bef9c",
      "parents": [
        "ad658cec232771b11e95bb5f0d639d48f898a1f2",
        "cde898fa80a45bb23eab2a060fc79d0913081409"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:27:46 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:27:46 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  futex: correctly return -EFAULT not -EINVAL\n  lockdep: in_range() fix\n  lockdep: fix debug_show_all_locks()\n  sched: style cleanups\n  futex: fix for futex_wait signal stack corruption\n"
    },
    {
      "commit": "ad658cec232771b11e95bb5f0d639d48f898a1f2",
      "tree": "7ef4ed87cbba8d8395f67c21af5c167d5de0293a",
      "parents": [
        "2a1292b36ba106b9b7f030d3fa130f5f634fd8f0",
        "5a211a5deabcafdc764817d5b4510c767d317ddc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:26:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:26:52 2007 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  VM/Security: add security hook to do_brk\n  Security: round mmap hint address above mmap_min_addr\n  security: protect from stack expantion into low vm addresses\n  Security: allow capable check to permit mmap or low vm space\n  SELinux: detect dead booleans\n  SELinux: do not clear f_op when removing entries\n"
    },
    {
      "commit": "2a1292b36ba106b9b7f030d3fa130f5f634fd8f0",
      "tree": "12547c03b949e9cfa64c9760be9a73f18bb7a81a",
      "parents": [
        "2cfae2739bda8fc5d934977c0ab19f6df1dd6d6c",
        "621544eb8c3beaa859c75850f816dd9b056a00a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:26:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:26:13 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  [LRO]: fix lro_gen_skb() alignment\n  [TCP]: NAGLE_PUSH seems to be a wrong way around\n  [TCP]: Move prior_in_flight collect to more robust place\n  [TCP] FRTO: Use of existing funcs make code more obvious \u0026 robust\n  [IRDA]: Move ircomm_tty_line_info() under #ifdef CONFIG_PROC_FS\n  [ROSE]: Trivial compilation CONFIG_INET\u003dn case\n  [IPVS]: Fix sched registration race when checking for name collision.\n  [IPVS]: Don\u0027t leak sysctl tables if the scheduler registration fails.\n"
    },
    {
      "commit": "2cfae2739bda8fc5d934977c0ab19f6df1dd6d6c",
      "tree": "afe1107cd252595a8d99c292c9f68ee1b5d15364",
      "parents": [
        "97bd7919e2c1445dabbcc2686795dbb52316b923",
        "9cb1200a286799db897e81bc2b2c1730cfdc9c08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:25:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:25:53 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC64]: Update defconfig.\n  [SPARC]: Add missing of_node_put\n  [SPARC64]: check for possible NULL pointer dereference\n  [SPARC]: Add missing \"space\"\n  [SPARC64]: Add missing \"space\"\n  [SPARC64]: Add missing pci_dev_put\n  [SYSCTL_CHECK]: Fix typo in KERN_SPARC_SCONS_PWROFF entry string.\n  [SPARC64]: Missing mdesc_release() in ldc_init().\n"
    },
    {
      "commit": "97bd7919e2c1445dabbcc2686795dbb52316b923",
      "tree": "6ecbc7331107f61e83bf7c779b2ae36810510d84",
      "parents": [
        "7e46aa5c8cb1347853de9ec86f3fa440f9dc9d77"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 05 08:46:47 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:25:20 2007 -0800"
      },
      "message": "remove nonsense force-casts from ocfs2\n\nendianness annotations in networking code had been in place for quite a\nwhile; in particular, sin_port and s_addr are annotated as big-endian.\n\nCode in ocfs2 had __force casts added apparently to shut the sparse\nwarnings up; of course, these days they only serve to *produce* warnings\nfor no reason whatsoever...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e46aa5c8cb1347853de9ec86f3fa440f9dc9d77",
      "tree": "eb7fbee801b729e54e7826530175655fd6dce90f",
      "parents": [
        "3c50b3683a8efbf3b4b314209d86aed1a0c44d5b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 05 08:32:52 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:25:20 2007 -0800"
      },
      "message": "regression: bfs endianness bug\n\nBFS_FILEBLOCKS() expects struct bfs_inode * (on-disk data, with little-\nendian fields), not struct bfs_inode_info * (in-core stuff, with host-\nendian ones).\n\nIt\u0027s a macro and fields with the right names are present in\nbfs_inode_info, so it compiles, but on big-endian host it gives bogus\nresults.\n\nIntroduced in commit f433dc56344cb72cc3de5ba0819021cec3aef807 (\"Fixes to\nthe BFS filesystem driver\").\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c50b3683a8efbf3b4b314209d86aed1a0c44d5b",
      "tree": "5d23c057d49ed36426e7a52904fd13ba7f673ea2",
      "parents": [
        "79901a9738d75faba0f08547ff17d676af2f5be3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 05 08:38:56 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:25:20 2007 -0800"
      },
      "message": "fcrypt endianness misannotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79901a9738d75faba0f08547ff17d676af2f5be3",
      "tree": "1180b3db9f42d7334299e50f0379ec725519293c",
      "parents": [
        "9b5e6857b3f3acc8ab434e565b7ec87bf9f9b53c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 05 08:36:15 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:25:20 2007 -0800"
      },
      "message": "no need to mess with KBUILD_CFLAGS on uml-i386 anymore\n\nNow that X86_32 is provided on Kconfig level for uml-i386, there\u0027s no\nneed to play with it explicitly on Makefile level anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b5e6857b3f3acc8ab434e565b7ec87bf9f9b53c",
      "tree": "e4acfece76f0a6de5a34b89703ccbd02551b4688",
      "parents": [
        "ecaf18c15aac8bb9bed7b7aa0e382fe252e275d5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 05 08:24:38 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:25:19 2007 -0800"
      },
      "message": "regression: cifs endianness bug\n\naccess_flags_to_mode() gets on-the-wire data (little-endian) and treats\nit as host-endian.\n\nIntroduced in commit e01b64001359034d04c695388870936ed3d1b56b (\"[CIFS]\nenable get mode from ACL when cifsacl mount option specified\")\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecaf18c15aac8bb9bed7b7aa0e382fe252e275d5",
      "tree": "cefce88c3d253992f939c2f8a1b66b8932272cbb",
      "parents": [
        "294a80a8ed004b383ab214837e1c05ca4098a717"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 04 23:45:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:21 2007 -0800"
      },
      "message": "VM/Security: add security hook to do_brk\n\nGiven a specifically crafted binary do_brk() can be used to get low pages\navailable in userspace virtual memory and can thus be used to circumvent\nthe mmap_min_addr low memory protection.  Add security checks in do_brk().\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "294a80a8ed004b383ab214837e1c05ca4098a717",
      "tree": "2cbf9d33ccafa5042dbde85641d4ca27dcf47dc5",
      "parents": [
        "5a622f2d0f86b316b07b55a4866ecb5518dd1cf7"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Dec 04 23:45:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "SLUB\u0027s ksize() fails for size \u003e 2048\n\nI can\u0027t pass memory allocated by kmalloc() to ksize() if it is allocated by\nSLUB allocator and size is larger than (I guess) PAGE_SIZE / 2.\n\nThe error of ksize() seems to be that it does not check if the allocation\nwas made by SLUB or the page allocator.\n\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nTested-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e, 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": "5a622f2d0f86b316b07b55a4866ecb5518dd1cf7",
      "tree": "f89bb875b5b440dced320336db6cac24b9e4d8b7",
      "parents": [
        "d4beaf4ab5f89496f2bcf67db62ad95d99bfeff6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Dec 04 23:45:28 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "proc: fix proc_dir_entry refcounting\n\nCreating PDEs with refcount 0 and \"deleted\" flag has problems (see below).\nSwitch to usual scheme:\n* PDE is created with refcount 1\n* every de_get does +1\n* every de_put() and remove_proc_entry() do -1\n* once refcount reaches 0, PDE is freed.\n\nThis elegantly fixes at least two following races (both observed) without\nintroducing new locks, without abusing old locks, without spreading\nlock_kernel():\n\n1) PDE leak\n\nremove_proc_entry\t\t\tde_put\n-----------------\t\t\t------\n\t\t\t[refcnt \u003d 1]\nif (atomic_read(\u0026de-\u003ecount) \u003d\u003d 0)\n\t\t\t\t\tif (atomic_dec_and_test(\u0026de-\u003ecount))\n\t\t\t\t\t\tif (de-\u003edeleted)\n\t\t\t\t\t\t\t/* also not taken! */\n\t\t\t\t\t\t\tfree_proc_entry(de);\nelse\n\tde-\u003edeleted \u003d 1;\n\t\t[refcount\u003d0, deleted\u003d1]\n\n2) use after free\n\nremove_proc_entry\t\t\tde_put\n-----------------\t\t\t------\n\t\t\t[refcnt \u003d 1]\n\n\t\t\t\t\tif (atomic_dec_and_test(\u0026de-\u003ecount))\nif (atomic_read(\u0026de-\u003ecount) \u003d\u003d 0)\n\tfree_proc_entry(de);\n\t\t\t\t\t\t/* boom! */\n\t\t\t\t\t\tif (de-\u003edeleted)\n\t\t\t\t\t\t\tfree_proc_entry(de);\n\nBUG: unable to handle kernel paging request at virtual address 6b6b6b6b\nprinting eip: c10acdda *pdpt \u003d 00000000338f8001 *pde \u003d 0000000000000000\nOops: 0000 [#1] PREEMPT SMP\nModules linked in: af_packet ipv6 cpufreq_ondemand loop serio_raw psmouse k8temp hwmon sr_mod cdrom\nPid: 23161, comm: cat Not tainted (2.6.24-rc2-8c0863403f109a43d7000b4646da4818220d501f #4)\nEIP: 0060:[\u003cc10acdda\u003e] EFLAGS: 00210097 CPU: 1\nEIP is at strnlen+0x6/0x18\nEAX: 6b6b6b6b EBX: 6b6b6b6b ECX: 6b6b6b6b EDX: fffffffe\nESI: c128fa3b EDI: f380bf34 EBP: ffffffff ESP: f380be44\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess cat (pid: 23161, ti\u003df380b000 task\u003df38f2570 task.ti\u003df380b000)\nStack: c10ac4f0 00000278 c12ce000 f43cd2a8 00000163 00000000 7da86067 00000400\n       c128fa20 00896b18 f38325a8 c128fe20 ffffffff 00000000 c11f291e 00000400\n       f75be300 c128fa20 f769c9a0 c10ac779 f380bf34 f7bfee70 c1018e6b f380bf34\nCall Trace:\n [\u003cc10ac4f0\u003e] vsnprintf+0x2ad/0x49b\n [\u003cc10ac779\u003e] vscnprintf+0x14/0x1f\n [\u003cc1018e6b\u003e] vprintk+0xc5/0x2f9\n [\u003cc10379f1\u003e] handle_fasteoi_irq+0x0/0xab\n [\u003cc1004f44\u003e] do_IRQ+0x9f/0xb7\n [\u003cc117db3b\u003e] preempt_schedule_irq+0x3f/0x5b\n [\u003cc100264e\u003e] need_resched+0x1f/0x21\n [\u003cc10190ba\u003e] printk+0x1b/0x1f\n [\u003cc107c8ad\u003e] de_put+0x3d/0x50\n [\u003cc107c8f8\u003e] proc_delete_inode+0x38/0x41\n [\u003cc107c8c0\u003e] proc_delete_inode+0x0/0x41\n [\u003cc1066298\u003e] generic_delete_inode+0x5e/0xc6\n [\u003cc1065aa9\u003e] iput+0x60/0x62\n [\u003cc1063c8e\u003e] d_kill+0x2d/0x46\n [\u003cc1063fa9\u003e] dput+0xdc/0xe4\n [\u003cc10571a1\u003e] __fput+0xb0/0xcd\n [\u003cc1054e49\u003e] filp_close+0x48/0x4f\n [\u003cc1055ee9\u003e] sys_close+0x67/0xa5\n [\u003cc10026b6\u003e] sysenter_past_esp+0x5f/0x85\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: c9 74 0c f2 ae 74 05 bf 01 00 00 00 4f 89 fa 5f 89 d0 c3 85 c9 57 89 c7 89 d0 74 05 f2 ae 75 01 4f 89 f8 5f c3 89 c1 89 c8 eb 06 \u003c80\u003e 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 c3 90 90 90 57 83 c9\nEIP: [\u003cc10acdda\u003e] strnlen+0x6/0x18 SS:ESP 0068:f380be44\n\nAlso, remove broken usage of -\u003edeleted from reiserfs: if sget() succeeds,\nmodule is already pinned and remove_proc_entry() can\u0027t happen \u003d\u003e nobody\ncan mark PDE deleted.\n\nDummy proc root in netns code is not marked with refcount 1. AFAICS, we\nnever get it, it\u0027s just for proper /proc/net removal. I double checked\nCLONE_NETNS continues to work.\n\nPatch survives many hours of modprobe/rmmod/cat loops without new bugs\nwhich can be attributed to refcounting.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\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": "d4beaf4ab5f89496f2bcf67db62ad95d99bfeff6",
      "tree": "ae6d005199017e9a0ade169fd69cb73d6c0ac88f",
      "parents": [
        "369b8f5a70402d9fe77006cd0044c8a3fcd08430"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 04 23:45:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "jbd: Fix assertion failure in fs/jbd/checkpoint.c\n\nBefore we start committing a transaction, we call\n__journal_clean_checkpoint_list() to cleanup transaction\u0027s written-back\nbuffers.\n\nIf this call happens to remove all of them (and there were already some\nbuffers), __journal_remove_checkpoint() will decide to free the transaction\nbecause it isn\u0027t (yet) a committing transaction and soon we fail some\nassertion - the transaction really isn\u0027t ready to be freed :).\n\nWe change the check in __journal_remove_checkpoint() to free only a\ntransaction in T_FINISHED state.  The locking there is subtle though (as\neverywhere in JBD ;().  We use j_list_lock to protect the check and a\nsubsequent call to __journal_drop_transaction() and do the same in the end\nof journal_commit_transaction() which is the only place where a transaction\ncan get to T_FINISHED state.\n\nProbably I\u0027m too paranoid here and such locking is not really necessary -\ncheckpoint lists are processed only from log_do_checkpoint() where a\ntransaction must be already committed to be processed or from\n__journal_clean_checkpoint_list() where kjournald itself calls it and thus\ntransaction cannot change state either.  Better be safe if something\nchanges in future...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@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": "369b8f5a70402d9fe77006cd0044c8a3fcd08430",
      "tree": "7796820d04e7278b37e5dadeda65fe3579dd4ab2",
      "parents": [
        "4670df831cb479ba57dd0fa0b8a9eb88cc7129be"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Dec 04 23:45:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "mm: fix XIP file writes\n\nWriting to XIP files at a non-page-aligned offset results in data corruption\nbecause the writes were always sent to the start of the page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4670df831cb479ba57dd0fa0b8a9eb88cc7129be",
      "tree": "4d9a868a29e040f7b20175bfc0051956f015dc12",
      "parents": [
        "f1dad166e88a5ddca0acf8f11dea0e2bd92d8bf3"
      ],
      "author": {
        "name": "Ben Gardner",
        "email": "gardner.ben@gmail.com",
        "time": "Tue Dec 04 23:45:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "gpio_cs5535: disable AUX on output\n\nThe AMD CS5535/CS5536 GPIO has two alternate output modes: AUX-1 and AUX-2.\nWhen either AUX is enabled, the cs5535_gpio driver cannot control the\noutput.\n\nSome BIOS code for the Geode processor enables AUX-1 for GPIO-1, which\nconfigures it as the PC BEEP output.\n\nThis patch will disable AUX-1 and AUX-2 when the user enables output.\n\nSigned-of-by: Ben Gardner \u003cgardner.ben@gmail.com\u003e\nCc: Richard Knutsson \u003cricknu-0@student.ltu.se\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1dad166e88a5ddca0acf8f11dea0e2bd92d8bf3",
      "tree": "e907d1de7ee3bad49b101336a0b1640e8d05bd51",
      "parents": [
        "092e1fdaf35126475aef0dc70f4a2ce4f2f43052"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 04 23:45:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "Avoid potential NULL dereference in unregister_sysctl_table\n\nregister_sysctl_table() can return NULL sometimes, e.g.  when kmalloc()\nreturns NULL or when sysctl check fails.\n\nI\u0027ve also noticed, that many (most?) code in the kernel doesn\u0027t check for\nthe return value from register_sysctl_table() and later simply calls the\nunregister_sysctl_table() with potentially NULL argument.\n\nThis is unlikely on a common kernel configuration, but in case we\u0027re\ndealing with modules and/or fault-injection support, there\u0027s a slight\npossibility of an OOPS.\n\nChanging all the users to check for return code from the registering does\nnot look like a good solution - there are too many code doing this and\nfailure in sysctl tables registration is not a good reason to abort module\nloading (in most of the cases).\n\nSo I think, that we can just have this check in unregister_sysctl_table\njust to avoid accidental OOPS-es (actually, the unregister_sysctl_table()\ndid exactly this, before the start_unregistering() appeared).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "092e1fdaf35126475aef0dc70f4a2ce4f2f43052",
      "tree": "260533dc1aa4fb1e448ae3cc29c30d92c6363efb",
      "parents": [
        "003d922618150eaab53936f57ba8a61f2b601486"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "Blackfin SPI driver: reconfigure speed_hz and bits_per_word in each spi transfer\n\n - reconfigure SPI baud from speed_hz of each spi transfer\n - according to spi_transfer.bits_per_word to reprogram register and setup\n   correct SPI operation handlers\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "003d922618150eaab53936f57ba8a61f2b601486",
      "tree": "54bd61e6176b0447d2df30dd7b3aab505b0df6ec",
      "parents": [
        "f452126c2e4b8bbfd8e41ebdf1e734e3bf18f8e9"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "Blackfin SPI driver: move hard coded pin_req to board file\n\nRemove some sort of bloaty code, try to get these pin_req arrays built at compile-time\n\n - move this static things to the blackfin board file\n - add pin_req array to struct bfin5xx_spi_master\n - tested on BF537/BF548 with SPI flash\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f452126c2e4b8bbfd8e41ebdf1e734e3bf18f8e9",
      "tree": "e49cb5df41003fa6dbceb7f422bb98c0d2289e1b",
      "parents": [
        "d8c05008b0e464c94967ed2f20d1d661fca6790e"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "Blackfin SPI driver: use void __iomem * for regs_base\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8c05008b0e464c94967ed2f20d1d661fca6790e",
      "tree": "b8d178ff27a6570666561328e3604beeae49ec64",
      "parents": [
        "07612e5f224613020c0ba17ce28e8eac052ef8ce"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "Blackfin SPI driver: use cpu_relax() to replace continue in while busywait\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07612e5f224613020c0ba17ce28e8eac052ef8ce",
      "tree": "a401cf425ee349496cf4bfa2015bad601aa6f730",
      "parents": [
        "62310e51ac10c5e50998240e49a84d2e28377a48"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Tue Dec 04 23:45:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "spi: spi_bfin: resequence DMA start/stop\n\nSet correct baud for spi mmc and enable SPI only after DMA is started.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62310e51ac10c5e50998240e49a84d2e28377a48",
      "tree": "bdb678ea08edb8bbe83ac77bd4432e1d1721e44e",
      "parents": [
        "c3061abb9e95920407288cba143dc1af0babf099"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "spi: spi_bfin: update handling of delay-after-deselect\n\nMove cs_chg_udelay handling (specific to this driver) to cs_deactive(), fixing\na bug when some SPI LCD driver needs delay after cs_deactive.\n\nFix bug reported by Cameron Barfield \u003ccbarfield@cyberdata.net\u003e\nhttps://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action\u003dForumBrowse\u0026forum_id\u003d39\u0026_forum_action\u003dForumMessageBrowse\u0026thread_id\u003d23630\u0026feedback\u003dMessage%20replied.\n\nCc: Cameron Barfield \u003ccbarfield@cyberdata.net\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3061abb9e95920407288cba143dc1af0babf099",
      "tree": "2dcb35cfdbb210fe0c7b9bc5ae81741aa81baa26",
      "parents": [
        "bb90eb00b6c28c8be5a69c6b58d5a6924f6f2ad7"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:19 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "spi: spi_bfin: bugfix for 8..16 bit word sizes\n\nFix bug in u16_cs_chg_reader to read data_len-2 bytes data firstly, then read\nout the last 2 bytes data\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb90eb00b6c28c8be5a69c6b58d5a6924f6f2ad7",
      "tree": "946d2f6eb925a8d614e049a6e5157a543a4b0081",
      "parents": [
        "3f479a65b3f49ee4f058a965e6e33d97ee467b68"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:18 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin: handle multiple spi_masters\n\nMove global SPI regs_base and dma_ch to struct driver_data.  Test on BF54x SPI\nFlash with 2 spi_master devices enabled.\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f479a65b3f49ee4f058a965e6e33d97ee467b68",
      "tree": "a9138d5d9429d29a0403a197a5868d98cd86288a",
      "parents": [
        "cc487e732089360727e60f9fdbe3ff6cc4ca3155"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Tue Dec 04 23:45:18 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin: relocate spin/waits\n\nMove spin/waits to more correct locations in bfin SPI driver.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc487e732089360727e60f9fdbe3ff6cc4ca3155",
      "tree": "a4037cc7b238b582c50ff0520c5a47822e0f83fc",
      "parents": [
        "12e17c4267a5b2a5ba77bd53a62388be641534b8"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Tue Dec 04 23:45:17 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin: change handling of communication parameters\n\nFix SPI driver to work with SPI flash ST M25P16 on bf548\n\nCurrently the SPI driver enables the SPI controller and sets the SPI baud\nregister for each SPI transfer.  But they should never be changed within a SPI\nmessage session, in which several SPI transfers are pumped.\n\nThis patch moves SPI setting to the begining of a message session, and\nnever disables SPI controller until an error occurs.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12e17c4267a5b2a5ba77bd53a62388be641534b8",
      "tree": "4c45477c323808523b071b25f4e8446ccec13f41",
      "parents": [
        "7c4ef09449ca382da2e39b93ca9d03e3dbd5c17c"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Tue Dec 04 23:45:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin, rearrange portmux calls\n\nMove pin muxing to setup and cleanup methods.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c4ef09449ca382da2e39b93ca9d03e3dbd5c17c",
      "tree": "a5f902ec6b20486cfd32f9d9331a5d798b0c0e48",
      "parents": [
        "a32c691d7cf5c37af753255ef4843b18a31935b9"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Tue Dec 04 23:45:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin uses portmux for additional busses\n\nUse portmux mechanism to support SPI busses 1 and 2, instead of just the\noriginal bus 0.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a32c691d7cf5c37af753255ef4843b18a31935b9",
      "tree": "5b7f6cea2e1574dbe57fb8fd2a4ddce0726b85c7",
      "parents": [
        "2ed355165ff4ec834a75770f2a15dc87f5e06088"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:15 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin uses platform device resources\n\nUpdate spi driver to support multi-ports by using platform resources; tested\non STAMP537+SPI_MMC, other boards need more testing.  Plus other minor\nupdates.\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ed355165ff4ec834a75770f2a15dc87f5e06088",
      "tree": "9d409b8a624916225f07791d322dd6ca9eea4521",
      "parents": [
        "fad91c890909aabab0d9858d50f3c8394ee16b21"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "michael.frysinger@analog.com",
        "time": "Tue Dec 04 23:45:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin, don\u0027t bypass spi framework\n\nPrevent people from setting bits in ctl_reg that the SPI framework already\nhandles, hopefully we can one day drop ctl_reg completely\n\nSigned-off-by: Mike Frysinger \u003cmichael.frysinger@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fad91c890909aabab0d9858d50f3c8394ee16b21",
      "tree": "ff3a82c58e5fbd5c91756ad0846ef31555c08054",
      "parents": [
        "5fec5b5a4ec0d6d8b41c56e3cc7de41063cd4736"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin handles spi_transfer.cs_change\n\nRespect per-transfer cs_change field (protocol tweaking support) by\nadding and using cs_active/cs_deactive functions.\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fec5b5a4ec0d6d8b41c56e3cc7de41063cd4736",
      "tree": "3705b4a2000d9a2ae912a3412b4912358b850840",
      "parents": [
        "cc2f81a695640dd1c0cf12b35ee303460fa6d0bc"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: spi_bfin cleanups, error handling\n\nCleanup and error handling\n\n - add error handling in SPI bus driver with selecting clients\n - use proper defines to access Blackfin MMRs\n - remove useless SSYNCs\n - cleaner use of portmux calls\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc2f81a695640dd1c0cf12b35ee303460fa6d0bc",
      "tree": "650339ac7d5e5029348b8156157a5da609d2a397",
      "parents": [
        "131b17d42de6194fa960132c1f62c29923c4f20c"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Tue Dec 04 23:45:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: bfin spi uses portmux calls\n\nUse new Blackfin portmux interface, add error handling.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "131b17d42de6194fa960132c1f62c29923c4f20c",
      "tree": "7606b689e111820328ff5c88a57192adce02cec2",
      "parents": [
        "c24b2602af88db4489c6c3fb4b2a8e47fb15769b"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue Dec 04 23:45:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: initial BF54x SPI support\n\nInitial BF54x SPI support\n\n - support BF54x SPI0\n - clean up some code (whitespace etc)\n - will support multiports in the future\n - start using portmux calls\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c24b2602af88db4489c6c3fb4b2a8e47fb15769b",
      "tree": "d27731d5534fde61c17f3cd273ce0e639e3ff2cf",
      "parents": [
        "9b938b749065d6a94172ac24d9748bd66a03da4c"
      ],
      "author": {
        "name": "Marc Pignat",
        "email": "marc.pignat@hevs.ch",
        "time": "Tue Dec 04 23:45:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:19 2007 -0800"
      },
      "message": "spi: use simplified spi_sync() calling convention\n\nGiven the patch which simplifies the spi_sync calling convention, this one\nupdates the callers of that routine which tried using it according to the\nprevious specification.  (Most didn\u0027t.)\n\nSigned-off-by: Marc Pignat \u003cmarc.pignat@hevs.ch\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b938b749065d6a94172ac24d9748bd66a03da4c",
      "tree": "d5f3540224235751a492c8be8003c331263fe51a",
      "parents": [
        "3f86f14c0fc9fdb0984e64209df2f47895a07151"
      ],
      "author": {
        "name": "Marc Pignat",
        "email": "marc.pignat@hevs.ch",
        "time": "Tue Dec 04 23:45:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "spi: simplify spi_sync() calling convention\n\nSimplify spi_sync calling convention, eliminating the need to check both\nthe return value AND the message-\u003estatus.  In consequence, this corrects\nmisbehaviours of spi_read and spi_write (which only checked the former) and\ntheir callers.\n\nSigned-off-by: Marc Pignat \u003cmarc.pignat@hevs.ch\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f86f14c0fc9fdb0984e64209df2f47895a07151",
      "tree": "9dd400b97efa5260c31044efd5687a4d91c04bb7",
      "parents": [
        "068f4070868c801c7d7aa1ae1193c1c854193545"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Dec 04 23:45:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "spi: at25 driver is for EEPROM not FLASH\n\nAdd comment to at25 driver that it\u0027s for EEPROM chips, not FLASH\nchips ... the AT25 series has both types of chip, and sometimes\nthey\u0027re even pin-compatible.  The command sets are different, as\nis the treatment of erasure.  (FLASH needs explicit erasure, but\nwith EEPROM it\u0027s implicit.)  Note that all vendors seem to have\nthis same confusion in their *25* series SPI memory parts.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068f4070868c801c7d7aa1ae1193c1c854193545",
      "tree": "17167c675c5115653e3f28f8977bdfd43b22ce6a",
      "parents": [
        "f8fcc93319faa09272185af100fb24e71b02ab03"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Dec 04 23:45:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "SPI: use mutex not semaphore\n\nMake spi_write_then_read() use a mutex not a binary semaphore.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8fcc93319faa09272185af100fb24e71b02ab03",
      "tree": "5696f15acbe0d8ad6895d7eef7566e72bacf8abc",
      "parents": [
        "4b01a0b1613beeb01e12c78feb69e98f0da0a69a"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Tue Dec 04 23:45:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "Add EXPORT_SYMBOL(ksize);\n\nmm/slub.c exports ksize(), but mm/slob.c and mm/slab.c don\u0027t.\n\nIt\u0027s used by binfmt_flat, which can be built as a module.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: 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": "4b01a0b1613beeb01e12c78feb69e98f0da0a69a",
      "tree": "d92ae6d43c8f3b18c8ae785dc322ad9e2e3fae36",
      "parents": [
        "0c664f974269bb4c3d38ba900c91a9a5d4cee5b1"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Dec 04 23:45:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "mm/backing-dev.c: fix percpu_counter_destroy call bug in bdi_init\n\nthis call should use the array index j, not i.  But with this approach, just\none int i is enough, int j is not needed.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c664f974269bb4c3d38ba900c91a9a5d4cee5b1",
      "tree": "6bb103b78dab623693cff371e097974e52235ad0",
      "parents": [
        "372a302e9a892229206aafca0352584a745bc5f3"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Tue Dec 04 23:45:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "ufs: fix nexstep dir block size\n\nThis patch fixes regression, introduced since 2.6.16.  NextStep variant of\nUFS as OpenStep uses directory block size equals to 1024.  Without this\nchange, ufs_check_page fails in many cases.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Dave Bailey \u003cdsbailey@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "372a302e9a892229206aafca0352584a745bc5f3",
      "tree": "14cf4e06735d8dd9284e843f36a5abcfcc4cc476",
      "parents": [
        "5cd17569fd0eeca510735e63a6061291e3971bf6"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Dec 04 23:45:05 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "RTC: assure proper memory ordering with respect to RTC_DEV_BUSY flag\n\nWe must make sure that the RTC_DEV_BUSY flag has proper lock semantics,\ni.e.  that the RTC_DEV_BUSY stores clearing the flag don\u0027t get reordered\nbefore the preceeding stores and loads and vice versa.\n\nSpotted by Nick Piggin.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cd17569fd0eeca510735e63a6061291e3971bf6",
      "tree": "0583bb9f4cc103251da96ba743396a877f4c83b5",
      "parents": [
        "e00ba3dae077f54cfd2af42e939a618caa7a3bca"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Dec 04 23:45:04 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "fix clone(CLONE_NEWPID)\n\nCurrently we are complicating the code in copy_process, the clone ABI, and\nif we fix the bugs sys_setsid itself, with an unnecessary open coded\nversion of sys_setsid.\n\nSo just simplify everything and don\u0027t special case the session and pgrp of\nthe initial process in a pid namespace.\n\nHaving this special case actually presents to user space the classic linux\nstartup conditions with session \u003d\u003d pgrp \u003d\u003d 0 for /sbin/init.\n\nWe already handle sending signals to processes in a child pid namespace.\n\nWe need to handle sending signals to processes in a parent pid namespace\nfor cases like SIGCHILD and SIGIO.\n\nThis makes nothing extra visible inside a pid namespace.  So this extra\nspecial case appears to have no redeeming merits.\n\nFurther removing this special case increases the flexibility of how we can\nuse pid namespaces, by not requiring the initial process in a pid namespace\nto be a daemon.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e00ba3dae077f54cfd2af42e939a618caa7a3bca",
      "tree": "eb2f29fe8df7cb29be7d1bdda8dabe825f30f182",
      "parents": [
        "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Tue Dec 04 23:45:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "aio: only account I/O wait time in read_events if there are active requests\n\nOn 2.6.24, top started showing 100% iowait on one CPU when a UML instance was\nrunning (but completely idle).  The UML code sits in io_getevents waiting for\nan event to be submitted and completed.\n\nFix this by checking ctx-\u003ereqs_active before scheduling to determine whether\nor not we are waiting for I/O.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cde898fa80a45bb23eab2a060fc79d0913081409",
      "tree": "be72916afee134f9b81b0162ae20db1b009e9762",
      "parents": [
        "54561783ee99d73a086f3abbda3e44f87f6bf65b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "message": "futex: correctly return -EFAULT not -EINVAL\n\nreturn -EFAULT not -EINVAL. Found by review.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54561783ee99d73a086f3abbda3e44f87f6bf65b",
      "tree": "73f836a158f9c05ece41cae6cdb80888d9d6ba07",
      "parents": [
        "856848737bd944c1db3ce0a66bbf67e56bd6f77d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "message": "lockdep: in_range() fix\n\nTorsten Kaiser wrote:\n\n| static inline int in_range(const void *start, const void *addr, const void *end)\n| {\n|         return addr \u003e\u003d start \u0026\u0026 addr \u003c\u003d end;\n| }\n| This  will return true, if addr is in the range of start (including)\n| to end (including).\n|\n| But debug_check_no_locks_freed() seems does:\n| const void *mem_to \u003d mem_from + mem_len\n| -\u003e mem_to is the last byte of the freed range, that fits in_range\n| lock_from \u003d (void *)hlock-\u003einstance;\n| -\u003e first byte of the lock\n| lock_to \u003d (void *)(hlock-\u003einstance + 1);\n| -\u003e first byte of the next lock, not last byte of the lock that is being checked!\n|\n| The test is:\n| if (!in_range(mem_from, lock_from, mem_to) \u0026\u0026\n|                                         !in_range(mem_from, lock_to, mem_to))\n|                         continue;\n| So it tests, if the first byte of the lock is in the range that is freed -\u003eOK\n| And if the first byte of the *next* lock is in the range that is freed\n| -\u003e Not OK.\n\nWe can also simplify in_range checks, we need only 2 comparisons, not 4.\nIf the lock is not in memory range, it should be either at the left of range\nor at the right.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "856848737bd944c1db3ce0a66bbf67e56bd6f77d",
      "tree": "4fce302f29225f7d1d558559e40e73dadc40e60e",
      "parents": [
        "41a2d6cfa3f77ec469e7e5f06b4d7ffd031f9c0e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "message": "lockdep: fix debug_show_all_locks()\n\nfix the oops that can be seen in:\n\n   http://bugzilla.kernel.org/attachment.cgi?id\u003d13828\u0026action\u003dview\n\nit is not safe to print the locks of running tasks.\n\n(even with this fix we have a small race - but this is a debug\n function after all.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "41a2d6cfa3f77ec469e7e5f06b4d7ffd031f9c0e",
      "tree": "462949400fbb320194b9f586c48315c306be53cf",
      "parents": [
        "ce6bd420f43b28038a2c6e8fbb86ad24014727b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "message": "sched: style cleanups\n\nstyle cleanup of various changes that were done recently.\n\nno code changed:\n\n      text    data     bss     dec     hex filename\n     23680    2542      28   26250    668a sched.o.before\n     23680    2542      28   26250    668a sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ce6bd420f43b28038a2c6e8fbb86ad24014727b6",
      "tree": "e35e86507e11c375c2668a0391f4cf66bb581783",
      "parents": [
        "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "message": "futex: fix for futex_wait signal stack corruption\n\nDavid Holmes found a bug in the -rt tree with respect to\npthread_cond_timedwait. After trying his test program on the latest git\nfrom mainline, I found the bug was there too.  The bug he was seeing\nthat his test program showed, was that if one were to do a \"Ctrl-Z\" on a\nprocess that was in the pthread_cond_timedwait, and then did a \"bg\" on\nthat process, it would return with a \"-ETIMEDOUT\" but early. That is,\nthe timer would go off early.\n\nLooking into this, I found the source of the problem. And it is a rather\nnasty bug at that.\n\nHere\u0027s the relevant code from kernel/futex.c: (not in order in the file)\n\n[...]\nsmlinkage long sys_futex(u32 __user *uaddr, int op, u32 val,\n                          struct timespec __user *utime, u32 __user *uaddr2,\n                          u32 val3)\n{\n        struct timespec ts;\n        ktime_t t, *tp \u003d NULL;\n        u32 val2 \u003d 0;\n        int cmd \u003d op \u0026 FUTEX_CMD_MASK;\n\n        if (utime \u0026\u0026 (cmd \u003d\u003d FUTEX_WAIT || cmd \u003d\u003d FUTEX_LOCK_PI)) {\n                if (copy_from_user(\u0026ts, utime, sizeof(ts)) !\u003d 0)\n                        return -EFAULT;\n                if (!timespec_valid(\u0026ts))\n                        return -EINVAL;\n\n                t \u003d timespec_to_ktime(ts);\n                if (cmd \u003d\u003d FUTEX_WAIT)\n                        t \u003d ktime_add(ktime_get(), t);\n                tp \u003d \u0026t;\n        }\n[...]\n        return do_futex(uaddr, op, val, tp, uaddr2, val2, val3);\n}\n\n[...]\n\nlong do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout,\n                u32 __user *uaddr2, u32 val2, u32 val3)\n{\n        int ret;\n        int cmd \u003d op \u0026 FUTEX_CMD_MASK;\n        struct rw_semaphore *fshared \u003d NULL;\n\n        if (!(op \u0026 FUTEX_PRIVATE_FLAG))\n                fshared \u003d \u0026current-\u003emm-\u003emmap_sem;\n\n        switch (cmd) {\n        case FUTEX_WAIT:\n                ret \u003d futex_wait(uaddr, fshared, val, timeout);\n\n[...]\n\nstatic int futex_wait(u32 __user *uaddr, struct rw_semaphore *fshared,\n                      u32 val, ktime_t *abs_time)\n{\n[...]\n               struct restart_block *restart;\n                restart \u003d \u0026current_thread_info()-\u003erestart_block;\n                restart-\u003efn \u003d futex_wait_restart;\n                restart-\u003earg0 \u003d (unsigned long)uaddr;\n                restart-\u003earg1 \u003d (unsigned long)val;\n                restart-\u003earg2 \u003d (unsigned long)abs_time;\n                restart-\u003earg3 \u003d 0;\n                if (fshared)\n                        restart-\u003earg3 |\u003d ARG3_SHARED;\n                return -ERESTART_RESTARTBLOCK;\n[...]\n\nstatic long futex_wait_restart(struct restart_block *restart)\n{\n        u32 __user *uaddr \u003d (u32 __user *)restart-\u003earg0;\n        u32 val \u003d (u32)restart-\u003earg1;\n        ktime_t *abs_time \u003d (ktime_t *)restart-\u003earg2;\n        struct rw_semaphore *fshared \u003d NULL;\n\n        restart-\u003efn \u003d do_no_restart_syscall;\n        if (restart-\u003earg3 \u0026 ARG3_SHARED)\n                fshared \u003d \u0026current-\u003emm-\u003emmap_sem;\n        return (long)futex_wait(uaddr, fshared, val, abs_time);\n}\n\nSo when the futex_wait is interrupt by a signal we break out of the\nhrtimer code and set up or return from signal. This code does not return\nback to userspace, so we set up a RESTARTBLOCK.  The bug here is that we\nsave the \"abs_time\" which is a pointer to the stack variable \"ktime_t t\"\nfrom sys_futex.\n\nThis returns and unwinds the stack before we get to call our signal. On\nreturn from the signal we go to futex_wait_restart, where we update all\nthe parameters for futex_wait and call it. But here we have a problem\nwhere abs_time is no longer valid.\n\nI verified this with print statements, and sure enough, what abs_time\nwas set to ends up being garbage when we get to futex_wait_restart.\n\nThe solution I did to solve this (with input from Linus Torvalds)\nwas to add unions to the restart_block to allow system calls to\nuse the restart with specific parameters.  This way the futex code now\nsaves the time in a 64bit value in the restart block instead of storing\nit on the stack.\n\nNote: I\u0027m a bit nervious to add \"linux/types.h\" and use u32 and u64\nin thread_info.h, when there\u0027s a #ifdef __KERNEL__ just below that.\nNot sure what that is there for.  If this turns out to be a problem, I\u0027ve\ntested this with using \"unsigned int\" for u32 and \"unsigned long long\" for\nu64 and it worked just the same. I\u0027m using u32 and u64 just to be\nconsistent with what the futex code uses.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cb1200a286799db897e81bc2b2c1730cfdc9c08",
      "tree": "a94cdf145a123fc2b933ee6e2c19b6efe7065f08",
      "parents": [
        "b127aa8bafb3b5b555ab0e7d6f87cb8a541a3d46"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Dec 04 00:38:22 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:38:01 2007 -0800"
      },
      "message": "[SPARC64]: Update defconfig.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b127aa8bafb3b5b555ab0e7d6f87cb8a541a3d46",
      "tree": "dc369ef9ded375563e73614e16d59014ef04eb93",
      "parents": [
        "75c6d1410caa6fea861ef3802e8b186f7685f235"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Dec 04 00:33:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:38:00 2007 -0800"
      },
      "message": "[SPARC]: Add missing of_node_put\n\nThere should be an of_node_put when breaking out of a loop that iterates\nusing for_each_node_by_type.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c6d1410caa6fea861ef3802e8b186f7685f235",
      "tree": "1ffd0155b9fd658df6e63c907aa2da642c0ee39b",
      "parents": [
        "794b26e0600e3aab399f9d0f225f9e0b8782edbb"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Tue Nov 20 17:32:19 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:59 2007 -0800"
      },
      "message": "[SPARC64]: check for possible NULL pointer dereference\n\nThis patch adds checking for possible NULL pointer dereference\nif of_find_property() failed.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "794b26e0600e3aab399f9d0f225f9e0b8782edbb",
      "tree": "9acb365c1b4b1458db9266c7bf23b3c33218995c",
      "parents": [
        "519c4d2debebc82b201b80fdc48643e19233eb97"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 23:45:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:58 2007 -0800"
      },
      "message": "[SPARC]: Add missing \"space\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "519c4d2debebc82b201b80fdc48643e19233eb97",
      "tree": "e9e070f19635d67258e2bf030b4c994e593e4572",
      "parents": [
        "55c45a3ad8e5f9488426332b7baca0261ec2f816"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 23:43:00 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:58 2007 -0800"
      },
      "message": "[SPARC64]: Add missing \"space\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55c45a3ad8e5f9488426332b7baca0261ec2f816",
      "tree": "3e4eedf76bcc849f81e37d3ec8d38e9b22fa9a85",
      "parents": [
        "874a5f87f53f80b798140b07fcf81f8d3718b3cc"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Nov 19 22:50:01 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:57 2007 -0800"
      },
      "message": "[SPARC64]: Add missing pci_dev_put\n\nThere should be a pci_dev_put when breaking out of a loop that iterates\nover calls to pci_get_device and similar functions.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "874a5f87f53f80b798140b07fcf81f8d3718b3cc",
      "tree": "4142862ffba59ecfc2a76c7ce3e185a42d871e04",
      "parents": [
        "6fab2600f9eae779ac49416e651a7f160004c9ae"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Nov 19 21:35:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:56 2007 -0800"
      },
      "message": "[SYSCTL_CHECK]: Fix typo in KERN_SPARC_SCONS_PWROFF entry string.\n\nBased upon a report by Mikael Pettersson.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fab2600f9eae779ac49416e651a7f160004c9ae",
      "tree": "8315eede2c19cbd8b81621fedea58f0335becfeb",
      "parents": [
        "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 14 20:17:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:55 2007 -0800"
      },
      "message": "[SPARC64]: Missing mdesc_release() in ldc_init().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "621544eb8c3beaa859c75850f816dd9b056a00a3",
      "tree": "15c4375c8899ced48bd751eb139cfe9b3778bda9",
      "parents": [
        "4e67d876ce07471e02be571038d5435a825f0215"
      ],
      "author": {
        "name": "Andrew Gallatin",
        "email": "gallatin@myri.com",
        "time": "Wed Dec 05 02:31:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:32 2007 -0800"
      },
      "message": "[LRO]: fix lro_gen_skb() alignment\n\nAdd a field to the lro_mgr struct so that drivers can specify how much\npadding is required to align layer 3 headers when a packet is copied\ninto a freshly allocated skb by inet_lro.c:lro_gen_skb().  Without\npadding, skbs generated by LRO will cause alignment warnings on\narchitectures which require strict alignment (seen on sparc64).\n\nMyri10GE is updated to use this field.\n\nSigned-off-by: Andrew Gallatin \u003cgallatin@myri.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e67d876ce07471e02be571038d5435a825f0215",
      "tree": "99735632828d178f6dd9bc9d036b6879bcdcbebe",
      "parents": [
        "52d3408150858a301a84bcbfe2f323d90d71d2ce"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Dec 05 02:25:32 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:31 2007 -0800"
      },
      "message": "[TCP]: NAGLE_PUSH seems to be a wrong way around\n\nThe comment in tcp_nagle_test suggests that. This bug is very\nvery old, even 2.4.0 seems to have it.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52d3408150858a301a84bcbfe2f323d90d71d2ce",
      "tree": "275691a21b251220257fac8932f71e77dbafbbc4",
      "parents": [
        "3e6f049e0c4cf0606207c1a210abf50b436e9adf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Dec 05 02:21:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:30 2007 -0800"
      },
      "message": "[TCP]: Move prior_in_flight collect to more robust place\n\nThe previous location is after sacktag processing, which affects\ncounters tcp_packets_in_flight depends on. This may manifest as\nwrong behavior if new SACK blocks are present and all is clear\nfor call to tcp_cong_avoid, which in the case of\ntcp_reno_cong_avoid bails out early because it thinks that\nTCP is not limited by cwnd.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e6f049e0c4cf0606207c1a210abf50b436e9adf",
      "tree": "1001162134823ffb936b0db5baf3b19a419a2e7e",
      "parents": [
        "92b05e13f16a41405c4f6c953c47b6c4bcf82d30"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Dec 05 02:20:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:29 2007 -0800"
      },
      "message": "[TCP] FRTO: Use of existing funcs make code more obvious \u0026 robust\n\nThough there\u0027s little need for everything that tcp_may_send_now\ndoes (actually, even the state had to be adjusted to pass some\nchecks FRTO does not want to occur), it\u0027s more robust to let it\nmake the decision if sending is allowed. State adjustments\nneeded:\n- Make sure snd_cwnd limit is not hit in there\n- Disable nagle (if necessary) through the frto_counter \u003d\u003d 2\n\nThe result of check for frto_counter in argument to call for\ntcp_enter_frto_loss can just be open coded, therefore there\nisn\u0027t need to store the previous frto_counter past\ntcp_may_send_now.\n\nIn addition, returns can then be combined.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92b05e13f16a41405c4f6c953c47b6c4bcf82d30",
      "tree": "338f11748f37cd13cd2cfe7f711f226732c23106",
      "parents": [
        "78f150bf94f5430fe8c34edeafe8d01706f38148"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 02:18:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:28 2007 -0800"
      },
      "message": "[IRDA]: Move ircomm_tty_line_info() under #ifdef CONFIG_PROC_FS\n\nThe function in question is called only from ircomm_tty_read_proc,\nwhich is under this option. Move this helper to the same place.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78f150bf94f5430fe8c34edeafe8d01706f38148",
      "tree": "8b192b53be1407344668c4307db6441039997226",
      "parents": [
        "4ac63ad6c52e9cdefbcb54ec4575ab12b78b49d9"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 02:18:15 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:28 2007 -0800"
      },
      "message": "[ROSE]: Trivial compilation CONFIG_INET\u003dn case\n\nThe rose_rebuild_header() consists only of some variables in\ncase INET\u003dn, and gcc will warn us about it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ac63ad6c52e9cdefbcb54ec4575ab12b78b49d9",
      "tree": "e8ff9d5a9bbe01c68a95f71f1707cc24afa770d1",
      "parents": [
        "a014bc8f0f0a3a0cac4fef656f101cdfb77b71eb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 04 00:45:06 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:27 2007 -0800"
      },
      "message": "[IPVS]: Fix sched registration race when checking for name collision.\n\nThe register_ip_vs_scheduler() checks for the scheduler with the\nsame name under the read-locked __ip_vs_sched_lock, then drops,\ntakes it for writing and puts the scheduler in list.\n\nThis is racy, since we can have a race window between the lock\nbeing re-locked for writing.\n\nThe fix is to search the scheduler with the given name right under\nthe write-locked __ip_vs_sched_lock.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a014bc8f0f0a3a0cac4fef656f101cdfb77b71eb",
      "tree": "0b48fdff5525ddba1c64a8c0fd8c8fb6e1a9aeab",
      "parents": [
        "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 04 00:43:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:26 2007 -0800"
      },
      "message": "[IPVS]: Don\u0027t leak sysctl tables if the scheduler registration fails.\n\nIn case we load lblc or lblcr module we can leak some sysctl\ntables if the call to register_ip_vs_scheduler() fails.\n\nI\u0027ve looked at the register_ip_vs_scheduler() code and saw, that\nthe only reason to fail is the name collision, so I think that\nwith some 3rd party schedulers this becomes a relevant issue. No?\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a211a5deabcafdc764817d5b4510c767d317ddc",
      "tree": "d330ce692f43c1b02c84ff81284e6191d567e02f",
      "parents": [
        "7cd94146cd504016315608e297219f9fb7b1413b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 04 11:06:55 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:25:30 2007 +1100"
      },
      "message": "VM/Security: add security hook to do_brk\n\nGiven a specifically crafted binary do_brk() can be used to get low\npages available in userspace virtually memory and can thus be used to\ncircumvent the mmap_min_addr low memory protection.  Add security checks\nin do_brk().\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "7cd94146cd504016315608e297219f9fb7b1413b",
      "tree": "1d118d6af0a6d3efb9be66f7305827aee2ceffea",
      "parents": [
        "8869477a49c3e99def1fcdadd6bbc407fea14b45"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 26 18:47:40 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:25:10 2007 +1100"
      },
      "message": "Security: round mmap hint address above mmap_min_addr\n\nIf mmap_min_addr is set and a process attempts to mmap (not fixed) with a\nnon-null hint address less than mmap_min_addr the mapping will fail the\nsecurity checks.  Since this is just a hint address this patch will round\nsuch a hint address above mmap_min_addr.\n\ngcj was found to try to be very frugal with vm usage and give hint addresses\nin the 8k-32k range.  Without this patch all such programs failed and with\nthe patch they happily get a higher address.\n\nThis patch is wrappad in CONFIG_SECURITY since mmap_min_addr doesn\u0027t exist\nwithout it and there would be no security check possible no matter what.  So\nwe should not bother compiling in this rounding if it is just a waste of\ntime.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "8869477a49c3e99def1fcdadd6bbc407fea14b45",
      "tree": "a3f77dcac695a12986715b119750f85f124179bb",
      "parents": [
        "ab5a91a8364c3d6fc617abc47cc81d162c01d90a"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 26 18:47:26 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:24:48 2007 +1100"
      },
      "message": "security: protect from stack expantion into low vm addresses\n\nAdd security checks to make sure we are not attempting to expand the\nstack into memory protected by mmap_min_addr\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ab5a91a8364c3d6fc617abc47cc81d162c01d90a",
      "tree": "0b7f4ef877f56be57f75b8b455b9f694f19da633",
      "parents": [
        "d313f948309ab22797316e789a7ff8fa358176b6"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 26 18:47:46 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:24:30 2007 +1100"
      },
      "message": "Security: allow capable check to permit mmap or low vm space\n\nOn a kernel with CONFIG_SECURITY but without an LSM which implements\nsecurity_file_mmap it is impossible for an application to mmap addresses\nlower than mmap_min_addr.  Based on a suggestion from a developer in the\nopenwall community this patch adds a check for CAP_SYS_RAWIO.  It is\nassumed that any process with this capability can harm the system a lot\nmore easily than writing some stuff on the zero page and then trying to\nget the kernel to trip over itself.  It also means that programs like X\non i686 which use vm86 emulation can work even with mmap_min_addr set.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d313f948309ab22797316e789a7ff8fa358176b6",
      "tree": "7a6d4a54ea7448ce53cf23349eb8a64d7fd93151",
      "parents": [
        "0955dc03aedfb6a5565445b3f2176255b784cc6a"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon Nov 26 11:12:53 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:24:09 2007 +1100"
      },
      "message": "SELinux: detect dead booleans\n\nInstead of using f_op to detect dead booleans, check the inode index\nagainst the number of booleans and check the dentry name against the\nboolean name for that index on reads and writes.  This prevents\nincorrect use of a boolean file opened prior to a policy reload while\nallowing valid use of it as long as it still corresponds to the same\nboolean in the policy.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "0955dc03aedfb6a5565445b3f2176255b784cc6a",
      "tree": "34ec01676c33f5627b8a5c02ca68b8757da3308c",
      "parents": [
        "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Wed Nov 21 09:01:36 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:23:46 2007 +1100"
      },
      "message": "SELinux: do not clear f_op when removing entries\n\nDo not clear f_op when removing entries since it isn\u0027t safe to do.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735",
      "tree": "134501057a244b8ae18b87647a7574e4a36e4b5b",
      "parents": [
        "943547abdfe9b4e27e36a25987909619908dffbf",
        "6f4a7f4183bdbd02741dcd8edbd10b8628acc5d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Dec 04 12:21:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Dec 04 12:21:11 2007 -0800"
      },
      "message": "Merge branch \u0027upstream-fixes\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n\n* \u0027upstream-fixes\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:\n  PHY: Add the phy_device_release device method.\n  gianfar: fix compile warning\n  pasemi_mac: Fix reuse of free\u0027d skb\n  SMC911X: Fix using of dereferenced skb after netif_rx\n  sky2: recovery deadlock fix\n  Fix memory corruption in fec_mpc52xx\n  Don\u0027t claim to do IPv6 checksum offload\n  cxgb - revert file mode changes.\n"
    },
    {
      "commit": "6f4a7f4183bdbd02741dcd8edbd10b8628acc5d5",
      "tree": "b160036cc645c4658c577a12b99902028a3885df",
      "parents": [
        "f9663aea2a938f9dc60dbfef34b9e7847a69c947"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Dec 04 16:17:33 2007 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Dec 04 15:06:33 2007 -0500"
      },
      "message": "PHY: Add the phy_device_release device method.\n\nLately I\u0027ve got this nice badness on mdio bus removal:\n\nDevice \u0027e0103120:06\u0027 does not have a release() function, it is broken and must be fixed.\n------------[ cut here ]------------\nBadness at drivers/base/core.c:107\nNIP: c015c1a8 LR: c015c1a8 CTR: c0157488\nREGS: c34bdcf0 TRAP: 0700   Not tainted  (2.6.23-rc5-g9ebadfbb-dirty)\nMSR: 00029032 \u003cEE,ME,IR,DR\u003e  CR: 24088422  XER: 00000000\n...\n[c34bdda0] [c015c1a8] device_release+0x78/0x80 (unreliable)\n[c34bddb0] [c01354cc] kobject_cleanup+0x80/0xbc\n[c34bddd0] [c01365f0] kref_put+0x54/0x6c\n[c34bdde0] [c013543c] kobject_put+0x24/0x34\n[c34bddf0] [c015c384] put_device+0x1c/0x2c\n[c34bde00] [c0180e84] mdiobus_unregister+0x2c/0x58\n...\n\nThough actually there is nothing broken, it just device\nsubsystem core expects another \"pattern\" of resource managment.\n\nThis patch implement phy device\u0027s release function, thus\nwe\u0027re getting rid of this badness.\n\nAlso small hidden bug fixed, hope none other introduced. ;-)\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    }
  ],
  "next": "f9663aea2a938f9dc60dbfef34b9e7847a69c947"
}
