)]}'
{
  "log": [
    {
      "commit": "317a76f9a44b437d6301718f4e5d08bd93f98da7",
      "tree": "caeba9839dee264f59b035b81c3d13d6c61b638e",
      "parents": [
        "a8ad86f2dc46356f87be1327dabc18bdbda32f50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 12:19:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 12:19:55 2005 -0700"
      },
      "message": "[TCP]: Add pluggable congestion control algorithm infrastructure.\n\nAllow TCP to have multiple pluggable congestion control algorithms.\nAlgorithms are defined by a set of operations and can be built in\nor modules.  The legacy \"new RENO\" algorithm is used as a starting\npoint and fallback.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8ad86f2dc46356f87be1327dabc18bdbda32f50",
      "tree": "a429e601d7e8f4d6f477c029f24772f55bbe45d7",
      "parents": [
        "4749f32da939d4e4160541b2cadc22492bb507ec"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Thu Jun 23 14:23:35 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 10:04:15 2005 -0700"
      },
      "message": "[PATCH] Add removal schedule of register_serial/unregister_serial to appropriate file\n"
    },
    {
      "commit": "4749f32da939d4e4160541b2cadc22492bb507ec",
      "tree": "a04b8d1d711f5f7c7dcc4dd43f6bfe17c54c306f",
      "parents": [
        "24665cd00dd06c741ef6268515ca9e6d3cda5c57"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 23 11:36:56 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 10:04:15 2005 -0700"
      },
      "message": "[PATCH] better USB_MON dependencies\n\nThis makes the USB_MON less confusing.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "24665cd00dd06c741ef6268515ca9e6d3cda5c57",
      "tree": "d55e925db2b78bc6529965fa6b1df07a76b56610",
      "parents": [
        "fed2fc18a4567d613cd35115322257c6c6c710e9",
        "d7152fe14cad075d6dd4ee4194acd131aed0244e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:49:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:49:55 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/ppc64-2.6\n"
    },
    {
      "commit": "fed2fc18a4567d613cd35115322257c6c6c710e9",
      "tree": "937d8584966661b72cd7f71a6a6e4f0b97350760",
      "parents": [
        "64ccd715d3cf498318b14b646ce5f97e7ab15bb5"
      ],
      "author": {
        "name": "Telemaque Ndizihiwe",
        "email": "telendiz@eircom.net",
        "time": "Thu Jun 23 00:10:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:36 2005 -0700"
      },
      "message": "[PATCH] sys_open() cleanup\n\nClean up tortured logic in sys_open().\n\nSigned-off-by: Telemaque Ndizihiwe \u003ctelendiz@eircom.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64ccd715d3cf498318b14b646ce5f97e7ab15bb5",
      "tree": "b43bdaeec1b1175fe80ffe3648b1a98a2e21317b",
      "parents": [
        "bfb07599da289881d3bcbb601a110e997fc7444b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jun 23 00:10:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:36 2005 -0700"
      },
      "message": "[PATCH] Convert users to tty_unregister_ldisc()\n\ntty_register_ldisc(N_FOO, NULL) \u003d\u003e tty_unregister_ldisc(N_FOO)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfb07599da289881d3bcbb601a110e997fc7444b",
      "tree": "601c5e683c87e103de37bd68f014ec1f57d09bc7",
      "parents": [
        "790a19cd5711133f40daad7c55bf148de2b1d12c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jun 23 00:10:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:35 2005 -0700"
      },
      "message": "[PATCH] Introduce tty_unregister_ldisc()\n\nIt\u0027s a bit strange to see tty_register_ldisc call in modules\u0027 exit\nfunctions.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "790a19cd5711133f40daad7c55bf148de2b1d12c",
      "tree": "d8fcc88810ab6bb0fb6ff9a6d4f1bef53fa0395c",
      "parents": [
        "9235e68be8bf8974b65a9bf733c9d12a52307839"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Jun 23 00:10:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:35 2005 -0700"
      },
      "message": "[PATCH] pwc-uncompress warning fix\n\ndrivers/usb/media/pwc/pwc-uncompress.c: In function `pwc_decompress\u0027:\ndrivers/usb/media/pwc/pwc-uncompress.c:140: warning: unreachable code at beginning of switch statement\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9235e68be8bf8974b65a9bf733c9d12a52307839",
      "tree": "6d31812e14dcbfab9b6a6d7c11b3dade004fd8a5",
      "parents": [
        "451512f3aed64573e912e68c94f240fec0e44438"
      ],
      "author": {
        "name": "Eric Piel",
        "email": "Eric.Piel@tremplin-utc.net",
        "time": "Thu Jun 23 00:10:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:35 2005 -0700"
      },
      "message": "[PATCH] IDE CD reports current speed\n\nThe current ide-cd driver reports the CDROM speed (as found in\n/proc/sys/dev/cdrom/info) as the current speed when loading the driver.\nChanging the speed of the cdrom drive (by \"eject -x\" for instance) doesn\u0027t\nupdate the speed reported by the kernel.  Updating the info could be\nvaluable for the user as it\u0027s the only way to know if the drive accepted\nthe request or discarded it.  It could even be used to list all the\navailable speeds of the drive.\n\nThe attached patch modifies the ide-cd driver so that after every speed\nchange request the new speed is updated.  Please note that the actual\nmodification is very little but I had to touch quite a few lines in order\nto avoid to pre-declare the sub-functions.\n\nSigned-off-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "451512f3aed64573e912e68c94f240fec0e44438",
      "tree": "742a06d8f3cf11407ff38069a4466d06a00aac49",
      "parents": [
        "c43dc2fd885b5658cfd7cedb7bcca20910c517a4"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu Jun 23 00:10:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:35 2005 -0700"
      },
      "message": "[PATCH] add note about verify_area removal to feature-removal-schedule.txt\n\nAdd note about the soon-to-come removal of verify_area() to\nDocumentation/feature-removal-schedule.txt.\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": "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": "63e6880918e75dcb92d60aff218a76e063a471ef",
      "tree": "059a00899bdf96b255e2b60d6cf91968a9af485a",
      "parents": [
        "4452ea509e29df2f019bed2f7a1e0f5eea092b26"
      ],
      "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: fix do_sync_(read|write) to properly handle aio retries\n\nWhen do_sync_(read|write) encounters an aio method that makes use of the\nretry mechanism, they fail to correctly retry the operation.  This fixes\nthat by adding the appropriate sleep and retry mechanism.\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": "4452ea509e29df2f019bed2f7a1e0f5eea092b26",
      "tree": "aecda6901c8126fdeabf823381f05f12f77d69a6",
      "parents": [
        "152becd26e0563aefdbc4fd1fe491928efe92d1f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Jun 23 00:10:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:34 2005 -0700"
      },
      "message": "[PATCH] dpt_i2o: fix waitqueue abuse\n\nThe driver plays with waitqueue internals and fails to compile after Ben\u0027s\n\"aio: make wait_queue -\u003etask -\u003eprivate\" patch.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "152becd26e0563aefdbc4fd1fe491928efe92d1f",
      "tree": "713a5ff0a1610708babf7e57fd3141cd4b9f183e",
      "parents": [
        "9a59f452abe11f569e13ec16c51e6d61c54b9838"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cam.ac.uk",
        "time": "Thu Jun 23 00:10:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:34 2005 -0700"
      },
      "message": "[PATCH] Bug in error recovery in fs/buffer.c::__block_prepare_write()\n\nfs/buffer.c::__block_prepare_write() has broken error recovery.  It calls\nthe get_block() callback with \"create \u003d 1\" and if that succeeds it\nimmediately clears buffer_new on the just allocated buffer (which has\nbuffer_new set).\n\nThe bug is that if an error occurs and get_block() returns !\u003d 0, we break\nfrom this loop and go into recovery code.  This code has this comment:\n\n/* Error case: */\n/*\n * Zero out any newly allocated blocks to avoid exposing stale\n * data.  If BH_New is set, we know that the block was newly\n * allocated in the above loop.\n */\n\nSo the intent is obviously good in that it wants to clear just allocated\nand hence not zeroed buffers.  However the code recognises allocated\nbuffers by checking for buffer_new being set.\n\nUnfortunately __block_prepare_write() as discussed above already cleared\nbuffer_new on all allocated buffers thus no buffers will be cleared during\nerror recovery and old data will be leaked.\n\nThe simplest way I can see to fix this is to make the current recovery code\nwork by _not_ clearing buffer_new after calling get_block() in\n__block_prepare_write().\n\nWe cannot safely allow buffer_new buffers to \"leak out\" of\n__block_prepare_write(), thus we simply do a quick loop over the buffers\nclearing buffer_new on each of them if it is set just before returning\n\"success\" from __block_prepare_write().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a59f452abe11f569e13ec16c51e6d61c54b9838",
      "tree": "0fc242afbf51aac7214e3a9b7620e83d0d4016f2",
      "parents": [
        "f9fd27a253d5e0b23531d12ce7ad15b6535d4486"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:10:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] remove \u003clinux/xattr_acl.h\u003e\n\nThis file duplicates \u003clinux/posix_acl_xattr.h\u003e, using slightly different\nnames.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f9fd27a253d5e0b23531d12ce7ad15b6535d4486",
      "tree": "1ff92c3b1ec8c707f71154313ce98e73423b6d54",
      "parents": [
        "30aaa80885df5d1518d498a450e73282cea8d8b1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:10:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] acl endianess annotations\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "30aaa80885df5d1518d498a450e73282cea8d8b1",
      "tree": "7f001c8339bd9ed972bc570b78a800852cf4e4fa",
      "parents": [
        "45778ca819accab1a4a3378b3566cab0f189164f"
      ],
      "author": {
        "name": "William Lee Irwin III",
        "email": "wli@holomorphy.com",
        "time": "Thu Jun 23 00:10:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] use drivers/Kconfig for sparc32\n\nKconfig is spitting out massive numbers of errors and so on.  This patch\nswitches arch/sparc/Kconfig to use drivers/Kconfig so those stop.\n\nSigned-off-by: William Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45778ca819accab1a4a3378b3566cab0f189164f",
      "tree": "9214491346c8d2d91eb1a11cb6c2e6a9387e4290",
      "parents": [
        "280dedb8d64ccfe1166ae03d3b254fc3b65de6a5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@graphe.net",
        "time": "Thu Jun 23 00:10:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] Remove f_error field from struct file\n\nThe following patch removes the f_error field and all checks of f_error.\n\nTrond said:\n\n  f_error was introduced for NFS, and made sense when we were guaranteed\n  always to have a file pointer around when write errors occurred.  Since\n  then, we have (for various reasons) had to introduce the nfs_open_context in\n  order to track the file read/write state, and it made sense to move our\n  f_error tracking there too.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "280dedb8d64ccfe1166ae03d3b254fc3b65de6a5",
      "tree": "2037bacf2eb32833a3b8b16701b906692ecf7b9b",
      "parents": [
        "bb93e3a52f8db7210258a1a2134cced0b78a46e1"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Jun 23 00:10:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:32 2005 -0700"
      },
      "message": "[PATCH] PCDP: handle tables that don\u0027t supply baud rate\n\nThe HCDP specs (i.e., PCDP revision \u003c 3) allow zero as a default value for\nbaud rate and data bits.  So if firmware doesn\u0027t supply them, let\nearly_serial_console_init() probe for them rather than telling it the baud\nrate is zero.\n\nAlso, update the URL for the PCDP spec.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb93e3a52f8db7210258a1a2134cced0b78a46e1",
      "tree": "b6def4c3fe5624769de64e242bb2007fffea55c8",
      "parents": [
        "0d77e5a2c23da734f5a7925f64afa1c2ed92e0f9"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jun 23 00:10:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:32 2005 -0700"
      },
      "message": "[PATCH] block: add unlocked_ioctl support for block devices\n\nThis patch allows block device drivers to convert their ioctl functions to\nunlocked_ioctl() like character devices and other subsystems.  All\nfunctions that were called with the BKL held before are still used that\nway, but I would not be surprised if it could be removed from the ioctl\nfunctions in drivers/block/ioctl.c themselves.\n\nAs a side note, I found that compat_blkdev_ioctl() acquires the BKL as\nwell, which looks like a bug.  I have checked that every user of\ndisk-\u003efops-\u003ecompat_ioctl() in the current git tree gets the BKL itself, so\nit could easily be removed from compat_blkdev_ioctl().\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d77e5a2c23da734f5a7925f64afa1c2ed92e0f9",
      "tree": "1696bd7881e36381b9cdaafe713c413202727228",
      "parents": [
        "fa912bcb06d5dc9525d8912a145db2bf4b7668c5"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Jun 23 00:10:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:32 2005 -0700"
      },
      "message": "[PATCH] compat: introduce compat_time_t\n\nThis patch is based on work by Carlos O\u0027Donell and Matthew Wilcox.  It\nintroduces/updates the compat_time_t type and uses it for compat siginfo\nstructures.  I have built this on ppc64 and x86_64.\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"
    },
    {
      "commit": "fa912bcb06d5dc9525d8912a145db2bf4b7668c5",
      "tree": "5c62d9a1ef416c83d3e149ca94c4e646eb29daf2",
      "parents": [
        "7007cab53176dc906e67b4efa62f20ff1432805a"
      ],
      "author": {
        "name": "Daniel Ritz",
        "email": "daniel.ritz@gmx.ch",
        "time": "Thu Jun 23 00:10:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:31 2005 -0700"
      },
      "message": "[PATCH] yenta TI: turn off interrupts during card power-on #2\n\n- make boot-up card recognition more reliable (ie.  redo interrogation\n  always if there is no valid \u0027card inserted\u0027 state) (and yes, i saw it\n  happening on an o2micro controller that both CB_CBARD and CB_16BITCARD\n  bits were set at the same time)\n\n- also redo interrogation before probing the ISA interrupts.  it\u0027s safer\n  to do the probing with the socket in a clean state.\n\n- make card insert detect more reliable.  yenta_get_status() now returns\n  SS_PENDING as long as the card is not completley inserted and one of the\n  voltage bits is set.  also !CB_CBARD doesn\u0027t mean CB_16BITCARD.  there is\n  CB_NOTACARD as well, so make an explicit check for CB_16BITCARD.\n\n- for TI bridges: disable IRQs during power-on.  in all-serial and tied\n  interrupt mode the interrupts are always disabled for single-slot\n  controllers.  for two-slot contollers the disabling is only done when the\n  other slot is empty.  to force disabling there is a new module parameter\n  now: pwr_irqs_off\u003dY (which is a regression for working setups.  that\u0027s\n  why it\u0027s an option, only use when required)\n\n- modparm to disable ISA interrupt probing (isa_probe, defaults to on)\n\n- remove unneeded code/cleanups (ie.  merge yenta_events() into\n  yenta_interrupts())\n\nSigned-off-by: Daniel Ritz \u003cdaniel.ritz@gmx.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7007cab53176dc906e67b4efa62f20ff1432805a",
      "tree": "ebcc9f01450e1fe0a541ed4932132e29586b7455",
      "parents": [
        "d9ad7ef1979d65a4200847ec91be5b9ad961eba8"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "xschmi00@stud.feec.vutbr.cz",
        "time": "Thu Jun 23 00:10:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:31 2005 -0700"
      },
      "message": "[PATCH] Add offset.h to dontdiff\n\ninclude/asm/offset.h is a generated file on x86_64 and mips.  Let\u0027s add it\nto Documentation/dontdiff.\n\nSigned-off-by: Michal Schmidt \u003cxschmi00@stud.feec.vutbr.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d9ad7ef1979d65a4200847ec91be5b9ad961eba8",
      "tree": "058dceba2670ee229a4fdf6992760260b0f0e002",
      "parents": [
        "17abee3d50685b8ef4e38d37abacf8b650a3a387"
      ],
      "author": {
        "name": "TINNES Julien RD-MAPS-ISS",
        "email": "julien.tinnes@francetelecom.com",
        "time": "Thu Jun 23 00:10:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:31 2005 -0700"
      },
      "message": "[PATCH] Potential null pointer dereference in amiga serial driver\n\nA pointer is dereferenced before it is null-checked.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "17abee3d50685b8ef4e38d37abacf8b650a3a387",
      "tree": "fd5b12465402f77c4c5120b6da3cc1789c87aa92",
      "parents": [
        "b78755abcdf1d7667c51580a3783e16e981ed926"
      ],
      "author": {
        "name": "Thierry Vignaud",
        "email": "tvignaud@mandriva.com",
        "time": "Thu Jun 23 00:10:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:31 2005 -0700"
      },
      "message": "[PATCH] gconfig: only show scrollbars if needed\n\ngconfig: only show scrollbars if needed (which is more user friendly):\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b78755abcdf1d7667c51580a3783e16e981ed926",
      "tree": "7627ff8c029411b304575d892d4caccefa3904bd",
      "parents": [
        "0030cbf06c669b65e124414af51b5010fc53b760"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Thu Jun 23 00:10:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:30 2005 -0700"
      },
      "message": "[PATCH] ipcsem: remove superflous decrease variable from sys_semtimedop\n\nPatrick noticed that the initial scan of the semaphore operations logs\ndecrease and increase operations seperately, but then both cases are or\u0027ed\ntogether and decrease is never used.  The attached patch removes the\ndecrease parameter - it shrinks sys_semtimedop() by 56 bytes.\n\nSigned-Of-By: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0030cbf06c669b65e124414af51b5010fc53b760",
      "tree": "b7e57d9c8131590a7cbdd2c20dc82954697c485b",
      "parents": [
        "71a2224d7d1cefc23a1ac80bba421cc069cc3257"
      ],
      "author": {
        "name": "Matthias Urlichs",
        "email": "smurf@smurf.noris.de",
        "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] Turn off sibling call optimization w/ frame pointers\n\nFrame pointers are supposed to enable debuggers to reliably tell where a\ncall comes from.  That is defeated by GCC\u0027s sibling call optimization (aka\ntail recursion elimination).\n\nThis patch turns this optimization off when compiling with frame pointers.\n\nSigned-Off-By: Matthias Urlichs \u003csmurf@smurf.noris.de\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": "b030a4dd609e167da7f73c2d1fa5af864a0aea17",
      "tree": "543d65bcf9b0de3c69c8882e9eb6d8eae6556af8",
      "parents": [
        "46c271bedd2c8444b1d05bc44928beec0c07debc"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 23 00:10:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:30 2005 -0700"
      },
      "message": "[PATCH] Remove eventpoll macro obfuscation\n\nThis patch gets rid of some macro obfuscation from fs/eventpoll.c by\nremoving slab allocator wrappers and converting macros to static inline\nfunctions.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "46c271bedd2c8444b1d05bc44928beec0c07debc",
      "tree": "2e28cad2355b62b01815d1acc10d35a806f10ea0",
      "parents": [
        "dfb388bf8a328f206bba33933dd97230f412238b"
      ],
      "author": {
        "name": "Peter Osterlund",
        "email": "petero2@telia.com",
        "time": "Thu Jun 23 00:10:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:30 2005 -0700"
      },
      "message": "[PATCH] Improve CD/DVD packet driver write performance\n\nThis patch improves write performance for the CD/DVD packet writing driver.\n The logic for switching between reading and writing has been changed so\nthat streaming writes are no longer interrupted by read requests.\n\nSigned-off-by: Peter Osterlund \u003cpetero2@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dfb388bf8a328f206bba33933dd97230f412238b",
      "tree": "656cf4d7aba441667c4d25135ee70672738126e9",
      "parents": [
        "01890a4c120f68366441bf5e193d1b9dd543d4d0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:10:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:29 2005 -0700"
      },
      "message": "[PATCH] factor out common code in sys_fsync/sys_fdatasync\n\nThis patch consolidates sys_fsync and sys_fdatasync.\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": "01890a4c120f68366441bf5e193d1b9dd543d4d0",
      "tree": "ed854da46009b0837485e8acd17dc9d944e8068f",
      "parents": [
        "8476994af7bd9352ecdf61ba760f7397f54e30a1"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:29 2005 -0700"
      },
      "message": "[PATCH] mempool - only init waitqueue in slow path\n\nHere\u0027s a small patch to improve the performance of mempool_alloc by only\ninitializing the wait queue when we\u0027re about to wait.\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": "8476994af7bd9352ecdf61ba760f7397f54e30a1",
      "tree": "cff822a944162070b4e64c0b9990640383e4cad6",
      "parents": [
        "11c80c8367db0a9d342529ed74464670cd86a1f6"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Thu Jun 23 00:10:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:28 2005 -0700"
      },
      "message": "[PATCH] apply quotation handling to Makefile.build\n\nAdding quotation handling to rule_cc_o_c in scripts/Makefile.build as used\nelsewhere.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "11c80c8367db0a9d342529ed74464670cd86a1f6",
      "tree": "d4625a9565866dc6565972b069c57cdedb7e0f27",
      "parents": [
        "c7ea4b31fd962b4baadb42c0b8d7c6851c584102"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Thu Jun 23 00:09:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:28 2005 -0700"
      },
      "message": "[PATCH] adjust per_cpu definition in non-SMP case\n\nFix (in the architectures I\u0027m actually building for) the UP definition of\nper_cpu so that the cpu specified may be any expression, not just an\nidentifier or a suffix expression.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7ea4b31fd962b4baadb42c0b8d7c6851c584102",
      "tree": "be097db5341cd09a4cf640a2bc3c5a189e989f0c",
      "parents": [
        "ef3daeda7b58f046f94b26637d500354038d39f4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Thu Jun 23 00:09:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:28 2005 -0700"
      },
      "message": "[PATCH] ide-floppy adjustments\n\nFix a build problem when IDEFLOPPY_DEBUG_BUGS is turned off, and eliminate an\naccess to memory that is no longer allocated (causing systems to fail booting\nwhen CONFIG_DEBUG_PAGEALLOC is turned on).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ef3daeda7b58f046f94b26637d500354038d39f4",
      "tree": "acce3fb6a4ef5fa5c4e6962490d6f0db434fbad3",
      "parents": [
        "44e58a6a0bd604f46be9d808408a1cd880cc9b19"
      ],
      "author": {
        "name": "Yoav Zach",
        "email": "yoav_zach@yahoo.com",
        "time": "Thu Jun 23 00:09:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:28 2005 -0700"
      },
      "message": "[PATCH] Don\u0027t force O_LARGEFILE for 32 bit processes on ia64\n\nIn ia64 kernel, the O_LARGEFILE flag is forced when opening a file.  This\nis problematic for execution of 32 bit processes, which are not largefile\naware, either by SW emulation or by HW execution.\n\nFor such processes, the problem is two-fold:\n\n1) When trying to open a file that is larger than 4G\n   the operation should fail, but it\u0027s not\n2) Writing to offset larger than 4G should fail, but\n   it\u0027s not\n\nThe proposed patch takes advantage of the way 32 bit processes are\nidentified in ia64 systems.  Such processes have PER_LINUX32 for their\npersonality.  With the patch, the ia64 kernel will not enforce the\nO_LARGEFILE flag if the current process has PER_LINUX32 set.  The behavior\nfor all other architectures remains unchanged.\n\nSigned-off-by: Yoav Zach \u003cyoav.zach@intel.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44e58a6a0bd604f46be9d808408a1cd880cc9b19",
      "tree": "a8cf955105a3a02504bdb6cccf36e4d21f5b2007",
      "parents": [
        "328007b70c8e99c62eef5bc310d8a21d0e937342"
      ],
      "author": {
        "name": "Martin Schitter",
        "email": "ms@gewi.kfunigraz.ac.at",
        "time": "Thu Jun 23 00:09:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:27 2005 -0700"
      },
      "message": "[PATCH] parport: NetMos nm9855 fix\n\nkernel 2.6.12-rc2 adopted some code by Bjorn Helgaas supporting NetMos combo\ncontroller cards. this implementation doesn\u0027t work for nm9855 based cards!\n\nthere are two reasons:\n\na) the module \u0027parport_pc\u0027 doesn\u0027t want to give the resonsibility for\n   the netmos_9855 to \u0027parport_serial\u0027 and can not handle the serial lines\n   -- trivial to fix...\n\n   http://lists.infradead.org/pipermail/linux-parport/2005-February/000250.html\n   http://lkml.org/lkml/2005/3/24/199 b) the support for the nm9855 in\n\n   \u0027parport_serial\u0027 still doesn\u0027t work because of wrong assumptions about\n   the relevant BARs port address layout for this chip:\n\n\t 0000:00:09.0 Communication controller:\n         \t      NetMos Technology PCI 9855\n         \t      Multi-I/O Controller (rev 01)\n\t \t      (\u003d 9710:9855)\n         Subsystem: LSI Logic / Symbios Logic 1P4S (\u003d 1000:0014)\n  \t Flags: medium devsel, IRQ 177\n\t I/O ports at a800 [size\u003d8]  (\u003d parport)\n\t I/O ports at a400 [size\u003d8]\n\t I/O ports at a000 [size\u003d8]  (\u003d serial)\n\t I/O ports at 9800 [size\u003d8]  (\u003d serial)\n\t I/O ports at 9400 [size\u003d8]  (\u003d serial)\n\t I/O ports at 9000 [size\u003d16] (\u003d serial)\n\nthe following patch will fix the problem.\n\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "328007b70c8e99c62eef5bc310d8a21d0e937342",
      "tree": "65d1ccbcd0a79d331a8cf95498505b8829ec621f",
      "parents": [
        "618f06362ae3f60f95d7b0e666de25ee6ae35679"
      ],
      "author": {
        "name": "Pat Gefre",
        "email": "pfg@sgi.com",
        "time": "Thu Jun 23 00:09:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:27 2005 -0700"
      },
      "message": "[PATCH] Altix: shut off xmit intr if done xmitting\n\nSmall mod to shut off the xmit interrupt if we have nothing to transmit.\n\nSigned-off-by: Patrick Gefre \u003cpfg@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "618f06362ae3f60f95d7b0e666de25ee6ae35679",
      "tree": "4415b4e590913e16535704168ea74c6af5a93c48",
      "parents": [
        "4fea2838aa00b9e59efde974dcdb455608192811"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Thu Jun 23 00:09:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:27 2005 -0700"
      },
      "message": "[PATCH] O(1) sb list traversing on syncs\n\nThis patch removes O(n^2) super block loops in sync_inodes(),\nsync_filesystems() etc.  in favour of using __put_super_and_need_restart()\nwhich I introduced earlier.  We faced a noticably long freezes on sb\nsyncing when there are thousands of super blocks in the system.\n\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\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": "af4d2ecbf007b7df3db7a41eedccdc05b8006d0b",
      "tree": "81c801b405278b53d99ad99b3c0f0468d2978deb",
      "parents": [
        "c663e5d80ebec426916ad2aa5400c7ec99aa572e"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Thu Jun 23 00:09:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] Fix of bogus file max limit messages\n\nThis patch fixes incorrect and bogus kernel messages that file-max limit\nreached when the allocation fails\n\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-Off-By: Denis Lunev \u003cden@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c663e5d80ebec426916ad2aa5400c7ec99aa572e",
      "tree": "463dd4600525e536ed00579fa30bab9708c53824",
      "parents": [
        "70f09f1fdf38cd7fca39913978d18cf998ab2c80"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] add some comments to lookup_create()\n\nIn a duplicate of lookup_create in the af_unix code Al commented what\u0027s\ngoing on nicely, so let\u0027s bring that over to lookup_create before the copy\nis going away (I\u0027ll send a patch soon)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70f09f1fdf38cd7fca39913978d18cf998ab2c80",
      "tree": "33c18d78faefd0a9c29602acbb21cf063f58dc09",
      "parents": [
        "acfa1823d33859b0db77701726c9ca5ccc6e6f25"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@mail.ru",
        "time": "Thu Jun 23 00:09:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] Document the fact that linux-arm-kernel is subscribers-only.\n\n\"Non-members are not allowed to post messages to this list.  Blame the\noriginal poster for cross-posting to subscriber-only mailing lists.  \"\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@mail.ru\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "acfa1823d33859b0db77701726c9ca5ccc6e6f25",
      "tree": "356c2edeed8e8a505ed03c6f9d04dc659e84d341",
      "parents": [
        "d6e711448137ca3301512cec41a2c2ce852b3d0a"
      ],
      "author": {
        "name": "Andreas Dilger",
        "email": "adilger@clusterfs.com",
        "time": "Thu Jun 23 00:09:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] Support for dx directories in ext3_get_parent (NFSD)\n\nHenrik Grubbstrom noted:\n\nThe 2.6.10 ext3_get_parent attempts to use ext3_find_entry to look up the\nentry \"..\", which fails for dx directories since \"..\" is not present in the\ndirectory hash table.  The patch below solves this by looking up the dotdot\nentry in the dx_root block.\n\nTypical symptoms of the above bug are intermittent claims by nfsd that\nfiles or directories are missing on exported ext3 filesystems.\n\ncf https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d3D150759 and\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d3D144556\n\next3_get_parent() is IMHO the wrong place to fix this bug as it introduces\na lot of internals from htree into that function.  Instead, I think this\nshould be fixed in ext3_find_entry() as in the below patch.  This has the\nadded advantage that it works for any callers of ext3_find_entry() and not\njust ext3_lookup_parent().\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Henrik Grubbstrom \u003cgrubba@grubba.org\u003e\nCc: \u003cext2-devel@lists.sourceforge.net\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": "852caccc89d3883522e87a91bfa89fd9c9cfe15a",
      "tree": "dbbb98df18b04f7624f72d4a80731d7309038b79",
      "parents": [
        "e539c2331414e73a5a1b79fb57369d79447c1cf8"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:25 2005 -0700"
      },
      "message": "[PATCH] Kprobes/ia64: temporary disarming of reentrant probe\n\nThis patch includes IA64 architecture specific changes(ported form i386) to\nsupport temporary disarming on reentrancy of probes.\n\nIn case of reentrancy we single step without calling user handler.\n\nSigned-of-by: Anil S Keshavamurth \u003canil.s.keshavamurthy@intel.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e539c2331414e73a5a1b79fb57369d79447c1cf8",
      "tree": "1946fc1c1034c08d49b250fdba3db131f8b61643",
      "parents": [
        "42cc20600a3450efcf1f724fa3891ffbff4fcb2b"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:25 2005 -0700"
      },
      "message": "[PATCH] kprobes: Temporary disarming of reentrant probe for sparc64\n\nThis patch includes sparc64 architecture specific changes to support temporary\ndisarming on reentrancy of probes.\n\nSigned-of-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42cc20600a3450efcf1f724fa3891ffbff4fcb2b",
      "tree": "4e2de36d8b49fd0aaad9c7bb07ad05e15130db02",
      "parents": [
        "aa3d7e3d782bbcf567b1da6101d8fbff7cf7e7a6"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:25 2005 -0700"
      },
      "message": "[PATCH] kprobes: Temporary disarming of reentrant probe for ppc64\n\nThis patch includes ppc64 architecture specific changes to support temporary\ndisarming on reentrancy 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": "aa3d7e3d782bbcf567b1da6101d8fbff7cf7e7a6",
      "tree": "c8eea0cc57d8374ab9c36ad7930836d89f282dca",
      "parents": [
        "417c8da6511b54843e6b557d94d8112d80e32156"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:37 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 for x86_64\n\nThis patch includes x86_64 architecture specific changes to support temporary\ndisarming on reentrancy 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": "417c8da6511b54843e6b557d94d8112d80e32156",
      "tree": "427bf0c90612b9d2dfd1a3f8e9b855a4251f9e9d",
      "parents": [
        "ea32c65cc2d2294c04e9f81d0578a6f51febfdbf"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:37 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 for i386\n\nThis patch includes i386 architecture specific changes to support temporary\ndisarming on reentrancy 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": "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": "89cb14c0dd0e4a7d0315d19f449389c4d49237ee",
      "tree": "795e52fd30c5236c365be7a3eaedb316e5c8cad5",
      "parents": [
        "708de8f11c2901cc49fd7725baf4a0fbd7264e73"
      ],
      "author": {
        "name": "Keshavamurthy Anil S",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:24 2005 -0700"
      },
      "message": "[PATCH] Kprobes/IA64: check jprobe break before handling\n\nOnce the jprobe instrumented function returns, it executes a jprobe_break\nwhich is a break instruction with __IA64_JPROBE_BREAK value.  The current\npatch checks for this break value, before assuming that jprobe instrumented\nfunction just completed.\n\nThe previous code was not checking for this value and that was a bug.\n\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": "708de8f11c2901cc49fd7725baf4a0fbd7264e73",
      "tree": "a78c45c153c6414908104547292c177bcf309908",
      "parents": [
        "1674eafcbd3e3c68556cf19fbf4a2c30f7add729"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:24 2005 -0700"
      },
      "message": "[PATCH] Kprobes IA64: safe register kprobe\n\nThe current kprobes does not yet handle register kprobes on some of the\nfollowing kind of instruction which needs to be emulated in a special way.\n\n1) mov r1\u003dip\n2) chk -- Speculation check instruction\n\nThis patch attempts to fail register_kprobes() when user tries to insert\nkprobes on the above kind of instruction.\n\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": "1674eafcbd3e3c68556cf19fbf4a2c30f7add729",
      "tree": "d57a4698902a4bc2c2e6a08d24c42ec2a5c67706",
      "parents": [
        "a5403183d84d419651672f1aee5ff2273d185efa"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:23 2005 -0700"
      },
      "message": "[PATCH] Kprobes IA64: cmp ctype unc support\n\nThe current Kprobes when patching the original instruction with the break\ninstruction tries to retain the original qualifying predicate(qp), however\nfor cmp.crel.ctype where ctype \u003d\u003d unc, which is a special instruction\nalways needs to be executed irrespective of qp.  Hence, if the instruction\nwe are patching is of this type, then we should not copy the original qp to\nthe break instruction, this is because we always want the break fault to\nhappen so that we can emulate the instruction.\n\nThis patch is based on the feedback given by David Mosberger\n\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": "a5403183d84d419651672f1aee5ff2273d185efa",
      "tree": "c9bcdf302b6dfc2e7230e486791ec48785d9d78f",
      "parents": [
        "13608d6433eb34840224ef632cc444f3eb59bc13"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:23 2005 -0700"
      },
      "message": "[PATCH] Kprobes IA64: arch_prepare_kprobes() cleanup\n\narch_prepare_kprobes() was doing lots of functionality\nin just one single function. This patch\nattempts to clean up arch_prepare_kprobes() by moving\nspecific sub task to the following (new)functions\n1)valid_kprobe_addr() --\u003e\u003e validate the given kprobe address\n2)get_kprobe_inst(slot..)-\u003e\u003e Retrives the instruction for a given slot from the bundle\n3)prepare_break_inst() --\u003e\u003e Prepares break instruction within the bundle\n\t3a)update_kprobe_inst_flag()--\u003e\u003eUpdates the internal flags, required\n\t\t\tfor proper emulation of the instruction at later\n\t\t\tpoint in time.\n\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": "13608d6433eb34840224ef632cc444f3eb59bc13",
      "tree": "249c668170713eac16abe94877ff71628e04b360",
      "parents": [
        "8bc76772ad653bcaad1b0af72aafb6072ef0fa87"
      ],
      "author": {
        "name": "Rusty Lynch",
        "email": "rusty.lynch@intel.com",
        "time": "Thu Jun 23 00:09:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:23 2005 -0700"
      },
      "message": "[PATCH] Kprobes ia64 qp fix\n\nFix a bug where a kprobe still fires when the instruction is predicated\noff.  So given the p6\u003d0, and we have an instruction like:\n\n(p6) move loc1\u003d0\n\nwe should not be triggering the kprobe.  This is handled by carrying over\nthe qp section of the original instruction into the break instruction.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Rusty Lynch \u003cRusty.lynch@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8bc76772ad653bcaad1b0af72aafb6072ef0fa87",
      "tree": "d778f0cc2640e078338d84cdc67cda403cc47d7b",
      "parents": [
        "cd2675bf65455a45b54228b7acc0c6a26a164cb6"
      ],
      "author": {
        "name": "Rusty Lynch",
        "email": "rusty.lynch@intel.com",
        "time": "Thu Jun 23 00:09:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:23 2005 -0700"
      },
      "message": "[PATCH] Kprobes ia64 cleanup\n\nA cleanup of the ia64 kprobes implementation such that all of the bundle\nmanipulation logic is concentrated in arch_prepare_kprobe().\n\nWith the current design for kprobes, the arch specific code only has a\nchance to return failure inside the arch_prepare_kprobe() function.\n\nThis patch moves all of the work that was happening in arch_copy_kprobe()\nand most of the work that was happening in arch_arm_kprobe() into\narch_prepare_kprobe().  By doing this we can add further robustness checks\nin arch_arm_kprobe() and refuse to insert kprobes that will cause problems.\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": "cd2675bf65455a45b54228b7acc0c6a26a164cb6",
      "tree": "102dd9bdf79ce8a5728dd098fb2b3a574c113186",
      "parents": [
        "b2761dc262b428475890fffd979687051beb12ba"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:23 2005 -0700"
      },
      "message": "[PATCH] Kprobes/IA64: support kprobe on branch/call instructions\n\nThis patch is required to support kprobe on branch/call instructions.\n\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": "b2761dc262b428475890fffd979687051beb12ba",
      "tree": "088fcb3fb1a5e3fc73614dcbfcde9aa2ff7bc1ce",
      "parents": [
        "fd7b231ff98578308d8f5fb76a25a369ce1074ae"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:22 2005 -0700"
      },
      "message": "[PATCH] Kprobes/IA64: architecture specific JProbes support\n\nThis patch adds IA64 architecture specific JProbes support on top of Kprobes\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Rusty Lynch \u003cRusty.lynch@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd7b231ff98578308d8f5fb76a25a369ce1074ae",
      "tree": "529490442b281ce08015376fa6247647ca232e69",
      "parents": [
        "7213b2521889eb087eed8abaa48d1a692575da3e"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:22 2005 -0700"
      },
      "message": "[PATCH] Kprobes/IA64: arch specific handling\n\nThis is an IA64 arch specific handling of Kprobes\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Rusty Lynch \u003cRusty.lynch@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7213b2521889eb087eed8abaa48d1a692575da3e",
      "tree": "8a9a0b5cfaa9824de97d9dae45b20d2a7309db5b",
      "parents": [
        "0aa55e4d7db822059fe8132fe9f2b7773c48216c"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Thu Jun 23 00:09:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:22 2005 -0700"
      },
      "message": "[PATCH] Kprobes/IA64: kdebug die notification mechanism\n\nAs many of you know that kprobes exist in the main line kernel for various\narchitecture including i386, x86_64, ppc64 and sparc64.  Attached patches\nfollowing this mail are a port of Kprobes and Jprobes for IA64.\n\nI have tesed this patches for kprobes and Jprobes and this seems to work fine.\n I have tested this patch by inserting kprobes on various slots and various\ntemplates including various types of branch instructions.\n\nI have also tested this patch using the tool\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d111657358022586\u0026w\u003d2 and the\nkprobes for IA64 works great.\n\nHere is list of TODO things and pathes for the same will appear soon.\n\n1) Support kprobes on \"mov r1\u003dip\" type of instruction\n2) Support Kprobes and Jprobes to exist on the same address\n3) Support Return probes\n3) Architecture independent cleanup of kprobes\n\nThis patch adds the kdebug die notification mechanism needed by Kprobes.\n\nFor break instruction on Branch type slot, imm21 is ignored and value\nzero is placed in IIM register, hence we need to handle kprobes\nfor switch case zero.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Rusty Lynch \u003cRusty.lynch@intel.com\u003e\n\nFrom: Rusty Lynch \u003crusty.lynch@intel.com\u003e\n\nAt the point in traps.c where we recieve a break with a zero value, we can\nnot say if the break was a result of a kprobe or some other debug facility.\n\nThis simple patch changes the informational string to a more correct \"break\n0\" value, and applies to the 2.6.12-rc2-mm2 tree with all the kprobes\npatches that were just recently included for the next mm cut.\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": "73649dab0fd524cb8545a8cb83c6eaf77b107105",
      "tree": "70f43b37ba915de148c28008e275dacec200e33f",
      "parents": [
        "b94cce926b2b902b79380ccba370d6f9f2980de0"
      ],
      "author": {
        "name": "Rusty Lynch",
        "email": "rusty.lynch@intel.com",
        "time": "Thu Jun 23 00:09:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] x86_64 specific function return probes\n\nThe following patch adds the x86_64 architecture specific implementation\nfor function return probes.\n\nFunction return probes is a mechanism built on top of kprobes that allows\na caller to register a handler to be called when a given function exits.\nFor example, to instrument the return path of sys_mkdir:\n\nstatic int sys_mkdir_exit(struct kretprobe_instance *i, struct pt_regs *regs)\n{\n\tprintk(\"sys_mkdir exited\\n\");\n\treturn 0;\n}\nstatic struct kretprobe return_probe \u003d {\n\t.handler \u003d sys_mkdir_exit,\n};\n\n\u003cinside setup function\u003e\n\nreturn_probe.kp.addr \u003d (kprobe_opcode_t *) kallsyms_lookup_name(\"sys_mkdir\");\nif (register_kretprobe(\u0026return_probe)) {\n\tprintk(KERN_DEBUG \"Unable to register return probe!\\n\");\n\t/* do error path */\n}\n\n\u003cinside cleanup function\u003e\nunregister_kretprobe(\u0026return_probe);\n\nThe way this works is that:\n\n* At system initialization time, kernel/kprobes.c installs a kprobe\n  on a function called kretprobe_trampoline() that is implemented in\n  the arch/x86_64/kernel/kprobes.c  (More on this later)\n\n* When a return probe is registered using register_kretprobe(),\n  kernel/kprobes.c will install a kprobe on the first instruction of the\n  targeted function with the pre handler set to arch_prepare_kretprobe()\n  which is implemented in arch/x86_64/kernel/kprobes.c.\n\n* arch_prepare_kretprobe() will prepare a kretprobe instance that stores:\n  - nodes for hanging this instance in an empty or free list\n  - a pointer to the return probe\n  - the original return address\n  - a pointer to the stack address\n\n  With all this stowed away, arch_prepare_kretprobe() then sets the return\n  address for the targeted function to a special trampoline function called\n  kretprobe_trampoline() implemented in arch/x86_64/kernel/kprobes.c\n\n* The kprobe completes as normal, with control passing back to the target\n  function that executes as normal, and eventually returns to our trampoline\n  function.\n\n* Since a kprobe was installed on kretprobe_trampoline() during system\n  initialization, control passes back to kprobes via the architecture\n  specific function trampoline_probe_handler() which will lookup the\n  instance in an hlist maintained by kernel/kprobes.c, and then call\n  the handler function.\n\n* When trampoline_probe_handler() is done, the kprobes infrastructure\n  single steps the original instruction (in this case just a top), and\n  then calls trampoline_post_handler().  trampoline_post_handler() then\n  looks up the instance again, puts the instance back on the free list,\n  and then makes a long jump back to the original return instruction.\n\nSo to recap, to instrument the exit path of a function this implementation\nwill cause four interruptions:\n\n  - A breakpoint at the very beginning of the function allowing us to\n    switch out the return address\n  - A single step interruption to execute the original instruction that\n    we replaced with the break instruction (normal kprobe flow)\n  - A breakpoint in the trampoline function where our instrumented function\n    returned to\n  - A single step interruption to execute the original instruction that\n    we replaced with the break instruction (normal kprobe flow)\n\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": "2fa389c5eb8c97d621653184d2adf5fdbd4a3167",
      "tree": "a958e6ab570003e81b91df986492ca60fd247006",
      "parents": [
        "84de856ed30c568c2bb7b9ac0679772bd2737d9b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] quota: sanitize dentry handling in vfs_quota_on_mount\n\nUse lookup_one_len instead of opencoding a simplified lookup using\nlookup_hash with a fake hash.\n\nAlso there\u0027s no need anymore for the d_invalidate as we have a completely\nvalid dentry now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84de856ed30c568c2bb7b9ac0679772bd2737d9b",
      "tree": "532e4f6bcc0db2d1baf0455484ec7f64a2a51e71",
      "parents": [
        "df164db5fd16888ddbe2a63a47b2f6dda9a428b5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] quota: consolidate code surrounding vfs_quota_on_mount\n\nMove some code duplicated in both callers into vfs_quota_on_mount\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\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": "ac20427ef6aa63da663bdc88b71d16f7394f5e23",
      "tree": "49ba4f88c5cea42d59b386c508174f585efc8a01",
      "parents": [
        "3bc1ee3e8f1c05c0f64a479c6d56eb34a6190599"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@redhat.com",
        "time": "Thu Jun 23 00:09:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] add check to /proc/devices read routines\n\nPatch to add check to get_chrdev_list and get_blkdev_list to prevent reads\nof /proc/devices from spilling over the provided page if more than 4096\nbytes of string data are generated from all the registered character and\nblock devices in a system\n\nSigned-off-by: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3bc1ee3e8f1c05c0f64a479c6d56eb34a6190599",
      "tree": "d69ea17b71b309151914ef722d2159e0c780312c",
      "parents": [
        "be5b4fbd017d12e0d09ea0528a5839ce2ed2c8c8"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "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] remove redundant vm_flags clearing from madvise.c\n\nThis patch removes redundant VM_ClearReadHint from mm/madvice.c which was\nleft there by Prasanna\u0027s patch.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "dcd497f99a1ef29a7c5e76142965be77e9dacabd",
      "tree": "684d64753c6cd71917cf3c360023dd273be376b4",
      "parents": [
        "35a82d1a53e1a9ad54efafcc940f9335beaed5c3"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu Jun 23 00:09:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] streamline preempt_count type across archs\n\nThe preempt_count member of struct thread_info is currently either defined\nas int, unsigned int or __s32 depending on arch.  This patch makes the type\nof preempt_count an int on all archs.\n\nHaving preempt_count be an unsigned type prevents the catching of\npreempt_count \u003c 0 bugs, and using int on some archs and __s32 on others is\nnot exactely \"neat\" - much nicer when it\u0027s just int all over.\n\nA previous version of this patch was already ACK\u0027ed by Robert Love, and the\nonly change in this version of the patch compared to the one he ACK\u0027ed is\nthat this one also makes sure the preempt_count member is consistently\ncommented.\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": "35a82d1a53e1a9ad54efafcc940f9335beaed5c3",
      "tree": "776d5b01970c5ce3e2c9fd4a2c4cf2168a0afa3c",
      "parents": [
        "ab4af03a4054bd78bcabfb2214c9597201beae35"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Jun 23 00:09:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] optimise loop driver a bit\n\nLooks like locking can be optimised quite a lot.  Increase lock widths\nslightly so lo_lock is taken fewer times per request.  Also it was quite\ntrivial to cover lo_pending with that lock, and remove the atomic\nrequirement.  This also makes memory ordering explicitly correct, which is\nnice (not that I particularly saw any mem ordering bugs).\n\nTest was reading 4 250MB files in parallel on ext2-on-tmpfs filesystem (1K\nblock size, 4K page size).  System is 2 socket Xeon with HT (4 thread).\n\nintel:/home/npiggin# umount /dev/loop0 ; mount /dev/loop0 /mnt/loop ; /usr/bin/time ./mtloop.sh\n\nBefore:\n0.24user 5.51system 0:02.84elapsed 202%CPU (0avgtext+0avgdata 0maxresident)k\n0.19user 5.52system 0:02.88elapsed 198%CPU (0avgtext+0avgdata 0maxresident)k\n0.19user 5.57system 0:02.89elapsed 198%CPU (0avgtext+0avgdata 0maxresident)k\n0.22user 5.51system 0:02.90elapsed 197%CPU (0avgtext+0avgdata 0maxresident)k\n0.19user 5.44system 0:02.91elapsed 193%CPU (0avgtext+0avgdata 0maxresident)k\n\nAfter:\n0.07user 2.34system 0:01.68elapsed 143%CPU (0avgtext+0avgdata 0maxresident)k\n0.06user 2.37system 0:01.68elapsed 144%CPU (0avgtext+0avgdata 0maxresident)k\n0.06user 2.39system 0:01.68elapsed 145%CPU (0avgtext+0avgdata 0maxresident)k\n0.06user 2.36system 0:01.68elapsed 144%CPU (0avgtext+0avgdata 0maxresident)k\n0.06user 2.42system 0:01.68elapsed 147%CPU (0avgtext+0avgdata 0maxresident)k\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": "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": "dfe52244e004f5103478966cd88351feb5c50d79",
      "tree": "e8642138b3ff31a799c208c0b2a6562885d76092",
      "parents": [
        "543537bd922692bc978e2e356fcd8bfc9c2ee7d5"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Thu Jun 23 00:09:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] kstrdup: convert a few existing implementations\n\nConvert a bunch of strdup() implementations and their callers to the new\nkstrdup().  A few remain, for example see sound/core, and there are tons of\nopen coded strdup()\u0027s around.  Sigh.  But this is a start.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543537bd922692bc978e2e356fcd8bfc9c2ee7d5",
      "tree": "0089e3907e7d6c17c01cffc6ea4a8962ed053079",
      "parents": [
        "991114c6fa6a21d1fa4d544abe78592352860c82"
      ],
      "author": {
        "name": "Paulo Marques",
        "email": "pmarques@grupopie.com",
        "time": "Thu Jun 23 00:09:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] create a kstrdup library function\n\nThis patch creates a new kstrdup library function and changes the \"local\"\nimplementations in several places to use this function.\n\nMost of the changes come from the sound and net subsystems.  The sound part\nhad already been acknowledged by Takashi Iwai and the net part by David S.\nMiller.\n\nI left UML alone for now because I would need more time to read the code\ncarefully before making changes there.\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": "991114c6fa6a21d1fa4d544abe78592352860c82",
      "tree": "cc81f871756a70a3312552409ee5cacd6625aa1d",
      "parents": [
        "f972be33ce6a08b5f096ba013c7459a3a82f5f39"
      ],
      "author": {
        "name": "Alexander Viro",
        "email": "aviro@redhat.com",
        "time": "Thu Jun 23 00:09:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:17 2005 -0700"
      },
      "message": "[PATCH] fix for prune_icache()/forced final iput() races\n\nBased on analysis and a patch from Russ Weight \u003crweight@us.ibm.com\u003e\n\nThere is a race condition that can occur if an inode is allocated and then\nreleased (using iput) during the -\u003efill_super functions.  The race\ncondition is between kswapd and mount.\n\nFor most filesystems this can only happen in an error path when kswapd is\nrunning concurrently.  For isofs, however, the error can occur in a more\ncommon code path (which is how the bug was found).\n\nThe logic here is \"we want final iput() to free inode *now* instead of\nletting it sit in cache if fs is going down or had not quite come up\".  The\nproblem is with kswapd seeing such inodes in the middle of being killed and\nhappily taking over.\n\nThe clean solution would be to tell kswapd to leave those inodes alone and\nlet our final iput deal with them.  I.e.  add a new flag\n(I_FORCED_FREEING), set it before write_inode_now() there and make\nprune_icache() leave those alone.\n\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": "bdd646a44672115c986593956aa4ef105485a184",
      "tree": "705b347a9c84fe7dcc040b468cadf28bde332bcf",
      "parents": [
        "fde6ad22480cdc2eaa102b805a3ed3ee1d36a376"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Jun 23 00:08:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] blk: unplug later\n\nget_request_wait needn\u0027t unplug the device immediately.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fde6ad22480cdc2eaa102b805a3ed3ee1d36a376",
      "tree": "17489dacb9dcd2fd16d6bd0137098d85520e59b7",
      "parents": [
        "250dccc00805e755a6d80a73557034253da0831f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Jun 23 00:08:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] blk: branch hints\n\nSprinkle around a few branch hints in the block layer.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "250dccc00805e755a6d80a73557034253da0831f",
      "tree": "da9f94abed8dac7479507601694d9276b2dbaf28",
      "parents": [
        "040c928c47b591d1cd9977cd6431cae213528b45"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Jun 23 00:08:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] blk: no memory barrier\n\nThis memory barrier is not needed because the waitqueue will only get waiters\non it in the following situations:\n\nrq-\u003ecount has exceeded the threshold - however all manipulations of -\u003ecount\nare performed under the runqueue lock, and so we will correctly pick up any\nwaiter.\n\nMemory allocation for the request fails.  In this case, there is no additional\nhelp provided by the memory barrier.  We are guaranteed to eventually wake up\nwaiters because the request allocation mempool guarantees that if the mem\nallocation for a request fails, there must be some requests in flight.  They\nwill wake up waiters when they are retired.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "040c928c47b591d1cd9977cd6431cae213528b45",
      "tree": "ee19f099782d02ba929f57a8dc0e5f0989e99932",
      "parents": [
        "f7d37d028dfba90b1b747f8ac685bf0959aeda8b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 23 00:08:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] blk: cleanup generic tag support error messages\n\nAdd KERN_ERR and __FUNCTION__ to generic tag error messages, and add a comment\nin blk_queue_end_tag() which explains the silent failure path.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7d37d028dfba90b1b747f8ac685bf0959aeda8b",
      "tree": "38627ec042c05f42feddff2ada95290ebe73679e",
      "parents": [
        "fa72b903f75e4f0f0b2c2feed093005167da4023"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 23 00:08:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] blk: remove BLK_TAGS_{PER_LONG|MASK}\n\nReplace BLK_TAGS_PER_LONG with BITS_PER_LONG and remove unused BLK_TAGS_MASK.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa72b903f75e4f0f0b2c2feed093005167da4023",
      "tree": "12087e87fb8d41d10013946e5b2c91e57265c29e",
      "parents": [
        "2bf0fdad51c6710bf15d0bf4b9b30b8498fe4ddd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 23 00:08:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] blk: remove blk_queue_tag-\u003ereal_max_depth optimization\n\nblk_queue_tag-\u003ereal_max_depth was used to optimize out unnecessary\nallocations/frees on tag resize.  However, the whole thing was very broken -\ntag_map was never allocated to real_max_depth resulting in access beyond the\nend of the map, bits in [max_depth..real_max_depth] were set when initializing\na map and copied when resizing resulting in pre-occupied tags.\n\nAs the gain of the optimization is very small, well, almost nill, remove the\nwhole thing.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2bf0fdad51c6710bf15d0bf4b9b30b8498fe4ddd",
      "tree": "e4dea0ce02413260ca4dfc3b7de0bb91570f331b",
      "parents": [
        "15d20bfd606c4b4454aeaa05fc86f77994e48c92"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 23 00:08:48 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] blk: use find_first_zero_bit() in blk_queue_start_tag()\n\nblk_queue_start_tag() hand-coded searching for the first zero bit in the tag\nmap.  Replace it with find_first_zero_bit().  With this patch,\nblk_queue_star_tag() doesn\u0027t need to fill remains of tag map with 1, thus\nallowing it to work properly with the next remove_real_max_depth patch.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "15d20bfd606c4b4454aeaa05fc86f77994e48c92",
      "tree": "b15262d9237fd221a31ba2823837b6a7dd843cf6",
      "parents": [
        "76381fee7e8feb4c22be636aa5d4765dbe4fbf9e"
      ],
      "author": {
        "name": "Domen Puncer",
        "email": "domen@coderock.org",
        "time": "Thu Jun 23 00:08:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] ptrace_h8300: condition bugfix\n\nAssignment doesn\u0027t make much sense here as condition would always be true.\n\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76381fee7e8feb4c22be636aa5d4765dbe4fbf9e",
      "tree": "e12d15d64acb25dc35b4ab9d022314243181bc10",
      "parents": [
        "e9129e56e9ec50c0689eb4cf7a3ca132f1e776db"
      ],
      "author": {
        "name": "Vincent Hanquez",
        "email": "vincent.hanquez@cl.cam.ac.uk",
        "time": "Thu Jun 23 00:08:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:14 2005 -0700"
      },
      "message": "[PATCH] xen: x86_64: use more usermode macro\n\nMake use of the user_mode macro where it\u0027s possible.  This is useful for Xen\nbecause it will need only to redefine only the macro to a hypervisor call.\n\nSigned-off-by: Vincent Hanquez \u003cvincent.hanquez@cl.cam.ac.uk\u003e\nCc: Ian Pratt \u003cm+Ian.Pratt@cl.cam.ac.uk\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9129e56e9ec50c0689eb4cf7a3ca132f1e776db",
      "tree": "46ef37651b1d25afbe002e00d8c80c85df27d5fd",
      "parents": [
        "717b594a415bfaf2dbd5e8266636488f2564c689"
      ],
      "author": {
        "name": "Vincent Hanquez",
        "email": "vincent.hanquez@cl.cam.ac.uk",
        "time": "Thu Jun 23 00:08:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:14 2005 -0700"
      },
      "message": "[PATCH] xen: x86_64: Add macro for debugreg\n\nAdd 2 macros to set and get debugreg on x86_64.  This is useful for Xen\nbecause it will need only to redefine each macro to a hypervisor call.\n\nSigned-off-by: Vincent Hanquez \u003cvincent.hanquez@cl.cam.ac.uk\u003e\nCc: Ian Pratt \u003cm+Ian.Pratt@cl.cam.ac.uk\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "717b594a415bfaf2dbd5e8266636488f2564c689",
      "tree": "3d5e1f0a5321c172d35473509a06cf833c916d3a",
      "parents": [
        "fa1e1bdf78d405f9905b8290ee9211e7a7bbc99b"
      ],
      "author": {
        "name": "Vincent Hanquez",
        "email": "vincent.hanquez@cl.cam.ac.uk",
        "time": "Thu Jun 23 00:08:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:14 2005 -0700"
      },
      "message": "[PATCH] xen: x86: Use more usermode macro\n\nUse the user_mode macro where it\u0027s possible.\n\nSigned-off-by: Vincent Hanquez \u003cvincent.hanquez@cl.cam.ac.uk\u003e\nCc: Ian Pratt \u003cm+Ian.Pratt@cl.cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa1e1bdf78d405f9905b8290ee9211e7a7bbc99b",
      "tree": "92b63c9965beb9718cfe426f2c2a81f397eb87c4",
      "parents": [
        "1cc6f12e03ebc064b74161c684f987284ce9d0cc"
      ],
      "author": {
        "name": "Vincent Hanquez",
        "email": "vincent.hanquez@cl.cam.ac.uk",
        "time": "Thu Jun 23 00:08:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:14 2005 -0700"
      },
      "message": "[PATCH] xen: x86: Rename usermode macro\n\nRename user_mode to user_mode_vm and add a user_mode macro similar to the\nx86-64 one.\n\nThis is useful for Xen because the linux xen kernel does not runs on the same\npriviledge that a vanilla linux kernel, and with this we just need to redefine\nuser_mode().\n\nSigned-off-by: Vincent Hanquez \u003cvincent.hanquez@cl.cam.ac.uk\u003e\nCc: Ian Pratt \u003cm+Ian.Pratt@cl.cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1cc6f12e03ebc064b74161c684f987284ce9d0cc",
      "tree": "fd22e53fa49ea211914ee12fb45df6c4a2d01ee3",
      "parents": [
        "f5012310e35bd62fd39fce338ee44422c975ff3c"
      ],
      "author": {
        "name": "Vincent Hanquez",
        "email": "vincent.hanquez@cl.cam.ac.uk",
        "time": "Thu Jun 23 00:08:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:13 2005 -0700"
      },
      "message": "[PATCH] xen: x86: Use new macro for debugreg\n\nMake use of the 2 new macro set_debugreg and get_debugreg.\n\nSigned-off-by: Vincent Hanquez \u003cvincent.hanquez@cl.cam.ac.uk\u003e\nCc: Ian Pratt \u003cm+Ian.Pratt@cl.cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5012310e35bd62fd39fce338ee44422c975ff3c",
      "tree": "c50cb94b050947c41f285f5b40896ad0a977777b",
      "parents": [
        "701067c4661ebcdc155cc8f696acb24c016c058b"
      ],
      "author": {
        "name": "Vincent Hanquez",
        "email": "vincent.hanquez@cl.cam.ac.uk",
        "time": "Thu Jun 23 00:08:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:13 2005 -0700"
      },
      "message": "[PATCH] xen: x86: add macro for debugreg\n\nAdd 2 macros to set and get debugreg on x86.  This is useful for Xen because\nit will need only to redefine each macro to a hypervisor call.\n\nSigned-off-by: Vincent Hanquez \u003cvincent.hanquez@cl.cam.ac.uk\u003e\nCc: Ian Pratt \u003cm+Ian.Pratt@cl.cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "701067c4661ebcdc155cc8f696acb24c016c058b",
      "tree": "c3566fe8dd278707273480c2ecc653bd6d291705",
      "parents": [
        "32ecd42b6f94d3ee320a22827b46bd19ccf924e5"
      ],
      "author": {
        "name": "Natalie Protasevich",
        "email": "Natalie.Protasevich@unisys.com",
        "time": "Thu Jun 23 00:08:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:13 2005 -0700"
      },
      "message": "[PATCH] x86_64: avoid wasting IRQs\n\nI suggest to change the way IRQs are handed out to PCI devices.\n\nCurrently, each I/O APIC pin gets associated with an IRQ, no matter if the\npin is used or not.  It is expected that each pin can potentually be\nengaged by a device inserted into the corresponding PCI slot.  However,\nthis imposes severe limitation on systems that have designs that employ\nmany I/O APICs, only utilizing couple lines of each, such as P64H2 chipset.\n\nIt is used in ES7000, and currently, there is no way to boot the system\nwith more that 9 I/O APICs.\n\nThe simple change below allows to boot a system with say 64 (or more) I/O\nAPICs, each providing 1 slot, which otherwise impossible because of the IRQ\ngaps created for unused lines on each I/O APIC.  It does not resolve the\nproblem with number of devices that exceeds number of possible IRQs, but\neases up a tension for IRQs on any large system with potentually large\nnumber of devices.\n\nI only implemented this for the ACPI boot, since if the system is this big\nand using newer chipsets it is probably (better be!) an ACPI based system\n:).  The change is completely \"mechanical\" and does not alter any internal\nstructures or interrupt model/implementation.  The patch works for both\ni386 and x86_64 archs.  It works with MSIs just fine, and should not\nintervene with implementations like shared vectors, when they get worked\nout and incorporated.\n\nTo illustrate, below is the interrupt distribution for 2-cell ES7000 with\n20 I/O APICs, and an Ethernet card in the last slot, which should be eth1\nand which was not configured because its IRQ exceeded allowable number (it\nactially turned out huge - 480!):\n\nzorro-tb2:~ # cat /proc/interrupts\n           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7\n  0:      65716      30012      30007      30002      30009      30010      30010      30010    IO-APIC-edge  timer\n  4:        373          0        725        280          0          0          0          0    IO-APIC-edge  serial\n  8:          0          0          0          0          0          0          0          0    IO-APIC-edge  rtc\n  9:          0          0          0          0          0          0          0          0   IO-APIC-level  acpi\n 14:         39          3          0          0          0          0          0          0    IO-APIC-edge  ide0\n 16:        108         13          0          0          0          0          0          0   IO-APIC-level  uhci_hcd:usb1\n 18:          0          0          0          0          0          0          0          0   IO-APIC-level  uhci_hcd:usb3\n 19:         15          0          0          0          0          0          0          0   IO-APIC-level  uhci_hcd:usb2\n 23:          3          0          0          0          0          0          0          0   IO-APIC-level  ehci_hcd:usb4\n 96:       4240        397         18          0          0          0          0          0   IO-APIC-level  aic7xxx\n 97:         15          0          0          0          0          0          0          0   IO-APIC-level  aic7xxx\n192:        847          0          0          0          0          0          0          0   IO-APIC-level  eth0\nNMI:          0          0          0          0          0          0          0          0\nLOC:     273423     274528     272829     274228     274092     273761     273827     273694\nERR:          7\nMIS:          0\n\nEven though the system doesn\u0027t have that many devices, some don\u0027t get\nenabled only because of IRQ numbering model.\n\nThis is the IRQ picture after the patch was applied:\n\nzorro-tb2:~ # cat /proc/interrupts\n           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7\n  0:      44169      10004      10004      10001      10004      10003      10004       6135    IO-APIC-edge  timer\n  4:        345          0          0          0          0        244          0          0    IO-APIC-edge  serial\n  8:          0          0          0          0          0          0          0          0    IO-APIC-edge  rtc\n  9:          0          0          0          0          0          0          0          0   IO-APIC-level  acpi\n 14:         39          0          3          0          0          0          0          0    IO-APIC-edge  ide0\n 17:       4425          0          9          0          0          0          0          0   IO-APIC-level  aic7xxx\n 18:         15          0          0          0          0          0          0          0   IO-APIC-level  aic7xxx, uhci_hcd:usb3\n 21:        231          0          0          0          0          0          0          0   IO-APIC-level  uhci_hcd:usb1\n 22:         26          0          0          0          0          0          0          0   IO-APIC-level  uhci_hcd:usb2\n 23:          3          0          0          0          0          0          0          0   IO-APIC-level  ehci_hcd:usb4\n 24:        348          0          0          0          0          0          0          0   IO-APIC-level  eth0\n 25:          6        192          0          0          0          0          0          0   IO-APIC-level  eth1\nNMI:          0          0          0          0          0          0          0          0\nLOC:     107981     107636     108899     108698     108489     108326     108331     108254\nERR:          7\nMIS:          0\n\nNot only we see the card in the last I/O APIC, but we are not even close to\nusing up available IRQs, since we didn\u0027t waste any.\n\nSigned-off-by: Natalie Protasevich \u003cNatalie.Protasevich@unisys.com\u003e\nAcked-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "32ecd42b6f94d3ee320a22827b46bd19ccf924e5",
      "tree": "ea74d38338f800940e630d075ca157149871f37d",
      "parents": [
        "0928d6ef7f204979749fb241a90a04a35dae133a"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Thu Jun 23 00:08:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:13 2005 -0700"
      },
      "message": "[PATCH] eliminate duplicate rdpmc definition\n\nEliminate duplicate definition of rdpmc in x86-64\u0027s mtrr.h.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0928d6ef7f204979749fb241a90a04a35dae133a",
      "tree": "f91a3a4725a2e59ed3cfce4cabd31f61798b9342",
      "parents": [
        "a3a00751ad8970c13d0563c2e92ee68c655a8e6b"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Jun 23 00:08:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:13 2005 -0700"
      },
      "message": "[PATCH] x86_64: never block forced SIGSEGV\n\nThis is the x86_64 version of the signal fix I just posted for i386.\n\nThis problem was first noticed on PPC and has already been fixed there.\nBut the exact same issue applies to other platforms in the same way.  The\nsignal blocking for sa_mask and the handled signal takes place after the\nhandler setup.  When the stack is bogus, the handler setup forces a\nSIGSEGV.  But then this will be blocked, and returning to user mode will\nfault again and iterate.  This patch fixes the problem by checking whether\nsignal handler setup failed, and not doing the signal-blocking if so.  This\ncopies what was done in the ppc code.  I think all architectures\u0027 signal\nhandler setup code follows this pattern and needs the change.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a3a00751ad8970c13d0563c2e92ee68c655a8e6b",
      "tree": "a351e629e1e29e2fef7d82ef53548d575f4a1fc4",
      "parents": [
        "c0a88c987878e533fc21fbf684198021a3b2c279"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Thu Jun 23 00:08:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:12 2005 -0700"
      },
      "message": "[PATCH] x86_64: fix hpet for systems that don\u0027t support legacy replacement\n\nCurrently the x86-64 HPET code assumes the entire HPET implementation from\nthe spec is present.  This breaks on boxes that do not implement the\noptional legacy timer replacement functionality portion of the spec.\n\nThis patch fixes this issue, allowing x86-64 systems that cannot use the\nHPET for the timer interrupt and RTC to still use the HPET as a time\nsource.  I\u0027ve tested this patch on a system systems without HPET, with HPET\nbut without legacy timer replacement, as well as HPET with legacy timer\nreplacement.\n\nThis version adds a minor check to cap the HPET counter value in\ngettimeoffset_hpet to avoid possible time inconsistencies.  Please ignore\nthe A2 version I sent to you earlier.\n\nAcked-by: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "c0a88c987878e533fc21fbf684198021a3b2c279"
}
