)]}'
{
  "log": [
    {
      "commit": "cd4a779f985405338500cdd830e71d8dde7c6576",
      "tree": "320408f43d618cba78a5df055b311d3f8c2f2e31",
      "parents": [
        "fd4554e62a8e4ad0c5a163776d4a518f09b51668"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 15:31:56 2011 -0500"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Aug 09 05:01:09 2011 -0500"
      },
      "message": "ns proc: Enable setns for support for the pid namespace\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "fd4554e62a8e4ad0c5a163776d4a518f09b51668",
      "tree": "f976863d3c12d40f01e8684418c9e1dc4aa950dc",
      "parents": [
        "d6a5b1482d7ba86cf639f35540812d6d6e905ccd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 02 15:41:50 2010 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Aug 09 05:01:06 2011 -0500"
      },
      "message": "pidns: Support unsharing the pid namespace.\n\n- Allow CLONEW_NEWPID into unshare.\n- Pass both nsproxy-\u003epid_ns and task_active_pid_ns to copy_pid_ns\n  As they can now be different.\n\nUnsharing of the pid namespace unlike unsharing of other namespaces\ndoes not take affect immediately.  Instead it affects the children\ncreated with fork and clone.  The first of these children becomes the init\nprocess of the new pid namespace, the rest become oddball children\nof pid 0.  From the point of view of the new pid namespace the process\nthat created it is pid 0, as it\u0027s pid does not map.\n\nA couple of different semantics were considered but this one was\nsettled on because it is easy to implement and it is usable from\npam modules.  The core reasons for the existence of unshare.\n\nI took a survey of the callers of pam modules and the following\nappears to be a representative sample of their logic.\n{\n\tsetup stuff include pam\n\tchild \u003d fork();\n\tif (!child) {\n\t\tsetuid()\n                exec /bin/bash\n        }\n        waitpid(child);\n\n        pam and other cleanup\n}\n\nAs you can see there is a fork to create the unprivileged user\nspace process.  Which means that the unprivileged user space\nprocess will appear as pid 1 in the new pid namespace.  Further\nmost login processes do not cope with extraneous children which\nmeans shifting the duty of reaping extraneous child process to\nthe creator of those extraneous children makes the system more\ncomprehensible.\n\nThe practical reason for this set of pid namespace semantics is\nthat it is simple to implement and verify they work correctly.\nWhereas an implementation that requres changing the struct\npid on a process comes with a lot more races and pain.  Not\nthe least of which is that glibc caches getpid().\n\nThese semantics are implemented by having two notions\nof the pid namespace of a proces.  There is task_active_pid_ns\nwhich is the pid namspace the process was created with\nand the pid namespace that all pids are presented to\nthat process in.  The task_active_pid_ns is stored\nin the struct pid of the task.\n\nThere there is the pid namespace that will be used for children\nthat pid namespace is stored in task-\u003ensproxy-\u003epid_ns.\n\nThere is one really nasty corner case in all of this.  Which\npid namespace are you in if your parent unshared it\u0027s pid\nnamespace and then on clone you also unshare the pid namespace.\nTo me there are only two possible answers.  Either the cases\nis so bizarre and we deny it completely.  or the new pid\nnamespace is a descendent of our parent\u0027s active pid namespace,\nand we ignore the task-\u003ensproxy-\u003epid_ns.\n\nTo that end I have modified copy_pid_ns to take both of these\npid namespaces.  The active pid namespace and the default\npid namespace of children.  Allowing me to simply implement\nunsharing a pid namespace in clone after already unsharing\na pid namespace with unshare.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "d6a5b1482d7ba86cf639f35540812d6d6e905ccd",
      "tree": "f7bf95a77788ee4ef2e8c07b5029232c6b48ecfe",
      "parents": [
        "4b5c41aad4f6a4f9d723b8b5aea8c01264bd0763"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jul 12 18:50:25 2010 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Aug 09 05:00:14 2011 -0500"
      },
      "message": "pidns: Don\u0027t allow new processes in a dead pid namespace.\n\nBy adding a flag to track when a pid namespace is dead, and\nby testing that flag just before a process attaches to the\npid namespace, it is possible to guarantee that processes\nnever enter a dead pid namespace.  Currently sending SIGKILL\nto all of the process in a dead pid namespace gives us this\nguarantee but we need something a little strong to support\nunsharing and joining a pid namespace.\n\nTo ensure that this does not slow down the common case I\ntested this code with lat_proc from lm_bench and I did\nnot see any increase in the fork overhead.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "4b5c41aad4f6a4f9d723b8b5aea8c01264bd0763",
      "tree": "b849011b31ee56dc99338258b61f0a4e3a3dbb71",
      "parents": [
        "20384bfcbb6d2ec323d624e9ca12a3e996b0c9eb"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jul 12 17:10:36 2010 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Aug 09 05:00:13 2011 -0500"
      },
      "message": "pidns: Consolidate initialzation of special init task state\n\nInstead of setting child_reaper and SIGNAL_UNKILLABLE one way\nfor the system init process, and another way for pid namespace\ninit processes test pid-\u003enr \u003d\u003d 1 and use the same code for both.\n\nThis is a small cleanup and it paves the way for allowing unshare\nof the pid namespace as that path like our global init also will\nnot set CLONE_NEWPID.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "20384bfcbb6d2ec323d624e9ca12a3e996b0c9eb",
      "tree": "c3e4e14cdefd9ff7680c14d83ceaffb4e8fd6134",
      "parents": [
        "29f870688d53429ea0478a064f6f175b74c71516"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 02 14:51:53 2010 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Aug 09 05:00:12 2011 -0500"
      },
      "message": "pidns: Use task_active_pid_ns where appropriate\n\nThe expressions tsk-\u003ensproxy-\u003epid_ns and task_active_pid_ns\naka ns_of_pid(task_pid(tsk)) should have the same number of\ncache line misses with the practical difference that\nns_of_pid(task_pid(tsk)) is released later in a processes life.\n\nFurthermore by using task_active_pid_ns it becomes trivial\nto write an unshare implementation for the the pid namespace.\n\nSo I have used task_active_pid_ns everywhere I can.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "29f870688d53429ea0478a064f6f175b74c71516",
      "tree": "4cb63d08069e9be6467b7a251106b45aaa2fdd2e",
      "parents": [
        "035d7ee47efe0ce437e9b64bcc345b3d0330f5b7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jul 10 15:23:34 2010 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 17:19:13 2011 -0500"
      },
      "message": "procfs: Don\u0027t cache a pid in the root inode.\n\nNow that we have s_fs_info pointing to our pid namespace\nthe original reason for the proc root inode having a struct\npid is gone.\n\nCaching a pid in the root inode has led to some complicated\ncode.  Now that we don\u0027t need the struct pid, just remove it all.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "035d7ee47efe0ce437e9b64bcc345b3d0330f5b7",
      "tree": "1a529dccbda593f57172b034e7d981d39b04ccb8",
      "parents": [
        "c1c366c95ed129fffc71c21f135d832cde0905a9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jul 10 14:52:49 2010 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 14:07:07 2011 -0500"
      },
      "message": "procfs: Use the proc generic infrastructure for proc/self.\n\nI had visions at one point of splitting proc into two filesystems.  If\nthat had happened proc/self being the the part of proc that actually deals\nwith pids would have been a nice cleanup.  As it is proc/self requires\na lot of unnecessary infrastructure for a single file.\n\nThe only user visible change is that a mounted /proc for a pid namespace\nthat is dead now shows a broken proc symlink, instead of being completely\ninvisible.  I don\u0027t think anyone will notice or care.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "c1c366c95ed129fffc71c21f135d832cde0905a9",
      "tree": "9f35ed3c24cfc3b203e3d9fb3d3ad12a6e62b85e",
      "parents": [
        "f8dd549a036db91f59c7edc81760a5d08fee0d2f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Jul 11 04:14:03 2010 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 14:06:34 2011 -0500"
      },
      "message": "pidns: Fix wait for zombies to be reaped in zap_pid_ns_processes v2\n\nFix zap_pid_ns_processes so that it successfully waits for all of\nthe tasks in the pid namespace to be reaped, even if called for a\nnon-leader task of the init process.  This guarantees that no task\ncan escpae the pid namespace, and that it is safe for proc_flush_task\nto put the proc_mnt of the dead pid_namespace when pid 1 of the\npid namespace calls proc_flush_task.\n\nBefore zap_pid_ns_processes was fixed to wait for all zombies\nin the pid namespace to be reaped the easiest way to generate\na zombie that would escape the pid namespace would be to attach\na debugger to a process inside a pidnamespace from outside the\npid namespace and then exit the pid namespace.\n\nIn the process of trying to fix this bug I have looked at a lot\nof different options and a lot of different directions we can\ngo.  There are several limiting factors.\n\n- We need to guarantee that the init process of a pid namespace\n  is not reaped before every other task in the pid namespace is\n  reaped.  Wait succeeding on the init process of a pid namespace\n  gives the guarantee that all processes in the pid namespace\n  are dead and gone.  Or more succinctly it is not possible to\n  escape from a pid namespace.\n\n  The previous behaviour where some zombies could escape the pid\n  namespace violates the assumption made by some reapers of a pid\n  namespace init that all of the pid namespace cleanup has completed\n  by the time that init is reaped.\n\n- proc_flush_task needs to be called after each task is reaped.\n  Tasks are volatile and applications like top and ps frequently\n  touch every thread group directory in /proc which triggers dcache\n  entries to be created.  If we don\u0027t remove those dcache entries\n  when tasks are reaped we can get a large build up of useless\n  inodes and dentries.  Shrink_slab is designed to flush out useful\n  cache entries not useless ones so while in the big picture it doesn\u0027t\n  hurt if we leak a few if we leak a lot of dentries we put unnatural\n  pressure on the kernels memory managment.\n\n  I sat down and attempted to measure the cost of calling\n  proc_flush_task with lat_tcp (from lmbench) and I get the same\n  range of latency readings wether or not proc_flush_task is\n  called.  Which tells me the runtime cost of the existing\n  proc_flush_task is in the noise.\n\n  By running find /proc/ \u003e /dev/null with proc_flush_task\n  disabled and then examining the counts in the slabcache\n  I managed to see us growing about 84 proc_inodes per\n  iteration, which is pretty horrific.  With proc_flush_task\n  enabled I don\u0027t see steady growth in any of the slab caches.\n\n- Mounts of the /proc need a referenece to the pid namespace\n  that doesn\u0027t go away until /proc is unmounted.  Without\n  holding a reference to the pid namespace that lasts until\n  a /proc is unmounted it just isn\u0027t safe to lookup and display\n  pids in a particular pid_namespace.\n\n- The pid_namespace needs to be able to access proc_mnt until\n  the at least the last call of proc_flush_task, for a\n  pid_namespace.\n\n  Currently there is a the circular reference between proc_mnt\n  and the pid_namespace that we break very carefully through\n  an interaction of zap_pid_ns_processes, and proc_flush_task.\n  That clever interaction going wrong is what caused oopses\n  that led us to realize we have a problem.\n\n  Even if we fix the pid_namespace and the proc_mnt to have\n  conjoined lifetimes and the oopses are fixed we still have\n  the problem that zombie processes can escape the pid namespace.\n  Which appears to be a problem for people using pid_namespaces\n  as inescapable process containers.\n\n- fork/exec/waitpid is a common kernel path and as such we need\n  to keep the runtime costs down.  Which means as much as possible\n  we want to keep from adding code (especially expensive code)\n  into the fork/exec/waitpid code path.\n\n  Changing zap_pid_ns_processes to fix the problem instead of\n  changing the code elsewhere is one of the few solutions I have\n  seen that does not increase the cost of the lat_proc test from\n  lmbench.\n\nv2: Trivial fixes\n   s/threa/thread/\n   s/namespac/namespace/\n   Add found variable so we only look at task inside rcu_read_lock.\n\nAcked-by: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nReported-by: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "f8dd549a036db91f59c7edc81760a5d08fee0d2f",
      "tree": "57322173c2dfd45f57f352e88f32d5de5bbdc7b9",
      "parents": [
        "b619360f585cdcff4d4b89f5aae8c2e66b264d97"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Mar 07 18:17:03 2010 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 13:51:16 2011 -0500"
      },
      "message": "ns proc: Add support for the pid namespace\n\nAdd the basic namespace file support, but do not\nadd support for setns.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "b619360f585cdcff4d4b89f5aae8c2e66b264d97",
      "tree": "03338373816cd36b81b64c51ba13e87a7dc2741f",
      "parents": [
        "08352c310547a6af760b91f94db0900405a766a1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jun 18 07:00:10 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 13:51:05 2011 -0500"
      },
      "message": "ns proc: Add support for the user namespace\n\nAdd the basic namespace file support, but do not\nadd support for setns.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "08352c310547a6af760b91f94db0900405a766a1",
      "tree": "0ab3e5ae91e803ae00cc8a9e19701ee9cc63e49f",
      "parents": [
        "67a991a89e5b28dabf8372017b2b33e67585e6c4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Mar 07 18:49:36 2010 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 13:50:36 2011 -0500"
      },
      "message": "ns proc: Add support for the mount namespace\n\nsetns support for the mount namespace is a little tricky as an\narbitrary decision must be made about what to set fs-\u003eroot and\nfs-\u003epwd to, as there is no expectation of a relationship between\nthe two mount namespaces.  Therefore I arbitrarily find the root\nmount point, and follow every mount on top of it to find the top\nof the mount stack.  Then I set fs-\u003eroot and fs-\u003epwd to that\nlocation.  The topmost root of the mount stack seems like a\nreasonable place to be.\n\nBind mount support for the mount namespace inodes has the\npossibility of creating circular dependencies between mount\nnamespaces.  Circular dependencies can result in loops that\nprevent mount namespaces from every being freed.  I avoid\ncreating those circular dependencies by adding a sequence number\nto the mount namespace and require all bind mounts be of a\nyounger mount namespace into an older mount namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "67a991a89e5b28dabf8372017b2b33e67585e6c4",
      "tree": "a7ceb8802b0840852024605f8d7244363a7f1db8",
      "parents": [
        "019eefb14e4393373df8a47aaf977d1f55f68a21"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jun 18 06:33:29 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 13:50:30 2011 -0500"
      },
      "message": "proc: Add a test for proc namespace inodes\n\nImplement a test to see if an inode is a proc\nnamespace inode.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "019eefb14e4393373df8a47aaf977d1f55f68a21",
      "tree": "504a22d10d007de9dcdb4258d3c82d8b9a8a8b5a",
      "parents": [
        "5273884bca0c9a60e23d49ef981a235423b7b568"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jun 15 10:21:48 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 13:50:23 2011 -0500"
      },
      "message": "proc: Usable inode numbers for the namespace file descriptors.\n\nAssign a unique proc inode to each namespace, and use that\ninode number to ensure we only allocate at most one proc\ninode for every namespace in proc.\n\nA single proc inode per namespace allows userspace to test\nto see if two processes are in the same namespace.\n\nThis has been a long requested feature and only blocked because\na naive implementation would put the id in a global space and\nwould ultimately require having a namespace for the names of\nnamespaces, making migration and certain virtualization tricks\nimpossible.\n\nWe still don\u0027t have per superblock inode numbers for proc, which\nappears necessary for application unaware checkpoint/restart and\nmigrations (if the application is using namespace file descriptors)\nbut that is now allowd by the design if it becomes important.\n\nI have preallocated the ipc and uts initial proc inode numbers so\ntheir structures can be statically initialized.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "5273884bca0c9a60e23d49ef981a235423b7b568",
      "tree": "56ac60a64b9694fe456dd72ae2b1a28ac3ccaf2b",
      "parents": [
        "82b05c1d928361137f9ca0062761cd35657960d6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Jun 17 13:33:20 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 13:50:18 2011 -0500"
      },
      "message": "proc: Generalize proc inode allocation\n\nGeneralize the proc inode allocation so that it can be\nused without having to having to create a proc_dir_entry.\n\nThis will allow namespace file descriptors to remain light\nweight entitities but still have the same inode number\nwhen the backing namespace is the same.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "82b05c1d928361137f9ca0062761cd35657960d6",
      "tree": "bc46695b6ce5361ed30531c8e71893cbade2086e",
      "parents": [
        "e2989f42d3fe64837849b304d960db9f76d79c59"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jun 18 17:48:18 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 13:46:30 2011 -0500"
      },
      "message": "proc: Fix the proc access checks to namespace files.\n\nAccess to namespace files needs to be restricted with\nptrace_may_read in proc to avoid unecessary information leaks\nabout processes and to avoid processes that could not otherwise\nextend the lifetime of a namespace from opening a namespace file\nand extending that lifetime.\n\nAdd magic symlinks to the namespace files, so that we won\u0027t cache\nthe dentries for the namespace files in a way that can bypass the\nptrace_may_access checks.\n\nRemove the accident of the initial implementation that made\nnamespace files depend on pids and tasks, and change the\nnamespace files to be their own entities with their own dentry\nand inode operations. The new namespace dentry operations\nspecify a policy of not caching namespace dentries when not in\nuse.  Not caching unused namespace dentries makes it easy to\nverify the dcache won\u0027t keep namespaces alive longer than\nnecessary.\n\nChange the owner of namespace files to root as derving the\nownership of namespace files from a process is no longer possible\nas namespace files are no longer implemented as per process\nentities.  Namespace files being read only as root is safe and\nchanges nothing in practice as the kernel interfaces that take\nnamespace file descriptors require root capabilities.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "e2989f42d3fe64837849b304d960db9f76d79c59",
      "tree": "8bdd932c704dd3fac30f79e296a7bdcef1398414",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jun 18 23:34:09 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Aug 08 13:46:24 2011 -0500"
      },
      "message": "proc: Use d_set_d_op in the namespace file descriptor code\n\nWithout this none of the pid_dentry_operations methods will\nbe called and we can slowly leak namespace file descriptors.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe",
      "tree": "df32c75242bf8d797ccd43af8ce8e294f35cd8fd",
      "parents": [
        "1f922d07704c501388a306c78536bca7432b3934"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 19:17:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 19:17:23 2011 -0700"
      },
      "message": "Linux 3.0\n"
    },
    {
      "commit": "1f922d07704c501388a306c78536bca7432b3934",
      "tree": "8b4f3abcfa0dc15e5c1a8e48615adbbce832939c",
      "parents": [
        "2bafc7a275436da4a1ece4ecfcbacb82a0560efb",
        "33d8881af5584fb7994f6b3d17fc11dcaf07b3b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 17:20:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 17:20:57 2011 -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  sparc,kgdbts: fix compile regression with kgdb test suite\n"
    },
    {
      "commit": "33d8881af5584fb7994f6b3d17fc11dcaf07b3b2",
      "tree": "f2aedc236f1bd0876951cc82243f3b811864f6ac",
      "parents": [
        "3a5c3743f15f27237ab025736a981e2d0c9fdfed"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jul 19 15:43:16 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Jul 21 17:29:49 2011 -0500"
      },
      "message": "sparc,kgdbts: fix compile regression with kgdb test suite\n\nCommit 63ab25ebbc (kgdbts: unify/generalize gdb breakpoint adjustment)\nintroduced a compile regression on sparc.\n\nkgdbts.c: In function \u0027check_and_rewind_pc\u0027:\nkgdbts.c:307: error: implicit declaration of function \u0027instruction_pointer_set\u0027\n\nSimply add the correct macro definition for instruction pointer on the\nSparc architecture.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bafc7a275436da4a1ece4ecfcbacb82a0560efb",
      "tree": "097f820c6cad0a437255f0207e8ac6befd9fac76",
      "parents": [
        "57a6fa9acd6b4a479a6ede4d6d2258f04afd3a6f",
        "2cebaa58b7de775386732bbd6cd11c3f5b73faf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 14:28:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 14:28:01 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  CIFS: Fix wrong length in cifs_iovec_read\n"
    },
    {
      "commit": "57a6fa9acd6b4a479a6ede4d6d2258f04afd3a6f",
      "tree": "23fc946678d2d4bce1b74caab057333b433da150",
      "parents": [
        "ad21b115772dfa146f19ec5d1db9de25973c483b",
        "a536877e77f73ea22d12d94a019fedd9671b6acd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 12:25:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 12:25:39 2011 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Make Dell Latitude E6420 use reboot\u003dpci\n  x86: Make Dell Latitude E5420 use reboot\u003dpci\n"
    },
    {
      "commit": "a536877e77f73ea22d12d94a019fedd9671b6acd",
      "tree": "c51a455049a372f6e28ef366eafdb30e649a41e9",
      "parents": [
        "b7798d28ec15d20fd34b70fa57eb13f0cf6d1ecd"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jul 21 11:22:21 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jul 21 11:47:17 2011 -0700"
      },
      "message": "x86: Make Dell Latitude E6420 use reboot\u003dpci\n\nYet another variant of the Dell Latitude series which requires\nreboot\u003dpci.\n\nFrom the E5420 bug report by Daniel J Blueman:\n\n\u003e The E6420 is affected also (same platform, different casing and\n\u003e features), which provides an external confirmation of the issue; I can\n\u003e submit a patch for that later or include it if you prefer:\n\u003e http://linux.koolsolutions.com/2009/08/04/howto-fix-linux-hangfreeze-during-reboots-and-restarts/\n\nReported-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "b7798d28ec15d20fd34b70fa57eb13f0cf6d1ecd",
      "tree": "431db58bbc05fc13bc2ce9fc88113cf51856d3c3",
      "parents": [
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Fri May 13 09:04:59 2011 +0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jul 21 11:45:49 2011 -0700"
      },
      "message": "x86: Make Dell Latitude E5420 use reboot\u003dpci\n\nRebooting on the Dell E5420 often hangs with the keyboard or ACPI\nmethods, but is reliable via the PCI method.\n\n[ hpa: this was deferred because we believed for a long time that the\n  recent reshuffling of the boot priorities in commit\n  660e34cebf0a11d54f2d5dd8838607452355f321 fixed this platform.\n  Unfortunately that turned out to be incorrect. ]\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1305248699-2347-1-git-send-email-daniel.blueman@gmail.com\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e\n\n"
    },
    {
      "commit": "ad21b115772dfa146f19ec5d1db9de25973c483b",
      "tree": "457b129a39a3babdc2b0bb497e90915bfddcb12b",
      "parents": [
        "b91da88fed84843313a1b6fd1b1c834a24bbcf9e",
        "e28f87116503f796aba4fb27d81e2c3d81966174"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 11:07:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 11:07:18 2011 -0700"
      },
      "message": "Merge branch \u0027drm-intel-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6\n\n* \u0027drm-intel-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6:\n  drm/i915: Fix unfenced alignment on pre-G33 hardware\n  drm/i915: Add quirk to disable SSC on Lenovo U160 LVDS\n"
    },
    {
      "commit": "b91da88fed84843313a1b6fd1b1c834a24bbcf9e",
      "tree": "0c9456266a09f247a875fd3b55073ad42dc7445d",
      "parents": [
        "b307d4655a71749ac3f91c6dbe33d28cc026ceeb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 11:01:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 11:01:42 2011 -0700"
      },
      "message": "vfs: drop conditional inode prefetch in __do_lookup_rcu\n\nIt seems to hurt performance in real life.  Yes, the inode will be used\nlater, but the conditional doesn\u0027t seem to predict all that well\n(negative dentries are not uncommon) and it looks like the cost of\nprefetching is simply higher than depending on the cache doing the right\nthing.\n\nAs usual.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b307d4655a71749ac3f91c6dbe33d28cc026ceeb",
      "tree": "4d00cd36cf277da7e45333d2a0574bf4a523cc58",
      "parents": [
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Thu Jul 21 15:02:43 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 10:59:16 2011 -0700"
      },
      "message": "FS-Cache: Fix __fscache_uncache_all_inode_pages()\u0027s outer loop\n\nThe compiler, at least for ix86 and m68k, validly warns that the\ncomparison:\n\n\tnext \u003c\u003d (loff_t)-1\n\nis always true (and it\u0027s always true also for x86-64 and probably all\nother arches - as long as pgoff_t isn\u0027t wider than loff_t).  The\nintention appears to be to avoid wrapping of \"next\", so rather than\neliminating the pointless comparison, fix the loop to indeed get exited\nwhen \"next\" would otherwise wrap.\n\nOn m68k the following warning is observed:\n\n  fs/fscache/page.c: In function \u0027__fscache_uncache_all_inode_pages\u0027:\n  fs/fscache/page.c:979: warning: comparison is always false due to limited range of data type\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nReported-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2cebaa58b7de775386732bbd6cd11c3f5b73faf0",
      "tree": "aaa392677870ded6c3790e1d327fa12f584e767f",
      "parents": [
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Wed Jul 20 18:24:09 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jul 21 00:48:05 2011 +0000"
      },
      "message": "CIFS: Fix wrong length in cifs_iovec_read\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f",
      "tree": "489c64380668e8c5a29d3f36f37554e4b081a647",
      "parents": [
        "acc11eab70591744369722280c9ce162a6193494",
        "d1e9ae47a0285d3f1699e8219ce50f656243b93f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: align __lock_task_sighand() irq disabling and RCU\n  softirq,rcu: Inform RCU of irq_exit() activity\n  sched: Add irq_{enter,exit}() to scheduler_ipi()\n  rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n  rcu: Streamline code produced by __rcu_read_unlock()\n  rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n  rcu: decrease rcu_report_exp_rnp coupling with scheduler\n"
    },
    {
      "commit": "acc11eab70591744369722280c9ce162a6193494",
      "tree": "f23138ad28b557311b6e512f40ec27fbc42481f1",
      "parents": [
        "919d25a710bd6ded210426e911c9f9ec535d8d9c",
        "d110235d2c331c4f79e0879f51104be79e17a469"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:55:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:55:48 2011 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Avoid creating superfluous NUMA domains on non-NUMA systems\n  sched: Allow for overlapping sched_domain spans\n  sched: Break out cpu_power from the sched_group structure\n"
    },
    {
      "commit": "919d25a710bd6ded210426e911c9f9ec535d8d9c",
      "tree": "7c49ecdc8cba950a582951ae8ee450153c0840f2",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b",
        "3628c3f5c818cfc6e588d1ccb31f19aa12345c02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:33:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:33:59 2011 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86. reboot: Make Dell Latitude E6320 use reboot\u003dpci\n  x86, doc only: Correct real-mode kernel header offset for init_size\n  x86: Disable AMD_NUMA for 32bit for now\n"
    },
    {
      "commit": "d1e9ae47a0285d3f1699e8219ce50f656243b93f",
      "tree": "2f5a68b5ba1677bcd49ee759f09ffc5ccccb1455",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b",
        "a841796f11c90d53dbac773be56b04fbee8af272"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/urgent\n"
    },
    {
      "commit": "a841796f11c90d53dbac773be56b04fbee8af272",
      "tree": "9401a53faddecc7c1644565d0e22630028f82bca",
      "parents": [
        "ec433f0c51527426989ea8a38a856d810d739414"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jul 19 03:25:36 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 11:04:54 2011 -0700"
      },
      "message": "signal: align __lock_task_sighand() irq disabling and RCU\n\nThe __lock_task_sighand() function calls rcu_read_lock() with interrupts\nand preemption enabled, but later calls rcu_read_unlock() with interrupts\ndisabled.  It is therefore possible that this RCU read-side critical\nsection will be preempted and later RCU priority boosted, which means that\nrcu_read_unlock() will call rt_mutex_unlock() in order to deboost itself, but\nwith interrupts disabled. This results in lockdep splats, so this commit\nnests the RCU read-side critical section within the interrupt-disabled\nregion of code.  This prevents the RCU read-side critical section from\nbeing preempted, and thus prevents the attempt to deboost with interrupts\ndisabled.\n\nIt is quite possible that a better long-term fix is to make rt_mutex_unlock()\ndisable irqs when acquiring the rt_mutex structure\u0027s -\u003ewait_lock.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ec433f0c51527426989ea8a38a856d810d739414",
      "tree": "001550d7b18b3f2b5326da3f9dfd893e31c8dc1c",
      "parents": [
        "c5d753a55ac92e09816d410cd17093813f1a904b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 19 15:32:00 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:12 2011 -0700"
      },
      "message": "softirq,rcu: Inform RCU of irq_exit() activity\n\nThe rcu_read_unlock_special() function relies on in_irq() to exclude\nscheduler activity from interrupt level.  This fails because exit_irq()\ncan invoke the scheduler after clearing the preempt_count() bits that\nin_irq() uses to determine that it is at interrupt level.  This situation\ncan result in failures as follows:\n\n $task\t\t\tIRQ\t\tSoftIRQ\n\n rcu_read_lock()\n\n /* do stuff */\n\n \u003cpreempt\u003e |\u003d UNLOCK_BLOCKED\n\n rcu_read_unlock()\n   --t-\u003ercu_read_lock_nesting\n\n\t\t\tirq_enter();\n\t\t\t/* do stuff, don\u0027t use RCU */\n\t\t\tirq_exit();\n\t\t\t  sub_preempt_count(IRQ_EXIT_OFFSET);\n\t\t\t  invoke_softirq()\n\n\t\t\t\t\tttwu();\n\t\t\t\t\t  spin_lock_irq(\u0026pi-\u003elock)\n\t\t\t\t\t  rcu_read_lock();\n\t\t\t\t\t  /* do stuff */\n\t\t\t\t\t  rcu_read_unlock();\n\t\t\t\t\t    rcu_read_unlock_special()\n\t\t\t\t\t      rcu_report_exp_rnp()\n\t\t\t\t\t        ttwu()\n\t\t\t\t\t          spin_lock_irq(\u0026pi-\u003elock) /* deadlock */\n\n   rcu_read_unlock_special(t);\n\nEd can simply trigger this \u0027easy\u0027 because invoke_softirq() immediately\ndoes a ttwu() of ksoftirqd/# instead of doing the in-place softirq stuff\nfirst, but even without that the above happens.\n\nCure this by also excluding softirqs from the\nrcu_read_unlock_special() handler and ensuring the force_irqthreads\nksoftirqd/# wakeup is done from full softirq context.\n\n[ Alternatively, delaying the -\u003ercu_read_lock_nesting decrement\n  until after the special handling would make the thing more robust\n  in the face of interrupts as well.  And there is a separate patch\n  for that. ]\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-and-tested-by: Ed Tomlinson \u003cedt@aei.ca\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c5d753a55ac92e09816d410cd17093813f1a904b",
      "tree": "162c63edcc463e18d50fb5b5be479785f02222c4",
      "parents": [
        "10f39bb1b2c1923ca73e70cb13aeee0e9b822d8f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 19 15:07:25 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:11 2011 -0700"
      },
      "message": "sched: Add irq_{enter,exit}() to scheduler_ipi()\n\nEnsure scheduler_ipi() calls irq_{enter,exit} when it does some actual\nwork. Traditionally we never did any actual work from the resched IPI\nand all magic happened in the return from interrupt path.\n\nNow that we do do some work, we need to ensure irq_{enter,exit} are\ncalled so that we don\u0027t confuse things.\n\nThis affects things like timekeeping, NO_HZ and RCU, basically\neverything with a hook in irq_enter/exit.\n\nExplicit examples of things going wrong are:\n\n  sched_clock_cpu() -- has a callback when leaving NO_HZ state to take\n                    a new reading from GTOD and TSC. Without this\n                    callback, time is stuck in the past.\n\n  RCU -- needs in_irq() to work in order to avoid some nasty deadlocks\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "10f39bb1b2c1923ca73e70cb13aeee0e9b822d8f",
      "tree": "2e8349c57b1f0563a27be49410f413b643ded1a9",
      "parents": [
        "be0e1e21ef707be4d16ea6a96ac9997463e4b8d2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Jul 17 21:14:35 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:11 2011 -0700"
      },
      "message": "rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n\nThe addition of RCU read-side critical sections within runqueue and\npriority-inheritance lock critical sections introduced some deadlock\ncycles, for example, involving interrupts from __rcu_read_unlock()\nwhere the interrupt handlers call wake_up().  This situation can cause\nthe instance of __rcu_read_unlock() invoked from interrupt to do some\nof the processing that would otherwise have been carried out by the\ntask-level instance of __rcu_read_unlock().  When the interrupt-level\ninstance of __rcu_read_unlock() is called with a scheduler lock held\nfrom interrupt-entry/exit situations where in_irq() returns false,\ndeadlock can result.\n\nThis commit resolves these deadlocks by using negative values of\nthe per-task -\u003ercu_read_lock_nesting counter to indicate that an\ninstance of __rcu_read_unlock() is in flight, which in turn prevents\ninstances from interrupt handlers from doing any special processing.\nThis patch is inspired by Steven Rostedt\u0027s earlier patch that similarly\nmade __rcu_read_unlock() guard against interrupt-mediated recursion\n(see https://lkml.org/lkml/2011/7/15/326), but this commit refines\nSteven\u0027s approach to avoid the need for preemption disabling on the\n__rcu_read_unlock() fastpath and to also avoid the need for manipulating\na separate per-CPU variable.\n\nThis patch avoids need for preempt_disable() by instead using negative\nvalues of the per-task -\u003ercu_read_lock_nesting counter.  Note that nested\nrcu_read_lock()/rcu_read_unlock() pairs are still permitted, but they will\nnever see -\u003ercu_read_lock_nesting go to zero, and will therefore never\ninvoke rcu_read_unlock_special(), thus preventing them from seeing the\nRCU_READ_UNLOCK_BLOCKED bit should it be set in -\u003ercu_read_unlock_special.\nThis patch also adds a check for -\u003ercu_read_unlock_special being negative\nin rcu_check_callbacks(), thus preventing the RCU_READ_UNLOCK_NEED_QS\nbit from being set should a scheduling-clock interrupt occur while\n__rcu_read_unlock() is exiting from an outermost RCU read-side critical\nsection.\n\nOf course, __rcu_read_unlock() can be preempted during the time that\n-\u003ercu_read_lock_nesting is negative.  This could result in the setting\nof the RCU_READ_UNLOCK_BLOCKED bit after __rcu_read_unlock() checks it,\nand would also result it this task being queued on the corresponding\nrcu_node structure\u0027s blkd_tasks list.  Therefore, some later RCU read-side\ncritical section would enter rcu_read_unlock_special() to clean up --\nwhich could result in deadlock if that critical section happened to be in\nthe scheduler where the runqueue or priority-inheritance locks were held.\n\nThis situation is dealt with by making rcu_preempt_note_context_switch()\ncheck for negative -\u003ercu_read_lock_nesting, thus refraining from\nqueuing the task (and from setting RCU_READ_UNLOCK_BLOCKED) if we are\nalready exiting from the outermost RCU read-side critical section (in\nother words, we really are no longer actually in that RCU read-side\ncritical section).  In addition, rcu_preempt_note_context_switch()\ninvokes rcu_read_unlock_special() to carry out the cleanup in this case,\nwhich clears out the -\u003ercu_read_unlock_special bits and dequeues the task\n(if necessary), in turn avoiding needless delay of the current RCU grace\nperiod and needless RCU priority boosting.\n\nIt is still illegal to call rcu_read_unlock() while holding a scheduler\nlock if the prior RCU read-side critical section has ever had either\npreemption or irqs enabled.  However, the common use case is legal,\nnamely where then entire RCU read-side critical section executes with\nirqs disabled, for example, when the scheduler lock is held across the\nentire lifetime of the RCU read-side critical section.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d110235d2c331c4f79e0879f51104be79e17a469",
      "tree": "d56bb05a1274f9e7c6a20467d2d04713c185e7ce",
      "parents": [
        "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 20 18:42:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:54:33 2011 +0200"
      },
      "message": "sched: Avoid creating superfluous NUMA domains on non-NUMA systems\n\nWhen creating sched_domains, stop when we\u0027ve covered the entire\ntarget span instead of continuing to create domains, only to\nlater find they\u0027re redundant and throw them away again.\n\nThis avoids single node systems from touching funny NUMA\nsched_domain creation code and reduces the risks of the new\nSD_OVERLAP code.\n\nRequested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: mahesh@linux.vnet.ibm.com\nCc: benh@kernel.crashing.org\nCc: linuxppc-dev@lists.ozlabs.org\nLink: http://lkml.kernel.org/r/1311180177.29152.57.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c",
      "tree": "414bf6bdbad3f04f629fa2a72254ea85acf723f4",
      "parents": [
        "9c3f75cbd144014bea6af866a154cc2e73ab2287"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 15 10:35:52 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:41 2011 +0200"
      },
      "message": "sched: Allow for overlapping sched_domain spans\n\nAllow for sched_domain spans that overlap by giving such domains their\nown sched_group list instead of sharing the sched_groups amongst\neach-other.\n\nThis is needed for machines with more than 16 nodes, because\nsched_domain_node_span() will generate a node mask from the\n16 nearest nodes without regard if these masks have any overlap.\n\nCurrently sched_domains have a sched_group that maps to their child\nsched_domain span, and since there is no overlap we share the\nsched_group between the sched_domains of the various CPUs. If however\nthere is overlap, we would need to link the sched_group list in\ndifferent ways for each cpu, and hence sharing isn\u0027t possible.\n\nIn order to solve this, allocate private sched_groups for each CPU\u0027s\nsched_domain but have the sched_groups share a sched_group_power\nstructure such that we can uniquely track the power.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-08bxqw9wis3qti9u5inifh3y@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c3f75cbd144014bea6af866a154cc2e73ab2287",
      "tree": "2a565f7ff0820269973415c5605e313cfff903b4",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 14 13:00:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:40 2011 +0200"
      },
      "message": "sched: Break out cpu_power from the sched_group structure\n\nIn order to prepare for non-unique sched_groups per domain, we need to\ncarry the cpu_power elsewhere, so put a level of indirection in.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-qkho2byuhe4482fuknss40ad@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6625fa48e6580a74b7e700efd7e6463e282810b",
      "tree": "fdb12c5ca073bd444d9d64dee3f8e34b323aebda",
      "parents": [
        "47126d807ab1ef24e0f02dcca20883e275198fe2",
        "38be7a79f7c99dd01425f19ef6cf744878b6a94b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:10:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:10:28 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: fix file mode calculation\n"
    },
    {
      "commit": "47126d807ab1ef24e0f02dcca20883e275198fe2",
      "tree": "c17b93db77d14239d0dd2d25b084394a645c9733",
      "parents": [
        "4746efded84d7c5a9c8d64d4c6e814ff0cf9fb42",
        "9daedd833a38edd90cf7baa1b1fcf61c3a0721e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:10:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:10:05 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:\n  davinci: DM365 EVM: fix video input mux bits\n  ARM: davinci: Check for NULL return from irq_alloc_generic_chip\n  arm: davinci: Fix low level gpio irq handlers\u0027 argument\n"
    },
    {
      "commit": "4746efded84d7c5a9c8d64d4c6e814ff0cf9fb42",
      "tree": "174f400db27c1a1d9a66407931199aabfdce6bba",
      "parents": [
        "f7b88631a89757d70192044c9d9f2e8d2fc02f2c"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue Jul 19 08:49:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:09:31 2011 -0700"
      },
      "message": "vmscan: fix a livelock in kswapd\n\nI\u0027m running a workload which triggers a lot of swap in a machine with 4\nnodes.  After I kill the workload, I found a kswapd livelock.  Sometimes\nkswapd3 or kswapd2 are keeping running and I can\u0027t access filesystem,\nbut most memory is free.\n\nThis looks like a regression since commit 08951e545918c159 (\"mm: vmscan:\ncorrect check for kswapd sleeping in sleeping_prematurely\").\n\nNode 2 and 3 have only ZONE_NORMAL, but balance_pgdat() will return 0\nfor classzone_idx.  The reason is end_zone in balance_pgdat() is 0 by\ndefault, if all zones have watermark ok, end_zone will keep 0.\n\nLater sleeping_prematurely() always returns true.  Because this is an\norder 3 wakeup, and if classzone_idx is 0, both balanced_pages and\npresent_pages in pgdat_balanced() are 0.  We add a special case here.\nIf a zone has no page, we think it\u0027s balanced.  This fixes the livelock.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7b88631a89757d70192044c9d9f2e8d2fc02f2c",
      "tree": "51da597d7625d2428701be146f233cee047425d9",
      "parents": [
        "e501f29c727dea74e2124c584cbab5fa805d489b"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 19 08:49:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:09:30 2011 -0700"
      },
      "message": "fs/libfs.c: fix simple_attr_write() on 32bit machines\n\nAssume that /sys/kernel/debug/dummy64 is debugfs file created by\ndebugfs_create_x64().\n\n\t# cd /sys/kernel/debug\n\t# echo 0x1234567812345678 \u003e dummy64\n\t# cat dummy64\n\t0x0000000012345678\n\n\t# echo 0x80000000 \u003e dummy64\n\t# cat dummy64\n\t0xffffffff80000000\n\nA value larger than INT_MAX cannot be written to the debugfs file created\nby debugfs_create_u64 or debugfs_create_x64 on 32bit machine.  Because\nsimple_attr_write() uses simple_strtol() for the conversion.\n\nTo fix this, use simple_strtoll() instead.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e501f29c727dea74e2124c584cbab5fa805d489b",
      "tree": "3a5c3611e7fc3ac454fd498b93a521d7a1e2be05",
      "parents": [
        "3a5c3743f15f27237ab025736a981e2d0c9fdfed",
        "59430262401bec02d415179c43dbe5b8819c09ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 21:50:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 21:50:21 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  vfs: fix race in rcu lookup of pruned dentry\n  Fix cifs_get_root()\n\n[ Edited the last commit to get rid of a \u0027unused variable \"seq\"\u0027\n  warning due to Al editing the patch.  - Linus ]\n"
    },
    {
      "commit": "59430262401bec02d415179c43dbe5b8819c09ce",
      "tree": "18caba988f1fb650bb804727de06adc73953b2c6",
      "parents": [
        "fec11dd9a0109fe52fd631e5c510778d6cbff6cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 15:43:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 21:49:01 2011 -0700"
      },
      "message": "vfs: fix race in rcu lookup of pruned dentry\n\nDon\u0027t update *inode in __follow_mount_rcu() until we\u0027d verified that\nthere is mountpoint there.  Kudos to Hugh Dickins for catching that\none in the first place and eventually figuring out the solution (and\ncatching a braino in the earlier version of patch).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "be0e1e21ef707be4d16ea6a96ac9997463e4b8d2",
      "tree": "fe53c0731f5c3a6e56e2358eee9b8f17c3af83f4",
      "parents": [
        "7765be2fec0f476fcd61812d5f9406b04c765020"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 21 05:57:18 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:53 2011 -0700"
      },
      "message": "rcu: Streamline code produced by __rcu_read_unlock()\n\nGiven some common flag combinations, particularly -Os, gcc will inline\nrcu_read_unlock_special() despite its being in an unlikely() clause.\nUse noinline to prohibit this misoptimization.\n\nIn addition, move the second barrier() in __rcu_read_unlock() so that\nit is not on the common-case code path.  This will allow the compiler to\ngenerate better code for the common-case path through __rcu_read_unlock().\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\n"
    },
    {
      "commit": "7765be2fec0f476fcd61812d5f9406b04c765020",
      "tree": "e89ccb3fbd5655090b05f608f8e1d39924f23a9a",
      "parents": [
        "131906b0062ddde7f85bbe67754983c754648bd8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jul 14 12:24:11 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:52 2011 -0700"
      },
      "message": "rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n\nThe RCU_BOOST commits for TREE_PREEMPT_RCU introduced an other-task\nwrite to a new RCU_READ_UNLOCK_BOOSTED bit in the task_struct structure\u0027s\n-\u003ercu_read_unlock_special field, but, as noted by Steven Rostedt, without\ncorrectly synchronizing all accesses to -\u003ercu_read_unlock_special.\nThis could result in bits in -\u003ercu_read_unlock_special being spuriously\nset and cleared due to conflicting accesses, which in turn could result\nin deadlocks between the rcu_node structure\u0027s -\u003elock and the scheduler\u0027s\nrq and pi locks.  These deadlocks would result from RCU incorrectly\nbelieving that the just-ended RCU read-side critical section had been\npreempted and/or boosted.  If that RCU read-side critical section was\nexecuted with either rq or pi locks held, RCU\u0027s ensuing (incorrect)\ncalls to the scheduler would cause the scheduler to attempt to once\nagain acquire the rq and pi locks, resulting in deadlock.  More complex\ndeadlock cycles are also possible, involving multiple rq and pi locks\nas well as locks from multiple rcu_node structures.\n\nThis commit fixes synchronization by creating -\u003ercu_boosted field in\ntask_struct that is accessed and modified only when holding the -\u003elock\nin the rcu_node structure on which the task is queued (on that rcu_node\nstructure\u0027s -\u003eblkd_tasks list).  This results in tasks accessing only\ntheir own current-\u003ercu_read_unlock_special fields, making unsynchronized\naccess once again legal, and keeping the rcu_read_unlock() fastpath free\nof atomic instructions and memory barriers.\n\nThe reason that the rcu_read_unlock() fastpath does not need to access\nthe new current-\u003ercu_boosted field is that this new field cannot\nbe non-zero unless the RCU_READ_UNLOCK_BLOCKED bit is set in the\ncurrent-\u003ercu_read_unlock_special field.  Therefore, rcu_read_unlock()\nneed only test current-\u003ercu_read_unlock_special: if that is zero, then\ncurrent-\u003ercu_boosted must also be zero.\n\nThis bug does not affect TINY_PREEMPT_RCU because this implementation\nof RCU accesses current-\u003ercu_read_unlock_special with irqs disabled,\nthus preventing races on the !SMP systems that TINY_PREEMPT_RCU runs on.\n\nMaybe-reported-by: Dave Jones \u003cdavej@redhat.com\u003e\nMaybe-reported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "131906b0062ddde7f85bbe67754983c754648bd8",
      "tree": "1b92eacb707befb294b4d9985f10aa44715cba16",
      "parents": [
        "b0d304172f49061b4ff78f9e2b02719ac69c8a7e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Jul 17 02:05:49 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:51 2011 -0700"
      },
      "message": "rcu: decrease rcu_report_exp_rnp coupling with scheduler\n\nPREEMPT_RCU read-side critical sections blocking an expedited grace\nperiod invoke rcu_report_exp_rnp().  When the last such critical section\nhas completed, rcu_report_exp_rnp() invokes the scheduler to wake up the\ntask that invoked synchronize_rcu_expedited() -- needlessly holding the\nroot rcu_node structure\u0027s lock while doing so, thus needlessly providing\na way for RCU and the scheduler to deadlock.\n\nThis commit therefore releases the root rcu_node structure\u0027s lock before\ncalling wake_up().\n\nReported-by: Ed Tomlinson \u003cedt@aei.ca\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "38be7a79f7c99dd01425f19ef6cf744878b6a94b",
      "tree": "5f31b24e4ecca2564ed01b212e3193ba7b2ed4b6",
      "parents": [
        "d7f124f129a6aea99938e0d4172c741b56fefeda"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 19 11:25:04 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 19 11:25:04 2011 -0700"
      },
      "message": "ceph: fix file mode calculation\n\nopen(2) must always include one of O_RDONLY, O_WRONLY, or O_RDWR.  No need\nfor any O_APPEND special case.\n\nPassing O_WRONLY|O_RDWR is undefined according to the man page, but the\nLinux VFS interprets this as O_RDWR, so we\u0027ll do the same.\n\nThis fixes open(2) with flags O_RDWR|O_APPEND, which was incorrectly being\ntranslated to readonly.\n\nReported-by: Fyodor Ustinov \u003cufm@ufm.su\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9daedd833a38edd90cf7baa1b1fcf61c3a0721e3",
      "tree": "68d1b90f6fbd0eb83c25a29d83c359252a91ca01",
      "parents": [
        "33e1e5e317b0fc78ac6588ec8aa40005bcddd7ce"
      ],
      "author": {
        "name": "Jon Povey",
        "email": "jon.povey@racelogic.co.uk",
        "time": "Tue Jul 19 12:30:11 2011 +0900"
      },
      "committer": {
        "name": "Sekhar Nori",
        "email": "nsekhar@ti.com",
        "time": "Tue Jul 19 14:00:29 2011 +0530"
      },
      "message": "davinci: DM365 EVM: fix video input mux bits\n\nVideo input mux settings for tvp7002 and imager inputs were swapped.\nComment was correct.\n\nTested on EVM with tvp7002 input.\n\nSigned-off-by: Jon Povey \u003cjon.povey@racelogic.co.uk\u003e\nAcked-by: Manjunath Hadli \u003cmanjunath.hadli@ti.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Sekhar Nori \u003cnsekhar@ti.com\u003e\n"
    },
    {
      "commit": "33e1e5e317b0fc78ac6588ec8aa40005bcddd7ce",
      "tree": "001bb1f8b9a2072e3de8dc6ae54f82c8b3f6d4cc",
      "parents": [
        "f299bb9527abfa6ee45a5e26288b5e3a619f01d6"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Sat Jul 16 22:39:35 2011 -0700"
      },
      "committer": {
        "name": "Sekhar Nori",
        "email": "nsekhar@ti.com",
        "time": "Tue Jul 19 12:49:00 2011 +0530"
      },
      "message": "ARM: davinci: Check for NULL return from irq_alloc_generic_chip\n\nAvoid NULL dereference of irq_alloc_generic_chip return in low\nmemory conditions.\n\nSigned-off-by: Todd Poynor \u003ctoddpoynor@google.com\u003e\nSigned-off-by: Sekhar Nori \u003cnsekhar@ti.com\u003e\n"
    },
    {
      "commit": "e28f87116503f796aba4fb27d81e2c3d81966174",
      "tree": "9fb1ef4243707e686a3c1a512931942562267e64",
      "parents": [
        "435793dfb8aec7b2e19f72d5bce8a22fd0b57839"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Mon Jul 18 13:11:49 2011 -0700"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Jul 18 14:02:06 2011 -0700"
      },
      "message": "drm/i915: Fix unfenced alignment on pre-G33 hardware\n\nAlign unfenced buffers on older hardware to the power-of-two object\nsize.  The docs suggest that it should be possible to align only to a\npower-of-two tile height, but using the already computed fence size is\neasier and always correct. We also have to make sure that we unbind\nmisaligned buffers upon tiling changes.\n\nIn order to prevent a repetition of this bug, we change the interface\nto the alignment computation routines to force the caller to provide\nthe requested alignment and size of the GTT binding rather than assume\nthe current values on the object.\n\nReported-and-tested-by: Sitosfe Wheeler \u003csitsofe@yahoo.com\u003e\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id\u003d36326\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: stable@kernel.org\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "3a5c3743f15f27237ab025736a981e2d0c9fdfed",
      "tree": "13fc4d89901c2e2e187cfb44ab904bc587b0ab9c",
      "parents": [
        "dc6b845044ccb7e9e6f3b7e71bd179b3cf0223b6",
        "680ba7ca630f5816af9c80a946520be76b2167a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 13:29:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 13:29:26 2011 -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  pppoe: Must flush connections when MAC address changes too.\n  include/linux/sdla.h: remove the prototype of sdla()\n  tulip: dmfe: Remove old log spamming pr_debugs\n"
    },
    {
      "commit": "680ba7ca630f5816af9c80a946520be76b2167a5",
      "tree": "e9b80b6e771d3b8e40398755e0743891f9191ab3",
      "parents": [
        "a07c7964a29b6dc515b120f1e1c223ac2f8666f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 11:48:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 11:48:28 2011 -0700"
      },
      "message": "pppoe: Must flush connections when MAC address changes too.\n\nKernel bugzilla: 39252\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a07c7964a29b6dc515b120f1e1c223ac2f8666f5",
      "tree": "cf45e084be0437ca921c0623569932bf1d142c1d",
      "parents": [
        "0b8f6273eb6fd0611849d6fb432151f04e042434"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Sat Jul 16 22:22:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 11:06:03 2011 -0700"
      },
      "message": "include/linux/sdla.h: remove the prototype of sdla()\n\n`make headers_check` complains that\n\nlinux-2.6/usr/include/linux/sdla.h:116: userspace cannot reference\nfunction or variable defined in the kernel\n\nthis is due to that there is no such a kernel function,\n\nvoid sdla(void *cfg_info, char *dev, struct frad_conf *conf, int quiet);\n\nI don\u0027t know why we have it in a kernel header, so remove it.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fec11dd9a0109fe52fd631e5c510778d6cbff6cc",
      "tree": "2a59d8e2cb0325862740fc24ecb246aa02c8413f",
      "parents": [
        "0916a5e45fbd2604a303c8cc18e6b2b7c815e4c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 18 13:50:40 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 18 13:51:58 2011 -0400"
      },
      "message": "Fix cifs_get_root()\n\nAdd missing -\u003ei_mutex, convert to lookup_one_len() instead of\n(broken) open-coded analog, cope with getting something like\na//b as relative pathname.  Simplify the hell out of it, while\nwe are there...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "0b8f6273eb6fd0611849d6fb432151f04e042434",
      "tree": "25c5f8cd5fa0116e98006a2086f2e32a1f066f47",
      "parents": [
        "f560f6697f17e2465c8845c09f3a483faef38275"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 18 10:44:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 10:44:44 2011 -0700"
      },
      "message": "tulip: dmfe: Remove old log spamming pr_debugs\n\nCommit 726b65ad444d (\"tulip: Convert uses of KERN_DEBUG\") enabled\nsome old previously inactive uses of pr_debug converted by\ncommit dde7c8ef1679 (\"tulip/dmfe.c: Use dev_\u003clevel\u003e and pr_\u003clevel\u003e\").\n\nRemove these pr_debugs.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc6b845044ccb7e9e6f3b7e71bd179b3cf0223b6",
      "tree": "324e094803fe8cfcb5c36010490b92d5b6a8c174",
      "parents": [
        "524196d2ad12cfe29e15d3db7b8d678dde35b5f7"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sun Jul 17 00:24:37 2011 -0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 09:12:21 2011 -0700"
      },
      "message": "si4713-i2c: avoid potential buffer overflow on si4713\n\nWhile compiling it with Fedora 15, I noticed this issue:\n\n  inlined from ‘si4713_write_econtrol_string’ at drivers/media/radio/si4713-i2c.c:1065:24:\n  arch/x86/include/asm/uaccess_32.h:211:26: error: call to ‘copy_from_user_overflow’ declared with attribute error: copy_from_user() buffer size is not provably correct\n\nCc: stable@kernel.org\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Sakari Ailus \u003csakari.ailus@maxwell.research.nokia.com\u003e\nAcked-by: Eduardo Valentin \u003cedubezval@gmail.com\u003e\nReviewed-by: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "524196d2ad12cfe29e15d3db7b8d678dde35b5f7",
      "tree": "7fb051f346c0b17e82aaef55f7e11ab1eb2f7675",
      "parents": [
        "d36c30181c4cf6ead34ae30fa2c777b871225c87",
        "b793eb60a01d5b5e4aaeb2fbc2b036dec0d9f84d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 09:05:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 09:05:59 2011 -0700"
      },
      "message": "Merge branch \u0027fix/asoc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027fix/asoc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ASoC: Correct WM8994 MICBIAS supply widget hookup\n  ASoC: Fix shift in WM8958 accessory detection default implementation\n  ASoC: sh: fsi-hdmi: fixup snd_soc_card name\n  ASoC: sh: fsi-da7210: fixup snd_soc_card name\n  ASoC: sh: fsi-ak4642: fixup snd_soc_card name\n"
    },
    {
      "commit": "d36c30181c4cf6ead34ae30fa2c777b871225c87",
      "tree": "8a2476c0eb6bb83ed5a8b493d79458d0e114a146",
      "parents": [
        "a406721dff91a9a5297d140dbb90327966cf9bc0",
        "0916a5e45fbd2604a303c8cc18e6b2b7c815e4c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 09:03:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 09:03:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  hppfs_lookup(): don\u0027t open-code lookup_one_len()\n  hppfs: fix dentry leak\n  cramfs: get_cramfs_inode() returns ERR_PTR() on failure\n  ufs should use d_splice_alias()\n  fix exofs -\u003eget_parent()\n  ceph analog of cifs build_path_from_dentry() race fix\n  cifs: build_path_from_dentry() race fix\n"
    },
    {
      "commit": "a406721dff91a9a5297d140dbb90327966cf9bc0",
      "tree": "43e9910434f91f4c94eed84d937661d4f303eba0",
      "parents": [
        "f560f6697f17e2465c8845c09f3a483faef38275",
        "d3f684f2820a7f42acef68bea6622d9032127fb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 09:02:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 09:02:58 2011 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  hwmon: (max1111) Fix race condition causing NULL pointer exception\n  hwmon: (it87) Fix label group removal\n  hwmon: (asus_atk0110) Fix memory leak\n"
    },
    {
      "commit": "0916a5e45fbd2604a303c8cc18e6b2b7c815e4c9",
      "tree": "94846a921e4c8b5c5607c7811e0787e0684a356f",
      "parents": [
        "3cc0658e35124ace881f6942839dcae877c3eaed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 22:27:22 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 23:22:48 2011 -0400"
      },
      "message": "hppfs_lookup(): don\u0027t open-code lookup_one_len()\n\n... and it\u0027s getting it wrong, too - missing -\u003ed_revalidate() calls when\nit\u0027s dealing with filesystem (procfs) that has non-trivial -\u003ed_revalidate()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3cc0658e35124ace881f6942839dcae877c3eaed",
      "tree": "651cd3a34747a65c966168f1099489a8bc874d82",
      "parents": [
        "0577d1ba411f9c40693b8b3e4aa7e0892cd03091"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 22:24:15 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 23:22:17 2011 -0400"
      },
      "message": "hppfs: fix dentry leak\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0577d1ba411f9c40693b8b3e4aa7e0892cd03091",
      "tree": "1da66779d615071aaa00b12530569e057b0845db",
      "parents": [
        "642c937b4ed2e51d2f2e4c46ab7cd8b5bddf268b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 19:04:14 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 23:22:02 2011 -0400"
      },
      "message": "cramfs: get_cramfs_inode() returns ERR_PTR() on failure\n\n... and we want to report these failures in -\u003elookup() anyway.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "642c937b4ed2e51d2f2e4c46ab7cd8b5bddf268b",
      "tree": "37a1346f5a907ed052bd5f5ab44a3e6668cc12d3",
      "parents": [
        "a803b8067e317832d6a251c5b0486e36a4f81922"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 10:07:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 23:21:35 2011 -0400"
      },
      "message": "ufs should use d_splice_alias()\n\nit\u0027s NFS-exportable, so...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a803b8067e317832d6a251c5b0486e36a4f81922",
      "tree": "db7a40edece0e43f870bc33776bb1a7e4fb13006",
      "parents": [
        "1b71fe2efa31cd18c865db474a4cd473b6ab5281"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 08 20:56:55 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 17 23:20:29 2011 -0400"
      },
      "message": "fix exofs -\u003eget_parent()\n\nNULL is not a possible return value for that method, TYVM...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f560f6697f17e2465c8845c09f3a483faef38275",
      "tree": "b5b77d5f68ce957598e6b786a78c9dea78632ffa",
      "parents": [
        "3d68bd0010d2c9bc9ad6004fdcc4d6a56dcae199",
        "c2ec9471b5b1307429aef1cfaa2b3ae453a61d6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:49:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:49:55 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] update cifs to version 1.74\n  [CIFS] update limit for snprintf in cifs_construct_tcon\n  cifs: Fix signing failure when server mandates signing for NTLMSSP\n"
    },
    {
      "commit": "3d68bd0010d2c9bc9ad6004fdcc4d6a56dcae199",
      "tree": "013ac9bd1bc68d1d9dda17346eefc617aeb47265",
      "parents": [
        "efcbae253f97bf82e7befd372da3ad5995a53f1a",
        "05e9a2f67849e427f8900bad0a3f2a939e8dd3d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:49:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:49:28 2011 -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  Bluetooth: Fix crash with incoming L2CAP connections\n  Bluetooth: Fix regression in L2CAP connection procedure\n  gianfar: rx parser\n  r6040: only disable RX interrupt if napi_schedule_prep is successful\n  net: remove NETIF_F_ALL_TX_OFFLOADS\n  net: sctp: fix checksum marking for outgoing packets\n"
    },
    {
      "commit": "efcbae253f97bf82e7befd372da3ad5995a53f1a",
      "tree": "fbbba7dc1af78b341fbaab0bf329d343accff4ea",
      "parents": [
        "54a772b8aace3df8ad6af0bd0748f57d27f72b1d",
        "f71d26bb6503e9b11b91444819b2f96872baaab8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:48:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:48:52 2011 -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  watchdog: hpwdt depends on PCI\n  watchdog: fix hpwdt Kconfig regression in 3.0-rc\n"
    },
    {
      "commit": "54a772b8aace3df8ad6af0bd0748f57d27f72b1d",
      "tree": "bb75460187efc5b699491da9cd7fa423e8de7b4b",
      "parents": [
        "a6b52a9db891e2a39e8a0fed6005935d8b1aa59c",
        "a1ad5ec7f520c559becab2e989a397f1d6ac5eb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:48:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:48:18 2011 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:\n  [media] tuner-core: fix a 2.6.39 regression with mt20xx\n  [media] dvb_frontend: fix race condition in stopping/starting frontend\n  [media] media: fix radio-sf16fmr2 build when SND is not enabled\n  [media] MEDIA: Fix non-ISA_DMA_API link failure of sound code\n  [media] nuvoton-cir: make idle timeout more sane\n  [media] mceusb: increase default timeout to 100ms\n  [media] mceusb: Timeout unit corrections\n  [media] Revert \"V4L/DVB: cx23885: Enable Message Signaled Interrupts(MSI)\"\n"
    },
    {
      "commit": "a6b52a9db891e2a39e8a0fed6005935d8b1aa59c",
      "tree": "3fbef9df274667d1e96894c2b8c373b7192cfaf1",
      "parents": [
        "247dc220f410969b35f884f1554fe9b78119dd59",
        "7fb574a97f7147610c44cef55d0cde2409392a80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:47:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:47:47 2011 -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: Fixes device power states array overflow\n  ACPI, APEI, HEST, Detect duplicated hardware error source ID\n  ACPI: Fix lockdep false positives in acpi_power_off()\n"
    },
    {
      "commit": "247dc220f410969b35f884f1554fe9b78119dd59",
      "tree": "d8fc8c3bb86aa5a415edcc25f772bafb6f49b59b",
      "parents": [
        "94b0522ab77e4d74950e258e804ba05030b6fcff",
        "84652e834b11d1d279e9073a94b320c85707a880"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:47:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:47:27 2011 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM / MIPS: Convert i8259.c to using syscore_ops\n"
    },
    {
      "commit": "94b0522ab77e4d74950e258e804ba05030b6fcff",
      "tree": "79e4898ddcfe86b7c529a4529556cd5fc5ec9cab",
      "parents": [
        "d4bd4b40f8b18ad6a7e269e8f5c06f953f51016d",
        "d670ac019f60e4932ba329bb0800bf2929e6d77c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:47:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:47:11 2011 -0700"
      },
      "message": "Merge branch \u0027s5p-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung\n\n* \u0027s5p-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:\n  ARM: SAMSUNG: DMA Cleanup as per sparse\n  ARM: SAMSUNG: Check NULL return from irq_alloc_generic_chip\n"
    },
    {
      "commit": "d4bd4b40f8b18ad6a7e269e8f5c06f953f51016d",
      "tree": "7d8007097c318246179ed396ea0c075b42e46637",
      "parents": [
        "1765a367a3b5d5e9692949b0c5ec933eff2c0701",
        "1ef48593bd6a508984d1270a1075532628bfd9c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:43:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 17 12:43:58 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc: sun4m SMP: fix wrong shift instruction in IPI handler\n  sparc32,leon: Added __init declaration to leon_flush_needed()\n  sparc/irqs: Do not trace arch_local_{*,irq_*} functions\n"
    },
    {
      "commit": "d3f684f2820a7f42acef68bea6622d9032127fb2",
      "tree": "0ca1227b9c1499093e7af42d01ad75f41481b5e1",
      "parents": [
        "fa8b69758e65b406c8010936b541cd00deef804d"
      ],
      "author": {
        "name": "Pavel Herrmann",
        "email": "morpheus.ibis@gmail.com",
        "time": "Sun Jul 17 18:39:19 2011 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun Jul 17 18:39:19 2011 +0200"
      },
      "message": "hwmon: (max1111) Fix race condition causing NULL pointer exception\n\nspi_sync call uses its spi_message parameter to keep completion information,\nusing a drvdata structure is not thread-safe. Use a mutex to prevent\nmultiple access to shared driver data.\n\nSigned-off-by: Pavel Herrmann \u003cmorpheus.ibis@gmail.com\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Marek Vasut \u003cmarek.vasut@gmail.com\u003e\nAcked-by: Cyril Hrubis \u003cmetan@ucw.cz\u003e\nTested-by: Stanislav Brabec \u003cutx@penguin.cz\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "fa8b69758e65b406c8010936b541cd00deef804d",
      "tree": "62fa03b23e50c4f808494c9073c4085917ba3160",
      "parents": [
        "0b8e77f12cb6bfe2e5a67f2cdc8c7af23abc4ccf"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Jul 17 18:39:19 2011 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun Jul 17 18:39:19 2011 +0200"
      },
      "message": "hwmon: (it87) Fix label group removal\n\nA copy-and-paste error caused it87_attributes_vid to be referenced\nwhere it87_attributes_label should be. Thankfully the group is only\nused for attribute removal, not attribute creation, so the effects of\nthis bug are limited, but let\u0027s fix it still.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: stable@kernel.org\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "0b8e77f12cb6bfe2e5a67f2cdc8c7af23abc4ccf",
      "tree": "5df41a3dfae9282cf723bd0752c6fd2c9fa6820f",
      "parents": [
        "1765a367a3b5d5e9692949b0c5ec933eff2c0701"
      ],
      "author": {
        "name": "Luca Tettamanti",
        "email": "kronos.it@gmail.com",
        "time": "Sun Jul 17 18:39:18 2011 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun Jul 17 18:39:18 2011 +0200"
      },
      "message": "hwmon: (asus_atk0110) Fix memory leak\n\nThe object returned by atk_gitm is dynamically allocated and must be\nfreed.\n\nSigned-off-by: Luca Tettamanti \u003ckronos.it@gmail.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f71d26bb6503e9b11b91444819b2f96872baaab8",
      "tree": "beb605afc22e9c945f9d3402e5f13a68a4ff7ec9",
      "parents": [
        "2a75ca4a43e4276e6da2c75bea672a03e8e900fb"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jul 16 12:25:49 2011 -0700"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Sun Jul 17 12:40:08 2011 +0000"
      },
      "message": "watchdog: hpwdt depends on PCI\n\nhpwdt is a PCI driver so it should depend on PCI.\nFixes these build errors:\n\ndrivers/watchdog/hpwdt.c:762: error: implicit declaration of function \u0027pci_iomap\u0027\ndrivers/watchdog/hpwdt.c:762: warning: assignment makes pointer from integer without a cast\ndrivers/watchdog/hpwdt.c:797: error: implicit declaration of function \u0027pci_iounmap\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nCc: Thomas Mingarelli \u003cthomas.mingarelli@hp.com\u003e\n\n"
    },
    {
      "commit": "b793eb60a01d5b5e4aaeb2fbc2b036dec0d9f84d",
      "tree": "b4eee14f6f77e3c65fd4a745676eab78b84ca6cf",
      "parents": [
        "b35e160a111aa9ae3fad6294e038be20d0da721b"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jul 14 18:21:37 2011 +0900"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Jul 17 18:24:29 2011 +0900"
      },
      "message": "ASoC: Correct WM8994 MICBIAS supply widget hookup\n\nThe WM8994 and WM8958 series of devices have two MICBIAS supplies rather\nthan one, the current widget actually manages the microphone detection\ncontrol register bit (which is managed separately by the relevant API).\n\nFix this, hooking the relevant supplies up to the MICBIAS1 and MICBIAS2\nwidgets.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "1b71fe2efa31cd18c865db474a4cd473b6ab5281",
      "tree": "ca2409c9ed9311a5ddc998f7428d71273e94f2e5",
      "parents": [
        "dc137bf553dbb6855bd7efc34fedcd03102455f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 16 23:43:58 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 16 23:43:58 2011 -0400"
      },
      "message": "ceph analog of cifs build_path_from_dentry() race fix\n\n... unfortunately, cifs bug got copied.  Fix is essentially the same.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dc137bf553dbb6855bd7efc34fedcd03102455f7",
      "tree": "ab1fefc7da26bb86655a28651c4eafb56d741ea1",
      "parents": [
        "3110df800c4de2724624d46e6bed27efc5e9a707"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 16 23:37:20 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 16 23:37:20 2011 -0400"
      },
      "message": "cifs: build_path_from_dentry() race fix\n\ndeal with d_move() races properly; rename_lock read-retry loop,\nrcu_read_lock() held while walking to root, d_lock held over\nsubtraction from namelen and copying the component to stabilize\n-\u003ed_name.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ef48593bd6a508984d1270a1075532628bfd9c8",
      "tree": "4cc0cdc07616becf7f60e5fa7438c916d30f6dbe",
      "parents": [
        "6d999da4d2610460fc5f5ce498f1483b40cc6679"
      ],
      "author": {
        "name": "Will Simoneau",
        "email": "simoneau@ele.uri.edu",
        "time": "Sat Jul 16 10:45:12 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 10:45:12 2011 -0700"
      },
      "message": "sparc: sun4m SMP: fix wrong shift instruction in IPI handler\n\nThis shift instruction appears to be shifting in the wrong direction.\nWithout this change, my SparcStation-20MP hangs just after bringing up\nthe second CPU:\n\nEntering SMP Mode...\nStarting CPU 2 at f02b4e90\nBrought up 2 CPUs\nTotal of 2 processors activated (99.52 BogoMIPS).\n   *** stuck ***\n\nSigned-off-by: Will Simoneau \u003csimoneau@ele.uri.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05e9a2f67849e427f8900bad0a3f2a939e8dd3d6",
      "tree": "95048e1f1f0cff75d38792079d477f603b45a37c",
      "parents": [
        "9191e6ad897a8b4f0b89aea7c2d3c843f29a8630"
      ],
      "author": {
        "name": "Ilia Kolomisnky",
        "email": "iliak@ti.com",
        "time": "Fri Jul 15 18:30:21 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 10:14:44 2011 -0700"
      },
      "message": "Bluetooth: Fix crash with incoming L2CAP connections\n\nAnother regression fix considering incomming l2cap connections with\ndefer_setup enabled. In situations when incomming connection is\nextracted with l2cap_sock_accept, it\u0027s bt_sock info will have\n\u0027parent\u0027 member zerroed, but \u0027parent\u0027 may be used unconditionally\nin l2cap_conn_start() and l2cap_security_cfm() when defer_setup\nis enabled.\n\nBacktrace:\n[\u003cbf02d5ac\u003e] (l2cap_security_cfm+0x0/0x2ac [bluetooth]) from [\u003cbf01f01c\u003e] (hci_event_pac\nket+0xc2c/0x4aa4 [bluetooth])\n[\u003cbf01e3f0\u003e] (hci_event_packet+0x0/0x4aa4 [bluetooth]) from [\u003cbf01a844\u003e] (hci_rx_task+0x\ncc/0x27c [bluetooth])\n[\u003cbf01a778\u003e] (hci_rx_task+0x0/0x27c [bluetooth]) from [\u003cc008eee4\u003e] (tasklet_action+0xa0/\n0x15c)\n[\u003cc008ee44\u003e] (tasklet_action+0x0/0x15c) from [\u003cc008f38c\u003e] (__do_softirq+0x98/0x130)\n r7:00000101 r6:00000018 r5:00000001 r4:efc46000\n[\u003cc008f2f4\u003e] (__do_softirq+0x0/0x130) from [\u003cc008f524\u003e] (do_softirq+0x4c/0x58)\n[\u003cc008f4d8\u003e] (do_softirq+0x0/0x58) from [\u003cc008f5e0\u003e] (run_ksoftirqd+0xb0/0x1b4)\n r4:efc46000 r3:00000001\n[\u003cc008f530\u003e] (run_ksoftirqd+0x0/0x1b4) from [\u003cc009f2a8\u003e] (kthread+0x84/0x8c)\n r7:00000000 r6:c008f530 r5:efc47fc4 r4:efc41f08\n[\u003cc009f224\u003e] (kthread+0x0/0x8c) from [\u003cc008cc84\u003e] (do_exit+0x0/0x5f0)\n\nSigned-off-by: Ilia Kolomisnky \u003ciliak@ti.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9191e6ad897a8b4f0b89aea7c2d3c843f29a8630",
      "tree": "ef5f1c3795db584b7ff7780ac915aa7b0bdce057",
      "parents": [
        "f3dc1586375c3fa061c4867e8b076d09a53beb03"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Jul 15 18:30:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 10:14:44 2011 -0700"
      },
      "message": "Bluetooth: Fix regression in L2CAP connection procedure\n\nCaused by the following commit, partially revert it.\n\ncommit 9fa7e4f76f3658ba1f44fbdb95c77e7df3f53f95\nAuthor: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nDate:   Thu Jun 30 16:11:30 2011 -0300\n\n    Bluetooth: Fix regression with incoming L2CAP connections\n\n    PTS test A2DP/SRC/SRC_SET/TC_SRC_SET_BV_02_I revealed that\n    ( probably after the df3c3931e commit ) the l2cap connection\n    could not be established in case when the \"Auth Complete\" HCI\n    event does not arive before the initiator send \"Configuration\n    request\", in which case l2cap replies with \"Command rejected\"\n    since the channel is still in BT_CONNECT2 state.\n\nSigned-off-by: Luiz Augusto von Dentz \u003cluiz.von.dentz@intel.com\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d670ac019f60e4932ba329bb0800bf2929e6d77c",
      "tree": "43bdce92d0c6c6a34aea44cc764051cecb705fd2",
      "parents": [
        "691abd0abf8fd496c96fdb5b4fb64721f02aa513"
      ],
      "author": {
        "name": "Sangwook Lee",
        "email": "sangwook.lee@linaro.org",
        "time": "Sat Jul 16 15:50:19 2011 +0900"
      },
      "committer": {
        "name": "Kukjin Kim",
        "email": "kgene.kim@samsung.com",
        "time": "Sat Jul 16 15:50:19 2011 +0900"
      },
      "message": "ARM: SAMSUNG: DMA Cleanup as per sparse\n\nFunction declaration differs between file: dma.c and file:dma.h\nand SPARSE (Documentation/sparse.txt) gives error messages\n\nAll dma channels are members of \u0027enum dma_ch\u0027 and not \u0027unsigned int\u0027\nPlease have a look at channel definitions in:\narch/arm/mach-s3c64xx/include/mach/dma.h\narch/arm/plat-samsung/include/plat/s3c-dma-pl330.h\narch/arm/mach-s3c2410/include/mach/dma.h\nSo all arguments should be of type \u0027enum dma_ch\u0027\n\nSigned-off-by: Sangwook Lee \u003csangwook.lee@linaro.org\u003e\nSigned-off-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\n"
    },
    {
      "commit": "2a75ca4a43e4276e6da2c75bea672a03e8e900fb",
      "tree": "7d4558de387fe7075f2169479968e28fb90c60a6",
      "parents": [
        "1765a367a3b5d5e9692949b0c5ec933eff2c0701"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olaf@aepfle.de",
        "time": "Fri Jul 15 23:23:33 2011 +0200"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Sat Jul 16 06:06:12 2011 +0000"
      },
      "message": "watchdog: fix hpwdt Kconfig regression in 3.0-rc\n\nRemove Kconfig regression caused by commit\na4616153deae053b29a2b7dd9ec4b2a225accfc5 \"watchdog: hpwdt: build hpwdt as\nmodule by default with NMI_DECODING enabled\"\n\nWith the above change applied, hpwdt will be enabled unconditionally by just\nentering the Watchdog subscreen in menuconfig. Since this driver is not\nessential to boot any box it should remain disabled until it gets manually\nenabled, just like all other drivers.\n\nSigned-off-by: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Tony Camuso \u003ctcamuso@redhat.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\n"
    },
    {
      "commit": "691abd0abf8fd496c96fdb5b4fb64721f02aa513",
      "tree": "e8a7e9ded2937b3edfbf99ce8e104e1a17981df3",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Sat Jul 16 11:13:47 2011 +0900"
      },
      "committer": {
        "name": "Kukjin Kim",
        "email": "kgene.kim@samsung.com",
        "time": "Sat Jul 16 11:13:47 2011 +0900"
      },
      "message": "ARM: SAMSUNG: Check NULL return from irq_alloc_generic_chip\n\nSigned-off-by: Todd Poynor \u003ctoddpoynor@google.com\u003e\nSigned-off-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\n"
    },
    {
      "commit": "1765a367a3b5d5e9692949b0c5ec933eff2c0701",
      "tree": "8dad931aab78c8f83588eec7cd3ff1f6dcae0f65",
      "parents": [
        "900b170af40b4fef54e89f3d48d055f7d8031ae6",
        "164d5c3988baf61f40c5749ddc063a9cdca8f521"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 18:03:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 18:03:30 2011 -0700"
      },
      "message": "Merge branch \u0027gpio/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027gpio/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  gpio: wm831x: add a missing break in wm831x_gpio_dbg_show\n"
    },
    {
      "commit": "900b170af40b4fef54e89f3d48d055f7d8031ae6",
      "tree": "3a7a4fba6d5efd200eeab0eabbaf1d6fd632c894",
      "parents": [
        "af8a927c8bdea82cf220e0b720d64daaf073a969"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Jul 15 21:33:12 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 18:02:35 2011 -0700"
      },
      "message": "ARM: fix regression in IXP4xx clocksource\n\nCommit 234b6ceddb4fc2a4bc5b9a7670f070f6e69e0868\n\n   clocksource: convert ARM 32-bit up counting clocksources\n\nbroke the build for ixp4xx and made big endian operation impossible.\nThis commit restores the original behaviour.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: Krzysztof Hałasa \u003ckhc@pm.waw.pl\u003e\n[ Thomas says that we might want to have generic BE accessor functions\n  to the MMIO clock source, but that hasn\u0027t happened yet, so in the\n  meantime this seems to be the short-term fix for the particular\n  problem - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3dc1586375c3fa061c4867e8b076d09a53beb03",
      "tree": "70202f8648dfdaa47c3a877425a60057d06ee7f1",
      "parents": [
        "0d9b6e738a22244d38def847a24e5ee6fcedd898"
      ],
      "author": {
        "name": "Sebastian Pöhn",
        "email": "sebastian.belden@googlemail.com",
        "time": "Fri Jul 15 16:00:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 15 16:00:20 2011 -0700"
      },
      "message": "gianfar: rx parser\n\nOnly let the rx parser be enabled if it is necessary (if VLAN extraction,\nIP or TCP checksumming or the rx queue filer are enabled). Otherwise\ndisable it.\n\nThe new routine gfar_check_rx_parser_mode should be run after every\nchange on this features and will enable/disable the parser as necessary.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Sebastian Poehn \u003csebastian.poehn@belden.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84652e834b11d1d279e9073a94b320c85707a880",
      "tree": "f7d1650c5e88ee3a55100e9a367835ae75f2c646",
      "parents": [
        "3110df800c4de2724624d46e6bed27efc5e9a707"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 16 00:59:54 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 16 00:59:54 2011 +0200"
      },
      "message": "PM / MIPS: Convert i8259.c to using syscore_ops\n\nThe code in arch/mips/kernel/i8259.c still hasn\u0027t been converted to\nusing struct syscore_ops instead of a sysdev for resume and shutdown.\nAs a result, this code doesn\u0027t build any more after suspend, resume\nand shutdown callbacks have been removed from struct sysdev_class.\nFix this problem by converting i8259.c to using syscore_ops.\n\nReported-and-tested-by: Roland Vossen \u003crvossen@broadcom.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "164d5c3988baf61f40c5749ddc063a9cdca8f521",
      "tree": "e627515924beb4c914f20d0f134d25d70a008d16",
      "parents": [
        "2345b20fd9160d99f7cdf34e7b028ea351bf9c25"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Sun Jul 10 15:45:07 2011 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jul 15 14:03:30 2011 -0600"
      },
      "message": "gpio: wm831x: add a missing break in wm831x_gpio_dbg_show\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "af8a927c8bdea82cf220e0b720d64daaf073a969",
      "tree": "97411751db099ab0c2022d0699e6f9df9aef2e3a",
      "parents": [
        "3110df800c4de2724624d46e6bed27efc5e9a707",
        "3a36199114de0e60984534776732e0a7a220e29e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 11:03:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 11:03:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: remove resize from unsupported features list\n"
    },
    {
      "commit": "3110df800c4de2724624d46e6bed27efc5e9a707",
      "tree": "7285520054f5fb5e154c8f71c9232f8b63cca417",
      "parents": [
        "375d0c0e70cf788fa74c658e5dd619a7abb7c5f7",
        "7e97bbba62754ea86e191b99c6978476198ecb99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 10:21:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 10:21:21 2011 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:\n  hwmon: (adm1275) Fix coefficients per datasheet revision B\n  hwmon: (pmbus) Use long variables for register to data conversions\n"
    },
    {
      "commit": "375d0c0e70cf788fa74c658e5dd619a7abb7c5f7",
      "tree": "07a53ae55261580137f5d9d69fc7d9c5365f3229",
      "parents": [
        "da1b001a2a2a9cb323e58327ed07ac4a5e6d96ea",
        "e3c1620434ac77b618ce74c024ace3559602ac99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 10:21:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 10:21:07 2011 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon/kms: add new NI pci ids\n"
    },
    {
      "commit": "da1b001a2a2a9cb323e58327ed07ac4a5e6d96ea",
      "tree": "b4d183c6a4bab6a2b53d9ac9f4501bcd46cb158b",
      "parents": [
        "df8d6fe9efba4ea4b46a5bdc229031c5bb880575",
        "1836750115f20b774e55c032a3893e8c5bdf41ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:55:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:55:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  fix loop checks in d_materialise_unique()\n  Fix -\u003ed_lock locking order in unlazy_walk()\n"
    },
    {
      "commit": "df8d6fe9efba4ea4b46a5bdc229031c5bb880575",
      "tree": "d5fb84d4bec0dc62b1ec1a19a01718620caa9918",
      "parents": [
        "c64be78ffb415278d7d32d6f55de95c73dcc19a4",
        "b0d304172f49061b4ff78f9e2b02719ac69c8a7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:54:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:54:34 2011 -0700"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu\n\n* \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu:\n  rcu: Prevent RCU callbacks from executing before scheduler initialized\n"
    },
    {
      "commit": "c64be78ffb415278d7d32d6f55de95c73dcc19a4",
      "tree": "0777bdbb0424a6ce948c817247757a4ba3b01a32",
      "parents": [
        "5dcd07b9f39ca3e9be5bcc387d193fc0674e1c81"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jul 11 16:28:50 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:54:02 2011 -0700"
      },
      "message": "sched: Fix 32bit race\n\nCommit 3fe1698b7fe0 (\"sched: Deal with non-atomic min_vruntime reads\non 32bit\") forgot to initialize min_vruntime_copy which could lead to\nan infinite while loop in task_waking_fair() under some circumstances\n(early boot, lucky timing).\n\n[ This bug was also reported by others that blamed it on the RCU\n  initialization problems ]\n\nReported-and-tested-by: Bruno Wolff III \u003cbruno@wolff.to\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3c1620434ac77b618ce74c024ace3559602ac99",
      "tree": "40b976b6914b40b44741a5b63c7a700a7884d592",
      "parents": [
        "5dcd07b9f39ca3e9be5bcc387d193fc0674e1c81"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Fri Jul 15 14:39:10 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jul 15 16:10:55 2011 +0100"
      },
      "message": "drm/radeon/kms: add new NI pci ids\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0d9b6e738a22244d38def847a24e5ee6fcedd898",
      "tree": "21ca5f7bc9713f2e1d7caad7758e2d0e245a7bc5",
      "parents": [
        "62f2a3a48bdc99822a24356e667e52c30df287c9"
      ],
      "author": {
        "name": "Michael Thalmeier",
        "email": "Michael.Thalmeier@sigmatek.at",
        "time": "Fri Jul 15 01:28:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 15 08:10:33 2011 -0700"
      },
      "message": "r6040: only disable RX interrupt if napi_schedule_prep is successful\n\nWhen receiving the first RX interrupt before the internal call\nto napi_schedule_prep is successful the RX interrupt gets disabled\nand is never enabled again as the poll function never gets executed.\n\nSigned-off-by: Michael Thalmeier \u003cMichael.Thalmeier@sigmatek.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e97bbba62754ea86e191b99c6978476198ecb99",
      "tree": "08c5441c955e28b4327fb068261ad17684bdaa32",
      "parents": [
        "f450c1504d3ff6aace3927c805bdea0ac0669efd"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Jul 14 14:18:03 2011 -0700"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Fri Jul 15 08:09:40 2011 -0700"
      },
      "message": "hwmon: (adm1275) Fix coefficients per datasheet revision B\n\nCoefficients to convert chip register values to voltage/current have been\nslightly changed in revision B of the chip datasheet. Update driver coefficients\nto match the coefficients in the datasheet.\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    }
  ],
  "next": "b35e160a111aa9ae3fad6294e038be20d0da721b"
}
