)]}'
{
  "log": [
    {
      "commit": "8102679447da7fcbcb5226ee0207c3a034bc6d5f",
      "tree": "bb1717150a94a02a44c3bafc9bf8969ef6045f89",
      "parents": [
        "e0f364f4069f76a3613a797c388832822d179076"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:40 2005 -0700"
      },
      "message": "[PATCH] sched: improve load balancing pinned tasks\n\nJohn Hawkes explained the problem best:\n\n\tA large number of processes that are pinned to a single CPU results\n\tin every other CPU\u0027s load_balance() seeing this overloaded CPU as\n\t\"busiest\", yet move_tasks() never finds a task to pull-migrate.  This\n\tcondition occurs during module unload, but can also occur as a\n\tdenial-of-service using sys_sched_setaffinity().  Several hundred\n\tCPUs performing this fruitless load_balance() will livelock on the\n\tbusiest CPU\u0027s runqueue lock.  A smaller number of CPUs will livelock\n\tif the pinned task count gets high.\n\nExpanding slightly on John\u0027s patch, this one attempts to work out whether the\nbalancing failure has been due to too many tasks pinned on the runqueue.  This\nallows it to be basically invisible to the regular blancing paths (ie.  when\nthere are no pinned tasks).  We can use this extra knowledge to shut down the\nbalancing faster, and ensure the migration threads don\u0027t start running which\nis another problem observed in the wild.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0f364f4069f76a3613a797c388832822d179076",
      "tree": "d47e817c037a5765935c43f4aac4f4b0864bce4a",
      "parents": [
        "44f410a7ce593e7e75667b93494223998069f3f1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:40 2005 -0700"
      },
      "message": "[PATCH] sched: cleanup wake_idle\n\nNew sched-domains code means we don\u0027t get spans with offline CPUs in\nthem.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "19c324397a55edf122822f829779b46b9cb385dd",
      "tree": "4a4c8f9b614fa5312c09096c9cabaa1435afde36",
      "parents": [
        "21d6b7e18f70c847c867aafb3109405b48424388"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:34 2005 -0700"
      },
      "message": "[PATCH] swsusp: only allow it when it makes sense\n\nShow swsuspend only on .config where it can compile.  I got this on PPC32 \u0026\u0026\nSMP:\n\nkernel/power/smp.c:24: error: storage size of `ctxt\u0027 isn\u0027t known\n\nAlso mark swsusp as no longer experimental.\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac25575203c11145066ea5cb583354cb5f0a8ade",
      "tree": "f5bb286385e7a9aa0264b5186c165bac3606d327",
      "parents": [
        "8d783b3e02002bce8cf9d4e4a82922ee7e59b1e5"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Sat Jun 25 14:55:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:34 2005 -0700"
      },
      "message": "[PATCH] CPU hotplug printk fix\n\nIn the cpu hotplug case, per-cpu data possibly isn\u0027t initialized even the\nsystem state is \u0027running\u0027.  As the comments say in the original code, some\nconsole drivers assume per-cpu resources have been allocated.  radeon fb is\none such driver, which uses kmalloc.  After a CPU is down, the per-cpu data\nof slab is freed, so the system crashed when printing some info.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c61978b30322c83a94d7e4857fa5b9996b7d7931",
      "tree": "34fe94d8b55738a957472de21a098a588f171d6a",
      "parents": [
        "2e4d5822dc71f01bf515b8f6f4e41ae12ee785b8"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] swsusp: fix nr_copy_pages\n\nThe following patch moves the recalculation of nr_copy_pages so that the right\nnumber is used in the calculation of the size of memory and swap needed.\n\nIt prevents swsusp from attempting to suspend if there is not enough memory\nand/or swap (which is unlikely anyway).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e4d5822dc71f01bf515b8f6f4e41ae12ee785b8",
      "tree": "1905dbcb8042c2a8fce552bd5c9596be9827462e",
      "parents": [
        "8f9bdf15c059c5d84db9c395705bf79b30762420"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] swsusp: cleanup whitespace\n\nThe following patch cleans up whitespace in swsusp.c (a bit):\n\n- removes any trailing whitespace\n\n- adds spaces after if, for, for_each_pbe, for_each_zone etc., wherever\n  necessary.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f9bdf15c059c5d84db9c395705bf79b30762420",
      "tree": "a24e77d4082b807c784073d266f2a34b3ff5d663",
      "parents": [
        "620b03276488c3cf103caf1e326bd21f00d3df84"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] swsusp: kill unneccessary does_collide_order\n\nThe following patch removes the unnecessary function does_collide_order().\n\nThis function is no longer necessary, as currently there are only 0-order\nallocations in swsusp, and the use of it is confusing.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "620b03276488c3cf103caf1e326bd21f00d3df84",
      "tree": "e2de713c76ddb42b091305b88aa7ca4938081789",
      "parents": [
        "5ce47e59c9688d8480ae41100117d8188c191401"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] properly stop devices before poweroff\n\nWithout this patch, Linux provokes emergency disk shutdowns and\nsimilar nastiness. It was in SuSE kernels for some time, IIRC.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a72e04df5470df0ec646029d31e5528167ab1a7",
      "tree": "11be00c3ed3d8bad775e6eec44078c9f942537b9",
      "parents": [
        "fb69c3907ead36b9e9f41ea6f0d0e0ae10a38a47"
      ],
      "author": {
        "name": "Li Shaohua",
        "email": "shaohua.li@intel.com",
        "time": "Sat Jun 25 14:55:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:32 2005 -0700"
      },
      "message": "[PATCH] suspend/resume SMP support\n\nUsing CPU hotplug to support suspend/resume SMP.  Both S3 and S4 use\ndisable/enable_nonboot_cpus API.  The S4 part is based on Pavel\u0027s original S4\nSMP patch.\n\nSigned-off-by: Li Shaohua\u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f370513640492641b4046bfd9a6e4714f6ae530d",
      "tree": "46da47197fcbb3614b51c5f1fac841bf26d5e572",
      "parents": [
        "d92de65cab5980c16d4a1c326c1ef9a591892883"
      ],
      "author": {
        "name": "Zwane Mwaikambo",
        "email": "zwane@linuxpower.ca",
        "time": "Sat Jun 25 14:54:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:29 2005 -0700"
      },
      "message": "[PATCH] i386 CPU hotplug\n\n(The i386 CPU hotplug patch provides infrastructure for some work which Pavel\nis doing as well as for ACPI S3 (suspend-to-RAM) work which Li Shaohua\n\u003cshaohua.li@intel.com\u003e is doing)\n\nThe following provides i386 architecture support for safely unregistering and\nregistering processors during runtime, updated for the current -mm tree.  In\norder to avoid dumping cpu hotplug code into kernel/irq/* i dropped the\ncpu_online check in do_IRQ() by modifying fixup_irqs().  The difference being\nthat on cpu offline, fixup_irqs() is called before we clear the cpu from\ncpu_online_map and a long delay in order to ensure that we never have any\nqueued external interrupts on the APICs.  There are additional changes to s390\nand ppc64 to account for this change.\n\n1) Add CONFIG_HOTPLUG_CPU\n2) disable local APIC timer on dead cpus.\n3) Disable preempt around irq balancing to prevent CPUs going down.\n4) Print irq stats for all possible cpus.\n5) Debugging check for interrupts on offline cpus.\n6) Hacky fixup_irqs() to redirect irqs when cpus go off/online.\n7) play_dead() for offline cpus to spin inside.\n8) Handle offline cpus set in flush_tlb_others().\n9) Grab lock earlier in smp_call_function() to prevent CPUs going down.\n10) Implement __cpu_disable() and __cpu_die().\n11) Enable local interrupts in cpu_enable() after fixup_irqs()\n12) Don\u0027t fiddle with NMI on dead cpu, but leave intact on other cpus.\n13) Program IRQ affinity whilst cpu is still in cpu_online_map on offline.\n\nSigned-off-by: Zwane Mwaikambo \u003czwane@linuxpower.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52c1da39534fb382c061de58b65f678ad74b59f5",
      "tree": "92b18695f23afbc99374f844445f555a198978f2",
      "parents": [
        "d763b7a4736e219528f77bf6bc75dd78b1d75c03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 23 22:05:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:43 2005 -0700"
      },
      "message": "[PATCH] make various thing static\n\nAnother rollup of patches which give various symbols static scope\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c988d2b2845495373f666a381d354a7f80981d62",
      "tree": "aece734adc28728437c9c87ba53428e79ac4c25f",
      "parents": [
        "f5bec39639d386e1893dc440dd536761136ab36b"
      ],
      "author": {
        "name": "Matt Domsch",
        "email": "Matt_Domsch@dell.com",
        "time": "Thu Jun 23 22:05:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:40 2005 -0700"
      },
      "message": "[PATCH] modules: add version and srcversion to sysfs\n\nThis patch adds version and srcversion files to\n/sys/module/${modulename} containing the version and srcversion fields\nof the module\u0027s modinfo section (if present).\n\n/sys/module/e1000\n|-- srcversion\n`-- version\n\nThis patch differs slightly from the version posted in January, as it\nnow uses the new kstrdup() call in -mm.\n\nWhy put this in sysfs?\n\na) Tools like DKMS, which deal with changing out individual kernel\n   modules without replacing the whole kernel, can behave smarter if they\n   can tell the version of a given module.  The autoinstaller feature, for\n   example, which determines if your system has a \"good\" version of a\n   driver (i.e.  if the one provided by DKMS has a newer verson than that\n   provided by the kernel package installed), and to automatically compile\n   and install a newer version if DKMS has it but your kernel doesn\u0027t yet\n   have that version.\n\nb) Because sysadmins manually, or with tools like DKMS, can switch out\n   modules on the file system, you can\u0027t count on \u0027modinfo foo.ko\u0027, which\n   looks at /lib/modules/${kernelver}/...  actually matching what is loaded\n   into the kernel already.  Hence asking sysfs for this.\n\nc) as the unbind-driver-from-device work takes shape, it will be\n   possible to rebind a driver that\u0027s built-in (no .ko to modinfo for the\n   version) to a newly loaded module.  sysfs will have the\n   currently-built-in version info, for comparison.\n\nd) tech support scripts can then easily grab the version info for what\u0027s\n   running presently - a question I get often.\n\nThere has been renewed interest in this patch on linux-scsi by driver\nauthors.\n\nAs the idea originated from GregKH, I leave his Signed-off-by: intact,\nthough the implementation is nearly completely new.  Compiled and run on\nx86 and x86_64.\n\nFrom: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\n\n      build fix\n\nFrom: Thierry Vignaud \u003ctvignaud@mandriva.com\u003e\n\n      build fix\n\nFrom: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\n\n      warning fix\n\nSigned-off-by: Greg Kroah-Hartman \u003cgreg@kroah.com\u003e\nSigned-off-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e30148c3d524a9c1c63ca28261bc24c457eb07a",
      "tree": "a2fcc46cc11fe871ad976c07476d934a07313576",
      "parents": [
        "8589b4e00e352f983259140f25a262d973be6bc5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:19 2005 -0700"
      },
      "message": "[PATCH] Keys: Make request-key create an authorisation key\n\nThe attached patch makes the following changes:\n\n (1) There\u0027s a new special key type called \".request_key_auth\".\n\n     This is an authorisation key for when one process requests a key and\n     another process is started to construct it. This type of key cannot be\n     created by the user; nor can it be requested by kernel services.\n\n     Authorisation keys hold two references:\n\n     (a) Each refers to a key being constructed. When the key being\n     \t constructed is instantiated the authorisation key is revoked,\n     \t rendering it of no further use.\n\n     (b) The \"authorising process\". This is either:\n\n     \t (i) the process that called request_key(), or:\n\n     \t (ii) if the process that called request_key() itself had an\n     \t      authorisation key in its session keyring, then the authorising\n     \t      process referred to by that authorisation key will also be\n     \t      referred to by the new authorisation key.\n\n\t This means that the process that initiated a chain of key requests\n\t will authorise the lot of them, and will, by default, wind up with\n\t the keys obtained from them in its keyrings.\n\n (2) request_key() creates an authorisation key which is then passed to\n     /sbin/request-key in as part of a new session keyring.\n\n (3) When request_key() is searching for a key to hand back to the caller, if\n     it comes across an authorisation key in the session keyring of the\n     calling process, it will also search the keyrings of the process\n     specified therein and it will use the specified process\u0027s credentials\n     (fsuid, fsgid, groups) to do that rather than the calling process\u0027s\n     credentials.\n\n     This allows a process started by /sbin/request-key to find keys belonging\n     to the authorising process.\n\n (4) A key can be read, even if the process executing KEYCTL_READ doesn\u0027t have\n     direct read or search permission if that key is contained within the\n     keyrings of a process specified by an authorisation key found within the\n     calling process\u0027s session keyring, and is searchable using the\n     credentials of the authorising process.\n\n     This allows a process started by /sbin/request-key to read keys belonging\n     to the authorising process.\n\n (5) The magic KEY_SPEC_*_KEYRING key IDs when passed to KEYCTL_INSTANTIATE or\n     KEYCTL_NEGATE will specify a keyring of the authorising process, rather\n     than the process doing the instantiation.\n\n (6) One of the process keyrings can be nominated as the default to which\n     request_key() should attach new keys if not otherwise specified. This is\n     done with KEYCTL_SET_REQKEY_KEYRING and one of the KEY_REQKEY_DEFL_*\n     constants. The current setting can also be read using this call.\n\n (7) request_key() is partially interruptible. If it is waiting for another\n     process to finish constructing a key, it can be interrupted. This permits\n     a request-key cycle to be broken without recourse to rebooting.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-Off-By: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7888e7ff4ee579442128d7d12a9c9dbf2cf7de6a",
      "tree": "abe428ecb966e1dae07fce17f38e3e0c0ab4f134",
      "parents": [
        "76d8aeabfeb1c42641a81c44280177b9a08670d8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:18 2005 -0700"
      },
      "message": "[PATCH] Keys: Pass session keyring to call_usermodehelper()\n\nThe attached patch makes it possible to pass a session keyring through to the\nprocess spawned by call_usermodehelper().  This allows patch 3/3 to pass an\nauthorisation key through to /sbin/request-key, thus permitting better access\ncontrols when doing just-in-time key creation.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c43dc2fd885b5658cfd7cedb7bcca20910c517a4",
      "tree": "98b723badf4a71c9dbf04cfd0babcb02ac577982",
      "parents": [
        "63e6880918e75dcb92d60aff218a76e063a471ef"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:34 2005 -0700"
      },
      "message": "[PATCH] aio: make wait_queue -\u003etask -\u003eprivate\n\nIn the upcoming aio_down patch, it is useful to store a private data\npointer in the kiocb\u0027s wait_queue.  Since we provide our own wake up\nfunction and do not require the task_struct pointer, it makes sense to\nconvert the task pointer into a generic private pointer.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "71a2224d7d1cefc23a1ac80bba421cc069cc3257",
      "tree": "3b3bc52e592484f008b4f1035a0d2e9e16b029f3",
      "parents": [
        "b030a4dd609e167da7f73c2d1fa5af864a0aea17"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:10:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:30 2005 -0700"
      },
      "message": "[PATCH] Optimize sys_times for a single thread process\n\nAvoid taking the tasklist_lock in sys_times if the process is single\nthreaded.  In a NUMA system taking the tasklist_lock may cause a bouncing\ncacheline if multiple independent processes continually call sys_times to\nmeasure their performance.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4fea2838aa00b9e59efde974dcdb455608192811",
      "tree": "f5de626cd00b232c8d3183bfcf3a1a669c1ff738",
      "parents": [
        "af4d2ecbf007b7df3db7a41eedccdc05b8006d0b"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Thu Jun 23 00:09:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:27 2005 -0700"
      },
      "message": "[PATCH] Software suspend and recalc sigpending bug fix\n\nThis patch fixes recalc_sigpending() to work correctly with tasks which are\nbeing freezed.\n\nThe problem is that freeze_processes() sets PF_FREEZE and TIF_SIGPENDING\nflags on tasks, but recalc_sigpending() called from e.g.\nsys_rt_sigtimedwait or any other kernel place will clear TIF_SIGPENDING due\nto no pending signals queued and the tasks won\u0027t be freezed until it\nrecieves a real signal or freezed_processes() fail due to timeout.\n\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-Off-By: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6e711448137ca3301512cec41a2c2ce852b3d0a",
      "tree": "f0765ebd90fdbdf270c05fcd7f3d32b24ba56681",
      "parents": [
        "8b0914ea7475615c7c8965c1ac8fe4069270f25c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jun 23 00:09:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] setuid core dump\n\nAdd a new `suid_dumpable\u0027 sysctl:\n\nThis value can be used to query and set the core dump mode for setuid\nor otherwise protected/tainted binaries. The modes are\n\n0 - (default) - traditional behaviour.  Any process which has changed\n    privilege levels or is execute only will not be dumped\n\n1 - (debug) - all processes dump core when possible.  The core dump is\n    owned by the current user and no security is applied.  This is intended\n    for system debugging situations only.  Ptrace is unchecked.\n\n2 - (suidsafe) - any binary which normally would not be dumped is dumped\n    readable by root only.  This allows the end user to remove such a dump but\n    not access it directly.  For security reasons core dumps in this mode will\n    not overwrite one another or other files.  This mode is appropriate when\n    adminstrators are attempting to debug problems in a normal environment.\n\n(akpm:\n\n\u003e \u003e +EXPORT_SYMBOL(suid_dumpable);\n\u003e\n\u003e EXPORT_SYMBOL_GPL?\n\nNo problem to me.\n\n\u003e \u003e  \tif (current-\u003eeuid \u003d\u003d current-\u003euid \u0026\u0026 current-\u003eegid \u003d\u003d current-\u003egid)\n\u003e \u003e  \t\tcurrent-\u003emm-\u003edumpable \u003d 1;\n\u003e\n\u003e Should this be SUID_DUMP_USER?\n\nActually the feedback I had from last time was that the SUID_ defines\nshould go because its clearer to follow the numbers. They can go\neverywhere (and there are lots of places where dumpable is tested/used\nas a bool in untouched code)\n\n\u003e Maybe this should be renamed to `dump_policy\u0027 or something.  Doing that\n\u003e would help us catch any code which isn\u0027t using the #defines, too.\n\nFair comment. The patch was designed to be easy to maintain for Red Hat\nrather than for merging. Changing that field would create a gigantic\ndiff because it is used all over the place.\n\n)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b0914ea7475615c7c8965c1ac8fe4069270f25c",
      "tree": "fb85ed3b08d9c61090bbc9dee9d06f54b945e52a",
      "parents": [
        "852caccc89d3883522e87a91bfa89fd9c9cfe15a"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:25 2005 -0700"
      },
      "message": "[PATCH] jprobes: allow a jprobe to coexist with muliple kprobes\n\nPresently either multiple kprobes or only one jprobe could be inserted.\nThis patch removes the above limitation and allows one jprobe and multiple\nkprobes to coexist at the same address.  However multiple jprobes cannot\ncoexist with multiple kprobes.  Currently I am working on the prototype to\nallow multiple jprobes coexist with multiple kprobes.\n\nSigned-off-by: Ananth N Mavinakayanhalli \u003camavin@redhat.com\u003e\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ea32c65cc2d2294c04e9f81d0578a6f51febfdbf",
      "tree": "b301766bcc903f982b0ae85b5edffe9477a65408",
      "parents": [
        "89cb14c0dd0e4a7d0315d19f449389c4d49237ee"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:24 2005 -0700"
      },
      "message": "[PATCH] kprobes: Temporary disarming of reentrant probe\n\nIn situations where a kprobes handler calls a routine which has a probe on it,\nthen kprobes_handler() disarms the new probe forever.  This patch removes the\nabove limitation by temporarily disarming the new probe.  When the another\nprobe hits while handling the old probe, the kprobes_handler() saves previous\nkprobes state and handles the new probe without calling the new kprobes\nregistered handlers.  kprobe_post_handler() restores back the previous kprobes\nstate and the normal execution continues.\n\nHowever on x86_64 architecture, re-rentrancy is provided only through\npre_handler().  If a routine having probe is referenced through\npost_handler(), then the probes on that routine are disarmed forever, since\nthe exception stack is gets changed after the processor single steps the\ninstruction of the new probe.\n\nThis patch includes generic changes to support temporary disarming on\nreentrancy of probes.\n\nSigned-of-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0aa55e4d7db822059fe8132fe9f2b7773c48216c",
      "tree": "84075ac377f29f393aff802f00def309a98bcf40",
      "parents": [
        "7e1048b11c5afe79aac46a42e3ccec86b8365c6d"
      ],
      "author": {
        "name": "Hien Nguyen",
        "email": "hien@us.ibm.com",
        "time": "Thu Jun 23 00:09:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] kprobes: moves lock-unlock to non-arch kprobe_flush_task\n\nThis patch moves the lock/unlock of the arch specific kprobe_flush_task()\nto the non-arch specific kprobe_flusk_task().\n\nSigned-off-by: Hien Nguyen \u003chien@us.ibm.com\u003e\nAcked-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e1048b11c5afe79aac46a42e3ccec86b8365c6d",
      "tree": "4f9caee0153e688f22d7e7b6fdc62e35be4fc3fe",
      "parents": [
        "73649dab0fd524cb8545a8cb83c6eaf77b107105"
      ],
      "author": {
        "name": "Rusty Lynch",
        "email": "rusty.lynch@intel.com",
        "time": "Thu Jun 23 00:09:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] Move kprobe [dis]arming into arch specific code\n\nThe architecture independent code of the current kprobes implementation is\narming and disarming kprobes at registration time.  The problem is that the\ncode is assuming that arming and disarming is a just done by a simple write\nof some magic value to an address.  This is problematic for ia64 where our\ninstructions look more like structures, and we can not insert break points\nby just doing something like:\n\n*p-\u003eaddr \u003d BREAKPOINT_INSTRUCTION;\n\nThe following patch to 2.6.12-rc4-mm2 adds two new architecture dependent\nfunctions:\n\n     * void arch_arm_kprobe(struct kprobe *p)\n     * void arch_disarm_kprobe(struct kprobe *p)\n\nand then adds the new functions for each of the architectures that already\nimplement kprobes (spar64/ppc64/i386/x86_64).\n\nI thought arch_[dis]arm_kprobe was the most descriptive of what was really\nhappening, but each of the architectures already had a disarm_kprobe()\nfunction that was really a \"disarm and do some other clean-up items as\nneeded when you stumble across a recursive kprobe.\" So...  I took the\nliberty of changing the code that was calling disarm_kprobe() to call\narch_disarm_kprobe(), and then do the cleanup in the block of code dealing\nwith the recursive kprobe case.\n\nSo far this patch as been tested on i386, x86_64, and ppc64, but still\nneeds to be tested in sparc64.\n\nSigned-off-by: Rusty Lynch \u003crusty.lynch@intel.com\u003e\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b94cce926b2b902b79380ccba370d6f9f2980de0",
      "tree": "da2680b1ec36eae6423ba446d09284d2642ae82b",
      "parents": [
        "2fa389c5eb8c97d621653184d2adf5fdbd4a3167"
      ],
      "author": {
        "name": "Hien Nguyen",
        "email": "hien@us.ibm.com",
        "time": "Thu Jun 23 00:09:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] kprobes: function-return probes\n\nThis patch adds function-return probes to kprobes for the i386\narchitecture.  This enables you to establish a handler to be run when a\nfunction returns.\n\n1. API\n\nTwo new functions are added to kprobes:\n\n\tint register_kretprobe(struct kretprobe *rp);\n\tvoid unregister_kretprobe(struct kretprobe *rp);\n\n2. Registration and unregistration\n\n2.1 Register\n\n  To register a function-return probe, the user populates the following\n  fields in a kretprobe object and calls register_kretprobe() with the\n  kretprobe address as an argument:\n\n  kp.addr - the function\u0027s address\n\n  handler - this function is run after the ret instruction executes, but\n  before control returns to the return address in the caller.\n\n  maxactive - The maximum number of instances of the probed function that\n  can be active concurrently.  For example, if the function is non-\n  recursive and is called with a spinlock or mutex held, maxactive \u003d 1\n  should be enough.  If the function is non-recursive and can never\n  relinquish the CPU (e.g., via a semaphore or preemption), NR_CPUS should\n  be enough.  maxactive is used to determine how many kretprobe_instance\n  objects to allocate for this particular probed function.  If maxactive \u003c\u003d\n  0, it is set to a default value (if CONFIG_PREEMPT maxactive\u003dmax(10, 2 *\n  NR_CPUS) else maxactive\u003dNR_CPUS)\n\n  For example:\n\n    struct kretprobe rp;\n    rp.kp.addr \u003d /* entrypoint address */\n    rp.handler \u003d /*return probe handler */\n    rp.maxactive \u003d /* e.g., 1 or NR_CPUS or 0, see the above explanation */\n    register_kretprobe(\u0026rp);\n\n  The following field may also be of interest:\n\n  nmissed - Initialized to zero when the function-return probe is\n  registered, and incremented every time the probed function is entered but\n  there is no kretprobe_instance object available for establishing the\n  function-return probe (i.e., because maxactive was set too low).\n\n2.2 Unregister\n\n  To unregiter a function-return probe, the user calls\n  unregister_kretprobe() with the same kretprobe object as registered\n  previously.  If a probed function is running when the return probe is\n  unregistered, the function will return as expected, but the handler won\u0027t\n  be run.\n\n3. Limitations\n\n3.1 This patch supports only the i386 architecture, but patches for\n    x86_64 and ppc64 are anticipated soon.\n\n3.2 Return probes operates by replacing the return address in the stack\n    (or in a known register, such as the lr register for ppc).  This may\n    cause __builtin_return_address(0), when invoked from the return-probed\n    function, to return the address of the return-probes trampoline.\n\n3.3 This implementation uses the \"Multiprobes at an address\" feature in\n    2.6.12-rc3-mm3.\n\n3.4 Due to a limitation in multi-probes, you cannot currently establish\n    a return probe and a jprobe on the same function.  A patch to remove\n    this limitation is being tested.\n\nThis feature is required by SystemTap (http://sourceware.org/systemtap),\nand reflects ideas contributed by several SystemTap developers, including\nWill Cohen and Ananth Mavinakayanahalli.\n\nSigned-off-by: Hien Nguyen \u003chien@us.ibm.com\u003e\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@laposte.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df164db5fd16888ddbe2a63a47b2f6dda9a428b5",
      "tree": "cc9aaf42f93761083e58e1d9d8d22261e0ff3686",
      "parents": [
        "5f45f1a78fbac3cc859ec10c5366e97d20d40fa2"
      ],
      "author": {
        "name": "Alexander Nyberg",
        "email": "alexn@dsv.su.se",
        "time": "Thu Jun 23 00:09:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] avoid resursive oopses\n\nPrevent recursive faults in do_exit() by leaving the task alone and wait\nfor reboot.  This may allow a more graceful shutdown and possibly save the\noriginal oops.\n\nSigned-off-by: Alexander Nyberg \u003calexn@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5f45f1a78fbac3cc859ec10c5366e97d20d40fa2",
      "tree": "bafacf11adbfb4eebf2d2d80d92e1fe2d9c02b18",
      "parents": [
        "ac20427ef6aa63da663bdc88b71d16f7394f5e23"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] remove duplicate get_dentry functions in various places\n\nVarious filesystem drivers have grown a get_dentry() function that\u0027s a\nduplicate of lookup_one_len, except that it doesn\u0027t take a maximum length\nargument and doesn\u0027t check for \\0 or / in the passed in filename.\n\nSwitch all these places to use lookup_one_len.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "be5b4fbd017d12e0d09ea0528a5839ce2ed2c8c8",
      "tree": "212a43003d1c4265718f53502547f36acbec143d",
      "parents": [
        "dcd497f99a1ef29a7c5e76142965be77e9dacabd"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu Jun 23 00:09:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] preempt_count is int - remove cast and don\u0027t assign to unsigned type\n\nIn kernel/sched.c the return value from preempt_count() is cast to an int.\nThat made sense when preempt_count was defined as different types on is not\nneeded and should go away.  The patch removes the cast.\n\nIn kernel/timer.c the return value from preempt_count() is assigned to a\nvariable of type u32 and then that unsigned value is later compared to\npreempt_count().  Since preempt_count() returns an int, an int is what\nshould be used to store its return value.  Storing the result in an\nunsigned 32bit integer made a tiny bit of sense back when preempt_count was\ndifferent types on different archs, but no more - let\u0027s not play signed vs\nunsigned comparison games when we don\u0027t have to.  The patch modifies the\ncode to use an int to hold the value.  While I was around that bit of code\nI also made two changes to a nearby (related) printk() - I modified it to\nspecify the loglevel explicitly and also broke the line into a few pieces\nto avoid it being longer than 80 chars and clarified the text a bit.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ab4af03a4054bd78bcabfb2214c9597201beae35",
      "tree": "43d2b273cb84349bfdde6667f8d5fea1d2d87031",
      "parents": [
        "dfe52244e004f5103478966cd88351feb5c50d79"
      ],
      "author": {
        "name": "Greg Edwards",
        "email": "edwardsg@sgi.com",
        "time": "Thu Jun 23 00:09:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] CON_CONSDEV bit not set correctly on last console\n\nAccording to include/linux/console.h, CON_CONSDEV flag should be set on\nthe last console specified on the boot command line:\n\n     86 #define CON_PRINTBUFFER (1)\n     87 #define CON_CONSDEV     (2) /* Last on the command line */\n     88 #define CON_ENABLED     (4)\n     89 #define CON_BOOT        (8)\n\nThis does not currently happen if there is more than one console specified\non the boot commandline.  Instead, it gets set on the first console on the\ncommand line.  This can cause problems for things like kdb that look for\nthe CON_CONSDEV flag to see if the console is valid.\n\nAdditionaly, it doesn\u0027t look like CON_CONSDEV is reassigned to the next\npreferred console at unregister time if the console being unregistered\ncurrently has that bit set.\n\nExample (from sn2 ia64):\n\nelilo vmlinuz root\u003d\u003cdev\u003e console\u003dttyS0 console\u003dttySG0\n\nin this case, the flags on ttySG console struct will be 0x4 (should be\n0x6).\n\nAttached patch against bk fixes both issues for the cases I looked at.  It\nuses selected_console (which gets incremented for each console specified on\nthe command line) as the indicator of which console to set CON_CONSDEV on.\nWhen adding the console to the list, if the previous one had CON_CONSDEV\nset, it masks it out.  Tested on ia64 and x86.\n\nThe problem with the current behavior is it breaks overriding the default from\nthe boot line.  In the ia64 case, there may be a global append line defining\nconsole\u003da in elilo.conf.  Then you want to boot your kernel, and want to\noverride the default by passing console\u003db on the boot line.  elilo constructs\nthe kernel cmdline by starting with the value of the global append line, then\ntacks on whatever else you specify, which puts console\u003db last.\n\nSigned-off-by: Greg Edwards \u003cedwardsg@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f972be33ce6a08b5f096ba013c7459a3a82f5f39",
      "tree": "5d495cdfc82dce1b8017244563f2f5437c395433",
      "parents": [
        "fd450b7318b75343fd76b3d95416853e34e72c95"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:09:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:17 2005 -0700"
      },
      "message": "[PATCH] posix-timers: use try_to_del_timer_sync()\n\nsys_timer_settime/sys_timer_delete needs to delete k_itimer-\u003ereal.timer\nsynchronously while holding -\u003eit_lock, which is also locked in\nposix_timer_fn.\n\nThis patch removes timer_active/set_timer_inactive which plays with\ntimer_list\u0027s internals in favour of using try_to_del_timer_sync(), which\nwas introduced in the previous patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd450b7318b75343fd76b3d95416853e34e72c95",
      "tree": "e747348f7d3c9f1615963dde4f2c8baaf842415f",
      "parents": [
        "55c888d6d09a0df236adfaf8ccf06ff5d0646775"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:08:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] timers: introduce try_to_del_timer_sync()\n\nThis patch splits del_timer_sync() into 2 functions.  The new one,\ntry_to_del_timer_sync(), returns -1 when it hits executing timer.\n\nIt can be used in interrupt context, or when the caller hold locks which\ncan prevent completion of the timer\u0027s handler.\n\nNOTE.  Currently it can\u0027t be used in interrupt context in UP case, because\n-\u003erunning_timer is used only with CONFIG_SMP.\n\nShould the need arise, it is possible to kill #ifdef CONFIG_SMP in\nset_running_timer(), it is cheap.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55c888d6d09a0df236adfaf8ccf06ff5d0646775",
      "tree": "deb9434abe3cf7c9b714ccb267ef5d943a847dfe",
      "parents": [
        "bdd646a44672115c986593956aa4ef105485a184"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:08:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] timers fixes/improvements\n\nThis patch tries to solve following problems:\n\n1. del_timer_sync() is racy. The timer can be fired again after\n   del_timer_sync have checked all cpus and before it will recheck\n   timer_pending().\n\n2. It has scalability problems. All cpus are scanned to determine\n   if the timer is running on that cpu.\n\n   With this patch del_timer_sync is O(1) and no slower than plain\n   del_timer(pending_timer), unless it has to actually wait for\n   completion of the currently running timer.\n\n   The only restriction is that the recurring timer should not use\n   add_timer_on().\n\n3. The timers are not serialized wrt to itself.\n\n   If CPU_0 does mod_timer(jiffies+1) while the timer is currently\n   running on CPU 1, it is quite possible that local interrupt on\n   CPU_0 will start that timer before it finished on CPU_1.\n\n4. The timers locking is suboptimal. __mod_timer() takes 3 locks\n   at once and still requires wmb() in del_timer/run_timers.\n\n   The new implementation takes 2 locks sequentially and does not\n   need memory barriers.\n\nCurrently -\u003ebase !\u003d NULL means that the timer is pending. In that case\n-\u003ebase.lock is used to lock the timer. __mod_timer also takes timer-\u003elock\nbecause -\u003ebase can be \u003d\u003d NULL.\n\nThis patch uses timer-\u003eentry.next !\u003d NULL as indication that the timer is\npending. So it does __list_del(), entry-\u003enext \u003d NULL instead of list_del()\nwhen the timer is deleted.\n\nThe -\u003ebase field is used for hashed locking only, it is initialized\nin init_timer() which sets -\u003ebase \u003d per_cpu(tvec_bases). When the\ntvec_bases.lock is locked, it means that all timers which are tied\nto this base via timer-\u003ebase are locked, and the base itself is locked\ntoo.\n\nSo __run_timers/migrate_timers can safely modify all timers which could\nbe found on -\u003etvX lists (pending timers).\n\nWhen the timer\u0027s base is locked, and the timer removed from -\u003eentry list\n(which means that _run_timers/migrate_timers can\u0027t see this timer), it is\npossible to set timer-\u003ebase \u003d NULL and drop the lock: the timer remains\nlocked.\n\nThis patch adds lock_timer_base() helper, which waits for -\u003ebase !\u003d NULL,\nlocks the -\u003ebase, and checks it is still the same.\n\n__mod_timer() schedules the timer on the local CPU and changes it\u0027s base.\nHowever, it does not lock both old and new bases at once. It locks the\ntimer via lock_timer_base(), deletes the timer, sets -\u003ebase \u003d NULL, and\nunlocks old base. Then __mod_timer() locks new_base, sets -\u003ebase \u003d new_base,\nand adds this timer. This simplifies the code, because AB-BA deadlock is not\npossible. __mod_timer() also ensures that the timer\u0027s base is not changed\nwhile the timer\u0027s handler is running on the old base.\n\n__run_timers(), del_timer() do not change -\u003ebase anymore, they only clear\npending flag.\n\nSo del_timer_sync() can test timer-\u003ebase-\u003erunning_timer \u003d\u003d timer to detect\nwhether it is running or not.\n\nWe don\u0027t need timer_list-\u003elock anymore, this patch kills it.\n\nWe also don\u0027t need barriers. del_timer() and __run_timers() used smp_wmb()\nbefore clearing timer\u0027s pending flag. It was needed because __mod_timer()\ndid not lock old_base if the timer is not pending, so __mod_timer()-\u003elist_add()\ncould race with del_timer()-\u003elist_del(). With this patch these functions are\nserialized through base-\u003elock.\n\nOne problem. TIMER_INITIALIZER can\u0027t use per_cpu(tvec_bases). So this patch\nadds global\n\n        struct timer_base_s {\n                spinlock_t lock;\n                struct timer_list *running_timer;\n        } __init_timer_base;\n\nwhich is used by TIMER_INITIALIZER. The corresponding fields in tvec_t_base_s\nstruct are replaced by struct timer_base_s t_base.\n\nIt is indeed ugly. But this can\u0027t have scalability problems. The global\n__init_timer_base.lock is used only when __mod_timer() is called for the first\ntime AND the timer was compile time initialized. After that the timer migrates\nto the local CPU.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Renaud Lienhart \u003crenaud.lienhart@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59121003721a8fad11ee72e646fd9d3076b5679c",
      "tree": "c9279c1b74cce81a9dbaf1e7fd038cd55caf26f2",
      "parents": [
        "799d19f6ec5ca2102c61122f5219a17f1c4e961a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:08:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:10 2005 -0700"
      },
      "message": "[PATCH] i386: Selectable Frequency of the Timer Interrupt\n\nMake the timer frequency selectable. The timer interrupt may cause bus\nand memory contention in large NUMA systems since the interrupt occurs\non each processor HZ times per second.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b77d6adc922b8bbf8b16b67f567958c42962cf88",
      "tree": "6d212543f10d0330b73ec3932d17c97a1da56bdf",
      "parents": [
        "faec1e99ba9ca7371d9aee1656938373133c4b21"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Tue Jun 21 17:16:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:32 2005 -0700"
      },
      "message": "[PATCH] uml: make hw_controller_type-\u003erelease exist only for archs needing it\n\nWith Chris Wedgwood \u003ccw@f00f.org\u003e\n\nAs suggested by Chris, we can make the \"just added\" method -\u003erelease\nconditional to UML only (better: to archs requesting it, i.e.  only UML\ncurrently), so that other archs don\u0027t get this unneeded crud, and if UML\nwon\u0027t need it any more we can kill this.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCC: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dbce706e2550253c5ab6043f4f5dfde0cd02470f",
      "tree": "5d96bab350d86e43e32faa80b64e05e7dc514ae8",
      "parents": [
        "5757b284a300e0e5d2173750906625b6470bd9f0"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Tue Jun 21 17:16:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:32 2005 -0700"
      },
      "message": "[PATCH] uml: add and use generic hw_controller_type-\u003erelease\n\nWith Chris Wedgwood \u003ccw@f00f.org\u003e\n\nCurrently UML must explicitly call the UML-specific\nfree_irq_by_irq_and_dev() for each free_irq call it\u0027s done.\n\nThis is needed because -\u003eshutdown and/or -\u003edisable are only called when the\nlast \"action\" for that irq is removed.\n\nInstead, for UML shared IRQs (UML IRQs are very often, if not always,\nshared), for each dev_id some setup is done, which must be cleared on the\nrelease of that fd.  For instance, for each open console a new instance\n(i.e.  new dev_id) of the same IRQ is requested().\n\nExactly, a fd is stored in an array (pollfds), which is after read by a\nhost thread and passed to poll().  Each event registered by poll() triggers\nan interrupt.  So, for each free_irq() we must remove the corresponding\nhost fd from the table, which we do via this -release() method.\n\nIn this patch we add an appropriate hook for this, and remove all uses of\nit by pointing the hook to the said procedure; this is safe to do since the\nsaid procedure.\n\nAlso some cosmetic improvements are included.\n\nThis is heavily based on some work by Chris Wedgwood, which however didn\u0027t\nget the patch merged for something I\u0027d call a \"misunderstanding\" (the need\nfor this patch wasn\u0027t cleanly explained, thus adding the generic hook was\nfelt as undesirable).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCC: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45918e1a8bfcabc1cb4570b8df276655020eac45",
      "tree": "4caf6a8b634de389e758d2b4c037208f098b3141",
      "parents": [
        "91612e0df20a52f61db3cac280c153311b36df7a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] dup_mmap: update comment on new vma\n\nRemove part of comment on linking new vma in dup_mmap: since anon_vma rmap\ncame in, try_to_unmap_one knows the vma without needing find_vma.  But add\na comment to note that here vma is inserted without mmap_sem.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1363c3cd8603a913a27e2995dccbd70d5312d8e6",
      "tree": "405e7fc1ef44678f3ca0a54c536d0457e6e80f45",
      "parents": [
        "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a"
      ],
      "author": {
        "name": "Wolfgang Wander",
        "email": "wwc@rentec.com",
        "time": "Tue Jun 21 17:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] Avoiding mmap fragmentation\n\nIngo recently introduced a great speedup for allocating new mmaps using the\nfree_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and\ncauses huge performance increases in thread creation.\n\nThe downside of this patch is that it does lead to fragmentation in the\nmmap-ed areas (visible via /proc/self/maps), such that some applications\nthat work fine under 2.4 kernels quickly run out of memory on any 2.6\nkernel.\n\nThe problem is twofold:\n\n  1) the free_area_cache is used to continue a search for memory where\n     the last search ended.  Before the change new areas were always\n     searched from the base address on.\n\n     So now new small areas are cluttering holes of all sizes\n     throughout the whole mmap-able region whereas before small holes\n     tended to close holes near the base leaving holes far from the base\n     large and available for larger requests.\n\n  2) the free_area_cache also is set to the location of the last\n     munmap-ed area so in scenarios where we allocate e.g.  five regions of\n     1K each, then free regions 4 2 3 in this order the next request for 1K\n     will be placed in the position of the old region 3, whereas before we\n     appended it to the still active region 1, placing it at the location\n     of the old region 2.  Before we had 1 free region of 2K, now we only\n     get two free regions of 1K -\u003e fragmentation.\n\nThe patch addresses thes issues by introducing yet another cache descriptor\ncached_hole_size that contains the largest known hole size below the\ncurrent free_area_cache.  If a new request comes in the size is compared\nagainst the cached_hole_size and if the request can be filled with a hole\nbelow free_area_cache the search is started from the base instead.\n\nThe results look promising: Whereas 2.6.12-rc4 fragments quickly and my\n(earlier posted) leakme.c test program terminates after 50000+ iterations\nwith 96 distinct and fragmented maps in /proc/self/maps it performs nicely\n(as expected) with thread creation, Ingo\u0027s test_str02 with 20000 threads\nrequires 0.7s system time.\n\nTaking out Ingo\u0027s patch (un-patch available per request) by basically\ndeleting all mentions of free_area_cache from the kernel and starting the\nsearch for new memory always at the respective bases we observe: leakme\nterminates successfully with 11 distinctive hardly fragmented areas in\n/proc/self/maps but thread creating is gringdingly slow: 30+s(!) system\ntime for Ingo\u0027s test_str02 with 20000 threads.\n\nNow - drumroll ;-) the appended patch works fine with leakme: it ends with\nonly 7 distinct areas in /proc/self/maps and also thread creation seems\nsufficiently fast with 0.71s for 20000 threads.\n\nSigned-off-by: Wolfgang Wander \u003cwwc@rentec.com\u003e\nCredit-to: \"Richard Purdie\" \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e (partly)\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "753ee728964e5afb80c17659cc6c3a6fd0a42fe0",
      "tree": "41c9a7700d0858c1f77c5bdaba97e5b636f69b06",
      "parents": [
        "bfbb38fb808ac23ef44472d05d9bb36edfb49ed0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: early zone reclaim\n\nThis is the core of the (much simplified) early reclaim.  The goal of this\npatch is to reclaim some easily-freed pages from a zone before falling back\nonto another zone.\n\nOne of the major uses of this is NUMA machines.  With the default allocator\nbehavior the allocator would look for memory in another zone, which might be\noff-node, before trying to reclaim from the current zone.\n\nThis adds a zone tuneable to enable early zone reclaim.  It is selected on a\nper-zone basis and is turned on/off via syscall.\n\nAdding some extra throttling on the reclaim was also required (patch\n4/4).  Without the machine would grind to a crawl when doing a \"make -j\"\nkernel build.  Even with this patch the System Time is higher on\naverage, but it seems tolerable.  Here are some numbers for kernbench\nruns on a 2-node, 4cpu, 8Gig RAM Altix in the \"make -j\" run:\n\n\t\t\twall  user   sys   %cpu  ctx sw.  sleeps\n\t\t\t----  ----   ---   ----   ------  ------\nNo patch\t\t1009  1384   847   258   298170   504402\nw/patch, no reclaim     880   1376   667   288   254064   396745\nw/patch \u0026 reclaim       1079  1385   926   252   291625   548873\n\nThese numbers are the average of 2 runs of 3 \"make -j\" runs done right\nafter system boot.  Run-to-run variability for \"make -j\" is huge, so\nthese numbers aren\u0027t terribly useful except to seee that with reclaim\nthe benchmark still finishes in a reasonable amount of time.\n\nI also looked at the NUMA hit/miss stats for the \"make -j\" runs and the\nreclaim doesn\u0027t make any difference when the machine is thrashing away.\n\nDoing a \"make -j8\" on a single node that is filled with page cache pages\ntakes 700 seconds with reclaim turned on and 735 seconds without reclaim\n(due to remote memory accesses).\n\nThe simple zone_reclaim syscall program is at\nhttp://www.bork.org/~mort/sgi/zone_reclaim.c\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39c715b71740c4a78ba4769fb54826929bac03cb",
      "tree": "94dd679dfc8e6c2db65971739aa8c8c6206f8174",
      "parents": [
        "84929801e14d968caeb84795bfbb88f04283fbd9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 21 17:14:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] smp_processor_id() cleanup\n\nThis patch implements a number of smp_processor_id() cleanup ideas that\nArjan van de Ven and I came up with.\n\nThe previous __smp_processor_id/_smp_processor_id/smp_processor_id API\nspaghetti was hard to follow both on the implementational and on the\nusage side.\n\nSome of the complexity arose from picking wrong names, some of the\ncomplexity comes from the fact that not all architectures defined\n__smp_processor_id.\n\nIn the new code, there are two externally visible symbols:\n\n - smp_processor_id(): debug variant.\n\n - raw_smp_processor_id(): nondebug variant. Replaces all existing\n   uses of _smp_processor_id() and __smp_processor_id(). Defined\n   by every SMP architecture in include/asm-*/smp.h.\n\nThere is one new internal symbol, dependent on DEBUG_PREEMPT:\n\n - debug_smp_processor_id(): internal debug variant, mapped to\n                             smp_processor_id().\n\nAlso, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new\nlib/smp_processor_id.c file.  All related comments got updated and/or\nclarified.\n\nI have build/boot tested the following 8 .config combinations on x86:\n\n {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}\n\nI have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT.  (Other\narchitectures are untested, but should work just fine.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70f2817a43c89b784dc2ec3d06ba5bf3064f8235",
      "tree": "210bbd16599d4e402051e4ec30c82e70b8b427ef",
      "parents": [
        "6c1852a08e444a2e66367352a99c0e93c8bf3e97"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Fri Apr 29 01:27:34 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:03 2005 -0700"
      },
      "message": "[PATCH] sysfs: (rest) if show/store is missing return -EIO\n\nsysfs: fix the rest of the kernel so if an attribute doesn\u0027t\n       implement show or store method read/write will return\n       -EIO instead of 0 or -EINVAL or -EPERM.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0107b3cf3225aed6ddde4fa8dbcd4ed643b34f4d",
      "tree": "9b9337ae627fc56a0eda43c60860765f25efaa0b",
      "parents": [
        "1c3f45ab2f7f879ea482501c83899505c31f7539",
        "9ee1c939d1cb936b1f98e8d81aeffab57bae46ab"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat Jun 18 08:36:46 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat Jun 18 08:36:46 2005 +0100"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\n"
    },
    {
      "commit": "caf2857ac6e0ba2651e722f05d5f7d3ec8ef2615",
      "tree": "cb8e51e7c17c0964bdfd29635d51da0124d0dfe8",
      "parents": [
        "97008082eacab047c189028202e055280f799ace"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 17 11:36:36 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 17 10:03:50 2005 -0700"
      },
      "message": "[PATCH] timer exit cleanup\n\nDo all timer zapping in exit_itimers.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6df3cecbb95345981718b38d357c50bc3425420a",
      "tree": "50550e3863513ac051164abc082e2899d61d4dab",
      "parents": [
        "f797f9cc5485b50c35c106b462e1bc432ec37f90"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jun 13 15:52:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 13 20:58:58 2005 -0700"
      },
      "message": "[PATCH] cond_resched_lock() fix\n\nOn one path, cond_resched_lock() fails to return true if it dropped the lock.\nWe think this might be causing the crashes in JBD\u0027s log_do_checkpoint().\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c3f45ab2f7f879ea482501c83899505c31f7539",
      "tree": "672465b3b9b3e2e26a8caf74ed64aa6885c52c13",
      "parents": [
        "4bcff1b37e7c3aed914d1ce5b45994adc7dbf455",
        "e0d6d71440a3a35c6fc2dde09f8e8d4d7bd44dda"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu Jun 02 16:39:11 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu Jun 02 16:39:11 2005 +0100"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\n"
    },
    {
      "commit": "ae92ef8a442421356950a0a8dfdc35e8e783000e",
      "tree": "ddfad1eff028815ff32fd9f21b6e18df4e3804ae",
      "parents": [
        "f50734569c25c4e902bd3d0fb2e5bd93a200cc75"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue May 31 14:39:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 31 14:54:18 2005 -0700"
      },
      "message": "[PATCH] flush icache in correct context\n\nflush_icache_range() is used in two different situation - in binfmt_elf.c \u0026\nco for user space mappings and module.c for kernel modules.  On m68k\nflush_icache_range() doesn\u0027t know which data to flush, as it has separate\naddress spaces and the pointer argument can be valid in either address\nspace.\n\nFirst I considered splitting flush_icache_range(), but this patch is\nsimpler.  Setting the correct context gives flush_icache_range() enough\ninformation to flush the correct data.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b60c1f6ffd88850079ae419aa933ab0eddbd5535",
      "tree": "d0f12a263ea1fe3b434de6a5d338509e238d46b3",
      "parents": [
        "70ffc71c5c42c8ac62d951e80d9799bd5764f2f5"
      ],
      "author": {
        "name": "John Hawkes",
        "email": "hawkes@sgi.com",
        "time": "Fri May 27 12:53:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat May 28 11:14:00 2005 -0700"
      },
      "message": "[PATCH] drop note_interrupt() for per-CPU for proper scaling\n\nThe \"unhandled interrupts\" catcher, note_interrupt(), increments a global\ndesc-\u003eirq_count and grossly damages scaling of very large systems, e.g.,\n\u003e192p ia64 Altix, because of this highly contented cacheline, especially\nfor timer interrupts.  384p is severely crippled, and 512p is unuseable.\n\nAll calls to note_interrupt() can be disabled by booting with \"noirqdebug\",\nbut this disables the useful interrupt checking for all interrupts.\n\nI propose eliminating note_interrupt() for all per-CPU interrupts.  This\nwas the behavior of linux-2.6.10 and earlier, but in 2.6.11 a code\nrestructuring added a call to note_interrupt() for per-CPU interrupts.\nBesides, note_interrupt() is a bit racy for concurrent CPU calls anyway, as\nthe desc-\u003eirq_count++ increment isn\u0027t atomic (which, if done, would make\nscaling even worse).\n\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2efe86b809d97debaaf9fcc13b041aedf15bd3d2",
      "tree": "87e039397918f4c5b0a21d798589a8ce517bfa2d",
      "parents": [
        "88c1834633341bbb94e315433067496338bff4ad"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri May 27 02:02:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri May 27 08:07:26 2005 -0700"
      },
      "message": "[PATCH] cpuset exit NULL dereference fix\n\nThere is a race in the kernel cpuset code, between the code\nto handle notify_on_release, and the code to remove a cpuset.\nThe notify_on_release code can end up trying to access a\ncpuset that has been removed.  In the most common case, this\ncauses a NULL pointer dereference from the routine cpuset_path.\nHowever all manner of bad things are possible, in theory at least.\n\nThe existing code decrements the cpuset use count, and if the\ncount goes to zero, processes the notify_on_release request,\nif appropriate.  However, once the count goes to zero, unless we\nare holding the global cpuset_sem semaphore, there is nothing to\nstop another task from immediately removing the cpuset entirely,\nand recycling its memory.\n\nThe obvious fix would be to always hold the cpuset_sem\nsemaphore while decrementing the use count and dealing with\nnotify_on_release.  However we don\u0027t want to force a global\nsemaphore into the mainline task exit path, as that might create\na scaling problem.\n\nThe actual fix is almost as easy - since this is only an issue\nfor cpusets using notify_on_release, which the top level big\ncpusets don\u0027t normally need to use, only take the cpuset_sem\nfor cpusets using notify_on_release.\n\nThis code has been run for hours without a hiccup, while running\na cpuset create/destroy stress test that could crash the existing\nkernel in seconds.  This patch applies to the current -linus\ngit kernel.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Simon Derr \u003csimon.derr@bull.net\u003e\nAcked-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f37d47c9bf74cb48692691086b482e315d07f40",
      "tree": "b7d35bbd8e78d124455f3abbc9c50134bc9cee0a",
      "parents": [
        "7551ced334ce6eb2a7a765309871e619f645add1"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 27 12:17:28 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 27 12:17:28 2005 +0100"
      },
      "message": "AUDIT: Record working directory when syscall arguments are pathnames\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "7551ced334ce6eb2a7a765309871e619f645add1",
      "tree": "b34088792efdf335e6a2c02a9c97768da84a695a",
      "parents": [
        "37ca5389b863e5ffba6fb7c22331bf57dbf7764a"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 26 12:04:57 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 26 12:04:57 2005 +0100"
      },
      "message": "AUDIT: Defer freeing aux items until audit_free_context()\n\nWhile they were all just simple blobs it made sense to just free them\nas we walked through and logged them. Now that there are pointers to\nother objects which need refcounting, we might as well revert to\n_only_ logging them in audit_log_exit(), and put the code to free them\nproperly in only one place -- in audit_free_aux().\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n----------------------------------------------------------\n"
    },
    {
      "commit": "c33880aaddbbab1ccf36f4457ed1090621f2e39a",
      "tree": "2bcaa297c0688c3ce997ede15bf224c39fee6e23",
      "parents": [
        "6431e6a28e8df423e1ebcda065e9ff086198d2c6"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Tue May 24 19:29:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 24 20:08:13 2005 -0700"
      },
      "message": "[PATCH] sigkill priority fix\n\nIf SIGKILL does not have priority, we cannot instantly kill task before it\nmakes some unexpected job.  It can be critical, but we were unable to\nreproduce this easily until Heiko Carstens \u003cHeiko.Carstens@de.ibm.com\u003e\nreported this problem on LKML.\n\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-Off-By: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99e45eeac867d51ff3395dcf3d7aedf5ac2812c8",
      "tree": "6cad4f59214ed4563ddc189bc98f05d1e2b1a5cc",
      "parents": [
        "bccf6ae083318ea08094d6ab185fdf7c49906b3a"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Mon May 23 21:57:41 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Mon May 23 21:57:41 2005 +0100"
      },
      "message": "AUDIT: Escape comm when logging task info\n\nIt comes from the user; it needs to be escaped.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "bccf6ae083318ea08094d6ab185fdf7c49906b3a",
      "tree": "0dc4fabe9004aa666e646c69e976fda989c08565",
      "parents": [
        "bfb4496e7239c9132d732a65cdcf3d6a7431ad1a"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Mon May 23 21:35:28 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Mon May 23 21:35:28 2005 +0100"
      },
      "message": "AUDIT: Unify auid reporting, put arch before syscall number\n\nThese changes make processing of audit logs easier. Based on a patch\nfrom Steve Grubb \u003csgrubb@redhat.com\u003e\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "bfb4496e7239c9132d732a65cdcf3d6a7431ad1a",
      "tree": "72a2068a1008a66db09ad6eebfdeb490f1a33308",
      "parents": [
        "7b5d781ce1f19fb7382d3d3fb7af48e429bed12d"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat May 21 21:08:09 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat May 21 21:08:09 2005 +0100"
      },
      "message": "AUDIT: Assign serial number to non-syscall messages\n\nMove audit_serial() into audit.c and use it to generate serial numbers \non messages even when there is no audit context from syscall auditing.  \nThis allows us to disambiguate audit records when more than one is \ngenerated in the same millisecond.\n\nBased on a patch by Steve Grubb after he observed the problem.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n\n"
    },
    {
      "commit": "10f02d1c59e55f529140dda3a92f0099d748451c",
      "tree": "6b5a5804503401624171aff65b09ff022a9f0103",
      "parents": [
        "9636273dae265b9354b861b373cd43cd76a6d0fe"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@labri.fr",
        "time": "Sat May 21 17:50:15 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat May 21 10:46:48 2005 -0700"
      },
      "message": "[PATCH] spin_unlock_bh() and preempt_check_resched()\n\nIn _spin_unlock_bh(lock):\n\tdo { \\\n\t\t_raw_spin_unlock(lock); \\\n\t\tpreempt_enable(); \\\n\t\tlocal_bh_enable(); \\\n\t\t__release(lock); \\\n\t} while (0)\n\nthere is no reason for using preempt_enable() instead of a simple\npreempt_enable_no_resched()\n\nSince we know bottom halves are disabled, preempt_schedule() will always\nreturn at once (preempt_count!\u003d0), and hence preempt_check_resched() is\nuseless here...\n\nThis fixes it by using \"preempt_enable_no_resched()\" instead of the\n\"preempt_enable()\", and thus avoids the useless preempt_check_resched()\njust before re-enabling bottom halves.\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "326e9c8ba6a149f47e020719b23b24a14ba740d6",
      "tree": "279ace274d6a5e7c696c95f397bfbf5d5d5c347a",
      "parents": [
        "05474106a41f44d16d649bc8c7687fc24ce4370a"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Sat May 21 00:22:31 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat May 21 00:22:31 2005 +0100"
      },
      "message": "AUDIT: Fix inconsistent use of loginuid vs. auid, signed vs. unsigned \n\nThe attached patch changes all occurrences of loginuid to auid. It also \nchanges everything to %u that is an unsigned type.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "05474106a41f44d16d649bc8c7687fc24ce4370a",
      "tree": "0c6893b88d843795d60eb03e929bac3e8937bc9c",
      "parents": [
        "011161051bbc25f7f8b7df059dbd934c534443f0"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Sat May 21 00:18:37 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat May 21 00:18:37 2005 +0100"
      },
      "message": "AUDIT: Fix AVC_USER message passing.\n\nThe original AVC_USER message wasn\u0027t consolidated with the new range of\nuser messages. The attached patch fixes the kernel so the old messages \nwork again.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "011161051bbc25f7f8b7df059dbd934c534443f0",
      "tree": "f1ca3727e4130cacad86dfdae65e7533fcb67784",
      "parents": [
        "fb19b4c6aa024837a0071f07baa07dbf49d07151"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Sat May 21 00:15:52 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat May 21 00:15:52 2005 +0100"
      },
      "message": "AUDIT: Avoid sleeping function in SElinux AVC audit.\n\nThis patch changes the SELinux AVC to defer logging of paths to the audit\nframework upon syscall exit, by saving a reference to the (dentry,vfsmount)\npair in an auxiliary audit item on the current audit context for processing\nby audit_log_exit.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "b39c4fab259b216148e705344a892c96efe1946d",
      "tree": "6419f40168e5b9a1eab2a6d413e85d82975dd6b2",
      "parents": [
        "b2665f92ae67a2d086537979d317a6f3a5697c63"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri May 20 13:59:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri May 20 15:48:19 2005 -0700"
      },
      "message": "[PATCH] cpusets+hotplug+preepmt broken\n\nThis patch removes the entwining of cpusets and hotplug code in the \"No\nmore Mr.  Nice Guy\" case of sched.c move_task_off_dead_cpu().\n\nSince the hotplug code is holding a spinlock at this point, we cannot take\nthe cpuset semaphore, cpuset_sem, as would seem to be required either to\nupdate the tasks cpuset, or to scan up the nested cpuset chain, looking for\nthe nearest cpuset ancestor that still has some CPUs that are online.  So\nwe just punt and blast the tasks cpus_allowed with all bits allowed.\n\nThis reverts these lines of code to what they were before the cpuset patch.\n And it updates the cpuset Doc file, to match.\n\nThe one known alternative to this that seems to work came from Dinakar\nGuniguntala, and required the hotplug code to take the cpuset_sem semaphore\nmuch earlier in its processing.  So far as we know, the increased locking\nentanglement between cpusets and hot plug of this alternative approach is\nnot worth doing in this case.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Nathan Lynch \u003cntl@pobox.com\u003e\nAcked-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb19b4c6aa024837a0071f07baa07dbf49d07151",
      "tree": "6062647cc9e84f81d679a5f3d27ceb8363e9822d",
      "parents": [
        "7063e6c717f6108c4b3fc3135a516c86ef944870"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 14:55:56 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 14:55:56 2005 +0100"
      },
      "message": "AUDIT: Honour audit_backlog_limit again.\n\nThe limit on the number of outstanding audit messages was inadvertently\nremoved with the switch to queuing skbs directly for sending by a kernel\nthread. Put it back again.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "7063e6c717f6108c4b3fc3135a516c86ef944870",
      "tree": "ec6eec10b4dc93474100e6e366df028bd3314fda",
      "parents": [
        "7ca0026495dbb644b4e32ede76be44072cb2bc7a",
        "05d3794aa8bd3b2c9f7920a05003c331cdeb75c5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 11:54:00 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 11:54:00 2005 +0100"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\n"
    },
    {
      "commit": "7ca0026495dbb644b4e32ede76be44072cb2bc7a",
      "tree": "12c832161ebb98a7e7aec7edd8942e20809fafec",
      "parents": [
        "cd77b8212d5473b800ac865364981d334ff564ea"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 11:23:13 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 11:23:13 2005 +0100"
      },
      "message": "AUDIT: Quis Custodiet Ipsos Custodes?\n\nNobody does. Really, it gets very silly if auditd is recording its\nown actions.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "b7d1125817c9a46cc46f57db89d9c195e7af22f8",
      "tree": "c1096ff7ae35b77bf8108c3a60b856551c50a9d7",
      "parents": [
        "168b7173959f80d20720dd1f7ec909a88ef2689d"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 10:56:58 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 10:56:58 2005 +0100"
      },
      "message": "AUDIT: Send netlink messages from a separate kernel thread\n\nnetlink_unicast() will attempt to reallocate and will free messages if\nthe socket\u0027s rcvbuf limit is reached unless we give it an infinite \ntimeout. So do that, from a kernel thread which is dedicated to spewing\nstuff up the netlink socket.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "168b7173959f80d20720dd1f7ec909a88ef2689d",
      "tree": "dc197062e11c003b330b5302535fd74407c2138b",
      "parents": [
        "209aba03243ee42a22f8df8d08aa9963f62aec64"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Thu May 19 10:24:22 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 10:24:22 2005 +0100"
      },
      "message": "AUDIT: Clean up logging of untrusted strings\n\n* If vsnprintf returns -1, it will mess up the sk buffer space accounting. \nThis is fixed by not calling skb_put with bogus len values.\n\n* audit_log_hex was a loop that called audit_log_vformat with %02X for each \ncharacter. This is very inefficient since conversion from unsigned character \nto Ascii representation is essentially masking, shifting, and byte lookups. \nAlso, the length of the converted string is well known - it\u0027s twice the \noriginal. Fixed by rewriting the function.\n\n* audit_log_untrustedstring had no comments. This makes it hard for \nsomeone to understand what the string format will be.\n\n* audit_log_d_path was never fixed to use untrustedstring. This could mess\nup user space parsers. This was fixed to make a temp buffer, call d_path, \nand log temp buffer using untrustedstring. \n\nFrom: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "209aba03243ee42a22f8df8d08aa9963f62aec64",
      "tree": "e45ee43e7af31f847377e8bb3a0a61581732b653",
      "parents": [
        "3ec3b2fba526ead2fa3f3d7c91924f39a0733749"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 18 10:21:07 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 18 10:21:07 2005 +0100"
      },
      "message": "AUDIT: Treat all user messages identically.\n\nIt\u0027s silly to have to add explicit entries for new userspace messages\nas we invent them. Just treat all messages in the user range the same.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "82428b62aa6294ea640c7e920a9224ecaf46db65",
      "tree": "f9e9bfd1f86f739ee16968378057060417f52bb4",
      "parents": [
        "ff0d2f90fdc4b564d47a7c26b16de81a16cfa28e"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon May 09 08:07:00 2005 -0700"
      },
      "committer": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Tue May 17 14:54:54 2005 -0700"
      },
      "message": "[PATCH] Driver Core: pm diagnostics update, check for errors\n\nThis patch includes various tweaks in the messaging that appears during\nsystem pm state transitions:\n\n  * Warn about certain illegal calls in the device tree, like resuming\n    child before parent or suspending parent before child.  This could\n    happen easily enough through sysfs, or in some cases when drivers\n    use device_pm_set_parent().\n\n  * Be more consistent about dev_dbg() tracing ... do it for resume() and\n    shutdown() too, and never if the driver doesn\u0027t have that method.\n\n  * Say which type of system sleep state is being entered.\n\nExcept for the warnings, these only affect debug messaging.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "dfaa9c94b13071c9b5f8578d0ae99acc76c60139",
      "tree": "d0ed2827e9c75b9ccb90b5fcc1b854bae51fc44c",
      "parents": [
        "5418b6925c353c8286651b67fdb8559dd9e54e46"
      ],
      "author": {
        "name": "William Lee Irwin III",
        "email": "wli@holomorphy.com",
        "time": "Mon May 16 21:53:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:21 2005 -0700"
      },
      "message": "[PATCH] profile.c: `schedule\u0027 parsing fix\n\nprofile\u003dschedule parsing is not quite what it should be.  First, str[7] is\n\u0027e\u0027, not \u0027,\u0027, but then even if it did fall through, prof_on \u003d\nSCHED_PROFILING would be clobbered inside if (get_option(...)) So a small\namount of rearrangement is done in this patch to correct it.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c0547ba8b3bbd8b26ae35e33ac17ff51f67f78c",
      "tree": "e1986b120eb889f3a2ebc8887bd3b729880485ff",
      "parents": [
        "e8f5bdb02ce06925e7fc5916125bdebc533d4299"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon May 16 21:53:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:19 2005 -0700"
      },
      "message": "[PATCH] add_preferred_console() build fix\n\nMove add_preferred_console out of CONFIG_PRINTK so serial console does the\nright thing.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4f167fb491725ca0be9df0d76b4b2dd862cdfe0b",
      "tree": "a4b15758261a9680d7f57530502ade350d99b46f",
      "parents": [
        "7baeb6a5ccab2d472679a053e64a63ac423c3a42"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin.zhang@intel.com",
        "time": "Mon May 16 21:53:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:18 2005 -0700"
      },
      "message": "[PATCH] spurious interrupt fix\n\nOn my IA64 machine, after kernel 2.6.12-rc3 boots, an edge-triggered\ninterrupt (IRQ 46) keeps triggered over and over again.  There is no IRQ 46\ninterrupt action handler.  It has lots of impact on performance.\n\nKernel 2.6.10 and its prior versions have no the problem.  Basically,\nkernel 2.6.10 will mask the spurious edge interrupt if the interrupt is\ntriggered for the second time and its status includes\nIRQ_DISABLE|IRQ_PENDING.\n\nOriginally, IA64 kernel has its own specific _irq_desc definitions in file\narch/ia64/kernel/irq.c.  The definition initiates _irq_desc[irq].status to\nIRQ_DISABLE.  Since kernel 2.6.11, it was moved to architecture independent\ncodes, i.e.  kernel/irq/handle.c, but kernel/irq/handle.c initiates\n_irq_desc[irq].status to 0 instead of IRQ_DISABLE.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ec3b2fba526ead2fa3f3d7c91924f39a0733749",
      "tree": "12b9b3de4e0d5bb3c977ea3ef534ba4f7e556cb9",
      "parents": [
        "69887ac1dcb79dfc773dabac2dd081fa6d6e2573"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 17 12:08:48 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 17 12:08:48 2005 +0100"
      },
      "message": "AUDIT: Capture sys_socketcall arguments and sockaddrs \n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5e014b10ef8477c32a939a48fa02aedcad35a226",
      "tree": "8c314b8485aff98506402976c3bca1011735a633",
      "parents": [
        "23f32d18aa589e228c5a9e12e0d0c67c9b5bcdce"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 13 18:50:33 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 13 18:50:33 2005 +0100"
      },
      "message": "AUDIT: fix max_t thinko.\n\nDer... if you use max_t it helps if you give it a type. \n\nNote to self: Always just apply the tested patches, don\u0027t try to port \nthem by hand. You\u0027re not clever enough.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "23f32d18aa589e228c5a9e12e0d0c67c9b5bcdce",
      "tree": "fa8e1156035b871d446cdf9706898b761d6455e0",
      "parents": [
        "c04049939f88b29e235d2da217bce6e8ead44f32"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Fri May 13 18:35:15 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 13 18:35:15 2005 +0100"
      },
      "message": "AUDIT: Fix some spelling errors\n\nI\u0027m going through the kernel code and have a patch that corrects \nseveral spelling errors in comments.\n\nFrom: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "c04049939f88b29e235d2da217bce6e8ead44f32",
      "tree": "9bf3ab72b9939c529e7c96f8768bc8b7e1d768c9",
      "parents": [
        "9ea74f0655412d0fbd12bf9adb6c14c8fe707a42"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Fri May 13 18:17:42 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 13 18:17:42 2005 +0100"
      },
      "message": "AUDIT: Add message types to audit records\n\nThis patch adds more messages types to the audit subsystem so that audit \nanalysis is quicker, intuitive, and more useful.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\n---\nI forgot one type in the big patch. I need to add one for user space \noriginating SE Linux avc messages. This is used by dbus and nscd.\n\n-Steve\n---\nUpdated to 2.6.12-rc4-mm1.\n-dwmw2\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "9ea74f0655412d0fbd12bf9adb6c14c8fe707a42",
      "tree": "8c04a9c6ed0144ff217b227fbf354f41dbceb023",
      "parents": [
        "add671412021b68c3b4f2882b0d10a56e2dcdabe"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 13 16:35:19 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 13 16:35:19 2005 +0100"
      },
      "message": "AUDIT: Round up audit skb expansion to AUDIT_BUFSIZ.\n\nOtherwise, we will be repeatedly reallocating, even if we\u0027re only\nadding a few bytes at a time. Pointed out by Steve Grubb.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "c1b773d87eadc3972d697444127e89a7291769a2",
      "tree": "edfce2e842c3b6be70f3b90584507aab9fb3de8f",
      "parents": [
        "197c69c6afd2deb7eec44040ff533d90d26c6161"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Wed May 11 10:55:10 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 11 10:55:10 2005 +0100"
      },
      "message": "Add audit_log_type\n\nAdd audit_log_type to allow callers to specify type and pid when logging.\nConvert audit_log to wrapper around audit_log_type.  Could have\nconverted all audit_log callers directly, but common case is default\nof type AUDIT_KERNEL and pid 0.  Update audit_log_start to take type\nand pid values when creating a new audit_buffer.  Move sequences that\ndid audit_log_start, audit_log_format, audit_set_type, audit_log_end,\nto simply call audit_log_type directly.  This obsoletes audit_set_type\nand audit_set_pid, so remove them.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "197c69c6afd2deb7eec44040ff533d90d26c6161",
      "tree": "a44d7170fe20d6119eff6e656d39be623ed6131a",
      "parents": [
        "804a6a49d874841a98ebea3247ad2e672812ad6a"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Wed May 11 10:54:05 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 11 10:54:05 2005 +0100"
      },
      "message": "Move ifdef CONFIG_AUDITSYSCALL to header\n\nRemove code conditionally dependent on CONFIG_AUDITSYSCALL from audit.c.\nMove these dependencies to audit.h with the rest.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "804a6a49d874841a98ebea3247ad2e672812ad6a",
      "tree": "84bd717927666811d55f31346387f8cb99dff346",
      "parents": [
        "5a241d77039a2632e81070619d5733258728f8bd"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Wed May 11 10:52:45 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 11 10:52:45 2005 +0100"
      },
      "message": "Audit requires CONFIG_NET\n\nAudit now actually requires netlink.  So make it depend on CONFIG_NET, \nand remove the inline dependencies on CONFIG_NET.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5a241d77039a2632e81070619d5733258728f8bd",
      "tree": "c0f1b643144e5f53d619f22df6afb031ed0aef45",
      "parents": [
        "eecb0a7338ef6504aa49def4dde6429853025801"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Wed May 11 10:43:07 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 11 10:43:07 2005 +0100"
      },
      "message": "AUDIT: Properly account for alignment difference in nlmsg_len.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "eecb0a7338ef6504aa49def4dde6429853025801",
      "tree": "078561cbf3e1fb3d8f837a96f2a6d49d85c6819a",
      "parents": [
        "e3b926b4c1499ba7b1b9513aa6113944d572aba5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 10 18:58:51 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 10 18:58:51 2005 +0100"
      },
      "message": "AUDIT: Fix abuse of va_args. \n\nWe\u0027re not allowed to use args twice; we need to use va_copy.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "e3b926b4c1499ba7b1b9513aa6113944d572aba5",
      "tree": "6d4a230f3c02ebfd5073517fe8eb36f9a61dad22",
      "parents": [
        "8c5aa40c94ef8bb7f7da95ecd5942e2d20fc3c9d"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 10 18:56:08 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 10 18:56:08 2005 +0100"
      },
      "message": "AUDIT: pass size argument to audit_expand().\n\nLet audit_expand() know how much it\u0027s expected to grow the buffer, in \nthe case that we have that information to hand.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "8c5aa40c94ef8bb7f7da95ecd5942e2d20fc3c9d",
      "tree": "8cda8d1193dfc814a724406cdd0479c7f46c0487",
      "parents": [
        "ea9c102cb0a7969df5733d34f26e0b12c8a3c889"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Tue May 10 18:53:07 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 10 18:53:07 2005 +0100"
      },
      "message": "AUDIT: Fix reported length of audit messages.\n\nWe were setting nlmsg_len to skb-\u003elen, but we should be subtracting\nthe size of the header.\n\nFrom: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4332bdd332a2dca93dc3b1d017b2dd27d5c8cef3",
      "tree": "a1152698b795a215ec572942836be058ae65ef51",
      "parents": [
        "5ac52f33b6f05fcb91a97124155183b779a4efdf"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 06 15:59:57 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 06 15:59:57 2005 +0100"
      },
      "message": "AUDIT: Honour gfp_mask in audit_buffer_alloc()\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5ac52f33b6f05fcb91a97124155183b779a4efdf",
      "tree": "9987d074c840a7afa731660400f4d5a8a8bad973",
      "parents": [
        "8fc6115c2a04099a6e846dc0b2d85cba43821b54"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Fri May 06 15:54:53 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 06 15:54:53 2005 +0100"
      },
      "message": "AUDIT: buffer audit msgs directly to skb\n\nDrop the use of a tmp buffer in the audit_buffer, and just buffer\ndirectly to the skb.  All header data that was temporarily stored in\nthe audit_buffer can now be stored directly in the netlink header in\nthe skb.  Resize skb as needed.  This eliminates the extra copy (and\nthe audit_log_move function which was responsible for copying).\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "8fc6115c2a04099a6e846dc0b2d85cba43821b54",
      "tree": "6dc6bf0f59f6ada9ed42c79b0e641f8668a9bf0b",
      "parents": [
        "16e1904e694d459ec2ca9b33c22b818eaaa4c63f"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Fri May 06 15:54:17 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 06 15:54:17 2005 +0100"
      },
      "message": "AUDIT: expand audit tmp buffer as needed\n\nIntroduce audit_expand and make the audit_buffer use a dynamic buffer\nwhich can be resized.  When audit buffer is moved to skb it will not\nbe fragmented across skb\u0027s, so we can eliminate the sklist in the\naudit_buffer.  During audit_log_move, we simply copy the full buffer\ninto a single skb, and then audit_log_drain sends it on.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "16e1904e694d459ec2ca9b33c22b818eaaa4c63f",
      "tree": "ca35b75b7d2e95b2ee11ba4b608549a5339b3cf0",
      "parents": [
        "c2f0c7c356dc9ae15419f00c725a2fcc58eeff58"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Fri May 06 15:53:34 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 06 15:53:34 2005 +0100"
      },
      "message": "AUDIT: Add helper functions to allocate and free audit_buffers.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "c2f0c7c356dc9ae15419f00c725a2fcc58eeff58",
      "tree": "2b765b791115e0e85b45bc98800fd2650b23155b",
      "parents": [
        "2512809255d018744fe6c2f5e996c83769846c07"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Fri May 06 12:38:39 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 06 12:38:39 2005 +0100"
      },
      "message": "The attached patch addresses the problem with getting the audit daemon \nshutdown credential information. It creates a new message type \nAUDIT_TERM_INFO, which is used by the audit daemon to query who issued the \nshutdown. \n\nIt requires the placement of a hook function that gathers the information. The \nhook is after the DAC \u0026 MAC checks and before the function returns. Racing \nthreads could overwrite the uid \u0026 pid - but they would have to be root and \nhave policy that allows signalling the audit daemon. That should be a \nmanageable risk.\n\nThe userspace component will be released later in audit 0.7.2. When it \nreceives the TERM signal, it queries the kernel for shutdown information. \nWhen it receives it, it writes the message and exits. The message looks \nlike this:\n\ntype\u003dDAEMON msg\u003dauditd(1114551182.000) auditd normal halt, sending pid\u003d2650 \nuid\u003d525, auditd pid\u003d1685\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ebe8b54134314cc31331f6e26f42276cd947d1df",
      "tree": "93a34aa89778fdc1a79e5f399347b8bb01f1452c",
      "parents": [
        "d28c2bc8d192f606a4eb831978722107b20a9405"
      ],
      "author": {
        "name": "Domen Puncer",
        "email": "domen@coderock.org",
        "time": "Thu May 05 16:16:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:50 2005 -0700"
      },
      "message": "[PATCH] correctly name the Shell sort\n\nAs per http://www.nist.gov/dads/HTML/shellsort.html, this should be\nreferred to as a Shell sort.  Shell-Metzner is a misnomer.\n\nSigned-off-by: Daniel Dickman \u003cdidickman@yahoo.com\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b7e4e85337060354f8b860cc38066725559313a4",
      "tree": "bdb958c6002fee2d73ed51e78d71dc663d2ad297",
      "parents": [
        "f0fbd5fc09b20f7ba7bc8c80be33e39925bb38e1"
      ],
      "author": {
        "name": "Paulo Marques",
        "email": "pmarques@grupopie.com",
        "time": "Thu May 05 16:15:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:41 2005 -0700"
      },
      "message": "[PATCH] setitimer timer expires too early\n\nIt seems that the code responsible for this is in kernel/itimer.c:126:\n\n\tp-\u003esignal-\u003ereal_timer.expires \u003d jiffies + interval;\n\tadd_timer(\u0026p-\u003esignal-\u003ereal_timer);\n\nIf you request an interval of, lets say 900 usecs, the interval given by\ntimeval_to_jiffies will be 1.\n\nIf you request this when we are half-way between two timer ticks, the\ninterval will only give 400 usecs.\n\nIf we want to guarantee that we never ever give intervals less than\nrequested, the simple solution would be to change that to:\n\n\tp-\u003esignal-\u003ereal_timer.expires \u003d jiffies + interval + 1;\n\nThis however will produce pathological cases, like having a idle system\nbeing requested 1 ms timeouts will give systematically 2 ms timeouts,\nwhereas currently it simply gives a few usecs less than 1 ms.\n\nThe complex (and more computationally expensive) solution would be to\ncheck the gettimeofday time, and compute the correct number of jiffies.\nThis way, if we request a 300 usecs timer 200 usecs inside the timer\ntick, we can wait just one tick, but not if we are 800 usecs inside the\ntick. This would also mean that we would have to lock preemption during\nthese computations to avoid races, etc.\n\nI\u0027ve searched the archives but couldn\u0027t find this particular issue being\ndiscussed before.\n\nAttached is a patch to do the simple solution, in case anybody thinks\nthat it should be used.\n\nSigned-Off-By: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64f562c6df3cfc5d1b2b4bdbcb7951457df9c237",
      "tree": "5fecfd97cfa1965185ec2254668d90d8f03e3f5f",
      "parents": [
        "04dea5f93231204cc3ca0ab793ce76dbb10c86ba"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "amavin@redhat.com",
        "time": "Thu May 05 16:15:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:39 2005 -0700"
      },
      "message": "[PATCH] kprobes: Allow multiple kprobes at the same address\n\nAllow registration of multiple kprobes at an address in an architecture\nagnostic way.  Corresponding handlers will be invoked in a sequence.  But,\na kprobe and a jprobe can\u0027t (yet) co-exist at the same address.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003camavin@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04dea5f93231204cc3ca0ab793ce76dbb10c86ba",
      "tree": "b47e20371a62b46bedea4337f191d245b44b097f",
      "parents": [
        "0b9e2cac8a56e197d0a9e06268db4c8652d23dd5"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu May 05 16:15:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:39 2005 -0700"
      },
      "message": "[PATCH] Kprobes: Oops! in unregister_kprobe()\n\nkernel oops!  when unregister_kprobe() is called on a non-registered\nkprobe.  This patch fixes the above problem by checking if the probe exists\nbefore unregistering.\n\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d12e522ba13ce718b7ec32b75803dece8adb072",
      "tree": "80282ac789c1d48202a570b5828b024f39e63761",
      "parents": [
        "696c2b9f97c2439e9fb299650041ec750df46865"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu May 05 16:15:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:32 2005 -0700"
      },
      "message": "[PATCH] ppc64: remove hidden -fno-omit-frame-pointer for schedule.c\n\nWhile looking at code generated by gcc4.0 I noticed some functions still\nhad frame pointers, even after we stopped ppc64 from defining\nCONFIG_FRAME_POINTER.  It turns out kernel/Makefile hardwires\n-fno-omit-frame-pointer on when compiling schedule.c.\n\nCreate CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER and define it on architectures\nthat dont require frame pointers in sched.c code.\n\n(akpm: blame me for the name)\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "075d6eb16d273dab7b7b4b83fcee8bce4ee387ed",
      "tree": "d5e2cfb21dd752410649a675f2bb2a7c0db05c8e",
      "parents": [
        "becf3aec2608d6807a58d0677661cb23c388d67f"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 05 16:15:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:31 2005 -0700"
      },
      "message": "[PATCH] ppc32: platform-specific functions missing from kallsyms.\n\nThe PPC32 kernel puts platform-specific functions into separate sections so\nthat unneeded parts of it can be freed when we\u0027ve booted and actually\nworked out what we\u0027re running on today.\n\nThis makes kallsyms ignore those functions, because they\u0027re not between\n_[se]text or _[se]inittext.  Rather than teaching kallsyms about the\nvarious pmac/chrp/etc sections, this patch adds \u0027_[se]extratext\u0027 markers\nfor kallsyms.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfd4bda097f8758d28e632ff2035e25577f6b060",
      "tree": "022276b3625a432c7132e39776e7e448445087ac",
      "parents": [
        "488f2eaca1b0831a5a5e6a66e33bad2cdeff7238",
        "b2d84f078a8be40f5ae3b4d2ac001e2a7f45fe4f"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 05 13:59:37 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 05 13:59:37 2005 +0100"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n"
    },
    {
      "commit": "897f5ab2cd733a77a2279268262919caa8154b9d",
      "tree": "95866d31faa6db4ec786399296238344c7cfea0c",
      "parents": [
        "1d42a0ecf478962e8aede355a0be41365c117ff0",
        "b48fc7bb3868abffc89ce70d4baf324574338d8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed May 04 19:52:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed May 04 19:52:45 2005 -0700"
      },
      "message": "Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git\n"
    },
    {
      "commit": "2a0a6ebee1d68552152ae8d4aeda91d806995dec",
      "tree": "a0b77861b3395b4728e75f2b2f92755e0a4777d3",
      "parents": [
        "96c36023434b7b6824b1da72a6b7b1ca61d7310c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 03 14:55:09 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:55:09 2005 -0700"
      },
      "message": "[NETLINK]: Synchronous message processing.\n\nLet\u0027s recap the problem.  The current asynchronous netlink kernel\nmessage processing is vulnerable to these attacks:\n\n1) Hit and run: Attacker sends one or more messages and then exits\nbefore they\u0027re processed.  This may confuse/disable the next netlink\nuser that gets the netlink address of the attacker since it may\nreceive the responses to the attacker\u0027s messages.\n\nProposed solutions:\n\na) Synchronous processing.\nb) Stream mode socket.\nc) Restrict/prohibit binding.\n\n2) Starvation: Because various netlink rcv functions were written\nto not return until all messages have been processed on a socket,\nit is possible for these functions to execute for an arbitrarily\nlong period of time.  If this is successfully exploited it could\nalso be used to hold rtnl forever.\n\nProposed solutions:\n\na) Synchronous processing.\nb) Stream mode socket.\n\nFirstly let\u0027s cross off solution c).  It only solves the first\nproblem and it has user-visible impacts.  In particular, it\u0027ll\nbreak user space applications that expect to bind or communicate\nwith specific netlink addresses (pid\u0027s).\n\nSo we\u0027re left with a choice of synchronous processing versus\nSOCK_STREAM for netlink.\n\nFor the moment I\u0027m sticking with the synchronous approach as\nsuggested by Alexey since it\u0027s simpler and I\u0027d rather spend\nmy time working on other things.\n\nHowever, it does have a number of deficiencies compared to the\nstream mode solution:\n\n1) User-space to user-space netlink communication is still vulnerable.\n\n2) Inefficient use of resources.  This is especially true for rtnetlink\nsince the lock is shared with other users such as networking drivers.\nThe latter could hold the rtnl while communicating with hardware which\ncauses the rtnetlink user to wait when it could be doing other things.\n\n3) It is still possible to DoS all netlink users by flooding the kernel\nnetlink receive queue.  The attacker simply fills the receive socket\nwith a single netlink message that fills up the entire queue.  The\nattacker then continues to call sendmsg with the same message in a loop.\n\nPoint 3) can be countered by retransmissions in user-space code, however\nit is pretty messy.\n\nIn light of these problems (in particular, point 3), we should implement\nstream mode netlink at some point.  In the mean time, here is a patch\nthat implements synchronous processing.  \n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "012914dad25bd5cacf88af4429eecda62a06020d",
      "tree": "e265fa0cf7dccef220bc26a16c1f0694b4b4bbee",
      "parents": [
        "3ea8b477b4b9d3e75b5e9b8aea41259f45031823"
      ],
      "author": {
        "name": "Russ Anderson",
        "email": "(rja@sgi.com)",
        "time": "Sat Apr 23 00:08:00 2005 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue May 03 13:58:17 2005 -0700"
      },
      "message": "[patch] MCA recovery module undefined symbol fix\n\nThe patch \"MCA recovery improvements\" added do_exit to mca_drv.c.\nThat\u0027s fine when the mca recovery code is built in the kernel\n(CONFIG_IA64_MCA_RECOVERY\u003dy) but breaks building the mca recovery\ncode as a module (CONFIG_IA64_MCA_RECOVERY\u003dm).\n\nMost users are currently building this as a module, as loading\nand unloading the module provides a very convenient way to turn\non/off error recovery.\n\nThis patch exports do_exit, so mca_drv.c can build as a module.\n\nSigned-off-by: Russ Anderson (rja@sgi.com)\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "0dd8e06bdaa0a97e706ee1a489a1f6176c4ddc64",
      "tree": "f09181360e5b68d46ea2856c9fa63eaa3515080c",
      "parents": [
        "27b030d58c8e72fc7a95187a791bd9406e350f02"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Tue May 03 14:01:15 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 03 14:01:15 2005 +0100"
      },
      "message": "[PATCH] add new audit data to last skb\n\nWhen adding more formatted audit data to an skb for delivery to userspace,\nthe kernel will attempt to reuse an skb that has spare room.  However, if\nthe audit message has already been fragmented to multiple skb\u0027s, the search\nfor spare room in the skb uses the head of the list.  This will corrupt the\naudit message with trailing bytes being placed midway through the stream.\nFix is to look at the end of the list.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "27b030d58c8e72fc7a95187a791bd9406e350f02",
      "tree": "ab3bab7f39a5ce5bab65578a7e08fa4dfdeb198c",
      "parents": [
        "79d20b14a0d651f15b0ef9a22b6cf12d284a6d38",
        "6628465e33ca694bd8fd5c3cf4eb7ff9177bc694"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 03 08:14:09 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 03 08:14:09 2005 +0100"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\n"
    },
    {
      "commit": "408b664a7d394a5e4315fbd14aca49b042cb2b08",
      "tree": "bd3ebe72229227962d157e46e61ed65b78d6e28b",
      "parents": [
        "c31403a1f5a761599df38bcc2d6ba94f24320c33"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun May 01 08:59:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:29 2005 -0700"
      },
      "message": "[PATCH] make lots of things static\n\nAnother large rollup of various patches from Adrian which make things static\nwhere they were needlessly exported.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67be2dd1bace0ec7ce2dbc1bba3f8df3d7be597e",
      "tree": "317d114a0288d3b19ef9902f94b536a5a8731dbd",
      "parents": [
        "6013d5445f9a6d0b28090027868f455c5012d1cc"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "message": "[PATCH] DocBook: fix some descriptions\n\nSome KernelDoc descriptions are updated to match the current code.\nNo code changes.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4dc3b16ba18c0f967ad100c52fa65b01a4f76ff0",
      "tree": "fa038ad8969980eec6cef5b737872fda9feb4c6a",
      "parents": [
        "333f981720d619e2038b980a55ad01b10580eb9f"
      ],
      "author": {
        "name": "Pavel Pisa",
        "email": "pisa@cmp.felk.cvut.cz",
        "time": "Sun May 01 08:59:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:25 2005 -0700"
      },
      "message": "[PATCH] DocBook: changes and extensions to the kernel documentation\n\nI have recompiled Linux kernel 2.6.11.5 documentation for me and our\nuniversity students again.  The documentation could be extended for more\nsources which are equipped by structured comments for recent 2.6 kernels.  I\nhave tried to proceed with that task.  I have done that more times from 2.6.0\ntime and it gets boring to do same changes again and again.  Linux kernel\ncompiles after changes for i386 and ARM targets.  I have added references to\nsome more files into kernel-api book, I have added some section names as well.\n So please, check that changes do not break something and that categories are\nnot too much skewed.\n\nI have changed kernel-doc to accept \"fastcall\" and \"asmlinkage\" words reserved\nby kernel convention.  Most of the other changes are modifications in the\ncomments to make kernel-doc happy, accept some parameters description and do\nnot bail out on errors.  Changed \u003cpid\u003e to @pid in the description, moved some\n#ifdef before comments to correct function to comments bindings, etc.\n\nYou can see result of the modified documentation build at\n  http://cmp.felk.cvut.cz/~pisa/linux/lkdb-2.6.11.tar.gz\n\nSome more sources are ready to be included into kernel-doc generated\ndocumentation.  Sources has been added into kernel-api for now.  Some more\nsection names added and probably some more chaos introduced as result of quick\ncleanup work.\n\nSigned-off-by: Pavel Pisa \u003cpisa@cmp.felk.cvut.cz\u003e\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ed20e1ad521b5f5df61bf6559ae60738e393741",
      "tree": "90931724e45eaedb3445314e8b94e78253642395",
      "parents": [
        "e5bdd883a189243541e7a132385580703b049102"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Sun May 01 08:59:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:14 2005 -0700"
      },
      "message": "[PATCH] convert that currently tests _NSIG directly to use valid_signal()\n\nConvert most of the current code that uses _NSIG directly to instead use\nvalid_signal().  This avoids gcc -W warnings and off-by-one errors.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d87e14c236d6c4cab66d87cf0bc1e0f0375d308",
      "tree": "0c0826cdc102286b541e3e56b59c81752d34c90d",
      "parents": [
        "434498d5323445b59167fd7aa5633b74ebbce901"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun May 01 08:59:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:12 2005 -0700"
      },
      "message": "[PATCH] consolidate sys_shmat\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "fbd568a3e61a7decb8a754ad952aaa5b5c82e9e5"
}
