)]}'
{
  "log": [
    {
      "commit": "1af446edfe3239b2b731f3458b3c285c397464cc",
      "tree": "b1ff67e6c7be9f0d08fed583154c12301a6d9c38",
      "parents": [
        "d8eb2fab18b856fcaebe2619e8eaaa152baebc66"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Aug 04 16:01:47 2008 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Aug 04 16:01:47 2008 +0900"
      },
      "message": "nommu: Provide vmalloc_exec().\n\nNow that SH has switched to vmalloc_exec() for PAGE_KERNEL_EXEC usage,\nit\u0027s apparent that nommu has no vmalloc_exec() definition of its own.\nStub in the one from mm/vmalloc.c.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "fa8e26ccd485216fc45c8c2dd1ec3b7ef1a0a2f8",
      "tree": "b6c3059593d7d185aaf7f5b69c363a48b18c5bb1",
      "parents": [
        "0d094efeb1e98010c6b99923f1eb7e17bf1e3a74"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:45:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:09 2008 -0700"
      },
      "message": "tracehook: tracehook_expect_breakpoints\n\nThis adds tracehook_expect_breakpoints() as a formal hook for the nommu\ncode to use for its, \"Is text-poking likely?\" check at mmap time.  This\nnames the actual semantics the code means to test, and documents it.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-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": "5a1603be58f11edb1b30cb1e40cfbdd4439289d0",
      "tree": "822e2711385da42bd3b53472b74ee99963913915",
      "parents": [
        "f969c5672b16b857e5231ad3c78f08d8ef3305aa"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 12 16:29:55 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 07:56:17 2008 -0700"
      },
      "message": "nommu: Correct kobjsize() page validity checks.\n\nThis implements a few changes on top of the recent kobjsize() refactoring\nintroduced by commit 6cfd53fc03670c7a544a56d441eb1a6cc800d72b.\n\nAs Christoph points out:\n\n\tvirt_to_head_page cannot return NULL. virt_to_page also\n\tdoes not return NULL. pfn_valid() needs to be used to\n\tfigure out if a page is valid.  Otherwise the page struct\n\treference that was returned may have PageReserved() set\n\tto indicate that it is not a valid page.\n\nAs discussed further in the thread, virt_addr_valid() is the preferable\nway to validate the object pointer in this case. In addition to fixing\nup the reserved page case, it also has the benefit of encapsulating the\nhack introduced by commit 4016a1390d07f15b267eecb20e76a48fd5c524ef on\nthe impacted platforms, allowing us to get rid of the extra checking in\nkobjsize() for the platforms that don\u0027t perform this type of bizarre\nmemory_end abuse (every nommu platform that isn\u0027t blackfin). If blackfin\ndecides to get in line with every other platform and use PageReserved\nfor the DMA pages in question, kobjsize() will also continue to work\nfine.\n\nIt also turns out that compound_order() will give us back 0-order for\nnon-head pages, so we can get rid of the PageCompound check and just\nuse compound_order() directly. Clean that up while we\u0027re at it.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cfd53fc03670c7a544a56d441eb1a6cc800d72b",
      "tree": "806badd9dc55ff81822694037ff10425b99eacaa",
      "parents": [
        "6f09bdfc717a0e1a89a029001484d5a195faab64"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 05 22:46:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:09 2008 -0700"
      },
      "message": "nommu: fix kobjsize() for SLOB and SLUB\n\nkobjsize() has been abusing page-\u003eindex as a method for sorting out\ncompound order, which blows up both for page cache pages, and SLOB\u0027s\nreuse of the index in struct slob_page.\n\nPresently we are not able to accurately size arbitrary pointers that\ndon\u0027t come from kmalloc(), so the best we can do is sort out the\ncompound order from the head page if it\u0027s a compound page, or default\nto 0-order if it\u0027s impossible to ksize() the object.\n\nObviously this leaves quite a bit to be desired in terms of object\nsizing accuracy, but the behaviour is unchanged over the existing\nimplementation, while fixing the page-\u003eindex oopses originally reported\nhere:\n\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d121127773325245\u0026w\u003d2\n\nAccuracy could also be improved by having SLUB and SLOB both set PG_slab\non ksizeable pages, rather than just handling the __GFP_COMP cases\nirregardless of the PG_slab setting, as made possibly with Pekka\u0027s\npatches:\n\n\thttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d121139439900534\u0026w\u003d2\n\thttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d121139440000537\u0026w\u003d2\n\thttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d121139440000540\u0026w\u003d2\n\nThis is primarily a bugfix for nommu systems for 2.6.26, with the aim\nbeing to gradually kill off kobjsize() and its particular brand of\nobject abuse entirely.\n\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-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": "80119ef5c8153e0a6cc5edf00c083dc98a9bd348",
      "tree": "a2af11a3991b1bebe9d764ab6d4d28891e86eda2",
      "parents": [
        "6c7c6afbb8c0e60d32a563cae7c6889211e9d9d8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri May 23 13:04:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:09 2008 -0700"
      },
      "message": "mm: fix atomic_t overflow in vm\n\nThe atomic_t type is 32bit but a 64bit system can have more than 2^32\npages of virtual address space available.  Without this we overflow on\nludicrously large mappings\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": "925d1c401fa6cfd0df5d2e37da8981494ccdec07",
      "tree": "4f3b7a09311cd99783b822350628125e44f9902d",
      "parents": [
        "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Tue Apr 29 01:01:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs task exe symlink\n\nThe kernel implements readlink of /proc/pid/exe by getting the file from\nthe first executable VMA.  Then the path to the file is reconstructed and\nreported as the result.\n\nBecause of the VMA walk the code is slightly different on nommu systems.\nThis patch avoids separate /proc/pid/exe code on nommu systems.  Instead of\nwalking the VMAs to find the first executable file-backed VMA we store a\nreference to the exec\u0027d file in the mm_struct.\n\nThat reference would prevent the filesystem holding the executable file\nfrom being unmounted even after unmapping the VMAs.  So we track the number\nof VM_EXECUTABLE VMAs and drop the new reference when the last one is\nunmapped.  This avoids pinning the mounted filesystem.\n\n[akpm@linux-foundation.org: improve comments]\n[yamamoto@valinux.co.jp: fix dup_mmap]\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc:\"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4016a1390d07f15b267eecb20e76a48fd5c524ef",
      "tree": "ae9ce9bd7d2fd784a396893c4d4b2a79b2d7342d",
      "parents": [
        "468fd62ed9090ccbe872489df5d0d099510df4b5"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "Michael.Hennerich@analog.com",
        "time": "Mon Apr 28 02:13:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:26 2008 -0700"
      },
      "message": "mm/nommu.c: return 0 from kobjsize with invalid objects\n\nDon\u0027t perform kobjsize operations on objects the kernel doesn\u0027t manage.\n\nOn Blackfin, drivers can get dma coherent memory by calling a function\ndma_alloc_coherent(). We do this in nommu by configuring a chunk of uncached\nmemory at the top of memory.\n\nSince we don\u0027t want the kernel to use the uncached memory, we lie to the\nkernel, and tell it that it\u0027s max memory is between 0, and the start of the\nuncached dma coherent section.\n\nthis all works well, until this memory gets exposed into userspace (with a\nframe buffer), when you look at the process\u0027s maps, it shows the framebuf:\n\nroot:/proc\u003e cat maps\n[snip]\n03f0ef00-03f34700 rw-p 00000000 1f:00 192        /dev/fb0\nroot:/proc\u003e\n\nThis is outside the \"normal\" range for the kernel. When the kernel tries to\nfind the size of this object (when you run ps), it dies in nommu.c in\nkobjsize.\n\nBUG_ON(page-\u003eindex \u003e\u003d MAX_ORDER);\n\nsince the page we are referring to is outside what the kernel thinks is it\u0027s\nmax valid memory.\n\nroot:~\u003e while [ 1 ]; ps \u003e /dev/null; done\nkernel BUG at mm/nommu.c:119!\nKernel panic - not syncing: BUG!\n\nWe fixed this by adding a check to reject out of range object pointers as it\nalready does that for NULL pointers.\n\nSigned-off-by: Michael Hennerich \u003cMichael.Hennerich@analog.com\u003e\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nAcked-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": "f905bc447c303fefcb180c7e8b641746ffa6cf87",
      "tree": "390d3f3490eb6b22a40598775538dd5bbd9653c1",
      "parents": [
        "f156ac8c7aeddb2d85294b7a3b849178625e15e2"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Feb 04 22:29:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:21 2008 -0800"
      },
      "message": "nommu: add new vmalloc_user() and remap_vmalloc_range() interfaces.\n\nThis builds on top of the earlier vmalloc_32_user() work introduced by\nb50731732f926d6c49fd0724616a7344c31cd5cf, as we now have places in the nommu\nallmodconfig that hit up against these missing APIs.\n\nAs vmalloc_32_user() is already implemented, this is moved over to\nvmalloc_user() and simply made a wrapper.  As all current nommu platforms are\n32-bit addressable, there\u0027s no special casing we have to do for ZONE_DMA and\nthings of that nature as per GFP_VMALLOC32.\n\nremap_vmalloc_range() needs to check VM_USERMAP in order to figure out whether\nwe permit the remap or not, which means that we also have to rework the\nvmalloc_user() code to grovel for the VMA and set the flag.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: David McCullough \u003cdavid_mccullough@securecomputing.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3bdda02aa547a0753b4fdbc105e86ef9046b30b",
      "tree": "969557274d94bd0a8e3c638b796c0a13f3e3afd2",
      "parents": [
        "48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "vmalloc: add const to void* parameters\n\nMake vmalloc functions work the same way as kfree() and friends that\ntake a const void * argument.\n\n[akpm@linux-foundation.org: fix consts, coding-style]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cd94146cd504016315608e297219f9fb7b1413b",
      "tree": "1d118d6af0a6d3efb9be66f7305827aee2ceffea",
      "parents": [
        "8869477a49c3e99def1fcdadd6bbc407fea14b45"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 26 18:47:40 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:25:10 2007 +1100"
      },
      "message": "Security: round mmap hint address above mmap_min_addr\n\nIf mmap_min_addr is set and a process attempts to mmap (not fixed) with a\nnon-null hint address less than mmap_min_addr the mapping will fail the\nsecurity checks.  Since this is just a hint address this patch will round\nsuch a hint address above mmap_min_addr.\n\ngcj was found to try to be very frugal with vm usage and give hint addresses\nin the 8k-32k range.  Without this patch all such programs failed and with\nthe patch they happily get a higher address.\n\nThis patch is wrappad in CONFIG_SECURITY since mmap_min_addr doesn\u0027t exist\nwithout it and there would be no security check possible no matter what.  So\nwe should not bother compiling in this rounding if it is just a waste of\ntime.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f2b8544f5f50073fcc705e16b45a6821d50eb080",
      "tree": "53c6d6fc035ed4d907276ef2ab2e8aab853e9919",
      "parents": [
        "cbf67812b2f1431c5e432ddecd202984c6882f2a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Oct 29 13:15:39 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 29 07:53:26 2007 -0700"
      },
      "message": "NOMMU: mm/nommu.c needs linux/module.h\n\nmm/nommu.c needs to #include linux/module.h for it to understand EXPORT_*()\nmacros.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8518609deeacebafd71855f87cc411adb0c3be4e",
      "tree": "899ae1c7eaa49aa4641351868d77fc6c60006ed7",
      "parents": [
        "3a4fa0a25da81600ea0bcd75692ae8ca6050d165"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Fri Oct 19 23:11:38 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:11:38 2007 +0200"
      },
      "message": "Explain clearly why kmalloc() can\u0027t use __GFP_HIGHMEM.\n\nFix the wishy-washy comment to clearly explain why kmalloc() can\u0027t\nuse the __GFP_HIGHMEM zone modifier.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "cbfee34520666862f8ff539e580c48958fbb7706",
      "tree": "ded5cafce333e908a0fbeda1f7c55eaf7c1fbaaa",
      "parents": [
        "b53767719b6cd8789392ea3e7e2eb7b8906898f0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 16 23:31:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:07 2007 -0700"
      },
      "message": "security/ cleanups\n\nThis patch contains the following cleanups that are now possible:\n- remove the unused security_operations-\u003einode_xattr_getsuffix\n- remove the no longer used security_operations-\u003eunregister_security\n- remove some no longer required exit code\n- remove a bunch of no longer used exports\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Serge Hallyn \u003cserue@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": "34b4e4aa3c470ce8fa2bd78abb1741b4b58baad7",
      "tree": "91d620288f1aaf63c12dc84ca1015465818601f2",
      "parents": [
        "afe1ab4d577892822de2c8e803fbfaed6ec44ba3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Aug 22 14:01:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:45 2007 -0700"
      },
      "message": "fix NULL pointer dereference in __vm_enough_memory()\n\nThe new exec code inserts an accounted vma into an mm struct which is not\ncurrent-\u003emm.  The existing memory check code has a hard coded assumption\nthat this does not happen as does the security code.\n\nAs the correct mm is known we pass the mm to the security method and the\nhelper function.  A new security test is added for the case where we need\nto pass the mm and the existing one is modified to pass current-\u003emm to\navoid the need to change large amounts of code.\n\n(Thanks to Tobias for fixing rejects and testing)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nCc: James Morris \u003cjmorris@redhat.com\u003e\nCc: Tobias Diedrich \u003cranma+kernel@tdiedrich.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b50731732f926d6c49fd0724616a7344c31cd5cf",
      "tree": "2bc72fc6bf200b3696666ff1ef21f7e60a379d35",
      "parents": [
        "df336d1c7b6fd510fa6d3a028f999e7586c7026e"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat Jul 21 04:37:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:14 2007 -0700"
      },
      "message": "nommu: vmalloc_32_user()/vm_insert_page() and symbol exports.\n\nTrying to survive an allmodconfig on a nommu platform results in many\nscreen lengths of module unhappiness.  Many of the mmap related things that\nbinfmt_flat hooks in to are never exported despite being global, and there\nare also missing definitions for vmalloc_32_user() and vm_insert_page().\n\nI\u0027ve implemented vmalloc_32_user() trying to stick as close to the\nmm/vmalloc.c implementation as possible, though we don\u0027t have any need for\nVM_USERMAP, so groveling for the VMA can be skipped.  vm_insert_page() has\nbeen stubbed for now in order to keep the build happy.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: 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": "d0217ac04ca6591841e5665f518e38064f4e65bd",
      "tree": "d3309094bb734d34773f97d642593e298a5cfcfc",
      "parents": [
        "ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:47:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fault feedback #1\n\nChange -\u003efault prototype.  We now return an int, which contains\nVM_FAULT_xxx code in the low byte, and FAULT_RET_xxx code in the next byte.\n FAULT_RET_ code tells the VM whether a page was found, whether it has been\nlocked, and potentially other things.  This is not quite the way he wanted\nit yet, but that\u0027s changed in the next patch (which requires changes to\narch code).\n\nThis means we no longer set VM_CAN_INVALIDATE in the vma in order to say\nthat a page is locked which requires filemap_nopage to go away (because we\ncan no longer remain backward compatible without that flag), but we were\ngoing to do that anyway.\n\nstruct fault_data is renamed to struct vm_fault as Linus asked. address\nis now a void __user * that we should firmly encourage drivers not to use\nwithout really good reason.\n\nThe page is now returned via a page pointer in the vm_fault struct.\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": "54cb8821de07f2ffcd28c380ce9b93d5784b40d7",
      "tree": "1de676534963d96af42863b20191bc9f80060dea",
      "parents": [
        "d00806b183152af6d24f46f0c33f14162ca1262a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: merge populate and nopage into fault (fixes nonlinear)\n\nNonlinear mappings are (AFAIKS) simply a virtual memory concept that encodes\nthe virtual address -\u003e file offset differently from linear mappings.\n\n-\u003epopulate is a layering violation because the filesystem/pagecache code\nshould need to know anything about the virtual memory mapping.  The hitch here\nis that the -\u003enopage handler didn\u0027t pass down enough information (ie.  pgoff).\n But it is more logical to pass pgoff rather than have the -\u003enopage function\ncalculate it itself anyway (because that\u0027s a similar layering violation).\n\nHaving the populate handler install the pte itself is likewise a nasty thing\nto be doing.\n\nThis patch introduces a new fault handler that replaces -\u003enopage and\n-\u003epopulate and (later) -\u003enopfn.  Most of the old mechanism is still in place\nso there is a lot of duplication and nice cleanups that can be removed if\neveryone switches over.\n\nThe rationale for doing this in the first place is that nonlinear mappings are\nsubject to the pagefault vs invalidate/truncate race too, and it seemed stupid\nto duplicate the synchronisation logic rather than just consolidate the two.\n\nAfter this patch, MAP_NONBLOCK no longer sets up ptes for pages present in\npagecache.  Seems like a fringe functionality anyway.\n\nNOPAGE_REFAULT is removed.  This should be implemented with -\u003efault, and no\nusers have hit mainline yet.\n\n[akpm@linux-foundation.org: cleanup]\n[randy.dunlap@oracle.com: doc. fixes for readahead]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57c8f63e8e7a4a95d7fcc49e3953341fb4039899",
      "tree": "cf0bd22654e4aff40c5d11775e949aba558922df",
      "parents": [
        "54a3bdd76e82d7f64e5504409c55b51e48c3a10a"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Sun Jul 15 23:38:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:37 2007 -0700"
      },
      "message": "nommu: stub expand_stack() for nommu case\n\nBe consistent with VM mmap, implement expand_stack().  We can\u0027t actually do\nanything other than return an error in the no MMU case though.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: 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": "ed0321895182ffb6ecf210e066d87911b270d587",
      "tree": "832bb54666f73b06e55322df40f915c5e9ef64d7",
      "parents": [
        "13bddc2e9d591e31bf20020dc19ea6ca85de420e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 28 15:55:21 2007 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jul 11 22:52:29 2007 -0400"
      },
      "message": "security: Protection for exploiting null dereference using mmap\n\nAdd a new security check on mmap operations to see if the user is attempting\nto mmap to low area of the address space.  The amount of space protected is\nindicated by the new proc tunable /proc/sys/vm/mmap_min_addr and defaults to\n0, preserving existing behavior.\n\nThis patch uses a new SELinux security class \"memprotect.\"  Policy already\ncontains a number of allow rules like a_t self:process * (unconfined_t being\none of them) which mean that putting this check in the process class (its\nbest current fit) would make it useless as all user processes, which we also\nwant to protect against, would be allowed. By taking the memprotect name of\nthe new class it will also make it possible for us to move some of the other\nmemory protect permissions out of \u0027process\u0027 and into the new class next time\nwe bump the policy version number (which I also think is a good future idea)\n\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "1eeb66a1bb973534dc3d064920a5ca683823372e",
      "tree": "19c22d611e6adefb352dbc107b859e4d13ba38c1",
      "parents": [
        "e3869792990f708c97be5877499cada70d469bd3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:27:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "move die notifier handling to common code\n\nThis patch moves the die notifier handling to common code.  Previous\nvarious architectures had exactly the same code for it.  Note that the new\ncode is compiled unconditionally, this should be understood as an appel to\nthe other architecture maintainer to implement support for it aswell (aka\nsprinkling a notify_die or two in the proper place)\n\narm had a notifiy_die that did something totally different, I renamed it to\narm_notify_die as part of the patch and made it static to the file it\u0027s\ndeclared and used at.  avr32 used to pass slightly less information through\nthis interface and I brought it into line with the other architectures.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix vmalloc_sync_all bustage]\n[bryan.wu@analog.com: fix vmalloc_sync_all in nommu]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a04de6dbe1772d98fddf5099738d6f508e86e21",
      "tree": "1f11a5f326657b05320faceedf3bd1f7531238e6",
      "parents": [
        "c3724b129b5a1a1789a2dc5348685a236ae02479"
      ],
      "author": {
        "name": "Wu, Bryan",
        "email": "bryan.wu@analog.com",
        "time": "Wed Apr 11 23:28:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Apr 12 15:31:42 2007 -0700"
      },
      "message": "[PATCH] nommu: fix bug ip_conntrack does not work on nommu\n\nnum_physpages is not exported out in mm/nommu.c, so the ip_conntrack module\nlink will fail.\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-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": "165b239270be610a1e3999cb0d2e4e2c1f2a8fd4",
      "tree": "3ae32cc616047b3960d1fe33b0583faa3094b82c",
      "parents": [
        "d56e03cd275486eb8141116a7af2df7457cb0115"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Mar 22 00:11:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 22 19:39:06 2007 -0700"
      },
      "message": "[PATCH] NOMMU: make SYSV SHM nattch work correctly\n\nMake the SYSV SHM nattch counter work correctly by forcing multiple VMAs to\nbe produced to represent MAP_SHARED segments, even if they overlap exactly.\n\nUsing this test program:\n\n\thttp://people.redhat.com/~dhowells/doshm.c\n\nRun as:\n\n\tdoshm sysv\n\nI can see nattch going from one before the patch:\n\n\t# /doshm sysv\n\tCommand: sysv\n\tshmid: 65536\n\tmemory: 0xc3700000\n\tc0b00000-c0b04000 rw-p 00000000 00:00 0\n\tc0bb0000-c0bba788 r-xs 00000000 00:0b 14582157  /lib/ld-uClibc-0.9.28.so\n\tc3180000-c31dede4 r-xs 00000000 00:0b 14582179  /lib/libuClibc-0.9.28.so\n\tc3520000-c352278c rw-p 00000000 00:0b 13763417  /doshm\n\tc3584000-c35865e8 r-xs 00000000 00:0b 13763417  /doshm\n\tc3588000-c358aa00 rw-p 00008000 00:0b 14582157  /lib/ld-uClibc-0.9.28.so\n\tc3590000-c359b6c0 rw-p 00000000 00:00 0\n\tc3620000-c3640000 rwxp 00000000 00:00 0\n\tc3700000-c37fa000 rw-S 00000000 00:06 1411      /SYSV00000000 (deleted)\n\tc3700000-c37fa000 rw-S 00000000 00:06 1411      /SYSV00000000 (deleted)\n\tnattch 1\n\nTo two after the patch:\n\n\t# /doshm sysv\n\tCommand: sysv\n\tshmid: 0\n\tmemory: 0xc3700000\n\tc0bb0000-c0bba788 r-xs 00000000 00:0b 14582157  /lib/ld-uClibc-0.9.28.so\n\tc3180000-c31dede4 r-xs 00000000 00:0b 14582179  /lib/libuClibc-0.9.28.so\n\tc3320000-c3340000 rwxp 00000000 00:00 0\n\tc3530000-c35325e8 r-xs 00000000 00:0b 13763417  /doshm\n\tc3534000-c353678c rw-p 00000000 00:0b 13763417  /doshm\n\tc3538000-c353aa00 rw-p 00008000 00:0b 14582157  /lib/ld-uClibc-0.9.28.so\n\tc3590000-c359b6c0 rw-p 00000000 00:00 0\n\tc35a4000-c35a8000 rw-p 00000000 00:00 0\n\tc3700000-c37fa000 rw-S 00000000 00:06 1369      /SYSV00000000 (deleted)\n\tc3700000-c37fa000 rw-S 00000000 00:06 1369      /SYSV00000000 (deleted)\n\tnattch 2\n\nThat\u0027s +1 to nattch for each shmat() made.\n\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": "d56e03cd275486eb8141116a7af2df7457cb0115",
      "tree": "adc85d1c9b342a9dd68451780cd555c8fc483dbc",
      "parents": [
        "8da38d7bac802ed2a09a79aaae9961c806a1847c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Mar 22 00:11:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 22 19:39:05 2007 -0700"
      },
      "message": "[PATCH] NOMMU: supply get_unmapped_area() to fix NOMMU SYSV SHM\n\nSupply a get_unmapped_area() to fix NOMMU SYSV SHM support.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Adam Litke \u003cagl@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": "e9536ae7205d255bc94616b72910fc6e16c861fe",
      "tree": "4c91e2fbe096958ab8f7476306c4a61c30cbe502",
      "parents": [
        "1b04fe9a8ef10774174897b15d753b9de85fe9e9"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:47 2006 -0800"
      },
      "message": "[PATCH] struct path: convert mm\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4668edc334ee90cf50c382c3e423cfc510b5a126",
      "tree": "ee25ca93e72031f7f333b6c251a57a55ef089c90",
      "parents": [
        "304e61e6fbadec586dfe002b535f169a04248e49"
      ],
      "author": {
        "name": "Burman Yan",
        "email": "yan_952@hotmail.com",
        "time": "Wed Dec 06 20:38:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:41 2006 -0800"
      },
      "message": "[PATCH] kernel core: replace kmalloc+memset with kzalloc\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f81cff0d4067e41fd7383d9c013cc82da7c169d2",
      "tree": "92c5c8a647e31be6b3e09dcce42ec261d43ad2f5",
      "parents": [
        "3363c9b0ed8f6b5a241d63018cad242ae458cdf9"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Dec 06 12:02:59 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 06 07:41:26 2006 -0800"
      },
      "message": "[PATCH] uclinux: fix mmap() of directory for nommu case\n\nI was playing with blackfin when i hit a neat bug ... doing an open() on a\ndirectory and then passing that fd to mmap() would cause the kernel to hang\n\nafter poking into the code a bit more, i found that\nmm/nommu.c:validate_mmap_request() checks the length and if it is 0, just\nreturns the address ... this is in stark contrast to mmu\u0027s\nmm/mmap.c:do_mmap_pgoff() where it returns -EINVAL for 0 length requests ...\ni then noticed that some other parts of the logic is out of date between the\ntwo funcs, so perhaps that\u0027s the easy fix ?\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c1c8897f830c66649b6866a0cbe21c263466295e",
      "tree": "6f17adbbf83097500aa6ef0465e24da564509645",
      "parents": [
        "f3e299fe3d53a0d78fea4e46ec3e0cadf375246c"
      ],
      "author": {
        "name": "Michael Opdenacker",
        "email": "michael@free-electrons.com",
        "time": "Tue Oct 03 23:21:02 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:21:02 2006 +0200"
      },
      "message": "Spelling fix: \"control\" instead of \"cotrol\"\n\nThis patch against fixes a spelling mistake (\"control\" instead of \"cotrol\").\n\nSigned-off-by: Michael Opdenacker \u003cmichael@free-electrons.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "3fcd03e07008ec0f667dfb7626171165699ea5c2",
      "tree": "311370abb953013b7ffa458b63b376706560061e",
      "parents": [
        "ab8e92efcf3f7972f30033cad75f180aef4f3abc"
      ],
      "author": {
        "name": "Gavin Lambert",
        "email": "gavinl@compacsort.com",
        "time": "Sat Sep 30 23:27:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:17 2006 -0700"
      },
      "message": "[PATCH] NOMMU: don\u0027t try and give NULL to fput()\n\nDon\u0027t try and give NULL to fput() in the error handling in do_mmap_pgoff()\nas it\u0027ll cause an oops.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "930e652a21a08986b03d1f370f933057dc0db2dc",
      "tree": "c422f35bc2e7c17f58cb14544919affa52d8bac6",
      "parents": [
        "0112c4c6461fed12ed9bcb249f967bc17a23f6c4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:15 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Make futexes work under NOMMU conditions\n\nMake futexes work under NOMMU conditions.\n\nThis can be tested by running this in one shell:\n\n\t#define SYSERROR(X, Y) \\\n\t\tdo { if ((long)(X) \u003d\u003d -1L) { perror(Y); exit(1); }} while(0)\n\n\tint main()\n\t{\n\t\tint shmid, tmp, *f, n;\n\n\t\tshmid \u003d shmget(23, 4, IPC_CREAT|0666);\n\t\tSYSERROR(shmid, \"shmget\");\n\n\t\tf \u003d shmat(shmid, NULL, 0);\n\t\tSYSERROR(f, \"shmat\");\n\n\t\tn \u003d *f;\n\t\tprintf(\"WAIT: %p{%x}\\n\", f, n);\n\t\ttmp \u003d futex(f, FUTEX_WAIT, n, NULL, NULL, 0);\n\t\tSYSERROR(tmp, \"futex\");\n\t\tprintf(\"WAITED: %d\\n\", tmp);\n\n\t\ttmp \u003d shmdt(f);\n\t\tSYSERROR(tmp, \"shmdt\");\n\n\t\texit(0);\n\t}\n\nAnd then this in the other shell:\n\n\t#define SYSERROR(X, Y) \\\n\t\tdo { if ((long)(X) \u003d\u003d -1L) { perror(Y); exit(1); }} while(0)\n\n\tint main()\n\t{\n\t\tint shmid, tmp, *f;\n\n\t\tshmid \u003d shmget(23, 4, IPC_CREAT|0666);\n\t\tSYSERROR(shmid, \"shmget\");\n\n\t\tf \u003d shmat(shmid, NULL, 0);\n\t\tSYSERROR(f, \"shmat\");\n\n\t\t(*f)++;\n\t\tprintf(\"WAKE: %p{%x}\\n\", f, *f);\n\t\ttmp \u003d futex(f, FUTEX_WAKE, 1, NULL, NULL, 0);\n\t\tSYSERROR(tmp, \"futex\");\n\t\tprintf(\"WOKE: %d\\n\", tmp);\n\n\t\ttmp \u003d shmdt(f);\n\t\tSYSERROR(tmp, \"shmdt\");\n\n\t\texit(0);\n\t}\n\nThe first program will set up a SYSV IPC SHM segment and wait on a futex in it\nfor the number at the start to change.  The program will increment that number\nand wake the first program up.  This leads to output of the form:\n\n\tSHELL 1\t\t\tSHELL 2\n\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t# /dowait\n\tWAIT: 0xc32ac000{0}\n\t\t\t\t# /dowake\n\t\t\t\tWAKE: 0xc32ac000{1}\n\tWAITED: 0\t\tWOKE: 1\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6fa5f80bc34da1a49b42117602b44441402cac2f",
      "tree": "7cdc7bf5c0df29b218c9c40d6cddd5124587b7a5",
      "parents": [
        "3034097a5017dd9281b1f795e80af9859627850e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Make mremap() partially work for NOMMU kernels\n\nMake mremap() partially work for NOMMU kernels.  It may resize a VMA provided\nthat it doesn\u0027t exceed the size of the slab object in which the storage is\nallocated that the VMA refers to.  Shareable VMAs may not be resized.\n\nMoving VMAs (as permitted by MREMAP_MAYMOVE) is not currently supported.\n\nThis patch also makes use of the fact that the VMA list is now ordered to cut\nit short when possible.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3034097a5017dd9281b1f795e80af9859627850e",
      "tree": "d03d6749ac52e6c23020bd9caa5fdee301ca8fa6",
      "parents": [
        "dbf8685c8e21404e3a8ed244bd0219d3c4b89101"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Order the per-mm_struct VMA list\n\nOrder the per-mm_struct VMA list by address so that searching it can be cut\nshort when the appropriate address has been exceeded.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d00c7b993712e4bb16d0012b35b654e40159b327",
      "tree": "79f8fc60f8e41e054abc39b5d69e84d7a389777c",
      "parents": [
        "7b4d5b8b39fd3701ed3693a89f2bd8f6ef49bce2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Permit ptrace to ignore non-PROT_WRITE VMAs in NOMMU mode\n\nPermit ptrace to modify a section that\u0027s non-shared but is marked\nunwritable, such as is obtained by mapping the text segment of an ELF-FDPIC\nexecutable binary with into a binary that\u0027s being ptraced[*].\n\n[*] Under NOMMU conditions ptrace causes read-only MAP_PRIVATE mmaps to become\n    totally private copies because if a private mapping was actually shared\n    then the debugging setting breakpoints in it would potentially crash\n    other processes.\n\nThis is done by using the VM_MAYWRITE flag rather than the VM_WRITE flag\nwhen deciding whether to permit a write.\n\nWithout this patch a debugger can\u0027t set breakpoints in the mapped text\nsections of executables that are mapped read-only private, even if the\nmmap() syscall has taken a private copy because PT_PTRACED is set.\n\nIn addition, VM_MAYREAD is used instead of VM_READ for similar reasons.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b4d5b8b39fd3701ed3693a89f2bd8f6ef49bce2",
      "tree": "b1741de6753ec41a45a7b69276eeccb1bcb3e46d",
      "parents": [
        "910e46da4b4e93d56ffea318c64afa41868d5e6d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Check VMA protections\n\nCheck the VMA protections in get_user_pages() against what\u0027s being asked.\n\nThis checks to see that we don\u0027t accidentally write on a non-writable VMA or\npermit an I/O mapping VMA to be accessed (which may lack page structs).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "910e46da4b4e93d56ffea318c64afa41868d5e6d",
      "tree": "67f7dd9086dcf456101c843a1e310e7090a590db",
      "parents": [
        "0159b141d8b1f9b9f9cffacae47bec1e05c63b8b"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.adi@gmail.com",
        "time": "Wed Sep 27 01:50:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] Check if start address is in vma region in NOMMU function get_user_pages()\n\nIn NOMMU arch, if run \"cat /proc/self/mem\", data from physical address 0\nare read.  This behavior is different from MMU arch.  In IA32, message\n\"cat: /proc/self/mem: Input/output error\" is reported.\n\nThis issue is rootcaused by not validate the start address in NOMMU\nfunction get_user_pages().  Following patch solves this issue.\n\nSigned-off-by: Sonic Zhang \u003csonic.adi@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0159b141d8b1f9b9f9cffacae47bec1e05c63b8b",
      "tree": "2555ce3afb2307b4532be4247d1f87e06f0071d0",
      "parents": [
        "5da6185bca064e35aa73a7c1f27488d2b96434f4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Use find_vma() rather than reimplementing a VMA search\n\nUse find_vma() in the NOMMU version of access_process_vm() rather than\nreimplementing it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ec76a110f432e98277e464b82ace8dd66571689",
      "tree": "3ed8de0ea6869fe17bec7689c493a2db02f73f4a",
      "parents": [
        "361f6ed1d00f666a1a7c33f3e9aaccb713f9b9e4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 27 01:50:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:14 2006 -0700"
      },
      "message": "[PATCH] NOMMU: Check that access_process_vm() has a valid target\n\nCheck that access_process_vm() is accessing a valid mapping in the target\nprocess.\n\nThis limits ptrace() accesses and accesses through /proc/\u003cpid\u003e/maps to only\nthose regions actually mapped by a program.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "972d1a7b140569084439a81265a0f15b74e924e0",
      "tree": "e86e676e407503ef3d98020a88bb925235f11434",
      "parents": [
        "8417bba4b151346ed475fcc923693c9e3be89063"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:51 2006 -0700"
      },
      "message": "[PATCH] ZVC: Support NR_SLAB_RECLAIMABLE / NR_SLAB_UNRECLAIMABLE\n\nRemove the atomic counter for slab_reclaim_pages and replace the counter\nand NR_SLAB with two ZVC counter that account for unreclaimable and\nreclaimable slab pages: NR_SLAB_RECLAIMABLE and NR_SLAB_UNRECLAIMABLE.\n\nChange the check in vmscan.c to refer to to NR_SLAB_RECLAIMABLE.  The\nintend seems to be to check for slab pages that could be freed.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22c4af4092fc2e037ce2e2922023fc222cf0c443",
      "tree": "97482fe36e2e121f62ce8ebf66eaa3fdbb303462",
      "parents": [
        "52fa259b5aaf310657e5d30be48a300860741447"
      ],
      "author": {
        "name": "Luke Yang",
        "email": "luke.adi@gmail.com",
        "time": "Fri Jul 14 00:24:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:53 2006 -0700"
      },
      "message": "[PATCH] nommu: export two symbols for drivers to use\n\nnommu.c needs to export two more symbols for drivers to use:\nremap_pfn_range and unmap_mapping_range.\n\nSigned-off-by: Luke Yang \u003cluke.adi@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "347ce434d57da80fd5809c0c836f206a50999c26",
      "tree": "f730d151be77977f594e5cc083a93bbeb4c602cc",
      "parents": [
        "65ba55f500a37272985d071c9bbb35256a2f7c14"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:34 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: conversion of nr_pagecache to per zone counter\n\nCurrently a single atomic variable is used to establish the size of the page\ncache in the whole machine.  The zoned VM counters have the same method of\nimplementation as the nr_pagecache code but also allow the determination of\nthe pagecache size per zone.\n\nRemove the special implementation for nr_pagecache and make it a zoned counter\nnamed NR_FILE_PAGES.\n\nUpdates of the page cache counters are always performed with interrupts off.\nWe can therefore use the __ variant here.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5ddc79bcaab6975e7671805c3578407dc33b764",
      "tree": "de29b6d1c43fa6f5a1aca52ad6c2cc6027edc1fc",
      "parents": [
        "6d9f78396583244258080f3369889644c06c37c8"
      ],
      "author": {
        "name": "Hideo AOKI",
        "email": "haoki@redhat.com",
        "time": "Mon Apr 10 22:53:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:32 2006 -0700"
      },
      "message": "[PATCH] overcommit: use totalreserve_pages for nommu\n\nThis patch is an enhancement of OVERCOMMIT_GUESS algorithm in\n__vm_enough_memory() in mm/nommu.c.\n\nWhen the OVERCOMMIT_GUESS algorithm calculates the number of free pages,\nthe algorithm subtracts the number of reserved pages from the result\nnr_free_pages().\n\nSigned-off-by: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84097518d1ecd2330f9488e4c2d09953a3340e74",
      "tree": "50981fe0584c456a1a86e6d7f611eec223b5f536",
      "parents": [
        "0f8053a509ceba4a077a50ea7b77039b5559b428"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:01 2006 -0800"
      },
      "message": "[PATCH] mm: nommu use compound pages\n\nNow that compound page handling is properly fixed in the VM, move nommu\nover to using compound pages rather than rolling their own refcounting.\n\nnommu vm page refcounting is broken anyway, but there is no need to have\ndivergent code in the core VM now, nor when it gets fixed.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\n\n(Needs testing, please).\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f61388822a6040ff462c5f7260daa0f1017f2db0",
      "tree": "51f9b93f4127d94ebbe5bc6321c025bbc4852f7e",
      "parents": [
        "e8788c0cce63e0cc8689a123d1ce0af1e28cd583"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Feb 28 16:59:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 28 20:53:44 2006 -0800"
      },
      "message": "[PATCH] nommu: implement vmalloc_node()\n\nFix oprofile linkage.   Pointed out by \"Luke Yang\" \u003cluke.adi@gmail.com\u003e.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a9166e3b037296366cea6f3c97f705d33e209e6",
      "tree": "275c713bc92309b6f90e5c66699753c0268c6be5",
      "parents": [
        "c8b8b1f2e0eeb91cca22211950742b5f51564672"
      ],
      "author": {
        "name": "Luke Yang",
        "email": "luke.adi@gmail.com",
        "time": "Mon Feb 20 18:28:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Feb 20 20:00:11 2006 -0800"
      },
      "message": "[PATCH] Fix undefined symbols for nommu architecture\n\nSigned-off-by: Luke Yang \u003cluke.adi@gmail.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0e15190ead07056ab0c3844a499ff35e66d27cc",
      "tree": "0601a8d68fa051a7ee85d22640e982c0a64f0efc",
      "parents": [
        "642fb4d1f1dd2417aa69189fe5ceb81e4fb72900"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 06 00:11:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:32 2006 -0800"
      },
      "message": "[PATCH] NOMMU: Make SYSV IPC SHM use ramfs facilities on NOMMU\n\nThe attached patch makes the SYSV IPC shared memory facilities use the new\nramfs facilities on a no-MMU kernel.\n\nThe following changes are made:\n\n (1) There are now shmem_mmap() and shmem_get_unmapped_area() functions to\n     allow the IPC SHM facilities to commune with the tiny-shmem and shmem\n     code.\n\n (2) ramfs files now need resizing using do_truncate() rather than by modifying\n     the inode size directly (see shmem_file_setup()). This causes ramfs to\n     attempt to bind a block of pages of sufficient size to the inode.\n\n (3) CONFIG_SYSVIPC is no longer contingent on CONFIG_MMU.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6aab341e0a28aff100a09831c5300a2994b8b986",
      "tree": "1af3908275aa5e1b16e80efee554a9a7504c56d4",
      "parents": [
        "458af5439fe7ae7d95ca14106844e61f0795166c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:34:23 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:34:23 2005 -0800"
      },
      "message": "mm: re-architect the VM_UNPAGED logic\n\nThis replaces the (in my opinion horrible) VM_UNMAPPED logic with very\nexplicit support for a \"remapped page range\" aka VM_PFNMAP.  It allows a\nVM area to contain an arbitrary range of page table entries that the VM\nnever touches, and never considers to be normal pages.\n\nAny user of \"remap_pfn_range()\" automatically gets this new\nfunctionality, and doesn\u0027t even have to mark the pages reserved or\nindeed mark them any other way.  It just works.  As a side effect, doing\nmmap() on /dev/mem works for arbitrary ranges.\n\nSparc update from David in the next commit.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55be570c529643e83195d6688805127533184aa4",
      "tree": "ab5789c467842e1d056f36d75ab8c73ddcce935f",
      "parents": [
        "a7f988ba304c5f6e78f937a06d120a0097b4d351"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 01:01:37 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:06 2005 -0800"
      },
      "message": "[PATCH] mm/{mmap,nommu}.c: several unexports\n\nI didn\u0027t find any possible modular usage in the kernel.\n\nThis patch was already ACK\u0027ed by Christoph Hellwig.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "deceb6cd17e6dfafe4c4f81b1b4153bc41b2cb70",
      "tree": "2a722f50e8edef8609a49f65bfcb222e499c44cc",
      "parents": [
        "c34d1b4d165c67b966bca4aba026443d7ff161eb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:41 2005 -0700"
      },
      "message": "[PATCH] mm: follow_page with inner ptlock\n\nFinal step in pushing down common core\u0027s page_table_lock.  follow_page no\nlonger wants caller to hold page_table_lock, uses pte_offset_map_lock itself;\nand so no page_table_lock is taken in get_user_pages itself.\n\nBut get_user_pages (and get_futex_key) do then need follow_page to pin the\npage for them: take Daniel\u0027s suggestion of bitflags to follow_page.\n\nNeed one for WRITE, another for TOUCH (it was the accessed flag before:\nvanished along with check_user_page_readable, but surely get_numa_maps is\nwrong to mark every page it finds as accessed), another for GET.\n\nAnd another, ANON to dispose of untouched_anonymous_page: it seems silly for\nthat to descend a second time, let follow_page observe if there was no page\ntable and return ZERO_PAGE if so.  Fix minor bug in that: check VM_LOCKED -\nmake_pages_present ought to make readonly anonymous present.\n\nGive get_numa_maps a cond_resched while we\u0027re there.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "365e9c87a982c03d0af3886e29d877f581b59611",
      "tree": "d06c1918ca9fe6677d7e4e869555e095004274f7",
      "parents": [
        "861f2fb8e796022b4928cab9c74fca6681a1c557"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] mm: update_hiwaters just in time\n\nupdate_mem_hiwater has attracted various criticisms, in particular from those\nconcerned with mm scalability.  Originally it was called whenever rss or\ntotal_vm got raised.  Then many of those callsites were replaced by a timer\ntick call from account_system_time.  Now Frank van Maarseveen reports that to\nbe found inadequate.  How about this?  Works for Frank.\n\nReplace update_mem_hiwater, a poor combination of two unrelated ops, by macros\nupdate_hiwater_rss and update_hiwater_vm.  Don\u0027t attempt to keep\nmm-\u003ehiwater_rss up to date at timer tick, nor every time we raise rss (usually\nby 1): those are hot paths.  Do the opposite, update only when about to lower\nrss (usually by many), or just before final accounting in do_exit.  Handle\nmm-\u003ehiwater_vm in the same way, though it\u0027s much less of an issue.  Demand\nthat whoever collects these hiwater statistics do the work of taking the\nmaximum with rss or total_vm.\n\nAnd there has been no collector of these hiwater statistics in the tree.  The\nnew convention needs an example, so match Frank\u0027s usage by adding a VmPeak\nline above VmSize to /proc/\u003cpid\u003e/status, and also a VmHWM line above VmRSS\n(High-Water-Mark or High-Water-Memory).\n\nThere was a particular anomaly during mremap move, that hiwater_vm might be\ncaptured too high.  A fleeting such anomaly remains, but it\u0027s quickly\ncorrected now, whereas before it would stick.\n\nWhat locking?  None: if the app is racy then these statistics will be racy,\nit\u0027s not worth any overhead to make them exact.  But whenever it suits,\nhiwater_vm is updated under exclusive mmap_sem, and hiwater_rss under\npage_table_lock (for now) or with preemption disabled (later on): without\ngoing to any trouble, minimize the time between reading current values and\nupdating, to minimize those occasions when a racing thread bumps a count up\nand back down in between.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4294621f41a85497019fae64341aa5351a1921b7",
      "tree": "fdeb7eb44384a99d0679ffa6de5019bab0ea2166",
      "parents": [
        "404351e67a9facb475abf1492245374a28d13e90"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:38 2005 -0700"
      },
      "message": "[PATCH] mm: rss \u003d file_rss + anon_rss\n\nI was lazy when we added anon_rss, and chose to change as few places as\npossible.  So currently each anonymous page has to be counted twice, in rss\nand in anon_rss.  Which won\u0027t be so good if those are atomic counts in some\nconfigurations.\n\nChange that around: keep file_rss and anon_rss separately, and add them\ntogether (with get_mm_rss macro) when the total is needed - reading two\natomics is much cheaper than updating two atomics.  And update anon_rss\nupfront, typically in memory.c, not tucked away in page_add_anon_rmap.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66aa2b4b1cf9a61f1550251c56fc6f0d48287591",
      "tree": "b372d102e0f6a8071c2473c84343f7a1a9d4cf94",
      "parents": [
        "966cdb2fdf1776392c98f7d38e0eb9c6dd1c4715"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Mon Sep 12 11:18:10 2005 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Sep 11 20:43:47 2005 -0700"
      },
      "message": "[PATCH] uclinux: add NULL check, 0 end valid check and some more exports to nommu.c\n\nMove call to get_mm_counter() in update_mem_hiwater() to be\ninside the check for tsk-\u003emm being null. Otherwise you can be\nfollowing a null pointer here. This patch submitted by\nJavier Herrero \u003cjherrero@hvsistemas.es\u003e.\n\nModify the end check for munmap regions to allow for the\nlegacy behavior of 0 being valid. Pretty much all current\nuClinux system libc malloc\u0027s pass in 0 as the end point.\nA hard check will fail on these, so change the check so\nthat if it is non-zero it must be valid otherwise it fails.\nA passed in value will always succeed (as it used too).\n\nAlso export a few more mm system functions - to be consistent\nwith the VM code exports.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f60f8d3573ff90fe5d75a6d11fd2add1248e7d6",
      "tree": "173980b12459aa55586d3f4f56630abf5af1ffcc",
      "parents": [
        "b68e9f857271189bd7a59b74c99890de9195b0e1"
      ],
      "author": {
        "name": "Simon Derr",
        "email": "Simon.Derr@bull.net",
        "time": "Thu Aug 04 19:52:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 21:43:14 2005 -0700"
      },
      "message": "[PATCH] __vm_enough_memory() signedness fix\n\nWe have found what seems to be a small bug in __vm_enough_memory() when\nsysctl_overcommit_memory is set to OVERCOMMIT_NEVER.\n\nWhen this bug occurs the systems fails to boot, with /sbin/init whining\nabout fork() returning ENOMEM.\n\nWe hunted down the problem to this:\n\nThe deferred update mecanism used in vm_acct_memory(), on a SMP system,\nallows the vm_committed_space counter to have a negative value.\n\nThis should not be a problem since this counter is known to be inaccurate.\n\nBut in __vm_enough_memory() this counter is compared to the `allowed\u0027\nvariable, which is an unsigned long.  This comparison is broken since it\nwill consider the negative values of vm_committed_space to be huge positive\nvalues, resulting in a memory allocation failure.\n\nSigned-off-by: \u003cJean-Marc.Saffroy@ext.bull.net\u003e\nSigned-off-by: \u003cSimon.Derr@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1363c3cd8603a913a27e2995dccbd70d5312d8e6",
      "tree": "405e7fc1ef44678f3ca0a54c536d0457e6e80f45",
      "parents": [
        "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a"
      ],
      "author": {
        "name": "Wolfgang Wander",
        "email": "wwc@rentec.com",
        "time": "Tue Jun 21 17:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] Avoiding mmap fragmentation\n\nIngo recently introduced a great speedup for allocating new mmaps using the\nfree_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and\ncauses huge performance increases in thread creation.\n\nThe downside of this patch is that it does lead to fragmentation in the\nmmap-ed areas (visible via /proc/self/maps), such that some applications\nthat work fine under 2.4 kernels quickly run out of memory on any 2.6\nkernel.\n\nThe problem is twofold:\n\n  1) the free_area_cache is used to continue a search for memory where\n     the last search ended.  Before the change new areas were always\n     searched from the base address on.\n\n     So now new small areas are cluttering holes of all sizes\n     throughout the whole mmap-able region whereas before small holes\n     tended to close holes near the base leaving holes far from the base\n     large and available for larger requests.\n\n  2) the free_area_cache also is set to the location of the last\n     munmap-ed area so in scenarios where we allocate e.g.  five regions of\n     1K each, then free regions 4 2 3 in this order the next request for 1K\n     will be placed in the position of the old region 3, whereas before we\n     appended it to the still active region 1, placing it at the location\n     of the old region 2.  Before we had 1 free region of 2K, now we only\n     get two free regions of 1K -\u003e fragmentation.\n\nThe patch addresses thes issues by introducing yet another cache descriptor\ncached_hole_size that contains the largest known hole size below the\ncurrent free_area_cache.  If a new request comes in the size is compared\nagainst the cached_hole_size and if the request can be filled with a hole\nbelow free_area_cache the search is started from the base instead.\n\nThe results look promising: Whereas 2.6.12-rc4 fragments quickly and my\n(earlier posted) leakme.c test program terminates after 50000+ iterations\nwith 96 distinct and fragmented maps in /proc/self/maps it performs nicely\n(as expected) with thread creation, Ingo\u0027s test_str02 with 20000 threads\nrequires 0.7s system time.\n\nTaking out Ingo\u0027s patch (un-patch available per request) by basically\ndeleting all mentions of free_area_cache from the kernel and starting the\nsearch for new memory always at the respective bases we observe: leakme\nterminates successfully with 11 distinctive hardly fragmented areas in\n/proc/self/maps but thread creating is gringdingly slow: 30+s(!) system\ntime for Ingo\u0027s test_str02 with 20000 threads.\n\nNow - drumroll ;-) the appended patch works fine with leakme: it ends with\nonly 7 distinct areas in /proc/self/maps and also thread creation seems\nsufficiently fast with 0.71s for 20000 threads.\n\nSigned-off-by: Wolfgang Wander \u003cwwc@rentec.com\u003e\nCredit-to: \"Richard Purdie\" \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e (partly)\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a019225c797a1047470accee950d69cfe7c59c5",
      "tree": "0292277ce6b1fda86658dbaeeb4402800c2bef0f",
      "parents": [
        "59db2e6ed080ac385f19b9f4329133d634215bfd"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon May 16 21:53:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:17 2005 -0700"
      },
      "message": "[PATCH] mm/nommu.c: try to fix __vmalloc\n\nLinus changed the second argument of __vmalloc from int to unsigned int\nbreaking the compilation for CONFIG_MMU\u003dn configurations (since he only\nchanged vmalloc.c but not nommu.c).\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
