)]}'
{
  "log": [
    {
      "commit": "52e112b3ab6b2b35a144565c8ea3bdda1e2845f2",
      "tree": "a27675a7116310d7a2279a7bc7d93c17a3b73b09",
      "parents": [
        "578c4aa0b455a1850208ccc67ca1ca23697e72f5"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:32 2008 -0800"
      },
      "message": "aoe: update copyright date\n\nUpdate the year in the copyright notices.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "578c4aa0b455a1850208ccc67ca1ca23697e72f5",
      "tree": "5f5fc92ff4b7ab066191d4c3c2a7f25adaf1a9e9",
      "parents": [
        "1d75981a8094e9f84fae65a6a83b361e3893b971"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:32 2008 -0800"
      },
      "message": "aoe: make error messages more specific\n\nAndrew Morton pointed out that the \"too many targets\" message in patch 2 could\nbe printed for failing GFP_ATOMIC allocations.  This patch makes the messages\nmore specific.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d75981a8094e9f84fae65a6a83b361e3893b971",
      "tree": "b997d7854436781415e6345f00d7dbd8491e4007",
      "parents": [
        "7df620d852642d424afc9777fe57880e02c92832"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:32 2008 -0800"
      },
      "message": "aoe: the aoeminor doesn\u0027t need a long format\n\nThe aoedev aoeminor member doesn\u0027t need a long format.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7df620d852642d424afc9777fe57880e02c92832",
      "tree": "9bd0b23534c02f1a8adb3cc7972f4976a7148cb3",
      "parents": [
        "6b9699bbd24e82d2ec3bb5a43100099a936ded04"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:32 2008 -0800"
      },
      "message": "aoe: add module parameter for users who need more outstanding I/O\n\nAn AoE target provides an estimate of the number of outstanding commands that\nthe AoE initiator can send before getting a response.  The aoe_maxout\nparameter provides a way to set an even lower limit.  It will not allow a user\nto use more outstanding commands than the target permits.  If a user discovers\na problem with a large setting, this parameter provides a way for us to work\nwith them to debug the problem.  We expect to improve the dynamic window\nsizing algorithm and drop this parameter.  For the time being, it is a\ndebugging aid.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b9699bbd24e82d2ec3bb5a43100099a936ded04",
      "tree": "dc36d8716cc502aaac7e6159ffc1a307a4c5302d",
      "parents": [
        "9bb237b6a670fa7a6af3adc65231b1f6fda44510"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:32 2008 -0800"
      },
      "message": "aoe: only install new AoE device once\n\nAn aoe driver user who had about 70 AoE targets found that he was hitting a\nBUG in sysfs_create_file because the aoe driver was trying to tell the kernel\nabout an AoE device more than once.  Each AoE device was reachable by several\nlocal network interfaces, and multiple ATA device indentify responses were\nreturning from that single device.\n\nThis patch eliminates a race condition so that aoe always informs the block\nlayer of a new AoE device once in the presence of multiple incoming ATA device\nidentify responses.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9bb237b6a670fa7a6af3adc65231b1f6fda44510",
      "tree": "6e30e57f3d79e28e8be92f8685037998c16d42da",
      "parents": [
        "262bf54144ebcb78cd0d057d2705dc5fb7bba7ac"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:32 2008 -0800"
      },
      "message": "aoe: dynamically allocate a capped number of skbs when necessary\n\nWhat this Patch Does\n\n  Even before this recent series of 12 patches to 2.6.22-rc4, the aoe\n  driver was reusing a small set of skbs that were allocated once and\n  were only used for outbound AoE commands.\n\n  The network layer cannot be allowed to put_page on the data that is\n  still associated with a bio we haven\u0027t returned to the block layer,\n  so the aoe driver (even before the patch under discussion) is still\n  the owner of skbs that have been handed to the network layer for\n  transmission.  We need to keep track of these skbs so that we can\n  free them, but by tracking them, we can also easily re-use them.\n\n  The new patch was a response to the behavior of certain network\n  drivers.  We cannot reuse an skb that the network driver still has\n  in its transmit ring.  Network drivers can defer transmit ring\n  cleanup and then use the state in the skb to determine how many data\n  segments to clean up in its transmit ring.  The tg3 driver is one\n  driver that behaves in this way.\n\n  When the network driver defers cleanup of its transmit ring, the aoe\n  driver can find itself in a situation where it would like to send an\n  AoE command, and the AoE target is ready for more work, but the\n  network driver still has all of the pre-allocated skbs.  In that\n  case, the new patch just calls alloc_skb, as you\u0027d expect.\n\n  We don\u0027t want to get carried away, though.  We try not to do\n  excessive allocation in the write path, so we cap the number of skbs\n  we dynamically allocate.\n\n  Probably calling it a \"dynamic pool\" is misleading.  We were already\n  trying to use a small fixed-size set of pre-allocated skbs before\n  this patch, and this patch just provides a little headroom (with a\n  ceiling, though) to accomodate network drivers that hang onto skbs,\n  by allocating when needed.  The d-\u003eskbpool_hd list of allocated skbs\n  is necessary so that we can free them later.\n\n  We didn\u0027t notice the need for this headroom until AoE targets got\n  fast enough.\n\nAlternatives\n\n  If the network layer never did a put_page on the pages in the bio\u0027s\n  we get from the block layer, then it would be possible for us to\n  hand skbs to the network layer and forget about them, allowing the\n  network layer to free skbs itself (and thereby calling our own\n  skb-\u003edestructor callback function if we needed that).  In that case\n  we could get rid of the pre-allocated skbs and also the\n  d-\u003eskbpool_hd, instead just calling alloc_skb every time we wanted\n  to transmit a packet.  The slab allocator would effectively maintain\n  the list of skbs.\n\n  Besides a loss of CPU cache locality, the main concern with that\n  approach the danger that it would increase the likelihood of\n  deadlock when VM is trying to free pages by writing dirty data from\n  the page cache through the aoe driver out to persistent storage on\n  an AoE device.  Right now we have a situation where we have\n  pre-allocation that corresponds to how much we use, which seems\n  ideal.\n\n  Of course, there\u0027s still the separate issue of receiving the packets\n  that tell us that a write has successfully completed on the AoE\n  target.  When memory is low and VM is using AoE to flush dirty data\n  to free up pages, it would be perfect if there were a way for us to\n  register a fast callback that could recognize write command\n  completion responses.  But I don\u0027t think the current problems with\n  the receive side of the situation are a justification for\n  exacerbating the problem on the transmit side.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "262bf54144ebcb78cd0d057d2705dc5fb7bba7ac",
      "tree": "6a995fead6fa9638e02fc6e3928fe0a8612f073a",
      "parents": [
        "cf446f0dbafb5428a551da1c0df8f56316831df8"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "aoe: user can ask driver to forget previously detected devices\n\nWhen an AoE device is detected, the kernel is informed, and a new block device\nis created.  If the device is unused, the block device corresponding to remote\ndevice that is no longer available may be removed from the system by telling\nthe aoe driver to \"flush\" its list of devices.\n\nWithout this patch, software like GPFS and LVM may attempt to read from AoE\ndevices that were discovered earlier but are no longer present, blocking until\nthe I/O attempt times out.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf446f0dbafb5428a551da1c0df8f56316831df8",
      "tree": "4fac7df503878c75169d918c9002d6d8d9be4f7f",
      "parents": [
        "468fc53050a81d73893ce619a62914799e8d86bb"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "aoe: eliminate goto and improve readability\n\nAdam Richter suggested eliminating this goto.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "468fc53050a81d73893ce619a62914799e8d86bb",
      "tree": "6bf9034ca946ae6004d332b810e3758c69af1daa",
      "parents": [
        "1eb0da4cea28ae8f1bbe61822a2cc04e6d074e03"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "aoe: clean up udev configuration example\n\nThis patch adds a known default location for the udev configuration file and\nuses the more recent \"\u003d\u003d\" syntax for SUBSYSTEM and KERNEL.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eb0da4cea28ae8f1bbe61822a2cc04e6d074e03",
      "tree": "5f5e63711244ee845fe1bfb4faf1116605d0e053",
      "parents": [
        "68e0d42f39d85b334d3867a4e5fc2e0e775c1a6c"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "aoe: mac_addr: avoid 64-bit arch compiler warnings\n\nBy returning unsigned long long, mac_addr does not generate compiler warnings\non 64-bit architectures.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68e0d42f39d85b334d3867a4e5fc2e0e775c1a6c",
      "tree": "f4cdb47157de4dace5b99e69fc39ea017495922e",
      "parents": [
        "8911ef4dc97f77797f297318010a7424300d2d50"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:20:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "aoe: handle multiple network paths to AoE device\n\nA remote AoE device is something can process ATA commands and is identified by\nan AoE shelf number and an AoE slot number.  Such a device might have more\nthan one network interface, and it might be reachable by more than one local\nnetwork interface.  This patch tracks the available network paths available to\neach AoE device, allowing them to be used more efficiently.\n\nAndrew Morton asked about the call to msleep_interruptible in the revalidate\nfunction.  Yes, if a signal is pending, then msleep_interruptible will not\nreturn 0.  That means we will not loop but will call aoenet_xmit with a NULL\nskb, which is a noop.  If the system is too low on memory or the aoe driver is\ntoo low on frames, then the user can hit control-C to interrupt the attempt to\ndo a revalidate.  I have added a comment to the code summarizing that.\n\nAndrew Morton asked whether the allocation performed inside addtgt could use a\nmore relaxed allocation like GFP_KERNEL, but addtgt is called when the aoedev\nlock has been locked with spin_lock_irqsave.  It would be nice to allocate the\nmemory under fewer restrictions, but targets are only added when the device is\nbeing discovered, and if the target can\u0027t be added right now, we can try again\nin a minute when then next AoE config query broadcast goes out.\n\nAndrew Morton pointed out that the \"too many targets\" message could be printed\nfor failing GFP_ATOMIC allocations.  The last patch in this series makes the\nmessages more specific.\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8911ef4dc97f77797f297318010a7424300d2d50",
      "tree": "965140824f1f069e7af41866fadb761c7c9f9010",
      "parents": [
        "8b21985c91ffb3062bfbd3f2bfbeceb5333afaac"
      ],
      "author": {
        "name": "Ed L. Cashin",
        "email": "ecashin@coraid.com",
        "time": "Fri Feb 08 04:19:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "aoe: bring driver version number to 47\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b21985c91ffb3062bfbd3f2bfbeceb5333afaac",
      "tree": "76648de1b28409def2453fbc92d67f35133a32f3",
      "parents": [
        "edde08f2a8f13a648ab6d26f33e88d0c6146f3d1"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Feb 08 04:19:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "constify tables in kernel/sysctl_check.c\n\nRemains the question whether it is intended that many, perhaps even large,\ntables are compiled in without ever having a chance to get used, i.e.\nwhether there shouldn\u0027t #ifdef CONFIG_xxx get added.\n\n[akpm@linux-foundation.org: fix cut-n-paste error]\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edde08f2a8f13a648ab6d26f33e88d0c6146f3d1",
      "tree": "16c0580449068472b7cb2ab3093fda3cc19f18b0",
      "parents": [
        "144b2a91468bdc0d4fa64b220c152fb58b8ffe05"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "misc: removal of final callers using fastcall\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "144b2a91468bdc0d4fa64b220c152fb58b8ffe05",
      "tree": "2b10f43deeeb889e02b71db7e2a51d400345b37c",
      "parents": [
        "ec7015840ad7a8cdc87f52367ffe9c0b0401d919"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "asm-generic: remove fastcall\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec7015840ad7a8cdc87f52367ffe9c0b0401d919",
      "tree": "4d0d7dc6f4ab1e364521a866e0150794d9739a28",
      "parents": [
        "9f741cb8fecef923cce1dff820ac6aa78c12d136"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "Remove fastcall from linux/include\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f741cb8fecef923cce1dff820ac6aa78c12d136",
      "tree": "a033810f71f1b98f5ba1d1949230178ca505a1bf",
      "parents": [
        "7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "lib: remove fastcall from lib/*\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7",
      "tree": "6715ffd8df509d3d53dea581bb97418a21bc7cbc",
      "parents": [
        "fc9b52cd8f5f459b88adcf67c47668425ae31a78"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "kernel: remove fastcall in kernel/*\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc9b52cd8f5f459b88adcf67c47668425ae31a78",
      "tree": "c29924eaf60d2e73641bf11fa906a23fa81f46c9",
      "parents": [
        "75acb9cd2ef0bbb463098fdd40cbcdda79d45fa3"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "fs: remove fastcall, it is always empty\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75acb9cd2ef0bbb463098fdd40cbcdda79d45fa3",
      "tree": "acb8f0a63ac1249146041b06eaaa003ea24c8c7a",
      "parents": [
        "9db5579be4bb5320c3248f6acf807aedf05ae143"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Feb 08 04:19:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "rd: support XIP\n\nSupport direct_access XIP method with brd.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9db5579be4bb5320c3248f6acf807aedf05ae143",
      "tree": "fde09bbeb427946b30d2e0fb6b00494a42488052",
      "parents": [
        "daeb51e62cacde31c8245866e1096ff79a0c83fe"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Feb 08 04:19:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "rewrite rd\n\nThis is a rewrite of the ramdisk block device driver.\n\nThe old one is really difficult because it effectively implements a block\ndevice which serves data out of its own buffer cache.  It relies on the dirty\nbit being set, to pin its backing store in cache, however there are non\ntrivial paths which can clear the dirty bit (eg.  try_to_free_buffers()),\nwhich had recently lead to data corruption.  And in general it is completely\nwrong for a block device driver to do this.\n\nThe new one is more like a regular block device driver.  It has no idea about\nvm/vfs stuff.  It\u0027s backing store is similar to the buffer cache (a simple\nradix-tree of pages), but it doesn\u0027t know anything about page cache (the pages\nin the radix tree are not pagecache pages).\n\nThere is one slight downside -- direct block device access and filesystem\nmetadata access goes through an extra copy and gets stored in RAM twice.\nHowever, this downside is only slight, because the real buffercache of the\ndevice is now reclaimable (because we\u0027re not playing crazy games with it), so\nunder memory intensive situations, footprint should effectively be the same --\nmaybe even a slight advantage to the new driver because it can also reclaim\nbuffer heads.\n\nThe fact that it now goes through all the regular vm/fs paths makes it\nmuch more useful for testing, too.\n\n   text    data     bss     dec     hex filename\n   2837     849     384    4070     fe6 drivers/block/rd.o\n   3528     371      12    3911     f47 drivers/block/brd.o\n\nText is larger, but data and bss are smaller, making total size smaller.\n\nA few other nice things about it:\n- Similar structure and layout to the new loop device handlinag.\n- Dynamic ramdisk creation.\n- Runtime flexible buffer head size (because it is no longer part of the\n  ramdisk code).\n- Boot / load time flexible ramdisk size, which could easily be extended\n  to a per-ramdisk runtime changeable size (eg. with an ioctl).\n- Can use highmem for the backing store.\n\n[akpm@linux-foundation.org: fix build]\n[byron.bbradley@gmail.com: make rd_size non-static]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Byron Bradley \u003cbyron.bbradley@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "daeb51e62cacde31c8245866e1096ff79a0c83fe",
      "tree": "57b71cf23b1c701ff2492f301bed79da77340e87",
      "parents": [
        "b920de1b77b72ca9432ac3f97edb26541e65e5dd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "mn10300: add platform MTD support for the ASB2303 board\n\nAdd platform MTD support for the ASB2303 board.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b920de1b77b72ca9432ac3f97edb26541e65e5dd",
      "tree": "40fa9be1470e929c47927dea7eddf184c0204229",
      "parents": [
        "ef3d534754f31fed9c3b976fee1ece1b3bc38282"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "mn10300: add the MN10300/AM33 architecture to the kernel\n\nAdd architecture support for the MN10300/AM33 CPUs produced by MEI to the\nkernel.\n\nThis patch also adds board support for the ASB2303 with the ASB2308 daughter\nboard, and the ASB2305.  The only processor supported is the MN103E010, which\nis an AM33v2 core plus on-chip devices.\n\n[akpm@linux-foundation.org: nuke cvs control strings]\nSigned-off-by: Masakazu Urade \u003curade.masakazu@jp.panasonic.com\u003e\nSigned-off-by: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef3d534754f31fed9c3b976fee1ece1b3bc38282",
      "tree": "d41ebed23063740a72103ccd5c7dabd96a425289",
      "parents": [
        "62fb44b9622e4c0e00f31fb27620d97a00ae3dc6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "mn10300: allocate serial port UART IDs for on-chip serial ports\n\nAllocate serial port UART type IDs for the MN10300 on-chip serial ports.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62fb44b9622e4c0e00f31fb27620d97a00ae3dc6",
      "tree": "af24a0a8c98ab5cbf7aa1d1f77d6b2cc85151179",
      "parents": [
        "1eb114112381eb66ebacdace1b6e70d30d603f9c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "usb: net2280 can\u0027t have a function called show_registers()\n\nnet2280 can\u0027t have a function called show_registers() because this can produce\na namespace clash with an arch function of the same name.\n\nAll this driver\u0027s functions and variables should really be prefixed with\n\"net2280_\" to avoid such a problem in future.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eb114112381eb66ebacdace1b6e70d30d603f9c",
      "tree": "3b97926b1a90aa996f99a23281809c3d960fd3d8",
      "parents": [
        "7fa3031500ec9b0a7460c8c23751799006ffee74"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "aout: remove unnecessary inclusions of {asm, linux}/a.out.h\n\nRemove now unnecessary inclusions of {asm,linux}/a.out.h.\n\n[akpm@linux-foundation.org: fix alpha build]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fa3031500ec9b0a7460c8c23751799006ffee74",
      "tree": "2a7e9202b35a39dc8217e95825263c0629e67e35",
      "parents": [
        "b0b933c08bd5fd053bbba8ba6387f543be03d49f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT\n\nSuppress A.OUT library support if CONFIG_ARCH_SUPPORTS_AOUT is not set.\n\nNot all architectures support the A.OUT binfmt, so the ELF binfmt should not\nbe permitted to go looking for A.OUT libraries to load in such a case.  Not\nonly that, but under such conditions A.OUT core dumps are not produced either.\n\nTo make this work, this patch also does the following:\n\n (1) Makes the existence of the contents of linux/a.out.h contingent on\n     CONFIG_ARCH_SUPPORTS_AOUT.\n\n (2) Renames dump_thread() to aout_dump_thread() as it\u0027s only called by A.OUT\n     core dumping code.\n\n (3) Moves aout_dump_thread() into asm/a.out-core.h and makes it inline.  This\n     is then included only where needed.  This means that this bit of arch\n     code will be stored in the appropriate A.OUT binfmt module rather than\n     the core kernel.\n\n (4) Drops A.OUT support for Blackfin (according to Mike Frysinger it\u0027s not\n     needed) and FRV.\n\nThis patch depends on the previous patch to move STACK_TOP[_MAX] out of\nasm/a.out.h and into asm/processor.h as they\u0027re required whether or not A.OUT\nformat is available.\n\n[jdike@addtoit.com: uml: re-remove accidentally restored code]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0b933c08bd5fd053bbba8ba6387f543be03d49f",
      "tree": "c3c6d2e44d2104231daa31f684b9e7fcdc3b7896",
      "parents": [
        "922a70d327bd4b11342c2afd08e20d35f52064c3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "aout: mark arches that support A.OUT format\n\nMark arches that support A.OUT format by including the following in their\nmaster Kconfig files:\n\n\tconfig ARCH_SUPPORTS_AOUT\n\t\tdef_bool y\n\nThis should also be set if the arch provides compatibility A.OUT support for\nan older arch, for instance x86_64 for i386 or sparc64 for sparc.\n\nI\u0027ve guessed at which arches don\u0027t, based on comments in the code, however I\u0027m\nsure that some of the ones I\u0027ve marked as \u0027yes\u0027 actually should be \u0027no\u0027.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "922a70d327bd4b11342c2afd08e20d35f52064c3",
      "tree": "aff7e43fa600363128c15c4b9a1ceba3869aac15",
      "parents": [
        "3eb056764dd806bbe84eb604e45e7470feeaafd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "aout: move STACK_TOP[_MAX] to asm/processor.h\n\nMove STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they\u0027re\nrequired whether or not A.OUT format is available.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eb056764dd806bbe84eb604e45e7470feeaafd8",
      "tree": "97a8fe2123d2c9df2bcb48052ac33d445a00f64c",
      "parents": [
        "cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "time: fix typo in comments\n\nFix typo in comments.\n\nBTW: I have to fix coding style in arch/ia64/kernel/time.c also, otherwise\ncheckpatch.pl will be complaining.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f",
      "tree": "ac1e027b7e759822014bd3a72ababd1fa1052198",
      "parents": [
        "0b858e6ff9a38b987a83d22e6f2a2f621c80608d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "timekeeping: rename timekeeping_is_continuous to timekeeping_valid_for_hres\n\nFunction timekeeping_is_continuous() no longer checks flag\nCLOCK_IS_CONTINUOUS, and it checks CLOCK_SOURCE_VALID_FOR_HRES now.  So rename\nthe function accordingly.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b858e6ff9a38b987a83d22e6f2a2f621c80608d",
      "tree": "71bea1f83730b25ef1a18d56e9b5e69261b884c4",
      "parents": [
        "818c357802e2791880057fe752dc9ce9e210f772"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "clockevent: simplify list operations\n\nlist_for_each_safe() suffices here.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "818c357802e2791880057fe752dc9ce9e210f772",
      "tree": "3694d26a887fea0cb96e843177d3281bc1cc7ef6",
      "parents": [
        "146a505d498c36de98ec161d791dd50beca7f9a3"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "clocksource: remove redundant code\n\nFlag CLOCK_SOURCE_WATCHDOG is cleared twice.  Note clocksource_change_rating()\nwon\u0027t do anyting with the cs flag.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "146a505d498c36de98ec161d791dd50beca7f9a3",
      "tree": "f126c55b34488866ff179717f1b2a0c7cdd5df6b",
      "parents": [
        "d5df763b81946a405837b80874516dfc2a8f7ebf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Get rid of the kill_pgrp_info() function\n\nThere\u0027s only one caller left - the kill_pgrp one - so merge these two\nfunctions and forget the kill_pgrp_info one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5df763b81946a405837b80874516dfc2a8f7ebf",
      "tree": "6fdf06b2cda81d91e8aef03af4d880fc4a6cad72",
      "parents": [
        "56496c1d83dfae0c74e2f43adb45d2d95e16c0d5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Clean up the kill_something_info\n\nThis is the first step (of two) in removing the kill_pgrp_info.\n\nAll the users of this function are in kernel/signal.c, but all they need is to\ncall __kill_pgrp_info() with the tasklist_lock read-locked.\n\nFortunately, one of its users is the kill_something_info(), which already\nneeds this lock in one of its branches, so clean these branches up and call\nthe __kill_pgrp_info() directly.\n\nBased on Oleg\u0027s view of how this function should look.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "56496c1d83dfae0c74e2f43adb45d2d95e16c0d5",
      "tree": "36cdf6421d0b26e8372dd1167a1ecd18f73fc3a5",
      "parents": [
        "6c5f3e7b43300508fe3947ff3cfff0f86043bb57"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Pidns: fix badly converted mqueues pid handling\n\nWhen sending the pid namespaces patches I wrongly converted the tsk-\u003etgid into\ntask_pid_vnr(tsk) in mqueue-s (the git id of this patch is\nb488893a390edfe027bae7a46e9af8083e740668).\n\nThe proper behavior is to get the task_tgid_vnr(tsk).\n\nThis seem to be the only mistake of that kind.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5f3e7b43300508fe3947ff3cfff0f86043bb57",
      "tree": "9843b8897ec3357b09f62bb6423cd4753e1d4516",
      "parents": [
        "fea9d175545b38cb3e84569400419eb81bc90fa3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:19:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "Pidns: make full use of xxx_vnr() calls\n\nSome time ago the xxx_vnr() calls (e.g.  pid_vnr or find_task_by_vpid) were\n_all_ converted to operate on the current pid namespace.  After this each call\nlike xxx_nr_ns(foo, current-\u003ensproxy-\u003epid_ns) is nothing but a xxx_vnr(foo)\none.\n\nSwitch all the xxx_nr_ns() callers to use the xxx_vnr() calls where\nappropriate.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fea9d175545b38cb3e84569400419eb81bc90fa3",
      "tree": "0d43fe9ed2ea6104ee8b15a3eb8da081dd08fd35",
      "parents": [
        "46f382d2b69d2221086b823f0dbc8f32c027cac2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "ITIMER_REAL: convert to use struct pid\n\nsignal_struct-\u003etsk points to the -\u003egroup_leader and thus we have the nasty\ncode in de_thread() which has to change it and restart -\u003ereal_timer if the\nleader is changed.\n\nUse \"struct pid *leader_pid\" instead.  This also allows us to kill now\nunneeded send_group_sig_info().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46f382d2b69d2221086b823f0dbc8f32c027cac2",
      "tree": "bc71bbdd7f158aea817ef08f9cf13ac515d3776f",
      "parents": [
        "d36174bc2bce0372693a9cfbdef8b2689c9982cb"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:28 2008 -0800"
      },
      "message": "uglify while_each_pid_task() to make sure we don\u0027t count the execing pricess twice\n\nThere is a window when de_thread() switches the leader and drops\ntasklist_lock.  In that window do_each_pid_task(PIDTYPE_PID) finds both new\nand old leaders.\n\nThe problem is pretty much theoretical and probably can be ignored.  Currently\nthe only users of do_each_pid_task(PIDTYPE_PID) are send_sigio/send_sigurg, so\nthey can send the signal to the same process twice.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d36174bc2bce0372693a9cfbdef8b2689c9982cb",
      "tree": "cdb327c68844f105a8ac8b732e862f24edc35f24",
      "parents": [
        "f374ada53bd1ca7c16d7607369fccc6769704956"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:28 2008 -0800"
      },
      "message": "uglify kill_pid_info() to fix kill() vs exec() race\n\nkill_pid_info()-\u003epid_task() could be the old leader of the execing process.\nIn that case it is possible that the leader will be released before we take\nsiglock. This means that kill_pid_info() (and thus sys_kill()) can return a\nfalse -ESRCH.\n\nChange the code to retry when lock_task_sighand() fails. The endless loop is\nnot possible, __exit_signal() both clears -\u003esighand and does detach_pid().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f374ada53bd1ca7c16d7607369fccc6769704956",
      "tree": "b790eca5876c05e8f987b3e84333c9b92cc1482d",
      "parents": [
        "69440e76f6121fe7a5193a82f45ccec08e4bb24b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:19:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:28 2008 -0800"
      },
      "message": "pid: fix solaris_procids\n\nUse task_pgrp_vnr not task_pgrp_nr so we return the process id the processes\npid namespace and not in the initial pid namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69440e76f6121fe7a5193a82f45ccec08e4bb24b",
      "tree": "1a573c55bbcb8d8d83f7a21551ca08c6ac35dfe8",
      "parents": [
        "ac9a8e3f0f43d20fc316162e8e5f9186d295ff49"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:19:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:28 2008 -0800"
      },
      "message": "pid: fix mips irix emulation pid usage\n\n[m.kozlowski@tuxland.pl: fix unbalanced parenthesis in irix_BSDsetpgrp()]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac9a8e3f0f43d20fc316162e8e5f9186d295ff49",
      "tree": "a6b8d416c38d222773a46c5d84b3d043facbf008",
      "parents": [
        "44c4e1b2581f7273ab14ef30b6430618801c57b1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:28 2008 -0800"
      },
      "message": "sys_getsid: don\u0027t use -\u003ensproxy directly\n\nWith the new semantics of find_vpid() we don\u0027t need to play with -\u003ensproxy\nexplicitely, _vxx() do the right things.\n\nAlso s/tasklist/rcu/.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44c4e1b2581f7273ab14ef30b6430618801c57b1",
      "tree": "9881990d56dd58f0c93991217a999bab145946fa",
      "parents": [
        "161550d74c07303ffa6187ba776f62df5a906a21"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:19:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "pid: Extend/Fix pid_vnr\n\npid_vnr returns the user space pid with respect to the pid namespace the\nstruct pid was allocated in.  What we want before we return a pid to user\nspace is the user space pid with respect to the pid namespace of current.\n\npid_vnr is a very nice optimization but because it isn\u0027t quite what we want\nit is easy to use pid_vnr at times when we aren\u0027t certain the struct pid\nwas allocated in our pid namespace.\n\nCurrently this describes at least tiocgpgrp and tiocgsid in ttyio.c the\nparent process reported in the core dumps and the parent process in\nget_signal_to_deliver.\n\nSo unless the performance impact is huge having an interface that does what\nwe want instead of always what we want should be much more reliable and\nmuch less error prone.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "161550d74c07303ffa6187ba776f62df5a906a21",
      "tree": "c47ece377d76141ba48b3e7ffd2d7dbd31c906e1",
      "parents": [
        "5dee1707dfbfc55eb7569b9ae5abaf932bd4c377"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:19:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "pid: sys_wait... fixes\n\nThis modifies do_wait and eligible child to take a pair of enum pid_type\nand struct pid *pid to precisely specify what set of processes are eligible\nto be waited for, instead of the raw pid_t value from sys_wait4.\n\nThis fixes a bug in sys_waitid where you could not wait for children in\njust process group 1.\n\nThis fixes a pid namespace crossing case in eligible_child.  Allowing us to\nwait for a processes in our current process group even if our current\nprocess group \u003d\u003d 0.\n\nThis allows the no child with this pid case to be optimized.  This allows\nus to optimize the pid membership test in eligible child to be optimized.\n\nThis even closes a theoretical pid wraparound race where in a threaded\nparent if two threads are waiting for the same child and one thread picks\nup the child and the pid numbers wrap around and generate another child\nwith that same pid before the other thread is scheduled (teribly insanely\nunlikely) we could end up waiting on the second child with the same pid#\nand not discover that the specific child we were waiting for has exited.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5dee1707dfbfc55eb7569b9ae5abaf932bd4c377",
      "tree": "6e162f61f9645f790aa14cb4146882b918bb0286",
      "parents": [
        "6806aac6d282d58b97763f5e17e2787e62c3b440"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "move the related code from exit_notify() to exit_signals()\n\nThe previous bugfix was not optimal, we shouldn\u0027t care about group stop\nwhen we are the only thread or the group stop is in progress.  In that case\nnothing special is needed, just set PF_EXITING and return.\n\nAlso, take the related \"TIF_SIGPENDING re-targeting\" code from exit_notify().\n\nSo, from the performance POV the only difference is that we don\u0027t trust\n!signal_pending() until we take -\u003esiglock.  But this in fact fixes another\n___pure___ theoretical minor race.  __group_complete_signal() finds the\ntask without PF_EXITING and chooses it as the target for signal_wake_up().\nBut nothing prevents this task from exiting in between without noticing the\npending signal and thus unpredictably delaying the actual delivery.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6806aac6d282d58b97763f5e17e2787e62c3b440",
      "tree": "4076069a60e054a2d8c31bc2998607668b0a40b0",
      "parents": [
        "d12619b5ff5664623524aef796514d1946ea3b4a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "sys_setsid: remove now unneeded session !\u003d 1 check\n\nEric\u0027s \"fix clone(CLONE_NEWPID)\" eliminated the last reason for this hack.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d12619b5ff5664623524aef796514d1946ea3b4a",
      "tree": "23140ca0148f9154440d3056e2040d8df468a24b",
      "parents": [
        "430c623121ea88ca80595c99fdc63b7f8a803ae5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "fix group stop with exit race\n\ndo_signal_stop() counts all sub-thread and sets -\u003egroup_stop_count\naccordingly.  Every thread should decrement -\u003egroup_stop_count and stop,\nthe last one should notify the parent.\n\nHowever a sub-thread can exit before it notices the signal_pending(), or it\nmay be somewhere in do_exit() already.  In that case the group stop never\nfinishes properly.\n\nNote: this is a minimal fix, we can add some optimizations later.  Say we\ncan return quickly if thread_group_empty().  Also, we can move some signal\nrelated code from exit_notify() to exit_signals().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "430c623121ea88ca80595c99fdc63b7f8a803ae5",
      "tree": "8ada2d8287d07cabd64cc3614a6a643623046e5c",
      "parents": [
        "297bd42b15daed02453ff59ce6d31216a58b0398"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "start the global /sbin/init with 0,0 special pids\n\nAs Eric pointed out, there is no problem with init starting with sid \u003d\u003d pgid\n\u003d\u003d 0, and this was historical linux behavior changed in 2.6.18.\n\nRemove kernel_init()-\u003e__set_special_pids(), this is unneeded and complicates\nthe rules for sys_setsid().\n\nThis change and the previous change in daemonize() mean that /sbin/init does\nnot need the special \"session !\u003d 1\" hack in sys_setsid() any longer. We can\u0027t\nremove this check yet, we should cleanup copy_process(CLONE_NEWPID) first, so\nupdate the comment only.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "297bd42b15daed02453ff59ce6d31216a58b0398",
      "tree": "4b1fecc6e285c50d55961ed85e013419f5810164",
      "parents": [
        "8520d7c7f8611216e3b270becec95bb35b6899d4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "move daemonized kernel threads into the swapper\u0027s session\n\nDaemonized kernel threads run in the init\u0027s session. This doesn\u0027t match the\nbehaviour of kthread_create()\u0027ed threads, and this is one of the 2 reasons\nwhy we need a special hack in sys_setsid().\n\nNow that set_special_pids() was changed to use struct pid, not pid_t, we can\nuse init_struct_pid and set 0,0 special pids.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8520d7c7f8611216e3b270becec95bb35b6899d4",
      "tree": "77001e6830bb415590067e9d4be24cd8bdd36219",
      "parents": [
        "e4cc0a9c876d4d4eadaef97a2bff4a199946d202"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "teach set_special_pids() to use struct pid\n\nChange set_special_pids() to work with struct pid, not pid_t from global name\nspace. This again speedups and imho cleanups the code, also a preparation for\nthe next patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4cc0a9c876d4d4eadaef97a2bff4a199946d202",
      "tree": "e25406d84ce842c54e3ac5438e4bcee32a75a964",
      "parents": [
        "4e021306cff4277764a42065214fc73f2d26be4b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "fix setsid() for sub-namespace /sbin/init\n\nsys_setsid() still deals with pid_t\u0027s from the global namespace. This means\nthat the \"session \u003e 1\" check can\u0027t help for sub-namespace init, setsid() can\u0027t\nsucceed because copy_process(CLONE_NEWPID) populates PIDTYPE_PGID/SID links.\n\nRemove the usage of task_struct-\u003epid and convert the code to use \"struct pid\".\nThis also simplifies and speedups the code, saves one find_pid().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e021306cff4277764a42065214fc73f2d26be4b",
      "tree": "49e2c5b785b887ae47c599b0afd81ba304f9062a",
      "parents": [
        "c543f1ee08ea6c2176dbdc47df0d0f6357c88713"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "sys_setpgid(): simplify pid/ns interaction\n\nsys_setpgid() does unneeded conversions from pid_t to \"struct pid\" and vice\nversa.  Use \"struct pid\" more consistently.  Saves one find_vpid() and\neliminates the explicit usage of -\u003ensproxy-\u003epid_ns.  Imho, cleanups the\ncode.\n\nAlso use the same_thread_group() helper.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c543f1ee08ea6c2176dbdc47df0d0f6357c88713",
      "tree": "ae2d4de96aabbafd3792316d14f40330ec64572d",
      "parents": [
        "3a515e4a62dbf7e4c213740268a5267faa69e5b2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:27 2008 -0800"
      },
      "message": "wait_task_zombie: remove -\u003eexit_state/exit_signal checks for WNOWAIT\n\nThe first \"p-\u003eexit_state !\u003d EXIT_ZOMBIE\" check doesn\u0027t make too much sense.\nThe exit_state was EXIT_ZOMBIE when the function was called, and another\nthread can change it to EXIT_DEAD right after the check.\n\nThe second condition is not possible, detached non-traced threads were already\nfiltered out by eligible_child(), we didn\u0027t drop tasklist since then.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a515e4a62dbf7e4c213740268a5267faa69e5b2",
      "tree": "51f98e662c80ca5de628f09c5eb24d18f1794f6c",
      "parents": [
        "f2cc3eb133baa2e9dc8efd40f417106b2ee520f3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "wait_task_continued/zombie: don\u0027t use task_pid_nr_ns() lockless\n\nSurprise, the other two wait_task_*() functions also abuse the\ntask_pid_nr_ns() function, and may cause read-after-free or report nr \u003d\u003d 0\nin wait_task_continued().  wait_task_zombie() doesn\u0027t have this problem,\nbut it is still better to cache pid_t rather than call task_pid_nr_ns()\nthree times on the saved pid_namespace.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2cc3eb133baa2e9dc8efd40f417106b2ee520f3",
      "tree": "37b08158ee5296e79a61aad086be36c742825e3b",
      "parents": [
        "96fabbf55ae79826f2e8a86f4066d7e8834315ae"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "do_wait: fix security checks\n\nImho, the current usage of security_task_wait() is not logical.\n\nSuppose we have the single child p, and security_task_wait(p) return\n-EANY.  In that case waitpid(-1) returns this error.  Why? Isn\u0027t it\nbetter to return ECHLD? We don\u0027t really have reapable children.\n\nNow suppose that child was stolen by gdb.  In that case we find this\nchild on -\u003eptrace_children and set flag \u003d 1, but we don\u0027t check that the\nchild was denied.  So, do_wait(..., WNOHANG) returns 0, this doesn\u0027t\nmatch the behaviour above.  Without WNOHANG do_wait() blocks only to\nreturn the error later, when the child will be untraced.  Inho, really\nstrange.\n\nI think eligible_child() should return the error only if the child\u0027s pid\nwas requested explicitly, otherwise we should silently ignore the tasks\nwhich were nacked by security_task_wait().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96fabbf55ae79826f2e8a86f4066d7e8834315ae",
      "tree": "e4b3259a744a1e0c8fa477e3dfba02e4ea1993c8",
      "parents": [
        "1bad95c3bee183719e15eebffef66afc3fb3f8b0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "do_wait: cleanup delay_group_leader() usage\n\neligible_child() \u003d\u003d 2 means delay_group_leader().  With the previous patch\nthis only matters for EXIT_ZOMBIE task, we can move that special check to\nthe only place it is really needed.\n\nAlso, with this patch we don\u0027t skip security_task_wait() for the group\nleaders in a non-empty thread group.  I don\u0027t really understand the exact\nsemantics of security_task_wait(), but imho this change is a bugfix.\n\nAlso rearrange the code a bit to kill an ugly \"check_continued\" backdoor.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bad95c3bee183719e15eebffef66afc3fb3f8b0",
      "tree": "b875db7096572a69f3906db631708d7e75e22f3f",
      "parents": [
        "20686a309aa98c518adbbd9b57cdbb1804143deb"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "wait_task_stopped(): remove unneeded delay_group_leader check\n\nwait_task_stopped() doesn\u0027t need the \"delay_group_leader\" parameter.  If\nthe child is not traced it must be a group leader.  With or without\nsubthreads -\u003egroup_stop_count \u003d\u003d 0 when the whole task is stopped.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Mika Penttila \u003cmika.penttila@kolumbus.fi\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20686a309aa98c518adbbd9b57cdbb1804143deb",
      "tree": "4aac811e67d777d3c0015ca51312aa93b4832d35",
      "parents": [
        "9cbab8100538efdd93aeae6fc37787d986f2f558"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "ptrace_stop: fix racy nonstop_code setting\n\nIf the tracer is gone and we are not going to stop, ptrace_stop() sets\n-\u003eexit_code \u003d nostop_code.  However, the tracer could actually clear the\nexit code before detaching.  In that case get_signal_to_deliver() \"resends\"\nthe signal which was cancelled by the debugger.  For example, it is\npossible that a quick PTRACE_ATTACH + PTRACE_DETACH can leave the tracee in\nSTOPPED state.\n\nChange the behaviour of ptrace_stop().  If the caller is ptrace notify(),\nwe should always clear -\u003eexit_code.  If the caller is\nget_signal_to_deliver(), we should not touch it at all.  To do so, change\nthe nonstop_code parameter to \"bool clear_code\" and change the callers\naccordingly.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cbab8100538efdd93aeae6fc37787d986f2f558",
      "tree": "a34cf1b3d6bdb3b2bbede801a9acdb23d35903ff",
      "parents": [
        "ee7c82da830ea860b1f9274f1f0cdf99f206e7c2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "do_wait: factor out \"retval !\u003d 0\" checks\n\nEvery branch if the main \"if\" statement does the same code at the end.  Move\nit down.  Also, fix the indentation.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee7c82da830ea860b1f9274f1f0cdf99f206e7c2",
      "tree": "449477479b25ec73a1c2242723b3fb1c09cd936d",
      "parents": [
        "6405f7f4675884b671bee66678e1c2859bdb0e56"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "wait_task_stopped: simplify and fix races with SIGCONT/SIGKILL/untrace\n\nwait_task_stopped() has multiple races with SIGCONT/SIGKILL.  tasklist_lock\ndoes not pin the child in TASK_TRACED/TASK_STOPPED stated, almost all info\nreported (including exit_code) may be wrong.\n\nIn fact, the code under write_lock_irq(tasklist_lock) is not safe.  The child\nmay be PTRACE_DETACH\u0027ed at this time by another subthread, in that case it is\npossible we are no longer its -\u003eparent.\n\nChange wait_task_stopped() to take -\u003esiglock before inspecting the task.  This\nguarantees that the child can\u0027t resume and (for example) clear its\n-\u003eexit_code, so we don\u0027t need to use xchg(\u0026p-\u003eexit_code) and re-check.  The\nonly exception is ptrace_stop() which changes -\u003estate and -\u003eexit_code without\n-\u003esiglock held during abort.  But this can only happen if both the tracer and\nthe tracee are dying (coredump is in progress), we don\u0027t care.\n\nWith this patch wait_task_stopped() doesn\u0027t move the child to the end of\nthe -\u003eparent list on success.  This optimization could be restored, but\nin that case we have to take write_lock(tasklist) and do some nasty\nchecks.\n\nAlso change the do_wait() since we don\u0027t return EAGAIN any longer.\n\n[akpm@linux-foundation.org: fix up after Willy renamed everything]\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6405f7f4675884b671bee66678e1c2859bdb0e56",
      "tree": "31f0e42b011de36976f5a50b86aee7132f6b82b4",
      "parents": [
        "c0c0b649d67aa775aa9851de61aade17504be70c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "ptrace_stop: fix the race with ptrace detach+attach\n\nIf the tracer went away (may_ptrace_stop() failed), ptrace_stop() drops\ntasklist and then changes the -\u003estate from TASK_TRACED to TASK_RUNNING.\n\nThis can fool another tracer which attaches to us in between.  Change the\n-\u003estate under tasklist_lock to ensure that ptrace_check_attach() can\u0027t wrongly\nsucceed.  Also, remove the unnecessary mb().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c0c0b649d67aa775aa9851de61aade17504be70c",
      "tree": "5902fb53a364155352fcc04e87860d724d8b31fd",
      "parents": [
        "34a1738f7da0b3d28d4b066d03a78f46b8cab68f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:19:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "ptrace_check_attach: remove unneeded -\u003esignal !\u003d NULL check\n\nIt is not possible to see the PT_PTRACED task without -\u003esignal/sighand under\ntasklist_lock, release_task() does ptrace_unlink() first.  If the task was\nalready released before, ptrace_attach() can\u0027t succeed and set PT_PTRACED.\nRemove this check.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34a1738f7da0b3d28d4b066d03a78f46b8cab68f",
      "tree": "4e7312642adb1aab0ba9fa4f29b4912c9ee035d2",
      "parents": [
        "6b39c7bfbd1436836c0fb34c5b437fda1a7a3dd4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:18:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "kill my_ptrace_child()\n\nNow that my_ptrace_child() is trivial we can use the \"p-\u003eptrace \u0026 PT_PTRACED\"\ninline and simplify the corresponding logic in do_wait: we can\u0027t find the\nchild in TASK_TRACED state without PT_PTRACED flag set, ptrace_untrace()\neither sets TASK_STOPPED or wakes up the tracee.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b39c7bfbd1436836c0fb34c5b437fda1a7a3dd4",
      "tree": "60d3d9719eef3076527fcbf9c3cb362fe0f52d61",
      "parents": [
        "01b8b07a5d77d22e609267dcae74d15e3e9c5f13"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 08 04:18:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "kill PT_ATTACHED\n\nSince the patch\n\n\t\"Fix ptrace_attach()/ptrace_traceme()/de_thread() race\"\n\tcommit f5b40e363ad6041a96e3da32281d8faa191597b9\n\nwe set PT_ATTACHED and change child-\u003eparent \"atomically\" wrt task_list lock.\n\nThis means we can remove the checks like \"PT_ATTACHED \u0026\u0026 -\u003eparent !\u003d ptracer\"\nwhich were needed to catch the \"ptrace attach is in progress\" case.  We can\nalso remove the flag itself since nobody else uses it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01b8b07a5d77d22e609267dcae74d15e3e9c5f13",
      "tree": "dd53c51f75de9511da7fdf283c73080d6c2552a8",
      "parents": [
        "ed2ddbf88c0ddeeae4c78bb306a116dfd867c55c"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Fri Feb 08 04:18:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns()\n\nsem_exit_ns(), msg_exit_ns() and shm_exit_ns() are all called when an\nipc_namespace is released to free all ipcs of each type.  But in fact, they\ndo the same thing: they loop around all ipcs to free them individually by\ncalling a specific routine.\n\nThis patch proposes to consolidate this by introducing a common function,\nfree_ipcs(), that do the job.  The specific routine to call on each\nindividual ipcs is passed as parameter.  For this, these ipc-specific\n\u0027free\u0027 routines are reworked to take a generic \u0027struct ipc_perm\u0027 as\nparameter.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed2ddbf88c0ddeeae4c78bb306a116dfd867c55c",
      "tree": "de6d6828c03f98be6fc41e8acf3b3e52df28be9b",
      "parents": [
        "4b9fcb0ec60584d639ad105c42b75a3447071e47"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Fri Feb 08 04:18:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "IPC: make struct ipc_ids static in ipc_namespace\n\nEach ipc_namespace contains a table of 3 pointers to struct ipc_ids (3 for\nmsg, sem and shm, structure used to store all ipcs) These \u0027struct ipc_ids\u0027\nare dynamically allocated for each icp_namespace as the ipc_namespace\nitself (for the init namespace, they are initialized with pointers to\nstatic variables instead)\n\nIt is so for historical reason: in fact, before the use of idr to store the\nipcs, the ipcs were stored in tables of variable length, depending of the\nmaximum number of ipc allowed.  Now, these \u0027struct ipc_ids\u0027 have a fixed\nsize.  As they are allocated in any cases for each new ipc_namespace, there\nis no gain of memory in having them allocated separately of the struct\nipc_namespace.\n\nThis patch proposes to make this table static in the struct ipc_namespace.\nThus, we can allocate all in once and get rid of all the code needed to\nallocate and free these ipc_ids separately.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b9fcb0ec60584d639ad105c42b75a3447071e47",
      "tree": "b68be0c60ca985901cd20c0b8a7321e8be07d328",
      "parents": [
        "b2d75cddc83a349ef5633f609b9734b6b957f90f"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Fri Feb 08 04:18:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "IPC/semaphores: consolidate SEM_STAT and IPC_STAT commands\n\nThese commands (SEM_STAT and IPC_STAT) are rather doing the same things\n(only the meaning of the id given as input and the return value differ).\nHowever, for the semaphores, they are handled in two different places (two\ndifferent functions).\n\nThis patch consolidates this for clarification by handling these both\ncommands in the same place in semctl_nolock().  It also removes one unused\nparameter for this function.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2d75cddc83a349ef5633f609b9734b6b957f90f",
      "tree": "95e493a25eedec2722d5fb3c2ef0aabc64645b21",
      "parents": [
        "a46c9994242978ab001299cc9c906b9a3eedadcc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:18:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "ipc: uninline some code from util.h\n\nipc_lock_check_down(), ipc_lock_check() and ipcget() seem too large to be\ninline.  Besides, they give no optimization being inline as they perform\ncalls inside in any case.\n\nMoving them into ipc/util.c saves 500 bytes of vmlinux and shortens IPC\ninternal API.\n\n$ ./scripts/bloat-o-meter vmlinux-orig vmlinux\nadd/remove: 3/2 grow/shrink: 0/10 up/down: 490/-989 (-499)\nfunction                                     old     new   delta\nipcget                                         -     392    +392\nipc_lock_check_down                            -      49     +49\nipc_lock_check                                 -      49     +49\nsys_semget                                   119     105     -14\nsys_shmget                                   108      86     -22\nsys_msgget                                   100      78     -22\ndo_msgsnd                                    665     631     -34\ndo_msgrcv                                    680     644     -36\ndo_shmat                                     771     733     -38\nsys_msgctl                                  1302    1229     -73\nipcget_new                                    80       -     -80\nsys_semtimedop                              1534    1452     -82\nsys_semctl                                  2034    1922    -112\nsys_shmctl                                  1919    1765    -154\nipcget_public                                322       -    -322\n\nThe ipcget() growth is the result of gcc inlining of currently static\nipcget_new/_public.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a46c9994242978ab001299cc9c906b9a3eedadcc",
      "tree": "e559a09485dd7a5bef311a96d8e4d9542c064952",
      "parents": [
        "b4c502a709e53e02ae5249a5f2f2b8292abc0386"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "serial_core: bring mostly into line with coding style\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4c502a709e53e02ae5249a5f2f2b8292abc0386",
      "tree": "0838eb2163811b426c9154ff9598015acd8ef7ef",
      "parents": [
        "6f803cd08f4cfa40e3aa31ffc39777700c018e09"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "8250: enable rate reporting via termios\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f803cd08f4cfa40e3aa31ffc39777700c018e09",
      "tree": "4c8798afa63987733c693561afabee6c532918f0",
      "parents": [
        "5756ee99967d65fa8e14873d55cdf150659097ee"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "serial8250: coding style\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5756ee99967d65fa8e14873d55cdf150659097ee",
      "tree": "06f1ca49bc3805359c0b365b63e9cb6c600263df",
      "parents": [
        "3b0fd36ddc5826cbf20c8766d9262bc2efd3a51c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "8250_pci: coding style\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b0fd36ddc5826cbf20c8766d9262bc2efd3a51c",
      "tree": "6aefb22ec7789abef1cc3d969bb39a0e8a19cb8c",
      "parents": [
        "0fe1c1371342869f4693ad42929c1388842b0f3e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "8250_hub6: codding style\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0fe1c1371342869f4693ad42929c1388842b0f3e",
      "tree": "f608531dd7c0d87242b79445766f37fe08d0b4dd",
      "parents": [
        "8b4a483be544569cd61156be86c0becf21a02e8b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "8250_hp300: coding style\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b4a483be544569cd61156be86c0becf21a02e8b",
      "tree": "a6888788585b2849ffdf54d408d73e86f34475c3",
      "parents": [
        "ce2e204f0c55567baa0323df8d327989d7113c66"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "8250_gsc: coding style\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce2e204f0c55567baa0323df8d327989d7113c66",
      "tree": "fd094bebd322c2fd0df68766e3adc0e76eabd424",
      "parents": [
        "355d95a1c8aab5c0d54178c1b2269e7425c746ee"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "8250_early: coding style\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "355d95a1c8aab5c0d54178c1b2269e7425c746ee",
      "tree": "1ebab6e296fea01b090bf3d46891174f9b254dbd",
      "parents": [
        "37bdfb074ec035880ed140f6281badf92b655a72"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "tty_ioctl: drag screaming into compliance with the coding style\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37bdfb074ec035880ed140f6281badf92b655a72",
      "tree": "9226be1a944ad3f87f2095675ba8a7f07b979817",
      "parents": [
        "66c6ceae39534c029c3434489c036f5ae2c6a593"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "tty_io: drag screaming into coding style compliance\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66c6ceae39534c029c3434489c036f5ae2c6a593",
      "tree": "8ca5664b5d07f81f57e7eed7a9d6205a51fb70ce",
      "parents": [
        "4129a6454dd925560bf3f46a12eb9f01cf8d5e7e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "tty_audit: fix checkpatch complaint\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4129a6454dd925560bf3f46a12eb9f01cf8d5e7e",
      "tree": "1bbd53a877bdfda744697c09ab44ec8db0420edf",
      "parents": [
        "6df3526b6649e57a414ba6b4179655341affcf46"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "rocket: don\u0027t let random users reset the controller\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6df3526b6649e57a414ba6b4179655341affcf46",
      "tree": "96ba0c9b8dec4685675c0ccb590990bb97a1f908",
      "parents": [
        "4edf1827ea19e65ca27ed197384d63f4d1dc8836"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "rocket: first pass at termios reporting\n\nAlso removes a cflag comparison that caused some mode changes to get wrongly\nignored\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4edf1827ea19e65ca27ed197384d63f4d1dc8836",
      "tree": "5c495b258256303db6c251cc4a2cfb195c3180a6",
      "parents": [
        "db1acaa632870ec87b65e062bc72ca375837a1f6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:25 2008 -0800"
      },
      "message": "n_tty: clean up old code to follow coding style and (mostly) checkpatch\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db1acaa632870ec87b65e062bc72ca375837a1f6",
      "tree": "9d63ae5544bcba791e3acb1ba65ac0e3acab5a4c",
      "parents": [
        "92dfc9dc7ba63134f721b6e745dbdcfc13ea341b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Feb 08 04:18:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "moxa: first pass at termios reporting\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92dfc9dc7ba63134f721b6e745dbdcfc13ea341b",
      "tree": "aa959d2d5ba1819651888601e4d917b01ddcc88c",
      "parents": [
        "6d7623943c905efae327933bc5ee0b2f78e15f56"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 04:18:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "fix \"modules: make module_address_lookup() safe\"\n\nGet the constness right, avoid nasty cast.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d7623943c905efae327933bc5ee0b2f78e15f56",
      "tree": "e2e4e073bd495970aa487bec94c560dcf31e33b1",
      "parents": [
        "88173507e4fc1e7ecd111b0565e8cba0cb7dae6d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Feb 08 04:18:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "modules: include sections.h to avoid defining linker variables explicitly\n\nmodule.c should not define linker variables on its own. We have an include\nfile for that.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88173507e4fc1e7ecd111b0565e8cba0cb7dae6d",
      "tree": "ed1a3f61f95b6e253afe8e330a668a12ad56a4e2",
      "parents": [
        "596f56018df3ed7de20f6038f72177b3674ebbd4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Feb 08 04:18:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "Modules: handle symbols that have a zero value\n\nThe module subsystem cannot handle symbols that are zero.  If symbols are\npresent that have a zero value then the module resolver prints out a\nmessage that these symbols are unresolved.\n\n[akinobu.mita@gmail.com: fix __find_symbl() error checks]\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "596f56018df3ed7de20f6038f72177b3674ebbd4",
      "tree": "8d3956e81dd291e5c01d27d76d5b0dfb9febd38b",
      "parents": [
        "aa7738a5f503abea5445cdd8cc2d501502c748ae"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Feb 08 04:18:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "tty: s390 support for termios2.\n\nBackend for s390.\n\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa7738a5f503abea5445cdd8cc2d501502c748ae",
      "tree": "6e4a845990b68ad3c8d707c6e6abbed4ac24a8db",
      "parents": [
        "d94afc6ccf6690b30ae112ec8101b3f10d50114e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Feb 08 04:18:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "tty: let architectures override the user/kernel macros.\n\nGive architectures that support the new termios2 the possibilty to overide the\nuser_termios_to_kernel_termios and kernel_termios_to_user_termios macros.  As\nsoon as all architectures that use the generic variant have been converted the\nifdefs can go away again.  Architectures in question are avr32, frv, powerpc\nand s390.\n\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d94afc6ccf6690b30ae112ec8101b3f10d50114e",
      "tree": "f54fb1fe147861db876b99809ff1cd1a316c45c0",
      "parents": [
        "f8bab73515ca5b392680bb033dceeb37b8463e95"
      ],
      "author": {
        "name": "mark gross",
        "email": "mgross@linux.intel.com",
        "time": "Fri Feb 08 04:18:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "intel-iommu: fault_reason index cleanup\n\nFix an off by one bug in the fault reason string reporting function, and\nclean up some of the code around this buglet.\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: mark gross \u003cmgross@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8bab73515ca5b392680bb033dceeb37b8463e95",
      "tree": "c450e793839868c23209e6fcbfb189975d9d4db6",
      "parents": [
        "2d3a4e3666325a9709cc8ea2e88151394e8f20fc"
      ],
      "author": {
        "name": "mark gross",
        "email": "mgross@linux.intel.com",
        "time": "Fri Feb 08 04:18:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "intel-iommu: PMEN support\n\nAdd support for protected memory enable bits by clearing them if they are\nset at startup time.  Some future boot loaders or firmware could have this\nbit set after it loads the kernel, and it needs to be cleared if DMA\u0027s are\ngoing to happen effectively.\n\nSigned-off-by: mark gross \u003cmgross@intel.com\u003e\nAcked-by: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d3a4e3666325a9709cc8ea2e88151394e8f20fc",
      "tree": "c3e75289de8c824f5e2bb2e97d4b6853d48da3f3",
      "parents": [
        "c6caeb7c4544608e8ae62731334661fc396c7f85"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Feb 08 04:18:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "proc: fix -\u003eopen\u0027less usage due to -\u003eproc_fops flip\n\nTypical PDE creation code looks like:\n\n\tpde \u003d create_proc_entry(\"foo\", 0, NULL);\n\tif (pde)\n\t\tpde-\u003eproc_fops \u003d \u0026foo_proc_fops;\n\nNotice that PDE is first created, only then -\u003eproc_fops is set up to\nfinal value. This is a problem because right after creation\na) PDE is fully visible in /proc , and\nb) -\u003eproc_fops are proc_file_operations which do not have -\u003eopen callback. So, it\u0027s\n   possible to -\u003eread without -\u003eopen (see one class of oopses below).\n\nThe fix is new API called proc_create() which makes sure -\u003eproc_fops are\nset up before gluing PDE to main tree. Typical new code looks like:\n\n\tpde \u003d proc_create(\"foo\", 0, NULL, \u0026foo_proc_fops);\n\tif (!pde)\n\t\treturn -ENOMEM;\n\nFix most networking users for a start.\n\nIn the long run, create_proc_entry() for regular files will go.\n\nBUG: unable to handle kernel NULL pointer dereference at virtual address 00000024\nprinting eip: c1188c1b *pdpt \u003d 000000002929e001 *pde \u003d 0000000000000000\nOops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC\nlast sysfs file: /sys/block/sda/sda1/dev\nModules linked in: foo af_packet ipv6 cpufreq_ondemand loop serio_raw psmouse k8temp hwmon sr_mod cdrom\n\nPid: 24679, comm: cat Not tainted (2.6.24-rc3-mm1 #2)\nEIP: 0060:[\u003cc1188c1b\u003e] EFLAGS: 00210002 CPU: 0\nEIP is at mutex_lock_nested+0x75/0x25d\nEAX: 000006fe EBX: fffffffb ECX: 00001000 EDX: e9340570\nESI: 00000020 EDI: 00200246 EBP: e9340570 ESP: e8ea1ef8\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess cat (pid: 24679, ti\u003dE8EA1000 task\u003dE9340570 task.ti\u003dE8EA1000)\nStack: 00000000 c106f7ce e8ee05b4 00000000 00000001 458003d0 f6fb6f20 fffffffb\n       00000000 c106f7aa 00001000 c106f7ce 08ae9000 f6db53f0 00000020 00200246\n       00000000 00000002 00000000 00200246 00200246 e8ee05a0 fffffffb e8ee0550\nCall Trace:\n [\u003cc106f7ce\u003e] seq_read+0x24/0x28a\n [\u003cc106f7aa\u003e] seq_read+0x0/0x28a\n [\u003cc106f7ce\u003e] seq_read+0x24/0x28a\n [\u003cc106f7aa\u003e] seq_read+0x0/0x28a\n [\u003cc10818b8\u003e] proc_reg_read+0x60/0x73\n [\u003cc1081858\u003e] proc_reg_read+0x0/0x73\n [\u003cc105a34f\u003e] vfs_read+0x6c/0x8b\n [\u003cc105a6f3\u003e] sys_read+0x3c/0x63\n [\u003cc10025f2\u003e] sysenter_past_esp+0x5f/0xa5\n [\u003cc10697a7\u003e] destroy_inode+0x24/0x33\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nINFO: lockdep is turned off.\nCode: 75 21 68 e1 1a 19 c1 68 87 00 00 00 68 b8 e8 1f c1 68 25 73 1f c1 e8 84 06 e9 ff e8 52 b8 e7 ff 83 c4 10 9c 5f fa e8 28 89 ea ff \u003cf0\u003e fe 4e 04 79 0a f3 90 80 7e 04 00 7e f8 eb f0 39 76 34 74 33\nEIP: [\u003cc1188c1b\u003e] mutex_lock_nested+0x75/0x25d SS:ESP 0068:e8ea1ef8\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6caeb7c4544608e8ae62731334661fc396c7f85",
      "tree": "3afabe64dedd7bf7d0f88f7612e5f468c8d55c1d",
      "parents": [
        "488e5bc4560d0b510c1ddc451c51a6cc14e3a930"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "proc: fix the threaded /proc/self\n\nLong ago when the CLONE_THREAD support first went it someone thought it\nwould be wise to point /proc/self at /proc/\u003ctgid\u003e instead of /proc/\u003cpid\u003e.\n\nGiven that /proc/\u003ctgid\u003e can return information about a very different task\n(if enough things have been unshared) then our current process /proc/\u003ctgid\u003e\nseems blatantly wrong.  So far I have yet to think up an example where the\ncurrent behavior would be advantageous, and I can see several places where\nit is seriously non-intuitive.\n\nWe may be stuck with the current broken behavior for backwards\ncompatibility reasons but lets try fixing our ancient bug for the 2.6.25\ntime frame and see if anyone screams.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Guillaume Chazarain\" \u003cguichaz@yahoo.fr\u003e\nCc: \"Pavel Emelyanov\" \u003cxemul@openvz.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "488e5bc4560d0b510c1ddc451c51a6cc14e3a930",
      "tree": "0b0df343406ff47578280e01388fc997064c8aa9",
      "parents": [
        "df5f8314ca30d6a76735748e5ba4ca9809c0f434"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "proc: proper pidns handling for /proc/self\n\nCurrently if you access a /proc that is not mounted with your processes\ncurrent pid namespace /proc/self will point at a completely random task.\n\nThis patch fixes /proc/self to point to the current process if it is\navailable in the particular mount of /proc or to return -ENOENT if the\ncurrent process is not visible.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df5f8314ca30d6a76735748e5ba4ca9809c0f434",
      "tree": "e0a6157b1666a320e69586a81c77a3fe83b36a2a",
      "parents": [
        "a56d3fc74c0178c5f41c48315604d62cff4e746d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "proc: seqfile convert proc_pid_status to properly handle pid namespaces\n\nCurrently we possibly lookup the pid in the wrong pid namespace.  So\nseq_file convert proc_pid_status which ensures the proper pid namespaces is\npassed in.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: another build fix]\n[akpm@linux-foundation.org: s390 build fix]\n[akpm@linux-foundation.org: fix task_name() output]\n[akpm@linux-foundation.org: fix nommu build]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andrew Morgan \u003cmorgan@kernel.org\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a56d3fc74c0178c5f41c48315604d62cff4e746d",
      "tree": "a6049be18c706090b8c65dc4f6ff9398f880199d",
      "parents": [
        "ee992744ea53db0a90c986fd0a70fbbf91e7f8bd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "seqfile convert proc_pid_statm\n\nThis conversion is just for code cleanliness, uniformity, and general safety.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee992744ea53db0a90c986fd0a70fbbf91e7f8bd",
      "tree": "2d15727e92c407bb22c4842923cbfb2dfda82306",
      "parents": [
        "be614086a4aff163d5aa0dc160638d1193b59cde"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: rewrite do_task_stat to correctly handle pid namespaces.\n\nCurrently (as pointed out by Oleg) do_task_stat has a race when calling\ntask_pid_nr_ns with the task exiting.  In addition do_task_stat is not\ncurrently displaying information in the context of the pid namespace that\nmounted the /proc filesystem.  So \"cut -d\u0027 \u0027 -f 1 /proc/\u003cpid\u003e/stat\" may not\nequal \u003cpid\u003e.\n\nThis patch fixes the problem by converting to a single_open seq_file show\nmethod.  Getting the pid namespace from the filesystem superblock instead of\ncurrent, and simply using the the struct pid from the inode instead of\nattempting to get that same pid from the task.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be614086a4aff163d5aa0dc160638d1193b59cde",
      "tree": "f60781ec8485fa7c1a5324a9767ec762e38b7447",
      "parents": [
        "94413d8807a3c511a3675be4ce27a4d16d6408ee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 08 04:18:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: implement proc_single_file_operations\n\nCurrently many /proc/pid files use a crufty precursor to the current seq_file\napi, and they don\u0027t have direct access to the pid_namespace or the pid of for\nwhich they are displaying data.\n\nSo implement proc_single_file_operations to make the seq_file routines easy to\nuse, and to give access to the full state of the pid of we are displaying data\nfor.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94413d8807a3c511a3675be4ce27a4d16d6408ee",
      "tree": "d20800024bdfe15d4f6ae1e7cc63a537127afab4",
      "parents": [
        "fd2cbe48883a01f710c2a639877e3b3e4eba6e59"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Fri Feb 08 04:18:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: detect duplicate names on registration\n\nPrint a warning if PDE is registered with a name which already exists in\ntarget directory.\n\nBug report and a simple fix can be found here:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d8798\n\n[\\n fixlet and no undescriptive variable usage --adobriyan]\n[akpm@linux-foundation.org: make printk comprehensible]\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd2cbe48883a01f710c2a639877e3b3e4eba6e59",
      "tree": "d358e9de25cb8abf06b0f6fb334d6121da19ae07",
      "parents": [
        "76df0c25d0c34eba9fbb8a44106ed096553ba0e8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Feb 08 04:18:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "proc: remove useless check on symlink removal\n\nproc symlinks always have valid -\u003edata containing destination of symlink.  No\nneed to check it on removal -- proc_symlink() already done it.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "76df0c25d0c34eba9fbb8a44106ed096553ba0e8"
}
