)]}'
{
  "log": [
    {
      "commit": "f58ba889106af60f52af792efbe1973e458a2138",
      "tree": "f81426c7f611b74dec685cd416d3da8e7fe647d2",
      "parents": [
        "f17172e00167238cc5e4f61ac4e78c68e5c558ec"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Jul 02 21:12:01 2008 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 03 10:22:01 2008 +0100"
      },
      "message": "[GFS2] don\u0027t call permission()\n\nGFS2 calls permission() to verify permissions after locks on the files\nhave been taken.\n\nFor this it\u0027s sufficient to call gfs2_permission() instead.  This\nresults in the following changes:\n\n  - IS_RDONLY() check is not performed\n  - IS_IMMUTABLE() check is not performed\n  - devcgroup_inode_permission() is not called\n  - security_inode_permission() is not called\n\nIS_RDONLY() should be unnecessary anyway, as the per-mount read-only\nflag should provide protection against read-only remounts during\noperations.  do_gfs2_set_flags() has been fixed to perform\nmnt_want_write()/mnt_drop_write() to protect against remounting\nread-only.\n\nIS_IMMUTABLE has been added to gfs2_permission()\n\nRepeating the security checks seems to be pointless, as they don\u0027t\nnormally change, and if they do, it\u0027s independent of the filesystem\nstate.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "f17172e00167238cc5e4f61ac4e78c68e5c558ec",
      "tree": "267f97db00a5393e566b9463946bd356729b35c9",
      "parents": [
        "9f1585cb03866452e0df61a83c88302181e50054"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:40:57 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:40:57 2008 +0100"
      },
      "message": "[GFS2] Fix module building\n\nTwo lines missed from the previous patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9f1585cb03866452e0df61a83c88302181e50054",
      "tree": "fb0844a19042d68477ec0cf2250427d492cde08b",
      "parents": [
        "31fcba00fe7145527b159f8893ec6c9cc61309fd"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jun 26 08:25:57 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:53 2008 +0100"
      },
      "message": "[GFS2] Glock documentation\n\nThis patch adds a file describing the internals of GFS2\u0027s glock\nabstraction.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "31fcba00fe7145527b159f8893ec6c9cc61309fd",
      "tree": "6fef1dc1b20166b881356159d9ac8208a9335978",
      "parents": [
        "b2cad26cfc2091050574a460b304ed103a35dbda"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 04 15:06:21 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:50 2008 +0100"
      },
      "message": "[GFS2] Remove all_list from lock_dlm\n\nI discovered that we had a list onto which every lock_dlm\nlock was being put. Its only function was to discover whether\nwe\u0027d got any locks left after umount. Since there was already\na counter for that purpose as well, I removed the list. The\nsaving is sizeof(struct list_head) per glock - well worth\nhaving.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b2cad26cfc2091050574a460b304ed103a35dbda",
      "tree": "3238ab4b7406836e98d27de5c70dc8419675a914",
      "parents": [
        "1bdad606338debc6384b2844f1b53cc436b3ac90"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 03 14:34:14 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:47 2008 +0100"
      },
      "message": "[GFS2] Remove obsolete conversion deadlock avoidance code\n\nThis is only used by GFS1 so can be removed.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1bdad606338debc6384b2844f1b53cc436b3ac90",
      "tree": "7929bc1f652f88f104e8b6fa6a424cd211b50a42",
      "parents": [
        "9171f5a991e7613cbee816874ad8c9515dcab50f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 03 14:09:53 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:44 2008 +0100"
      },
      "message": "[GFS2] Remove remote lock dropping code\n\nThere are several reasons why this is undesirable:\n\n 1. It never happens during normal operation anyway\n 2. If it does happen it causes performance to be very, very poor\n 3. It isn\u0027t likely to solve the original problem (memory shortage\n    on remote DLM node) it was supposed to solve\n 4. It uses a bunch of arbitrary constants which are unlikely to be\n    correct for any particular situation and for which the tuning seems\n    to be a black art.\n 5. In an N node cluster, only 1/N of the dropped locked will actually\n    contribute to solving the problem on average.\n\nSo all in all we are better off without it. This also makes merging\nthe lock_dlm module into GFS2 a bit easier.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9171f5a991e7613cbee816874ad8c9515dcab50f",
      "tree": "6fd5df32583c059344f7ec4b9436b68edecd61c0",
      "parents": [
        "01b7c7ae88a6376c508b35a22bb61e04cb1b37f0"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Jun 09 12:08:23 2008 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:41 2008 +0100"
      },
      "message": "[GFS2] kernel panic mounting volume\n\nThis patch fixes Red Hat bugzilla bug 450156.\n\nThis started with a not-too-improbable mount failure because the\nlocking protocol was never set back to its proper \"lock_dlm\" after the\nsystem was rebooted in the middle of a gfs2_fsck.  That left a\n(purposely) invalid locking protocol in the superblock, which caused an\nerror when the file system was mounted the next time.\n\nWhen there\u0027s an error mounting, vfs calls DQUOT_OFF, which calls\nvfs_quota_off which calls gfs2_sync_fs.  Next, gfs2_sync_fs calls\ngfs2_log_flush passing s_fs_info.  But due to the error, s_fs_info\nhad been previously set to NULL, and so we have the kernel oops.\n\nMy solution in this patch is to test for the NULL value before passing\nit.  I tested this patch and it fixes the problem.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "01b7c7ae88a6376c508b35a22bb61e04cb1b37f0",
      "tree": "01276b4382270285375540682d1eddf2a167103d",
      "parents": [
        "80274737220f8c5ea75696dde4c5c7feba39456f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jun 02 09:14:54 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:37 2008 +0100"
      },
      "message": "[GFS2] Revise readpage locking\n\nThe previous attempt to fix the locking in readpage failed due\nto the use of a \"try lock\" which resulted in occasional high\ncpu usage during testing (due to repeated tries) and also it\ndid not resolve all the ordering problems wrt the transaction\nlock (although it did solve all the inode lock ordering problems).\n\nThis patch avoids the problem by unlocking the page and getting the\nlocks in the correct order. This means that we have to retest the\npage to ensure that it hasn\u0027t changed when we relock the page.\n\nThis now passes the tests which were previously failing.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "80274737220f8c5ea75696dde4c5c7feba39456f",
      "tree": "474bd28108d0340ce09f3345958d88eace374240",
      "parents": [
        "2d81afb87972013b43b055b4711dc75fdeeb9ba8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jun 02 09:08:47 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:34 2008 +0100"
      },
      "message": "[GFS2] Fix ordering of args for list_add\n\nThe patch to remove lock_nolock managed to get the arguments\nof this list_add backwards. This fixes it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2d81afb87972013b43b055b4711dc75fdeeb9ba8",
      "tree": "4fe094c9ec57c6a6fa3e23767facc112f1d9d2df",
      "parents": [
        "048bca223739368aa5b9ce7cfb1d576c32d66cc7"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu May 29 18:27:51 2008 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:31 2008 +0100"
      },
      "message": "[GFS2] trivial sparse lock annotations\n\nAnnotate the \u0026sdp-\u003esd_log_lock.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "048bca223739368aa5b9ce7cfb1d576c32d66cc7",
      "tree": "66d4f1c0e90eb6429755cb4529f8c7f609026e89",
      "parents": [
        "f3c9d38a26be32abf9b8897e9e0afc7166c712dd"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 23 14:46:04 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:28 2008 +0100"
      },
      "message": "[GFS2] No lock_nolock\n\nThis patch merges the lock_nolock module into GFS2 itself. As well as removing\nsome of the overhead of the module, it also means that its now impossible to\nbuild GFS2 without a lock module (which would be a pointless thing to do\nanyway).\n\nWe also plan to merge lock_dlm into GFS2 in the future, but that is a more\ntricky task, and will therefore be a separate patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "f3c9d38a26be32abf9b8897e9e0afc7166c712dd",
      "tree": "01b892d0d01720a396589c1f537dd0997128a060",
      "parents": [
        "6802e3400ff4549525930ee744030c36fce9cc73"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 21 17:21:42 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:25 2008 +0100"
      },
      "message": "[GFS2] Fix ordering bug in lock_dlm\n\nThis looks like a lot of change, but in fact its not. Mostly its\nthings moving from one file to another. The change is just that\ninstead of queuing lock completions and callbacks from the DLM\nwe now pass them directly to GFS2.\n\nThis gives us a net loss of two list heads per glock (a fair\nsaving in memory) plus a reduction in the latency of delivering\nthe messages to GFS2, plus we now have one thread fewer as well.\nThere was a bug where callbacks and completions could be delivered\nin the wrong order due to this unnecessary queuing which is fixed\nby this patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "6802e3400ff4549525930ee744030c36fce9cc73",
      "tree": "db889bf5337c1d3bb12ebbf571c3c1cad1040496",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 21 17:03:22 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:22 2008 +0100"
      },
      "message": "[GFS2] Clean up the glock core\n\nThis patch implements a number of cleanups to the core of the\nGFS2 glock code. As a result a lot of code is removed. It looks\nlike a really big change, but actually a large part of this patch\nis either removing or moving existing code.\n\nThere are some new bits too though, such as the new run_queue()\nfunction which is considerably streamlined. Highlights of this\npatch include:\n\n o Fixes a cluster coherency bug during SH -\u003e EX lock conversions\n o Removes the \"glmutex\" code in favour of a single bit lock\n o Removes the -\u003ego_xmote_bh() for inodes since it was duplicating\n   -\u003ego_lock()\n o We now only use the -\u003elm_lock() function for both locks and\n   unlocks (i.e. unlock is a lock with target mode LM_ST_UNLOCKED)\n o The fast path is considerably shortly, giving performance gains\n   especially with lock_nolock\n o The glock_workqueue is now used for all the callbacks from the DLM\n   which allows us to simplify the lock_dlm module (see following patch)\n o The way is now open to make further changes such as eliminating the two\n   threads (gfs2_glockd and gfs2_scand) in favour of a more efficient\n   scheme.\n\nThis patch has undergone extensive testing with various test suites\nso it should be pretty stable by now.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "543cf4cb3fe6f6cae3651ba918b9c56200b257d0",
      "tree": "e757ad78d339a141a8fa975aec411a5c623f15df",
      "parents": [
        "bd8c540fe867c070810a3ef55541f41f7c189c9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:58:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:58:20 2008 -0700"
      },
      "message": "Linux 2.6.26-rc8\n"
    },
    {
      "commit": "bd8c540fe867c070810a3ef55541f41f7c189c9a",
      "tree": "277ece5c422c108be9a67822a7cae537f1c423ed",
      "parents": [
        "035cfc61a523343fe0bee5ec54348e26f330a06c",
        "e2569b7e572c0e6782380b3fdda901deb175d75a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:12:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:12:33 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte()\n  [IA64] Handle count\u003d\u003d0 in sn2_ptc_proc_write()\n  [IA64] Fix boot failure on ia64/sn2\n"
    },
    {
      "commit": "035cfc61a523343fe0bee5ec54348e26f330a06c",
      "tree": "d733127661d643a936416025a46199895fbd18c0",
      "parents": [
        "919c0d14ae93073a3957c018a6d86ceb1e2e454b",
        "5af4e7a0bea715f2dd7190859a43eb2258b1f388"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:09:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:09:47 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  [GFS2] fix gfs2 block allocation (cleaned up)\n  [GFS2] BUG: unable to handle kernel paging request at ffff81002690e000\n"
    },
    {
      "commit": "919c0d14ae93073a3957c018a6d86ceb1e2e454b",
      "tree": "b654cfcee21adaf4842447e4fe21f74aa956bcca",
      "parents": [
        "de08341a0ef747d607542af3ae441b286f503e35",
        "6b1ed9086592fd4b066daae222751bb6757ca5eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:09:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:09:06 2008 -0700"
      },
      "message": "Merge branch \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:\n  KVM: Remove now unused structs from kvm_para.h\n  x86: KVM guest: Use the paravirt clocksource structs and functions\n  KVM: Make kvm host use the paravirt clocksource structs\n  x86: Make xen use the paravirt clocksource structs and functions\n  x86: Add structs and functions for paravirt clocksource\n  KVM: VMX: Fix host msr corruption with preemption enabled\n  KVM: ioapic: fix lost interrupt when changing a device\u0027s irq\n  KVM: MMU: Fix oops on guest userspace access to guest pagetable\n  KVM: MMU: large page update_pte issue with non-PAE 32-bit guests (resend)\n  KVM: MMU: Fix rmap_write_protect() hugepage iteration bug\n  KVM: close timer injection race window in __vcpu_run\n  KVM: Fix race between timer migration and vcpu migration\n"
    },
    {
      "commit": "de08341a0ef747d607542af3ae441b286f503e35",
      "tree": "97bdcb8323239800275ecc49bc2848e1e3d9037c",
      "parents": [
        "9bf8a943ad79a3bb15597fe0275f8b1cf26e2010",
        "63842cccb285259345f52025ef57bdfd79657a2d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:23:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:23:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  Revert \"[WATCHDOG] hpwdt: Add CFLAGS to get driver working\"\n"
    },
    {
      "commit": "9bf8a943ad79a3bb15597fe0275f8b1cf26e2010",
      "tree": "9d5ce8b4ccdf17a67e437d6bd1954ff20be7273c",
      "parents": [
        "3b968b7c10b3d81eb83380655484f2bb5b240dc6",
        "28499143933f19b28008a556ed59255d6009391a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:21:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:21:47 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  xen: remove support for non-PAE 32-bit\n"
    },
    {
      "commit": "3b968b7c10b3d81eb83380655484f2bb5b240dc6",
      "tree": "a7aa9ef303ea62f5aed03024976fb35dd5a8a622",
      "parents": [
        "ea7b44c8e6baa1a4507f05ba2c0009ac21c3fe0b",
        "aabdc3b8c3b3d081f1532454e344208338478e29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:20:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:20:59 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: sparse fix\n  kgdb: documentation update - remove kgdboe\n"
    },
    {
      "commit": "ea7b44c8e6baa1a4507f05ba2c0009ac21c3fe0b",
      "tree": "9f71bb94b0fab4c258505073c5cdd9b7cd11b34c",
      "parents": [
        "72c6e251ed84b3a9cdfde6711191155c47bb2b9c"
      ],
      "author": {
        "name": "Jie Luo",
        "email": "clotho67@gmail.com",
        "time": "Tue Jun 24 10:38:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:17:25 2008 -0700"
      },
      "message": "enable bus mastering on i915 at resume time\n\nOn 9xx chips, bus mastering needs to be enabled at resume time for much of the\nchip to function.  With this patch, vblank interrupts will work as expected\non resume, along with other chip functions.   Fixes kernel bugzilla #10844.\n\nSigned-off-by: Jie Luo \u003cclotho67@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b1ed9086592fd4b066daae222751bb6757ca5eb",
      "tree": "9c303e5c2c4a020bb629cd0f0836d7c28956430c",
      "parents": [
        "f6e16d5ad463d15f285666f588cfe49495c692d9"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:33 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:33 2008 +0300"
      },
      "message": "KVM: Remove now unused structs from kvm_para.h\n\nThe kvm_* structs are obsoleted by the pvclock_* ones.\nNow all users have been switched over and the old structs\ncan be dropped.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f6e16d5ad463d15f285666f588cfe49495c692d9",
      "tree": "3c58c3314c542e4edf3e520d201dd7970264418a",
      "parents": [
        "50d0a0f987b83a8dadb1134d834e35ec410392b5"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:32 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:33 2008 +0300"
      },
      "message": "x86: KVM guest: Use the paravirt clocksource structs and functions\n\nThis patch updates the kvm host code to use the pvclock structs\nand functions, thereby making it compatible with Xen.\n\nThe patch also fixes an initialization bug: on SMP systems the\nper-cpu has two different locations early at boot and after CPU\nbringup.  kvmclock must take that in account when registering the\nphysical address within the host.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "50d0a0f987b83a8dadb1134d834e35ec410392b5",
      "tree": "2fb98f898838668ed62092f08c3889ddebb7df62",
      "parents": [
        "1c7b67f7576c4ca2a344379a4a29eec8fe8e7935"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:31 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:32 2008 +0300"
      },
      "message": "KVM: Make kvm host use the paravirt clocksource structs\n\nThis patch updates the kvm host code to use the pvclock structs.\nIt also makes the paravirt clock compatible with Xen.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1c7b67f7576c4ca2a344379a4a29eec8fe8e7935",
      "tree": "a6d6150ba4109775ed7c2e928e0ffefaa29f13e8",
      "parents": [
        "7af192c954017499ec163bc9dbaaee2e593d7ef2"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:30 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:32 2008 +0300"
      },
      "message": "x86: Make xen use the paravirt clocksource structs and functions\n\nThis patch updates the xen guest to use the pvclock structs\nand helper functions.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7af192c954017499ec163bc9dbaaee2e593d7ef2",
      "tree": "04e28552d1e1e265443933e3e658949170997c0e",
      "parents": [
        "a9b21b622958afc3f3bc5a23d266dd9ed1171fd3"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:29 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:31 2008 +0300"
      },
      "message": "x86: Add structs and functions for paravirt clocksource\n\nThis patch adds structs for the paravirt clocksource ABI\nused by both xen and kvm (pvclock-abi.h).\n\nIt also adds some helper functions to read system time and\nwall clock time from a paravirtual clocksource (pvclock.[ch]).\nThey are based on the xen code.  They are enabled using\nCONFIG_PARAVIRT_CLOCK.\n\nSubsequent patches of this series will put the code in use.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5af4e7a0bea715f2dd7190859a43eb2258b1f388",
      "tree": "3b2ab96e295ba9036fd5de6ccf45f95c8229c6e5",
      "parents": [
        "17c15da00c0e7289375ad57e8fea0c7892b74aa0"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Jun 24 12:53:38 2008 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 24 19:02:28 2008 +0100"
      },
      "message": "[GFS2] fix gfs2 block allocation (cleaned up)\n\nThis patch fixes bz 450641.\n\nThis patch changes the computation for zero_metapath_length(), which it\nrenames to metapath_branch_start(). When you are extending the metadata\ntree, The indirect blocks that point to the new data block must either\ndiverge from the existing tree either at the inode, or at the first\nindirect block. They can diverge at the first indirect block because the\ninode has room for 483 pointers while the indirect blocks have room for\n509 pointers, so when the tree is grown, there is some free space in the\nfirst indirect block. What metapath_branch_start() now computes is the\nheight where the first indirect block for the new data block is located.\nIt can either be 1 (if the indirect block diverges from the inode) or 2\n(if it diverges from the first indirect block).\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "e2569b7e572c0e6782380b3fdda901deb175d75a",
      "tree": "c7541106f957225ab0eb8fff6d1244e2675f697f",
      "parents": [
        "8097110d179b874d91c6495330c2b96c991e8c6e"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Jun 24 10:22:05 2008 +0200"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Jun 24 10:28:55 2008 -0700"
      },
      "message": "[IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte()\n\nAs noted by Akinobu Mita alloc_bootmem and related functions never return\nNULL and always return a zeroed region of memory.  Thus a NULL test or\nmemset after calls to these functions is unnecessary.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "8097110d179b874d91c6495330c2b96c991e8c6e",
      "tree": "8ca93d3c7758953f468e5b25708d68dfd732b307",
      "parents": [
        "2826f8c0f4c97b7db33e2a680f184d828eb7a785"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Tue Jun 24 10:20:06 2008 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Jun 24 10:20:06 2008 -0700"
      },
      "message": "[IA64] Handle count\u003d\u003d0 in sn2_ptc_proc_write()\n\nThe fix applied in e0c6d97c65e0784aade7e97b9411f245a6c543e7\n\"security hole in sn2_ptc_proc_write\" didn\u0027t take into account\nthe case where count\u003d\u003d0 (which results in a buffer underrun\nwhen adding the trailing \u0027\\0\u0027).  Thanks to Andi Kleen for\npointing this out.\n\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "2826f8c0f4c97b7db33e2a680f184d828eb7a785",
      "tree": "c311c40baee4e4231e08538eccfeefbf2e08f208",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Tue Jun 24 11:30:09 2008 -0400"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Jun 24 10:16:27 2008 -0700"
      },
      "message": "[IA64] Fix boot failure on ia64/sn2\n\nCall check_sal_cache_flush() after platform_setup() as\ncheck_sal_cache_flush() now relies on being able to call platform\nvector code.\n\nProblem was introduced by: 3463a93def55c309f3c0d0a8aaf216be3be42d64\n\"Update check_sal_cache_flush to use platform_send_ipi()\"\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nTested-by: Alex Chiang: \u003cachiang@hp.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "aabdc3b8c3b3d081f1532454e344208338478e29",
      "tree": "5ff3d5c873fa12ec3797690598e8daa2c3225071",
      "parents": [
        "a606b5e24b7e2937604f4c85023d8d9c5ab0a28b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "message": "kgdb: sparse fix\n\n- Fix warning reported by sparse\nkernel/kgdb.c:1502:6: warning: symbol \u0027kgdb_console_write\u0027 was not declared.\n\tShould it be static?\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "a606b5e24b7e2937604f4c85023d8d9c5ab0a28b",
      "tree": "0e1fc0bd791420ad4c9c0be74266be0571752488",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "message": "kgdb: documentation update - remove kgdboe\n\nkgdboe is not presently included kgdb, and there should be no\nreferences to it.\n\nAlso fix the tcp port terminal connection example.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "28499143933f19b28008a556ed59255d6009391a",
      "tree": "0616b75b1651433ae93173fabf7827cd1873a4d1",
      "parents": [
        "ebb9cfe20fe167f29960a5e913193a684fac50bf"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri May 09 12:05:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 24 17:00:55 2008 +0200"
      },
      "message": "xen: remove support for non-PAE 32-bit\n\nNon-PAE operation has been deprecated in Xen for a while, and is\nrarely tested or used.  xen-unstable has now officially dropped\nnon-PAE support.  Since Xen/pvops\u0027 non-PAE support has also been\nbroken for a while, we may as well completely drop it altogether.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17c15da00c0e7289375ad57e8fea0c7892b74aa0",
      "tree": "72390f591711ea6fb0ee50509aa9ccad993f4c69",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Jun 18 11:30:40 2008 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 24 14:17:45 2008 +0100"
      },
      "message": "[GFS2] BUG: unable to handle kernel paging request at ffff81002690e000\n\nThis patch fixes bugzilla bug bz448866: gfs2: BUG: unable to\nhandle kernel paging request at ffff81002690e000.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "63842cccb285259345f52025ef57bdfd79657a2d",
      "tree": "c245a13e1e1894cf74254194012f9334bee7a9fb",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Tue Jun 24 13:09:26 2008 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Tue Jun 24 13:09:26 2008 +0000"
      },
      "message": "Revert \"[WATCHDOG] hpwdt: Add CFLAGS to get driver working\"\n\nAfter Linus fixed the inline assembly, the CFLAGS option is not\nneeded anymore.\n\nSigned-off-by: Thomas Mingarelli \u003cThomas.Mingarelli@hp.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "a9b21b622958afc3f3bc5a23d266dd9ed1171fd3",
      "tree": "daed282b0f588f31cb3997a16f2ad067b37fb74d",
      "parents": [
        "4fa6b9c5dc4134bdeac341d731a87783cc11ca10"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 11:48:49 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:26:17 2008 +0300"
      },
      "message": "KVM: VMX: Fix host msr corruption with preemption enabled\n\nSwitching msrs can occur either synchronously as a result of calls to\nthe msr management functions (usually in response to the guest touching\nvirtualized msrs), or asynchronously when preempting a kvm thread that has\nguest state loaded.  If we\u0027re unlucky enough to have the two at the same\ntime, host msrs are corrupted and the machine goes kaput on the next syscall.\n\nMost easily triggered by Windows Server 2008, as it does a lot of msr\nswitching during bootup.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4fa6b9c5dc4134bdeac341d731a87783cc11ca10",
      "tree": "3542acc44ec41a0c9f79fbda570f64d315bdb0b1",
      "parents": [
        "6bf6a9532fd03ad719f0c86654f16ef777b78fc6"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 17 15:36:36 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:23:55 2008 +0300"
      },
      "message": "KVM: ioapic: fix lost interrupt when changing a device\u0027s irq\n\nThe ioapic acknowledge path translates interrupt vectors to irqs.  It\ncurrently uses a first match algorithm, stopping when it finds the first\nredirection table entry containing the vector.  That fails however if the\nguest changes the irq to a different line, leaving the old redirection table\nentry in place (though masked).  Result is interrupts not making it to the\nguest.\n\nFix by always scanning the entire redirection table.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6bf6a9532fd03ad719f0c86654f16ef777b78fc6",
      "tree": "4865d4cd48c98c5425218c5d8289367bd16c4105",
      "parents": [
        "3094538739415a9225afd2a6c78cb0fe1c1f641b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jun 12 16:54:41 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:20:12 2008 +0300"
      },
      "message": "KVM: MMU: Fix oops on guest userspace access to guest pagetable\n\nKVM has a heuristic to unshadow guest pagetables when userspace accesses\nthem, on the assumption that most guests do not allow userspace to access\npagetables directly. Unfortunately, in addition to unshadowing the pagetables,\nit also oopses.\n\nThis never triggers on ordinary guests since sane OSes will clear the\npagetables before assigning them to userspace, which will trigger the flood\nheuristic, unshadowing the pagetables before the first userspace access. One\nparticular guest, though (Xenner) will run the kernel in userspace, triggering\nthe oops.  Since the heuristic is incorrect in this case, we can simply\nremove it.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3094538739415a9225afd2a6c78cb0fe1c1f641b",
      "tree": "b6f4b62812fd55ffa60d4383af1e7079e8b29a30",
      "parents": [
        "6597ca09e6c0e5aec7ffd2b8ab48c671d3c28414"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Jun 11 20:32:40 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:18:18 2008 +0300"
      },
      "message": "KVM: MMU: large page update_pte issue with non-PAE 32-bit guests (resend)\n\nkvm_mmu_pte_write() does not handle 32-bit non-PAE large page backed\nguests properly. It will instantiate two 2MB sptes pointing to the same\nphysical 2MB page when a guest large pte update is trapped.\n\nInstead of duplicating code to handle this, disallow directory level\nupdates to happen through kvm_mmu_pte_write(), so the two 2MB sptes\nemulating one guest 4MB pte can be correctly created by the page fault\nhandling path.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6597ca09e6c0e5aec7ffd2b8ab48c671d3c28414",
      "tree": "9bbe5dab501fa1369ce882a4713ebdd227e09f19",
      "parents": [
        "06e05645661211b9eaadaf6344c335d2e80f0ba2"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sun Jun 08 01:48:53 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:17:10 2008 +0300"
      },
      "message": "KVM: MMU: Fix rmap_write_protect() hugepage iteration bug\n\nrmap_next() does not work correctly after rmap_remove(), as it expects\nthe rmap chains not to change during iteration.  Fix (for now) by restarting\niteration from the beginning.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "06e05645661211b9eaadaf6344c335d2e80f0ba2",
      "tree": "8846d2a5052aec44141e811c0a76fdb39c2e77ca",
      "parents": [
        "d4acf7e7abe45457e751525a2a4d5b693dfdd597"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Jun 06 16:37:36 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:16:59 2008 +0300"
      },
      "message": "KVM: close timer injection race window in __vcpu_run\n\nIf a timer fires after kvm_inject_pending_timer_irqs() but before\nlocal_irq_disable() the code will enter guest mode and only inject such\ntimer interrupt the next time an unrelated event causes an exit.\n\nIt would be simpler if the timer-\u003epending irq conversion could be done\nwith IRQ\u0027s disabled, so that the above problem cannot happen.\n\nFor now introduce a new vcpu requests bit to cancel guest entry.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d4acf7e7abe45457e751525a2a4d5b693dfdd597",
      "tree": "2ff1cf6f59b0591ea39c0457705188d5f46cb118",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Jun 06 16:37:35 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:16:52 2008 +0300"
      },
      "message": "KVM: Fix race between timer migration and vcpu migration\n\nA guest vcpu instance can be scheduled to a different physical CPU\nbetween the test for KVM_REQ_MIGRATE_TIMER and local_irq_disable().\n\nIf that happens, the timer will only be migrated to the current pCPU on\nthe next exit, meaning that guest LAPIC timer event can be delayed until\na host interrupt is triggered.\n\nFix it by cancelling guest entry if any vcpu request is pending.  This\nhas the side effect of nicely consolidating vcpu-\u003erequests checks.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "72c6e251ed84b3a9cdfde6711191155c47bb2b9c",
      "tree": "06b526bb6ee497bc19b8609753a5cd3e65ebc7b6",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Thorsten Kranzkowski",
        "email": "dl8bcu@dl8bcu.de",
        "time": "Mon Jun 23 20:57:22 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 18:26:04 2008 -0700"
      },
      "message": "alpha: fix compile error in arch/alpha/mm/init.c\n\nCommit 9267b4b3880d00dc2dab90f1d817c856939114f7 (\"alpha: fix module load\nfailures on smp (bug #10926)\") causes a regression for my ev4\nuniprocessor build:\n\n  CC      arch/alpha/mm/init.o\n/export/data/repositories/linux-2.6/arch/alpha/mm/init.c:34: error: expected ‘\u003d’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typeof’\nmake[2]: *** [arch/alpha/mm/init.o] Error 1\nmake[1]: *** [arch/alpha/mm] Error 2\nmake: *** [sub-make] Error 2\n\nThis fixes it for me (compile and boot tested):\n\nSigned-off-by: Thorsten Kranzkowski \u003cdl8bcu@dl8bcu.de\u003e\nAcked-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62786b9e81a2dbe9c073a2ade52d33a2627d6d85",
      "tree": "ed78a50e92a5cb5d2d792a510b769427bab3191c",
      "parents": [
        "27f4837cbfd87126e733d098824544b6841a4eb8",
        "03fa9e84e5dc10aeacb0e4eb2f708cd9fc36a5b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 16:25:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 16:25:11 2008 -0700"
      },
      "message": "Merge branch \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: nfs_updatepage(): don\u0027t mark page as dirty if an error occurred\n  NFS: Fix filehandle size comparisons in the mount code\n  NFS: Reduce the NFS mount code stack usage.\n"
    },
    {
      "commit": "03fa9e84e5dc10aeacb0e4eb2f708cd9fc36a5b8",
      "tree": "ebd8d0855b70698ea3017147bf69e38ac22af854",
      "parents": [
        "b7e2445737ff69cef892b6fd9cd71cae2c9e9515"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 05 16:02:35 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:07 2008 -0400"
      },
      "message": "NFS: nfs_updatepage(): don\u0027t mark page as dirty if an error occurred\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b7e2445737ff69cef892b6fd9cd71cae2c9e9515",
      "tree": "d248fa5765d8e4b6ab00f10a77f9cbe793644672",
      "parents": [
        "33852a1f2bb014e4047a844556c0d76a2f790c37"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 19 15:21:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:06 2008 -0400"
      },
      "message": "NFS: Fix filehandle size comparisons in the mount code\n\nFix a sign issue in xdr_decode_fhstatus3()\nFix incorrect comparison in nfs_validate_mount_data()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "33852a1f2bb014e4047a844556c0d76a2f790c37",
      "tree": "374e0a266d087fd8eb9419eb77ee4bb788419f82",
      "parents": [
        "945754a1754f9d4c2974a8241ad4f92fad7f3a6a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 19 14:20:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:05 2008 -0400"
      },
      "message": "NFS: Reduce the NFS mount code stack usage.\n\nThis appears to fix the Oops reported in\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d10826\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "27f4837cbfd87126e733d098824544b6841a4eb8",
      "tree": "c97efa3ce9883d6f52f8e8b351019ec42f6fea20",
      "parents": [
        "0e053738b50836e9d1e94b2295ef2942eb471078",
        "1b7558e457ed0de61023cfc913d2c342c7c3d9f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:49:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:49:22 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futexes: fix fault handling in futex_lock_pi\n"
    },
    {
      "commit": "0e053738b50836e9d1e94b2295ef2942eb471078",
      "tree": "35f271173acd7dcab75cb8c6d6af6eb9f1ff3369",
      "parents": [
        "ee5c2ab09b79d3aba3515a3eae7c5cf1e2cbc569",
        "198bb971e256e4167e45e7df643c13ea66f67e3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:48:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:48:50 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: refactor wait_for_completion_timeout()\n  sched: fix wait_for_completion_timeout() spurious failure under heavy load\n  sched: rt: dont stop the period timer when there are tasks wanting to run\n"
    },
    {
      "commit": "ee5c2ab09b79d3aba3515a3eae7c5cf1e2cbc569",
      "tree": "45896aa3ae1071c089f969cdce72d83125ed459a",
      "parents": [
        "f6837bfa6506892e889ec79d8ab29931b4468826",
        "ebb9cfe20fe167f29960a5e913193a684fac50bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:48:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:48:17 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  xen: don\u0027t drop NX bit\n  xen: mask unwanted pte bits in __supported_pte_mask\n  xen: Use wmb instead of rmb in xen_evtchn_do_upcall().\n  x86: fix NULL pointer deref in __switch_to\n"
    },
    {
      "commit": "f6837bfa6506892e889ec79d8ab29931b4468826",
      "tree": "bc787e385934081637ca544fdead041ce60b3494",
      "parents": [
        "8dca7ffe2cdbcf8a2f188c8230044c3225b70418",
        "87afd448b186c885d67a08b7417cd46253b6a9d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:45:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:45:49 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/mthca: Clear ICM pages before handing to FW\n"
    },
    {
      "commit": "8dca7ffe2cdbcf8a2f188c8230044c3225b70418",
      "tree": "6192acd52c4bd0dcb0f502f35f94a8200ce6cf4c",
      "parents": [
        "945754a1754f9d4c2974a8241ad4f92fad7f3a6a",
        "3e14b50dd4a3178f4f635267a2706b5d4f8c61ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:18:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:18:06 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: sb - Fix wrong assertions\n  ALSA: aw2 - Fix Oops at initialization\n"
    },
    {
      "commit": "945754a1754f9d4c2974a8241ad4f92fad7f3a6a",
      "tree": "d310dc918d8094a1a6e00e15b24f7953616d7a82",
      "parents": [
        "672ca28e300c17bf8d792a2a7a8631193e580c74"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Jun 23 14:30:30 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 11:28:32 2008 -0700"
      },
      "message": "mm: fix race in COW logic\n\nThere is a race in the COW logic.  It contains a shortcut to avoid the\nCOW and reuse the page if we have the sole reference on the page,\nhowever it is possible to have two racing do_wp_page()ers with one\ncausing the other to mistakenly believe it is safe to take the shortcut\nwhen it is not.  This could lead to data corruption.\n\nProcess 1 and process2 each have a wp pte of the same anon page (ie.\none forked the other).  The page\u0027s mapcount is 2.  Then they both\nattempt to write to it around the same time...\n\n  proc1\t\t\t\tproc2 thr1\t\t\tproc2 thr2\n  CPU0\t\t\t\tCPU1\t\t\t\tCPU3\n  do_wp_page()\t\t\tdo_wp_page()\n\t\t\t\t trylock_page()\n\t\t\t\t  can_share_swap_page()\n\t\t\t\t   load page mapcount (\u003d\u003d2)\n\t\t\t\t  reuse \u003d 0\n\t\t\t\t pte unlock\n\t\t\t\t copy page to new_page\n\t\t\t\t pte lock\n\t\t\t\t page_remove_rmap(page);\n   trylock_page()\n    can_share_swap_page()\n     load page mapcount (\u003d\u003d1)\n    reuse \u003d 1\n   ptep_set_access_flags (allow W)\n\n  write private key into page\n\t\t\t\t\t\t\t\tread from page\n\t\t\t\tptep_clear_flush()\n\t\t\t\tset_pte_at(pte of new_page)\n\nFix this by moving the page_remove_rmap of the old page after the pte\nclear and flush.  Potentially the entire branch could be moved down\nhere, but in order to stay consistent, I won\u0027t (should probably move all\nthe *_mm_counter stuff with one patch).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "672ca28e300c17bf8d792a2a7a8631193e580c74",
      "tree": "73b414f017d15cd404528e2fdd555a93bdb69b61",
      "parents": [
        "96a331b1d6426726c37242ddbe939ee14b255790"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 11:21:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 11:21:37 2008 -0700"
      },
      "message": "Fix ZERO_PAGE breakage with vmware\n\nCommit 89f5b7da2a6bad2e84670422ab8192382a5aeb9f (\"Reinstate ZERO_PAGE\noptimization in \u0027get_user_pages()\u0027 and fix XIP\") broke vmware, as\nreported by Jeff Chua:\n\n  \"This broke vmware 6.0.4.\n   Jun 22 14:53:03.845: vmx| NOT_IMPLEMENTED\n   /build/mts/release/bora-93057/bora/vmx/main/vmmonPosix.c:774\"\n\nand the reason seems to be that there\u0027s an old bug in how we handle do\nFOLL_ANON on VM_SHARED areas in get_user_pages(), but since it only\ntriggered if the whole page table was missing, nobody had apparently hit\nit before.\n\nThe recent changes to \u0027follow_page()\u0027 made the FOLL_ANON logic trigger\nnot just for whole missing page tables, but for individual pages as\nwell, and exposed this problem.\n\nThis fixes it by making the test for when FOLL_ANON is used more\ncareful, and also makes the code easier to read and understand by moving\nthe logic to a separate inline function.\n\nReported-and-tested-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96a331b1d6426726c37242ddbe939ee14b255790",
      "tree": "298c5830d28c446e5b884fe54445ed0008145494",
      "parents": [
        "36c7343b4ecac2432430f5393314f1bdc2c219a5"
      ],
      "author": {
        "name": "Gustavo Fernando Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Mon Jun 23 12:07:06 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 10:36:47 2008 -0700"
      },
      "message": "removed unused var real_tty on n_tty_ioctl()\n\nI noted that the \u0027struct tty_struct *real_tty\u0027 is not used in this\nfunction, so I removed the code about \u0027real_tty\u0027.\n\nSigned-off-by: Gustavo Fernando Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36c7343b4ecac2432430f5393314f1bdc2c219a5",
      "tree": "06966862308ff46d4712f58fc95c3c5cacf43819",
      "parents": [
        "55d8538498f62ec72b5ba67aa386c7726f630475"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jun 23 12:06:52 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 10:36:47 2008 -0700"
      },
      "message": "tty_driver: Update required method documentation\n\nSome of the requirement rules are now more relaxed. Also correct a\ncontradiction in the previous update\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87afd448b186c885d67a08b7417cd46253b6a9d6",
      "tree": "763ae0a3f10879482ad414c192ac2be4d60a2b90",
      "parents": [
        "f9d1c6ca2bb1bbfde4a95d9e55ab3b0126825295"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jun 23 09:29:58 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jun 23 09:29:58 2008 -0700"
      },
      "message": "IB/mthca: Clear ICM pages before handing to FW\n\nCurrent memfree FW has a bug which in some cases, assumes that ICM\npages passed to it are cleared.  This patch uses __GFP_ZERO to\nallocate all ICM pages passed to the FW.  Once firmware with a fix is\nreleased, we can make the workaround conditional on firmware version.\n\nThis fixes the bug reported by Arthur Kepner \u003cakepner@sgi.com\u003e here:\nhttp://lists.openfabrics.org/pipermail/general/2008-May/050026.html\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n\n[ Rewritten to be a one-liner using __GFP_ZERO instead of vmap()ing\n  ICM memory and memset()ing it to 0. - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1b7558e457ed0de61023cfc913d2c342c7c3d9f2",
      "tree": "fcd456b1633bfd3e68ba2f6631831fbc5336108d",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 23 11:21:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 13:31:15 2008 +0200"
      },
      "message": "futexes: fix fault handling in futex_lock_pi\n\nThis patch addresses a very sporadic pi-futex related failure in\nhighly threaded java apps on large SMP systems.\n\nDavid Holmes reported that the pi_state consistency check in\nlookup_pi_state triggered with his test application. This means that\nthe kernel internal pi_state and the user space futex variable are out\nof sync. First we assumed that this is a user space data corruption,\nbut deeper investigation revieled that the problem happend because the\npi-futex code is not handling a fault in the futex_lock_pi path when\nthe user space variable needs to be fixed up.\n\nThe fault happens when a fork mapped the anon memory which contains\nthe futex readonly for COW or the page got swapped out exactly between\nthe unlock of the futex and the return of either the new futex owner\nor the task which was the expected owner but failed to acquire the\nkernel internal rtmutex. The current futex_lock_pi() code drops out\nwith an inconsistent in case it faults and returns -EFAULT to user\nspace. User space has no way to fixup that state.\n\nWhen we wrote this code we thought that we could not drop the hash\nbucket lock at this point to handle the fault.\n\nAfter analysing the code again it turned out to be wrong because there\nare only two tasks involved which might modify the pi_state and the\nuser space variable:\n\n - the task which acquired the rtmutex\n - the pending owner of the pi_state which did not get the rtmutex\n\nBoth tasks drop into the fixup_pi_state() function before returning to\nuser space. The first task which acquired the hash bucket lock faults\nin the fixup of the user space variable, drops the spinlock and calls\nfutex_handle_fault() to fault in the page. Now the second task could\nacquire the hash bucket lock and tries to fixup the user space\nvariable as well. It either faults as well or it succeeds because the\nfirst task already faulted the page in.\n\nOne caveat is to avoid a double fixup. After returning from the fault\nhandling we reacquire the hash bucket lock and check whether the\npi_state owner has been modified already.\n\nReported-by: David Holmes \u003cdavid.holmes@sun.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: David Holmes \u003cdavid.holmes@sun.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n kernel/futex.c |   93 ++++++++++++++++++++++++++++++++++++++++++++-------------\n 1 file changed, 73 insertions(+), 20 deletions(-)\n"
    },
    {
      "commit": "3e14b50dd4a3178f4f635267a2706b5d4f8c61ee",
      "tree": "3d16b9fbd8903a084b1e174dcb4f68aed94337eb",
      "parents": [
        "44e051773da465f8c92127914bc784770e0e2a28"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jun 23 11:58:06 2008 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jun 23 12:06:23 2008 +0200"
      },
      "message": "ALSA: sb - Fix wrong assertions\n\nsnd_assert() in save_mixer() and restore_mixer() in sb_mixer.c is\njust wrong.  The debug code wasn\u0027t tested at all, obviously...\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "44e051773da465f8c92127914bc784770e0e2a28",
      "tree": "d984ee6d1e75bbf85b98745c2160dab9afc12aaf",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jun 23 11:54:05 2008 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jun 23 12:06:23 2008 +0200"
      },
      "message": "ALSA: aw2 - Fix Oops at initialization\n\nThe irq handler may be called before the proper initialization of hardware.\nCall snd_aw2_saa7146_setup() before the irq handler registration.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "198bb971e256e4167e45e7df643c13ea66f67e3a",
      "tree": "85b8b2bf6cc78bf0e53a2187ed5796f076922334",
      "parents": [
        "ea71a546706dfdad72462624394e1e472c6bf34f",
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:00:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:00:26 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "55d8538498f62ec72b5ba67aa386c7726f630475",
      "tree": "15ebcc7a51fdf1ff2bf76ade337a637c0990055d",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 22 12:23:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 22 12:23:15 2008 -0700"
      },
      "message": "Fix performance regression on lmbench select benchmark\n\nChristian Borntraeger reported that reinstating cond_resched() with\nCONFIG_PREEMPT caused a performance regression on lmbench:\n\n\tFor example select file 500:\n\t23 microseconds\n\t32 microseconds\n\nand that\u0027s really because we totally unnecessarily do the cond_resched()\nin the innermost loop of select(), which is just silly.\n\nThis moves it out from the innermost loop (which only ever loops ove the\nbits in a single \"unsigned long\" anyway), which makes the performance\nregression go away.\n\nReported-and-tested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "481c5346d0981940ee63037eb53e4e37b0735c10",
      "tree": "3fcae626ec4e1d4e698008671cfd62d794992ac5",
      "parents": [
        "62a8efe632be1815b544845db643f1fcd9afcfb0"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Jun 21 16:46:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 16:51:02 2008 -0700"
      },
      "message": "Slab: Fix memory leak in fallback_alloc()\n\nThe zonelist patches caused the loop that checks for available\nobjects in permitted zones to not terminate immediately. One object\nper zone per allocation may be allocated and then abandoned.\n\nBreak the loop when we have successfully allocated one object.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62a8efe632be1815b544845db643f1fcd9afcfb0",
      "tree": "ae7802a595f9618c164df22e0d997ee537e2f0ca",
      "parents": [
        "bec95aab8c056ab490fe7fa54da822938562443d",
        "2856922c158605514ec5974a03097eaec91f4c0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 16:43:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 16:43:56 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  Ext4: Fix online resize block group descriptor corruption\n"
    },
    {
      "commit": "bec95aab8c056ab490fe7fa54da822938562443d",
      "tree": "597856476547811928a6d053f9e050045c613d38",
      "parents": [
        "71c2742f5e6348d76ee62085cf0a13e5eff0f00e",
        "bcccc3a28e9cbb44549cde326852c26203a53a56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 12:31:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 12:31:32 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6\n\n* \u0027release\u0027 of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6:\n  hwmon: (lm75) sensor reading bugfix\n  hwmon: (abituguru3) update driver detection\n  hwmon: (w83791d) new maintainer\n  hwmon: (abituguru3) Identify Abit AW8D board as such\n  hwmon: Update the sysfs interface documentation\n  hwmon: (adt7473) Initialize max_duty_at_overheat before use\n  hwmon: (lm85) Fix function RANGE_TO_REG()\n"
    },
    {
      "commit": "71c2742f5e6348d76ee62085cf0a13e5eff0f00e",
      "tree": "44020f575319903e3ef18665baec360b6ea1c98d",
      "parents": [
        "a19214430d27a3af6f1672ec26f3c893ef899ede"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Sat Jun 21 19:01:02 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 11:25:10 2008 -0700"
      },
      "message": "Add return value to reserve_bootmem_node()\n\nThis patch changes the function reserve_bootmem_node() from void to int,\nreturning -ENOMEM if the allocation fails.\n\nThis fixes a build problem on x86 with CONFIG_KEXEC\u003dy and\nCONFIG_NEED_MULTIPLE_NODES\u003dy\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nReported-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a19214430d27a3af6f1672ec26f3c893ef899ede",
      "tree": "ecd998eaf216f6e195c65cb050f4335db86b26f6",
      "parents": [
        "b732d9680b7a2968823851f1163507ad9c45c8cb",
        "b9f75f45a6b46a0ab4eb0857d437a0845871f314"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 08:44:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 08:44:08 2008 -0700"
      },
      "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  netns: Don\u0027t receive new packets in a dead network namespace.\n  sctp: Make sure N * sizeof(union sctp_addr) does not overflow.\n  pppoe: warning fix\n  ipv6: Drop packets for loopback address from outside of the box.\n  ipv6: Remove options header when setsockopt\u0027s optlen is 0\n  mac80211: detect driver tx bugs\n"
    },
    {
      "commit": "b9f75f45a6b46a0ab4eb0857d437a0845871f314",
      "tree": "5c893f3b63d52e5b52fbb7644a833cffdb2c5af2",
      "parents": [
        "735ce972fbc8a65fb17788debd7bbe7b4383cc62"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Jun 20 22:16:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 22:16:51 2008 -0700"
      },
      "message": "netns: Don\u0027t receive new packets in a dead network namespace.\n\nAlexey Dobriyan \u003cadobriyan@gmail.com\u003e writes:\n\u003e Subject: ICMP sockets destruction vs ICMP packets oops\n\n\u003e After icmp_sk_exit() nuked ICMP sockets, we get an interrupt.\n\u003e icmp_reply() wants ICMP socket.\n\u003e\n\u003e Steps to reproduce:\n\u003e\n\u003e \tlaunch shell in new netns\n\u003e \tmove real NIC to netns\n\u003e \tsetup routing\n\u003e \tping -i 0\n\u003e \texit from shell\n\u003e\n\u003e BUG: unable to handle kernel NULL pointer dereference at 0000000000000000\n\u003e IP: [\u003cffffffff803fce17\u003e] icmp_sk+0x17/0x30\n\u003e PGD 17f3cd067 PUD 17f3ce067 PMD 0 \n\u003e Oops: 0000 [1] PREEMPT SMP DEBUG_PAGEALLOC\n\u003e CPU 0 \n\u003e Modules linked in: usblp usbcore\n\u003e Pid: 0, comm: swapper Not tainted 2.6.26-rc6-netns-ct #4\n\u003e RIP: 0010:[\u003cffffffff803fce17\u003e]  [\u003cffffffff803fce17\u003e] icmp_sk+0x17/0x30\n\u003e RSP: 0018:ffffffff8057fc30  EFLAGS: 00010286\n\u003e RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff81017c7db900\n\u003e RDX: 0000000000000034 RSI: ffff81017c7db900 RDI: ffff81017dc41800\n\u003e RBP: ffffffff8057fc40 R08: 0000000000000001 R09: 000000000000a815\n\u003e R10: 0000000000000000 R11: 0000000000000001 R12: ffffffff8057fd28\n\u003e R13: ffffffff8057fd00 R14: ffff81017c7db938 R15: ffff81017dc41800\n\u003e FS:  0000000000000000(0000) GS:ffffffff80525000(0000) knlGS:0000000000000000\n\u003e CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n\u003e CR2: 0000000000000000 CR3: 000000017fcda000 CR4: 00000000000006e0\n\u003e DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n\u003e DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n\u003e Process swapper (pid: 0, threadinfo ffffffff8053a000, task ffffffff804fa4a0)\n\u003e Stack:  0000000000000000 ffff81017c7db900 ffffffff8057fcf0 ffffffff803fcfe4\n\u003e  ffffffff804faa38 0000000000000246 0000000000005a40 0000000000000246\n\u003e  000000000001ffff ffff81017dd68dc0 0000000000005a40 0000000055342436\n\u003e Call Trace:\n\u003e  \u003cIRQ\u003e  [\u003cffffffff803fcfe4\u003e] icmp_reply+0x44/0x1e0\n\u003e  [\u003cffffffff803d3a0a\u003e] ? ip_route_input+0x23a/0x1360\n\u003e  [\u003cffffffff803fd645\u003e] icmp_echo+0x65/0x70\n\u003e  [\u003cffffffff803fd300\u003e] icmp_rcv+0x180/0x1b0\n\u003e  [\u003cffffffff803d6d84\u003e] ip_local_deliver+0xf4/0x1f0\n\u003e  [\u003cffffffff803d71bb\u003e] ip_rcv+0x33b/0x650\n\u003e  [\u003cffffffff803bb16a\u003e] netif_receive_skb+0x27a/0x340\n\u003e  [\u003cffffffff803be57d\u003e] process_backlog+0x9d/0x100\n\u003e  [\u003cffffffff803bdd4d\u003e] net_rx_action+0x18d/0x250\n\u003e  [\u003cffffffff80237be5\u003e] __do_softirq+0x75/0x100\n\u003e  [\u003cffffffff8020c97c\u003e] call_softirq+0x1c/0x30\n\u003e  [\u003cffffffff8020f085\u003e] do_softirq+0x65/0xa0\n\u003e  [\u003cffffffff80237af7\u003e] irq_exit+0x97/0xa0\n\u003e  [\u003cffffffff8020f198\u003e] do_IRQ+0xa8/0x130\n\u003e  [\u003cffffffff80212ee0\u003e] ? mwait_idle+0x0/0x60\n\u003e  [\u003cffffffff8020bc46\u003e] ret_from_intr+0x0/0xf\n\u003e  \u003cEOI\u003e  [\u003cffffffff80212f2c\u003e] ? mwait_idle+0x4c/0x60\n\u003e  [\u003cffffffff80212f23\u003e] ? mwait_idle+0x43/0x60\n\u003e  [\u003cffffffff8020a217\u003e] ? cpu_idle+0x57/0xa0\n\u003e  [\u003cffffffff8040f380\u003e] ? rest_init+0x70/0x80\n\u003e Code: 10 5b 41 5c 41 5d 41 5e c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 53\n\u003e 48 83 ec 08 48 8b 9f 78 01 00 00 e8 2b c7 f1 ff 89 c0 \u003c48\u003e 8b 04 c3 48 83 c4 08\n\u003e 5b c9 c3 66 66 66 66 66 2e 0f 1f 84 00\n\u003e RIP  [\u003cffffffff803fce17\u003e] icmp_sk+0x17/0x30\n\u003e  RSP \u003cffffffff8057fc30\u003e\n\u003e CR2: 0000000000000000\n\u003e ---[ end trace ea161157b76b33e8 ]---\n\u003e Kernel panic - not syncing: Aiee, killing interrupt handler!\n\nReceiving packets while we are cleaning up a network namespace is a\nracy proposition. It is possible when the packet arrives that we have\nremoved some but not all of the state we need to fully process it.  We\nhave the choice of either playing wack-a-mole with the cleanup routines\nor simply dropping packets when we don\u0027t have a network namespace to\nhandle them.\n\nSince the check looks inexpensive in netif_receive_skb let\u0027s just\ndrop the incoming packets.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "735ce972fbc8a65fb17788debd7bbe7b4383cc62",
      "tree": "b047160a720011021b148350e42d8cc020f06a61",
      "parents": [
        "2645a3c3761ac25498db2e627271016c849c68e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 22:04:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 22:04:34 2008 -0700"
      },
      "message": "sctp: Make sure N * sizeof(union sctp_addr) does not overflow.\n\nAs noticed by Gabriel Campana, the kmalloc() length arg\npassed in by sctp_getsockopt_local_addrs_old() can overflow\nif -\u003eaddr_num is large enough.\n\nTherefore, enforce an appropriate limit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2645a3c3761ac25498db2e627271016c849c68e1",
      "tree": "bf9ef85b4aede7a1773af2971084911245385c2d",
      "parents": [
        "f630e43a215a3129d0c1173cae0bce6ea4855cf7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Jun 20 21:58:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 21:58:02 2008 -0700"
      },
      "message": "pppoe: warning fix\n\nFix warning:\ndrivers/net/pppoe.c: In function \u0027pppoe_recvmsg\u0027:\ndrivers/net/pppoe.c:945: warning: comparison of distinct pointer types lacks a cast\nbecause skb-\u003elen is unsigned int and total_len is size_t\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b732d9680b7a2968823851f1163507ad9c45c8cb",
      "tree": "d4584316d00a021d3d54052676a870c8b2999f23",
      "parents": [
        "a744e0160ac5804b763449aa34d3991dc21af0be",
        "e0c6d97c65e0784aade7e97b9411f245a6c543e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 17:10:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 17:10:04 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] SN2: security hole in sn2_ptc_proc_write\n"
    },
    {
      "commit": "a744e0160ac5804b763449aa34d3991dc21af0be",
      "tree": "e646b305bef58b6fa5f1b0fda4de5974ca1e5df3",
      "parents": [
        "d559d4a24a3fed75bd890abcc1f95cd8d8dad6e1"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sat Jun 21 03:28:54 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:46:10 2008 -0700"
      },
      "message": "alpha: resurrect Cypress IDE quirk\n\nWhich was removed in the hope that generic legacy IDE quirk in\ndrivers/pci/probe.c is sufficient for Cypress IDE.\nIt isn\u0027t, as this controller has non-standard BAR layout:\nsecondary channel registers are in the BAR0-1 of the second\nPCI function - not in the BAR2-3 of the same function, as the\ngeneric quirk routine assumes.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d559d4a24a3fed75bd890abcc1f95cd8d8dad6e1",
      "tree": "2f920b9fc7a7bed1ce857474505793fe1431eac3",
      "parents": [
        "ede426923b25414f5ec9c00fefe6727d9721dd13"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sat Jun 21 03:28:31 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:46:10 2008 -0700"
      },
      "message": "alpha: fix compile failures with gcc-4.3 (bug #10438)\n\nVast majority of these build failures are gcc-4.3 warnings\nabout static functions and objects being referenced from\nnon-static (read: \"extern inline\") functions, in conjunction\nwith our -Werror.\n\nWe cannot just convert \"extern inline\" to \"static inline\",\nas people keep suggesting all the time, because \"extern inline\"\nlogic is crucial for generic kernel build.\nSo\n- just make sure that all callees of critical \"extern inline\"\n  functions are also \"extern inline\";\n- use \"static inline\", wherever it\u0027s possible.\n\ntraps.c: work around gcc-4.3 being too smart about array\nbounds-checking.\n\nTODO: add \"gnu_inline\" attribute to all our \"extern inline\"\nfunctions to ensure desired behaviour with future compilers.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ede426923b25414f5ec9c00fefe6727d9721dd13",
      "tree": "201a873e852807d0b5a02503eecd39a45338be94",
      "parents": [
        "9267b4b3880d00dc2dab90f1d817c856939114f7"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sat Jun 21 03:26:21 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:46:10 2008 -0700"
      },
      "message": "alpha: link failure fix\n\nWith built-in scsi disk driver, the final link fails with a following\nerror:\n`.exit.text\u0027 referenced in section `.rodata\u0027 of drivers/built-in.o:\ndefined in discarded section `.exit.text\u0027 of drivers/built-in.o\n\nThis happens with -Os (CONFIG_CC_OPTIMIZE_FOR_SIZE\u003dy) with all gcc-4\nversions, and also with -O2 and gcc-4.3.\n\nThe problem is in sd.c:sd_major() being inlined into __exit function\nexit_sd(), and the compiler generating a jump table in .rodata section\nfor the \u0027switch\u0027 statement in sd_major(). So we have references to\ndiscarded section.\n\nFixed with a big hammer in the form of -fno-jump-tables.\n\nNote that jump tables vs. discarded sections is a generic problem,\nother architectures are just lucky not to suffer from it. But with\na slightly more complex switch/case statement it can be reproduced\non x86 as well. So maybe at some point we should consider\n-fno-jump-tables as a generic compile option...\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9267b4b3880d00dc2dab90f1d817c856939114f7",
      "tree": "9823a76657f257d71aac2a5f4374c56560dd2e6e",
      "parents": [
        "d70ac829b7f42d7ef4f879635c6a772b0b4ed0a2"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sat Jun 21 03:25:39 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:46:10 2008 -0700"
      },
      "message": "alpha: fix module load failures on smp (bug #10926)\n\nTo calculate addresses of locally defined variables, GCC uses 32-bit\ndisplacement from the GP. Which doesn\u0027t work for per cpu variables in\nmodules, as an offset to the kernel per cpu area is way above 4G.\n\nThe workaround is to force allocation of a GOT entry for per cpu variable\nusing ldq instruction with a \u0027literal\u0027 relocation.\nI had to use custom asm/percpu.h, as a required argument magic doesn\u0027t\nwork with asm-generic/percpu.h macros.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d70ac829b7f42d7ef4f879635c6a772b0b4ed0a2",
      "tree": "b9cf4fd3fe6afea7ec4e09a2bd976d9964f9266e",
      "parents": [
        "06d5e334a4f8a1f33ebfcdc89c077f4fc85bcffb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:19:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:19:44 2008 -0700"
      },
      "message": "Linux 2.6.26-rc7\n"
    },
    {
      "commit": "06d5e334a4f8a1f33ebfcdc89c077f4fc85bcffb",
      "tree": "f8a55625cef3e754702add71acaf9958edfd8352",
      "parents": [
        "d5545fa0056ff2982f8a6419bd9a6ba2674deefd",
        "ac1623625c5818bbdf5c68973098ba386ba7a004"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:46:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:46:47 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  BAST: Remove old IDE driver\n  pcmcia ide kingston compactflash\u0027s have a new manufacturer id\n  pcmcia: add another pata/ide ID\n  pcmcia: add an pata/ide ID\n  ide: increase timeout in wait_drive_not_busy()\n  palm_bk3710: fix resource management\n"
    },
    {
      "commit": "d5545fa0056ff2982f8a6419bd9a6ba2674deefd",
      "tree": "f6f4eb4b1d7a4b3b65b2ae58c993bc456facfb45",
      "parents": [
        "77a189c28b44035ff1b6841df32c43af8a9e8399",
        "9499fe2b340d19ef55c349de794db9d917e7403f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:41:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:41:10 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: Kconfig menu touch-up\n  firewire: Kconfig menu touch-up\n  firewire: deadline for PHY config transmission\n  firewire: fw-ohci: unify printk prefixes\n  firewire: fill_bus_reset_event needs lock protection\n  firewire: fw-ohci: write selfIDBufferPtr before LinkControl.rcvSelfID\n  firewire: fw-ohci: disable PHY packet reception into AR context\n  firewire: fw-ohci: use of uninitialized data in AR handler\n  firewire: don\u0027t panic on invalid AR request buffer\n"
    },
    {
      "commit": "77a189c28b44035ff1b6841df32c43af8a9e8399",
      "tree": "fc72ff43367d887da25a63b523eb7380d85094a1",
      "parents": [
        "9aef85cc58f54f01bbbafdb3c87af4465f4257c0",
        "5a87f7f5e523030aa6fe732ec338fd53c9a11c42"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:39:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:39:12 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  ACPI: no AC status notification\n  ACPI Exception (video-1721): UNKNOWN_STATUS_CODE, Cant attach device\n"
    },
    {
      "commit": "9aef85cc58f54f01bbbafdb3c87af4465f4257c0",
      "tree": "5bad4a1e733b46aa60f7af866409d3cb984d39c7",
      "parents": [
        "fdfe6d3d000775b50fb1adbc278ba0a34c3007c7",
        "858a3685bcf3ac199128e4aa85eaae2fb9d191b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:38:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:38:18 2008 -0700"
      },
      "message": "Merge branch \u0027drm-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (21 commits)\n  drm: only trust core drm ioctls - driver ioctls are a mess.\n  drm/i915: add support for Intel series 4 chipsets.\n  drm/radeon: add hier-z registers for r300 and r500 chipsets\n  drm/radeon: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTAT\n  drm/radeon: switch IGP gart to use radeon_write_agp_base()\n  drm/radeon: Restore sw interrupt on resume\n  drm/r500: add support for AGP based cards.\n  drm/radeon: fix texture uploads with large 3d textures (bug 13980)\n  drm/radeon: add initial r500 support.\n  drm/radeon: init pipe setup in kernel code.\n  drm/radeon: fixup radeon_do_engine_reset\n  drm/radeon: fix pixcache and purge/cache flushing registers\n  drm/radeon: write AGP_BASE_2 on chips that support it.\n  drm/radeon: merge IGP chip setup and fixup RS400 vs RS480 support\n  drm/radeon: IGP clean up register and magic numbers.\n  drm/rs690: set base 2 to 0.\n  drm/rs690: set all of gart base address.\n  radeon: add production microcode from AMD\n  drm: pcigart use proper pci map interfaces.\n  drm: the sg alloc ioctl should write back the handle to userspace\n  ...\n"
    },
    {
      "commit": "fdfe6d3d000775b50fb1adbc278ba0a34c3007c7",
      "tree": "1d8f90f6be657cd7de16692474d9e85d7bc2f92d",
      "parents": [
        "1f1e2ce8a55bac60ff165d353c6b882e750c9092",
        "7d15ddf79ec35ce79093832c80b86c0888eb5bce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:55 2008 -0700"
      },
      "message": "Merge branch \u0027agp-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6\n\n* \u0027agp-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6:\n  [agp]: fixup chipset flush for new Intel G4x.\n  agp: brown paper bag patch - put back the two lines it took out.\n"
    },
    {
      "commit": "1f1e2ce8a55bac60ff165d353c6b882e750c9092",
      "tree": "b11aaa5baa04ea5ea0ecc549fa1c95430919cd82",
      "parents": [
        "e570dc2a503f8334b700e8483082c675394f53fd",
        "9c106c119ebedf624fbd682fd2a4d52e3c8c1a67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:13 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  rcupreempt: remove export of rcu_batches_completed_bh\n  cpuset: limit the input of cpuset.sched_relax_domain_level\n"
    },
    {
      "commit": "e570dc2a503f8334b700e8483082c675394f53fd",
      "tree": "cd188ec93f5bea1f06accbdc916876e891bdb9b0",
      "parents": [
        "b1ae8d3a00530c035ef97fa4d97f4bee9be75c43",
        "d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:36:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:36:55 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue\n  sched: CPU hotplug events must not destroy scheduler domains created by the cpusets\n  sched: rt-group: fix RR buglet\n  sched: rt-group: heirarchy aware throttle\n  sched: rt-group: fix hierarchy\n  sched: NULL pointer dereference while setting sched_rt_period_us\n  sched: fix defined-but-unused warning\n"
    },
    {
      "commit": "b1ae8d3a00530c035ef97fa4d97f4bee9be75c43",
      "tree": "6d98f8048b68643803c6a70fba503c18126bd8d1",
      "parents": [
        "55017923f699471f68c1469d5f3ff141dd416ab4",
        "ffe6e1da86d21d7855495b5a772c93f050258f6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:36:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:36:38 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, geode: add a VSA2 ID for General Software\n  x86: use BOOTMEM_EXCLUSIVE on 32-bit\n  x86, 32-bit: fix boot failure on TSC-less processors\n  x86: fix NULL pointer deref in __switch_to\n  x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits.\n"
    },
    {
      "commit": "55017923f699471f68c1469d5f3ff141dd416ab4",
      "tree": "d0a45ea1da874baf556218a0b33ce9141760bb30",
      "parents": [
        "b4eea67a129423fe423c5d8d26a0aaa9d68ed600",
        "f30ac0ce34f32bb998ac87e37b251374de03e603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:34:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:34:43 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:\n  Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue.\n  Blackfin arch: fix typo error in bf548 serial header file\n"
    },
    {
      "commit": "b4eea67a129423fe423c5d8d26a0aaa9d68ed600",
      "tree": "7c0fdf21fe2864d88762d54c91b77212614caf0c",
      "parents": [
        "1f6ef2342972dc7fd623f360f84006e2304eb935",
        "9a3b103c27a7e3199b917bc3ca219530132afdfc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:31:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:31:03 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  ahci: sis can\u0027t do PMP\n  ata_piix: add TECRA M4 to broken suspend list\n  LIBATA: Add HAVE_PATA_PLATFORM to select PATA_PLATFORM driver\n  sata_mv: warn on PIO with multiple DRQs\n  sata_mv: enable async_notify for 60x1 Rev.C0 and higher\n  libata: don\u0027t check whether to use DMA or not for no data commands\n  ahci: jmb361 has only one port\n"
    },
    {
      "commit": "1f6ef2342972dc7fd623f360f84006e2304eb935",
      "tree": "4bc32bb53b6203ba570e21025e1385c0f1db6061",
      "parents": [
        "89f5b7da2a6bad2e84670422ab8192382a5aeb9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:19:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:25:34 2008 -0700"
      },
      "message": "[watchdog] hpwdt: fix use of inline assembly\n\nThe inline assembly in drivers/watchdog/hpwdt.c was incredibly broken,\nand included all the function prologue and epilogue stuff, even though\nit was itself then inside a C function where the compiler would add its\nown prologue and epilogue on top of it all.\n\nThis then just _happened_ to work if you had exactly the right compiler\nversion and exactly the right compiler flags, so that gcc just happened\nto not create any prologue at all (the gcc-generated epilogue wouldn\u0027t\nmatter, since it would never be reached).\n\nBut the more proper way to fix it is to simply not do this.  Move the\ninline asm to the top level, with no surrounding function at all (the\nbetter alternative would be to remove the prologue and make it actually\nuse proper description of the arguments to the inline asm, but that\u0027s a\nbigger change than the one I\u0027m willing to make right now).\n\nTested-by: S.Çağlar Onur \u003ccaglar@pardus.org.tr\u003e\nAcked-by: Thomas Mingarelli \u003cThomas.Mingarelli@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0c6d97c65e0784aade7e97b9411f245a6c543e7",
      "tree": "dd860efd59feb48050598035301628b79b5b954f",
      "parents": [
        "9bedbcb207ed9a571b239231d99c8fd4a34ae24d"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Fri Jun 20 12:02:00 2008 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jun 20 12:02:00 2008 -0700"
      },
      "message": "[IA64] SN2: security hole in sn2_ptc_proc_write\n\nSecurity hole in sn2_ptc_proc_write\n\nIt is possible to overrun a buffer with a write to this /proc file.\n\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "ac1623625c5818bbdf5c68973098ba386ba7a004",
      "tree": "64376f6da43c93abf1c841e247c30d30377fd407",
      "parents": [
        "a49c06bfe48c43b4fea4d3789807d8393828ca8a"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Jun 20 20:53:35 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 20 20:53:35 2008 +0200"
      },
      "message": "BAST: Remove old IDE driver\n\nRemove the old BAST IDE driver, as we are now using the platform-pata\nsupport.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a49c06bfe48c43b4fea4d3789807d8393828ca8a",
      "tree": "7350eb6ef7fc2d246c6f248eac5390f2c47408cb",
      "parents": [
        "a17bf220231a5061a29a27a99a273246eb3b156e"
      ],
      "author": {
        "name": "Christophe Niclaes",
        "email": "cniclaes@develtech.com",
        "time": "Fri Jun 20 20:53:34 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 20 20:53:34 2008 +0200"
      },
      "message": "pcmcia ide kingston compactflash\u0027s have a new manufacturer id\n\nUp to now, Kingston compactflash cards (ab)used the Toshiba Manufacturer\u0027s ID,\nIn their new CF cards, they use a new one.  Let\u0027s the ide subsystem\nrecognize CF cards with the new id.\n\nSigned-off-by: Christophe Niclaes \u003ccniclaes@develtech.com\u003e\nAcked-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a17bf220231a5061a29a27a99a273246eb3b156e",
      "tree": "fcc62bd3e092533dc5aff7a7fa3119a004264238",
      "parents": [
        "74e23386b7818c7edb1252f6661806dd34042db1"
      ],
      "author": {
        "name": "Kristoffer Ericson",
        "email": "kristoffer_e1@hotmail.com",
        "time": "Fri Jun 20 20:53:34 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 20 20:53:34 2008 +0200"
      },
      "message": "pcmcia: add another pata/ide ID\n\nAddition of Transcend 1GB 45x id so that it is properly detected.\n\n[bart: fix typo in ide-cs\u0027s ID spotted by Alan Cox]\n\nSigned-off-by: William Peters \u003cw1ll14@gmail.com\u003e\nSigned-off-by: Kristoffer Ericson \u003cKristoffer_e1@hotmail.com\u003e\nCC: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCC: linux-ide@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "74e23386b7818c7edb1252f6661806dd34042db1",
      "tree": "0c0cf212aa609787a87a486f581fa358b0c24169",
      "parents": [
        "f54feafa6d47d0aa1a96adefdc763b708b02f94f"
      ],
      "author": {
        "name": "Matt Reimer",
        "email": "mattjreimer@gmail.com",
        "time": "Fri Jun 20 20:53:34 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 20 20:53:34 2008 +0200"
      },
      "message": "pcmcia: add an pata/ide ID\n\nAdd an id for:\n\nproduct info: \"M-Systems\", \"CF300\", \"\"\nmanfid: 0x000a, 0x0000\nfunction: 4 (fixed disk)\n\nSigned-off-by: Matt Reimer \u003cmreimer@vpop.net\u003e\nCC: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCC: linux-ide@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f54feafa6d47d0aa1a96adefdc763b708b02f94f",
      "tree": "a14b7030652ba394656862625eaa192d271e8c99",
      "parents": [
        "ce42a54946db338e43be9a89c0f7927e02aa3a16"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 20 20:53:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 20 20:53:33 2008 +0200"
      },
      "message": "ide: increase timeout in wait_drive_not_busy()\n\nSome ATAPI devices take longer than the current max timeout value to\nbecome ready (i.e. TEAC DV-W28ECW takes 6 ms) so increase the timeout\nvalue to 10 ms.\n\nThis fixes kernel.org bugzilla bug #10887:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10887\n\nReported-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ce42a54946db338e43be9a89c0f7927e02aa3a16",
      "tree": "278d32be3b1bed64360b9acdf50de0e157fa24a3",
      "parents": [
        "9bedbcb207ed9a571b239231d99c8fd4a34ae24d"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Jun 20 20:53:32 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 20 20:53:32 2008 +0200"
      },
      "message": "palm_bk3710: fix resource management\n\nThe driver expected a *virtual* address in the IDE platform device\u0027s memory\nresource and didn\u0027t request the memory region for the register block. Fix this\ntaking into account the fact that DaVinci SoC devices are fixed-mapped to the\nvirtual memory early and we can get their virtual addresses using IO_ADDRESS()\nmacro, not having to call ioremap()...\n\nWhile at it, also do some cosmetic changes...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "89f5b7da2a6bad2e84670422ab8192382a5aeb9f",
      "tree": "4f55cf9ef8a76d4b9a960e1b443ed015e63e713f",
      "parents": [
        "9bedbcb207ed9a571b239231d99c8fd4a34ae24d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 11:18:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 11:18:25 2008 -0700"
      },
      "message": "Reinstate ZERO_PAGE optimization in \u0027get_user_pages()\u0027 and fix XIP\n\nKAMEZAWA Hiroyuki and Oleg Nesterov point out that since the commit\n557ed1fa2620dc119adb86b34c614e152a629a80 (\"remove ZERO_PAGE\") removed\nthe ZERO_PAGE from the VM mappings, any users of get_user_pages() will\ngenerally now populate the VM with real empty pages needlessly.\n\nWe used to get the ZERO_PAGE when we did the \"handle_mm_fault()\", but\nsince fault handling no longer uses ZERO_PAGE for new anonymous pages,\nwe now need to handle that special case in follow_page() instead.\n\nIn particular, the removal of ZERO_PAGE effectively removed the core\nfile writing optimization where we would skip writing pages that had not\nbeen populated at all, and increased memory pressure a lot by allocating\nall those useless newly zeroed pages.\n\nThis reinstates the optimization by making the unmapped PTE case the\nsame as for a non-existent page table, which already did this correctly.\n\nWhile at it, this also fixes the XIP case for follow_page(), where the\ncaller could not differentiate between the case of a page that simply\ncould not be used (because it had no \"struct page\" associated with it)\nand a page that just wasn\u0027t mapped.\n\nWe do that by simply returning an error pointer for pages that could not\nbe turned into a \"struct page *\".  The error is arbitrarily picked to be\nEFAULT, since that was what get_user_pages() already used for the\nequivalent IO-mapped page case.\n\n[ Also removed an impossible test for pte_offset_map_lock() failing:\n  that\u0027s not how that function works ]\n\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2856922c158605514ec5974a03097eaec91f4c0d",
      "tree": "1b3cdadf7f4f4302d8d16eb8d310ab7811846de3",
      "parents": [
        "5dd34572ad9a3be430632dd42e4af2ea370b397b"
      ],
      "author": {
        "name": "Frederic Bohe",
        "email": "frederic.bohe@bull.net",
        "time": "Fri Jun 20 11:48:48 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jun 20 11:48:48 2008 -0400"
      },
      "message": "Ext4: Fix online resize block group descriptor corruption\n\nThis is the patch for the group descriptor table corruption during\nonline resize pointed out by Theodore Tso.  The problem was caused by\nthe fact that the ext4 group descriptor can be either 32 or 64 bytes\nlong.  Only the 64 bytes structure was taken into account.\n\nSigned-off-by: Frederic Bohe \u003cfrederic.bohe@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ea71a546706dfdad72462624394e1e472c6bf34f",
      "tree": "eb6f257c73510deee995f330947de4624e9b404b",
      "parents": [
        "bb10ed0994927d433f6dbdf274fdb26cfcf516b7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jun 20 18:32:20 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 17:15:49 2008 +0200"
      },
      "message": "sched: refactor wait_for_completion_timeout()\n\nSimplify the code and fix the boundary condition of\nwait_for_completion_timeout(,0).\n\nWe can kill the first __remove_wait_queue() as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "ebb9cfe20fe167f29960a5e913193a684fac50bf",
      "tree": "c3253129327b72097f3988e1b396f790a72da375",
      "parents": [
        "05345b0f006ac226d0d25d48fcb2d792ac44a071"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jun 16 15:01:56 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 14:56:41 2008 +0200"
      },
      "message": "xen: don\u0027t drop NX bit\n\nBecause NX is now enforced properly, we must put the hypercall page\ninto the .text segment so that it is executable.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\nCc: the arch/x86 maintainers \u003cx86@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "05345b0f006ac226d0d25d48fcb2d792ac44a071",
      "tree": "dfb335dc2dd441de5772c47186a5403e64909b66",
      "parents": [
        "46539383791a0e59a4af7412056dfbfc5240af0a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jun 16 15:01:53 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 14:56:36 2008 +0200"
      },
      "message": "xen: mask unwanted pte bits in __supported_pte_mask\n\n[ Stable: this isn\u0027t a bugfix in itself, but it\u0027s a pre-requiste\n  for \"xen: don\u0027t drop NX bit\" ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\nCc: the arch/x86 maintainers \u003cx86@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "46539383791a0e59a4af7412056dfbfc5240af0a",
      "tree": "3d41133619858b27d3c34e09d787a6120b3646cb",
      "parents": [
        "54481cf88bc59923ea30f2ca345a73c60155e901"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Mon Jun 16 14:58:13 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 14:56:30 2008 +0200"
      },
      "message": "xen: Use wmb instead of rmb in xen_evtchn_do_upcall().\n\nThis patch is ported one from 534:77db69c38249 of linux-2.6.18-xen.hg.\nUse wmb instead of rmb to enforce ordering between\nevtchn_upcall_pending and evtchn_pending_sel stores\nin xen_evtchn_do_upcall().\n\nCc: Samuel Thibault \u003csamuel.thibault@eu.citrix.com\u003e\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: the arch/x86 maintainers \u003cx86@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "54481cf88bc59923ea30f2ca345a73c60155e901"
}
