)]}'
{
  "log": [
    {
      "commit": "e562aebc6ccd4385cbbf24debe88ab4bb500c5b4",
      "tree": "a9dee6eac97d75c688a84d5fe268b2e5a0b73e23",
      "parents": [
        "40e8a10de2c9f87e892dcd5a6f9d1b208329ffea"
      ],
      "author": {
        "name": "Tony Battersby",
        "email": "tonyb@cybernetics.com",
        "time": "Thu Apr 02 16:58:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:01 2009 -0700"
      },
      "message": "ipc: make shm_get_stat() more robust\n\nshm_get_stat() assumes idr_find(\u0026shm_ids(ns).ipcs_idr) returns \"struct\nshmid_kernel *\"; all other callers assume that it returns \"struct\nkern_ipc_perm *\".  This works because \"struct kern_ipc_perm\" is currently\nthe first member of \"struct shmid_kernel\", but it would be better to use\ncontainer_of() to prevent future breakage.\n\nSigned-off-by: Tony Battersby \u003ctonyb@cybernetics.com\u003e\nCc: Jiri Olsa \u003colsajiri@gmail.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "703a3cd72817e99201cef84a8a7aecc60b2b3581",
      "tree": "3e943755178ff410694722bb031f523136fbc432",
      "parents": [
        "df7f54c012b92ec93d56b68547351dcdf8a163d3",
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 24 10:52:46 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 24 10:52:46 2009 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "5a6fe125950676015f5108fb71b2a67441755003",
      "tree": "c985fac46de39392466c4917c497b50bdc9c0757",
      "parents": [
        "4c098bcd55fad34dcf224bf8343db6a9ac58fc68"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Feb 10 14:02:27 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 10 10:48:42 2009 -0800"
      },
      "message": "Do not account for the address space used by hugetlbfs using VM_ACCOUNT\n\nWhen overcommit is disabled, the core VM accounts for pages used by anonymous\nshared, private mappings and special mappings. It keeps track of VMAs that\nshould be accounted for with VM_ACCOUNT and VMAs that never had a reserve\nwith VM_NORESERVE.\n\nOvercommit for hugetlbfs is much riskier than overcommit for base pages\ndue to contiguity requirements. It avoids overcommiting on both shared and\nprivate mappings using reservation counters that are checked and updated\nduring mmap(). This ensures (within limits) that hugepages exist in the\nfuture when faults occurs or it is too easy to applications to be SIGKILLed.\n\nAs hugetlbfs makes its own reservations of a different unit to the base page\nsize, VM_ACCOUNT should never be set. Even if the units were correct, we would\ndouble account for the usage in the core VM and hugetlbfs. VM_NORESERVE may\nbe set because an application can request no reserves be made for hugetlbfs\nat the risk of getting killed later.\n\nWith commit fc8744adc870a8d4366908221508bb113d8b72ee, VM_NORESERVE and\nVM_ACCOUNT are getting unconditionally set for hugetlbfs-backed mappings. This\nbreaks the accounting for both the core VM and hugetlbfs, can trigger an\nOOM storm when hugepage pools are too small lockups and corrupted counters\notherwise are used. This patch brings hugetlbfs more in line with how the\ncore VM treats VM_NORESERVE but prevents VM_ACCOUNT being set.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb5629b10d64a8006622ce3a52bc887d91057d69",
      "tree": "7c06d8f30783115e3384721046258ce615b129c5",
      "parents": [
        "8920d5ad6ba74ae8ab020e90cc4d976980e68701",
        "f01d1d546abb2f4028b5299092f529eefb01253a"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Feb 06 11:01:45 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Feb 06 11:01:45 2009 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/namei.c\n\nManually merged per:\n\ndiff --cc fs/namei.c\nindex 734f2b5,bbc15c2..0000000\n--- a/fs/namei.c\n+++ b/fs/namei.c\n@@@ -860,9 -848,8 +849,10 @@@ static int __link_path_walk(const char\n  \t\tnd-\u003eflags |\u003d LOOKUP_CONTINUE;\n  \t\terr \u003d exec_permission_lite(inode);\n  \t\tif (err \u003d\u003d -EAGAIN)\n- \t\t\terr \u003d vfs_permission(nd, MAY_EXEC);\n+ \t\t\terr \u003d inode_permission(nd-\u003epath.dentry-\u003ed_inode,\n+ \t\t\t\t\t       MAY_EXEC);\n +\t\tif (!err)\n +\t\t\terr \u003d ima_path_check(\u0026nd-\u003epath, MAY_EXEC);\n   \t\tif (err)\n  \t\t\tbreak;\n\n@@@ -1525,14 -1506,9 +1509,14 @@@ int may_open(struct path *path, int acc\n  \t\tflag \u0026\u003d ~O_TRUNC;\n  \t}\n\n- \terror \u003d vfs_permission(nd, acc_mode);\n+ \terror \u003d inode_permission(inode, acc_mode);\n  \tif (error)\n  \t\treturn error;\n +\n- \terror \u003d ima_path_check(\u0026nd-\u003epath,\n++\terror \u003d ima_path_check(path,\n +\t\t\t       acc_mode \u0026 (MAY_READ | MAY_WRITE | MAY_EXEC));\n +\tif (error)\n +\t\treturn error;\n  \t/*\n  \t * An append-only file must be opened in append mode for writing.\n  \t */\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "1df9f0a73178718969ae47d813b8e7aab2cf073c",
      "tree": "6bd3d8838858f0e93acd8f7969b7d0e5ce2bfb08",
      "parents": [
        "f4bd857bc8ed997c25ec06b56ef8064aafa6d4f3"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Wed Feb 04 09:07:02 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Feb 06 09:05:33 2009 +1100"
      },
      "message": "Integrity: IMA file free imbalance\n\nThe number of calls to ima_path_check()/ima_file_free()\nshould be balanced.  An extra call to fput(), indicates\nthe file could have been accessed without first being\nmeasured.\n\nAlthough f_count is incremented/decremented in places other\nthan fget/fput, like fget_light/fput_light and get_file, the\ncurrent task must already hold a file refcnt.  The call to\n__fput() is delayed until the refcnt becomes 0, resulting\nin ima_file_free() flagging any changes.\n\n- add hook to increment opencount for IPC shared memory(SYSV),\n  shmat files, and /dev/zero\n- moved NULL iint test in opencount_get()\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "a68e61e8ff2d46327a37b69056998b47745db6fa",
      "tree": "2445097933785b26d91577e6f4b41329e8bcd639",
      "parents": [
        "1f5e31d7e55ac7fbd4ec5e5b20c8868b0e4564c9"
      ],
      "author": {
        "name": "Tony Battersby",
        "email": "tonyb@cybernetics.com",
        "time": "Wed Feb 04 15:12:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:47 2009 -0800"
      },
      "message": "shm: fix shmctl(SHM_INFO) lockup with !CONFIG_SHMEM\n\nshm_get_stat() assumes that the inode is a \"struct shmem_inode_info\",\nwhich is incorrect for !CONFIG_SHMEM (see fs/ramfs/inode.c:\nramfs_get_inode() vs.  mm/shmem.c: shmem_get_inode()).\n\nThis bad assumption can cause shmctl(SHM_INFO) to lockup when\nshm_get_stat() tries to spin_lock(\u0026info-\u003elock).  Users of !CONFIG_SHMEM\nmay encounter this lockup simply by invoking the \u0027ipcs\u0027 command.\n\nReported by Jiri Olsa back in February 2008:\nhttp://lkml.org/lkml/2008/2/29/74\n\nSigned-off-by: Tony Battersby \u003ctonyb@cybernetics.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nReported-by: Jiri Olsa \u003colsajiri@gmail.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.everything]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc8744adc870a8d4366908221508bb113d8b72ee",
      "tree": "755f4c4a1cc30567fde4e60c9cc5e6a889c360b0",
      "parents": [
        "33bfad54b58cf05cfe6678c3ec9235d4bc8db4c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:08:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:08:56 2009 -0800"
      },
      "message": "Stop playing silly games with the VM_ACCOUNT flag\n\nThe mmap_region() code would temporarily set the VM_ACCOUNT flag for\nanonymous shared mappings just to inform shmem_zero_setup() that it\nshould enable accounting for the resulting shm object.  It would then\nclear the flag after calling -\u003emmap (for the /dev/zero case) or doing\nshmem_zero_setup() (for the MAP_ANON case).\n\nThis just resulted in vma merge issues, but also made for just\nunnecessary confusion.  Use the already-existing VM_NORESERVE flag for\nthis instead, and let shmem_{zero|file}_setup() just figure it out from\nthat.\n\nThis also happens to make it obvious that the new DRI2 GEM layer uses a\nnon-reserving backing store for its object allocation - which is quite\npossibly not intentional.  But since I didn\u0027t want to change semantics\nin this patch, I left it alone, and just updated the caller to use the\nnew flag semantics.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5460c9974a321a194aded4a8c4daaac68ea8171",
      "tree": "26c70e33e9c8ca61a8d2d88422a9672200501754",
      "parents": [
        "e48fbb699f82ef1e80bd7126046394d2dc9ca7e6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:27 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:28 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 25\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "8feae13110d60cc6287afabc2887366b0eb226c2",
      "tree": "b3188986faab70e753e00ea8670a11ba8ec844c0",
      "parents": [
        "41836382ebb415d68d3ebc4525e78e871fe58baf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "NOMMU: Make VMAs per MM as for MMU-mode linux\n\nMake VMAs per mm_struct as for MMU-mode linux.  This solves two problems:\n\n (1) In SYSV SHM where nattch for a segment does not reflect the number of\n     shmat\u0027s (and forks) done.\n\n (2) In mmap() where the VMA\u0027s vm_mm is set to point to the parent mm by an\n     exec\u0027ing process when VM_EXECUTABLE is specified, regardless of the fact\n     that a VMA might be shared and already have its vm_mm assigned to another\n     process or a dead process.\n\nA new struct (vm_region) is introduced to track a mapped region and to remember\nthe circumstances under which it may be shared and the vm_list_struct structure\nis discarded as it\u0027s no longer required.\n\nThis patch makes the following additional changes:\n\n (1) Regions are now allocated with alloc_pages() rather than kmalloc() and\n     with no recourse to __GFP_COMP, so the pages are not composite.  Instead,\n     each page has a reference on it held by the region.  Anything else that is\n     interested in such a page will have to get a reference on it to retain it.\n     When the pages are released due to unmapping, each page is passed to\n     put_page() and will be freed when the page usage count reaches zero.\n\n (2) Excess pages are trimmed after an allocation as the allocation must be\n     made as a power-of-2 quantity of pages.\n\n (3) VMAs are added to the parent MM\u0027s R/B tree and mmap lists.  As an MM may\n     end up with overlapping VMAs within the tree, the VMA struct address is\n     appended to the sort key.\n\n (4) Non-anonymous VMAs are now added to the backing inode\u0027s prio list.\n\n (5) Holes may be punched in anonymous VMAs with munmap(), releasing parts of\n     the backing region.  The VMA and region structs will be split if\n     necessary.\n\n (6) sys_shmdt() only releases one attachment to a SYSV IPC shared memory\n     segment instead of all the attachments at that addresss.  Multiple\n     shmat()\u0027s return the same address under NOMMU-mode instead of different\n     virtual addresses as under MMU-mode.\n\n (7) Core dumping for ELF-FDPIC requires fewer exceptions for NOMMU-mode.\n\n (8) /proc/maps is now the global list of mapped regions, and may list bits\n     that aren\u0027t actually mapped anywhere.\n\n (9) /proc/meminfo gains a line (tagged \"MmapCopy\") that indicates the amount\n     of RAM currently allocated by mmap to hold mappable regions that can\u0027t be\n     mapped directly.  These are copies of the backing device or file if not\n     anonymous.\n\nThese changes make NOMMU mode more similar to MMU mode.  The downside is that\nNOMMU mode requires some extra memory to track things over NOMMU without this\npatch (VMAs are no longer shared, and there are now region structs).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "e8148f7588064e45080bf1120883380a2efe5c9b",
      "tree": "3696d738d8e118632c456d77f4a0a4afdcfc98e5",
      "parents": [
        "8cd3ac3aca3f2afe8570708066d64d893da468e8"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "wangcong@zeuux.org",
        "time": "Tue Jan 06 14:42:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:29 2009 -0800"
      },
      "message": "ipc: clean up ipc/shm.c\n\nUse the macro shm_ids().\n\nRemove useless check for a userspace pointer, because copy_to_user()\nwill check it.\n\nSome style cleanups.\n\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "a33e6751003c5ade603737d828b1519d980ce392",
      "tree": "aa484d033e886945aed78172dbdd4d2fd928bacf",
      "parents": [
        "f3298dc4f2277874d40cb4fc3a6e277317d6603b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 03:40:06 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:39 2009 -0500"
      },
      "message": "sanitize audit_ipc_obj()\n\n* get rid of allocations\n* make it return void\n* simplify callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "86a264abe542cfececb4df129bc45a0338d8cdb9",
      "tree": "30152f04ba847f311028d5ca697f864c16c7ebb3",
      "parents": [
        "f1752eec6145c97163dbce62d17cf5d928e28a27"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "message": "CRED: Wrap current-\u003ecred and a few other accessors\n\nWrap current-\u003ecred and a few other accessors to hide their actual\nimplementation.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6dff3ec5e116e3af6f537d4caedcad6b9e5082a",
      "tree": "9e76f972eb7ce9b84e0146c8e4126a3f86acb428",
      "parents": [
        "15a2460ed0af7538ca8e6c610fe607a2cd9da142"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "message": "CRED: Separate task security context from task_struct\n\nSeparate the task security context from task_struct.  At this point, the\nsecurity data is temporarily embedded in the task_struct with two pointers\npointing to it.\n\nNote that the Alpha arch is altered as it refers to (E)UID and (E)GID in\nentry.S via asm-offsets.\n\nWith comment fixes Signed-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "414c0708d0d60eccf8345c405ac81cf32c43e901",
      "tree": "5c3a5bd4c421176164475f87dc2f3cdb0de905e0",
      "parents": [
        "da9592edebceeba1b9301beafe80ec8b9c2db0ce"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:06 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:06 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the SYSV IPC subsystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "aeb5d727062a0238a2f96c9c380fbd2be4640c6f",
      "tree": "51dae8a071fcf42e4431a66d37c5b843c8e99cf6",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 02 15:28:45 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:06 2008 -0400"
      },
      "message": "[PATCH] introduce fmode_t, do annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "89e004ea55abe201b29e2d6e35124101f1288ef7",
      "tree": "272a8f453106fd33d66fd7153f44696648dbe8b6",
      "parents": [
        "ba9ddf49391645e6bb93219131a40446538a5e76"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "SHM_LOCKED pages are unevictable\n\nShmem segments locked into memory via shmctl(SHM_LOCKED) should not be\nkept on the normal LRU, since scanning them is a waste of time and might\nthrow off kswapd\u0027s balancing algorithms.  Place them on the unevictable\nLRU list instead.\n\nUse the AS_UNEVICTABLE flag to mark address_space of SHM_LOCKed shared\nmemory regions as unevictable.  Then these pages will be culled off the\nnormal LRU lists during vmscan.\n\nAdd new wrapper function to clear the mapping\u0027s unevictable state when/if\nshared memory segment is munlocked.\n\nAdd \u0027scan_mapping_unevictable_page()\u0027 to mm/vmscan.c to scan all pages in\nthe shmem segment\u0027s mapping [struct address_space] for evictability now\nthat they\u0027re no longer locked.  If so, move them to the appropriate zone\nlru list.\n\nChanges depend on [CONFIG_]UNEVICTABLE_LRU.\n\n[kosaki.motohiro@jp.fujitsu.com: revert shm change]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00c2bf85d8febfcfddde63822043462b026134ff",
      "tree": "25dbdf6d713408da992eace1168c45244d13c2a7",
      "parents": [
        "983bfb7db303cfde56ae5bbf4e0f2f46e38c9576"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc: get rid of ipc_lock_down()\n\nRemove the ipc_lock_down() routines: they used to call idr_find() locklessly\n(given that the ipc ids lock was already held), so they are not needed\nanymore.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "a5516438959d90b071ff0a484ce4f3f523dc3152",
      "tree": "e356ba9364c76b93c176b4d4a262b7aca3ee8f91",
      "parents": [
        "b7ba30c679ed1eb7ed3ed8f281f6493282042bd4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlb: modular state for hugetlb page size\n\nThe goal of this patchset is to support multiple hugetlb page sizes.  This\nis achieved by introducing a new struct hstate structure, which\nencapsulates the important hugetlb state and constants (eg.  huge page\nsize, number of huge pages currently allocated, etc).\n\nThe hstate structure is then passed around the code which requires these\nfields, they will do the right thing regardless of the exact hstate they\nare operating on.\n\nThis patch adds the hstate structure, with a single global instance of it\n(default_hstate), and does the basic work of converting hugetlb to use the\nhstate.\n\nFuture patches will add more hstate structures to allow for different\nhugetlbfs mounts to have different page sizes.\n\n[akpm@linux-foundation.org: coding-style fixes]\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\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": "6c826818ff55eae7702b778b5f8bdf765af3b2af",
      "tree": "dab51aca0d7b86ccdc820894a96fad163f3fcb91",
      "parents": [
        "bcf8039ed45f56013c4afea5520bca7d909e5e61"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Jun 12 15:21:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:41 2008 -0700"
      },
      "message": "/proc/sysvipc/shm: fix 32-bit truncation of segment sizes\n\nsysvipc_shm_proc_show() picks between format strings (based on the\nexpected maximum length of a SHM segment) in a way that prevents gcc from\nperforming format checks on the seq_printf() parameters.  This hid two\nformat errors - shp-\u003eshm_segsz and shp-\u003eshm_nattach are both unsigned\nlong, but were being printed as unsigned int and signed int respectively.\nThis leads to 32-bit truncation of SHM segment sizes reported in\n/proc/sysvipc/shm.  (And for nattach, but that\u0027s less of a problem for\nmost users).\n\nThis patch makes the format string directly visible to gcc\u0027s format\nspecifier checker, and fixes the two broken format specifiers.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "c592713b3e124ce0719e6af4bc2520424c49cbae",
      "tree": "5b8c212fb7601c0560f16c46543581d6b4fd726a",
      "parents": [
        "5e70b7f3c24468bb1635b295945edb48ecd9656a"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Jun 10 08:53:39 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 10 07:58:00 2008 -0700"
      },
      "message": "shm: Remove silly double assignment\n\nFound a silly double assignment of err is do_shmat.  Silly, but good to\nclean up the useless code.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5f75e7f256f75759ec3d6dbef0ba932f1b397d2",
      "tree": "89b2ed22547a9fca11f87eb6cba68bb84fcf1b8a",
      "parents": [
        "8f4a3809c18ff3107bdbb1fabe3f4e5d2a928321"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "IPC: consolidate all xxxctl_down() functions\n\nsemctl_down(), msgctl_down() and shmctl_down() are used to handle the same set\nof commands for each kind of IPC.  They all start to do the same job (they\nretrieve the ipc and do some permission checks) before handling the commands\non their own.\n\nThis patch proposes to consolidate this by moving these same pieces of code\ninto one common function called ipcctl_pre_down().\n\nIt simplifies a little these xxxctl_down() functions and increases a little\nthe maintainability.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\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": "8f4a3809c18ff3107bdbb1fabe3f4e5d2a928321",
      "tree": "444ec369565052fde4b349c40b610caa69c93a25",
      "parents": [
        "016d7132f246a05e6e34ccba157fa278a96c45ae"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC: introduce ipc_update_perm()\n\nThe IPC_SET command performs the same permission setting for all IPCs.  This\npatch introduces a common ipc_update_perm() function to update these\npermissions and makes use of it for all IPCs.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\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": "016d7132f246a05e6e34ccba157fa278a96c45ae",
      "tree": "a7003a30b2c2e4a399f6394a860b10fbd1afa4da",
      "parents": [
        "21a4826a7c49bddebbe8d83d232f6416f1697ff0"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC: get rid of the use *_setbuf structure.\n\nAll IPCs make use of an intermetiate *_setbuf structure to handle the IPC_SET\ncommand.  This is not really needed and, moreover, it complicates a little bit\nthe code.\n\nThis patch gets rid of the use of it and uses directly the semid64_ds/\nmsgid64_ds/shmid64_ds structure.\n\nIn addition of removing one struture declaration, it also simplifies and\nimproves a little bit the common 64-bits path.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\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": "8d4cc8b5c5e5bac526618ee704f3cfdcad954e0c",
      "tree": "21258b10175f63703ace0a88402e513c6046d2d8",
      "parents": [
        "6ff3797218ef41c248c83184101ce1aedc227333"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/shared memory: introduce shmctl_down\n\nCurrently, the way the different commands are handled in sys_shmctl introduces\nsome duplicated code.\n\nThis patch introduces the shmctl_down function to handle all the commands\nrequiring the rwmutex to be taken in write mode (ie IPC_SET and IPC_RMID for\nnow).  It is the equivalent function of semctl_down for shared memory.\n\nThis removes some duplicated code for handling these both commands and\nharmonizes the way they are handled among all IPCs.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\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": "48dea404ed01869313f1908cca8a15774dcd8ee5",
      "tree": "c4c50c9032556cf96b21f8704e4544998769b6b9",
      "parents": [
        "02d15c43225afb2ebb6d700144285175a1c4abd9"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "IPC: use ipc_buildid() directly from ipc_addid()\n\nBy continuing to consolidate a little the IPC code, each id can be built\ndirectly in ipc_addid() instead of having it built from each callers of\nipc_addid()\n\nAnd I also remove shm_addid() in order to have, as much as possible, the\nsame code for shm/sem/msg.\n\n[akpm@linux-foundation.org: coding-style fixes]\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": "52cd3b074050dd664380b5e8cfc85d4a6ed8ad48",
      "tree": "fcfcf55c0e81376ea34919fab26e29bedd7f3b88",
      "parents": [
        "a6020ed759404372e8be2b276e85e51735472cc9"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: rework mempolicy Reference Counting [yet again]\n\nAfter further discussion with Christoph Lameter, it has become clear that my\nearlier attempts to clean up the mempolicy reference counting were a bit of\noverkill in some areas, resulting in superflous ref/unref in what are usually\nfast paths.  In other areas, further inspection reveals that I botched the\nunref for interleave policies.\n\nA separate patch, suitable for upstream/stable trees, fixes up the known\nerrors in the previous attempt to fix reference counting.\n\nThis patch reworks the memory policy referencing counting and, one hopes,\nsimplifies the code.  Maybe I\u0027ll get it right this time.\n\nSee the update to the numa_memory_policy.txt document for a discussion of\nmemory policy reference counting that motivates this patch.\n\nSummary:\n\nLookup of mempolicy, based on (vma, address) need only add a reference for\nshared policy, and we need only unref the policy when finished for shared\npolicies.  So, this patch backs out all of the unneeded extra reference\ncounting added by my previous attempt.  It then unrefs only shared policies\nwhen we\u0027re finished with them, using the mpol_cond_put() [conditional put]\nhelper function introduced by this patch.\n\nNote that shmem_swapin() calls read_swap_cache_async() with a dummy vma\ncontaining just the policy.  read_swap_cache_async() can call alloc_page_vma()\nmultiple times, so we can\u0027t let alloc_page_vma() unref the shared policy in\nthis case.  To avoid this, we make a copy of any non-null shared policy and\nremove the MPOL_F_SHARED flag from the copy.  This copy occurs before reading\na page [or multiple pages] from swap, so the overhead should not be an issue\nhere.\n\nI introduced a new static inline function \"mpol_cond_copy()\" to copy the\nshared policy to an on-stack policy and remove the flags that would require a\nconditional free.  The current implementation of mpol_cond_copy() assumes that\nthe struct mempolicy contains no pointers to dynamically allocated structures\nthat must be duplicated or reference counted during copy.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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": "ae4d8c16aa22775f5731677abb8a82f03cec877e",
      "tree": "2d34c6fd334b51cc5f3265cd4ec26db758639b5c",
      "parents": [
        "f4e53d910b7dde2685b177f1e7c3e3e0b4a42f7b"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: fixup Fallback for Default Shmem Policy\n\nget_vma_policy() is not handling fallback to task policy correctly when the\nget_policy() vm_op returns NULL.  The NULL overwrites the \u0027pol\u0027 variable that\nwas holding the fallback task mempolicy.  So, it was falling back directly to\nsystem default policy.\n\nFix get_vma_policy() to use only non-NULL policy returned from the vma\nget_policy op.\n\nshm_get_policy() was falling back to current task\u0027s mempolicy if the \"backing\nfile system\" [tmpfs vs hugetlbfs] does not support the get_policy vm_op and\nthe vma policy is null.  This is incorrect for show_numa_maps() which is\nlikely querying the numa_maps of some task other than current.  Remove this\nfallback.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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": "69682d852f5c94ee94e21174b3e8b719626c98db",
      "tree": "ed3c7c0681ef7658132ae32f1cd8a56bb6451621",
      "parents": [
        "9afa802ff568d935dab33dd207dc25d9849f35d4"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Mar 10 11:43:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:19 2008 -0700"
      },
      "message": "mempolicy: fix reference counting bugs\n\nAddress 3 known bugs in the current memory policy reference counting method.\nI have a series of patches to rework the reference counting to reduce overhead\nin the allocation path.  However, that series will require testing in -mm once\nI repost it.\n\n1) alloc_page_vma() does not release the extra reference taken for\n   vma/shared mempolicy when the mode \u003d\u003d MPOL_INTERLEAVE.  This can result in\n   leaking mempolicy structures.  This is probably occurring, but not being\n   noticed.\n\n   Fix:  add the conditional release of the reference.\n\n2) hugezonelist unconditionally releases a reference on the mempolicy when\n   mode \u003d\u003d MPOL_INTERLEAVE.  This can result in decrementing the reference\n   count for system default policy [should have no ill effect] or premature\n   freeing of task policy.  If this occurred, the next allocation using task\n   mempolicy would use the freed structure and probably BUG out.\n\n   Fix:  add the necessary check to the release.\n\n3) The current reference counting method assumes that vma \u0027get_policy()\u0027\n   methods automatically add an extra reference a non-NULL returned mempolicy.\n    This is true for shmem_get_policy() used by tmpfs mappings, including\n   regular page shm segments.  However, SHM_HUGETLB shm\u0027s, backed by\n   hugetlbfs, just use the vma policy without the extra reference.  This\n   results in freeing of the vma policy on the first allocation, with reuse of\n   the freed mempolicy structure on subsequent allocations.\n\n   Fix: Rather than add another condition to the conditional reference\n   release, which occur in the allocation path, just add a reference when\n   returning the vma policy in shm_get_policy() to match the assumptions.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003ceric.whitney@hp.com\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": "ae5e1b22f17983da929a0d0178896269e19da186",
      "tree": "e9937e2060167a430cf90955327d1a5a2e7b2303",
      "parents": [
        "58bfdd6deeec02b73691ea2c951a3c5d743bca63"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:18:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "namespaces: move the IPC namespace under IPC_NS option\n\nCurrently the IPC namespace management code is spread over the ipc/*.c files.\nI moved this code into ipc/namespace.c file which is compiled out when needed.\n\nThe linux/ipc_namespace.h file is used to store the prototypes of the\nfunctions in namespace.c and the stubs for NAMESPACES\u003dn case.  This is done\nso, because the stub for copy_ipc_namespace requires the knowledge of the\nCLONE_NEWIPC flag, which is in sched.h.  But the linux/ipc.h file itself in\nincluded into many many .c files via the sys.h-\u003esem.h sequence so adding the\nsched.h into it will make all these .c depend on sched.h which is not that\ngood.  On the other hand the knowledge about the namespaces stuff is required\nin 4 .c files only.\n\nBesides, this patch compiles out some auxiliary functions from ipc/sem.c,\nmsg.c and shm.c files.  It turned out that moving these functions into\nnamespaces.c is not that easy because they use many other calls and macros\nfrom the original file.  Moving them would make this patch complicated.  On\nthe other hand all these functions can be consolidated, so I will send a\nseparate patch doing this a bit later.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@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": "b1ed88b47f5e18c6efb8041275c16eeead5377df",
      "tree": "3861cbdbac7289a790adf5f950c1921fb1692f6c",
      "parents": [
        "15aafa2f9d8399b22e418c53a87dfc0c43f4030f"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Wed Feb 06 01:36:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:01 2008 -0800"
      },
      "message": "IPC: fix error check in all new xxx_lock() and xxx_exit_ns() functions\n\nIn the new implementation of the [sem|shm|msg]_lock[_check]() routines, we\nuse the return value of ipc_lock() in container_of() without any check.\nBut ipc_lock may return a errcode.  The use of this errcode in\ncontainer_of() may alter this errcode, and we don\u0027t want this.\n\nAnd in xxx_exit_ns, the pointer return by idr_find is of type \u0027struct\nkern_ipc_per\u0027...\n\nToday, the code will work as is because the member used in these\ncontainer_of() is the first member of its container (offset \u003d\u003d 0), the\nerrcode isn\u0027t changed then.  But in the general case, we can\u0027t count on\nthis assumption and this may lead later to a real bug if we don\u0027t correct\nthis.\n\nAgain, the proposed solution is simple and correct.  But, as pointed by\nNadia, with this solution, the same check will be done several times (in\nall sub-callers...), what is not very funny/optimal...\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": "283bb7fada7e33a759d8fc9bd7a44532e4ad420e",
      "tree": "c6704baf10edd10ca64310f2d168969434bb7dcf",
      "parents": [
        "3ac88a41ff747b8c2f290f86b5243b2f8fce2cc0"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "Pierre.Peiffer@bull.net",
        "time": "Thu Oct 18 23:40:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:49 2007 -0700"
      },
      "message": "IPC: fix error case when idr-cache is empty in ipcget()\n\nWith the use of idr to store the ipc, the case where the idr cache is\nempty, when idr_get_new is called (this may happen even if we call\nidr_pre_get() before), is not well handled: it lets\nsemget()/shmget()/msgget() return ENOSPC when this cache is empty, what 1.\ndoes not reflect the facts and 2.  does not conform to the man(s).\n\nThis patch fixes this by retrying the whole process of allocation in this case.\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": "1b531f213661657d6e1c55cf5c97f649d630c227",
      "tree": "0e03a4f286a12b383b9de455c0f39946df867fb7",
      "parents": [
        "3e148c79938aa39035669c1cfa3ff60722134535"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:48 2007 -0700"
      },
      "message": "ipc: remove unneeded parameters\n\nRemvoe the unneeded parameters from ipc_checkid() and ipc_buildid()\ninterfaces.\n\nSigned-off-by: 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": "3e148c79938aa39035669c1cfa3ff60722134535",
      "tree": "0effb3edfece56ea38a9727ec8f4721d9a4c3ea8",
      "parents": [
        "f4566f04854d78acfc74b9acb029744acde9d033"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:48 2007 -0700"
      },
      "message": "fix idr_find() locking\n\nThis is a patch that fixes the way idr_find() used to be called in ipc_lock():\nin all the paths that don\u0027t imply an update of the ipcs idr, it was called\nwithout the idr tree being locked.\n\nThe changes are:\n  . in ipc_ids, the mutex has been changed into a reader/writer semaphore.\n  . ipc_lock() now takes the mutex as a reader during the idr_find().\n  . a new routine ipc_lock_down() has been defined: it doesn\u0027t take the\n    mutex, assuming that it is being held by the caller. This is the routine\n    that is now called in all the update paths.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nAcked-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4566f04854d78acfc74b9acb029744acde9d033",
      "tree": "6fa631076d11511e2d9685b23c195835c31f4900",
      "parents": [
        "28028313134e9f11e49f74a4beaa47c91e5ebf06"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:47 2007 -0700"
      },
      "message": "ipc: fix wrong comments\n\nThis patch fixes the wrong / obsolete comments in the ipc code.  Also adds\na missing lock around ipc_get_maxid() in shm_get_stat().\n\nSigned-off-by: 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": "03f02c7657f7948ab980280c54c9366f962b1474",
      "tree": "7b1f564772077db0aed1e3c5a79ae77d2c1d2307",
      "parents": [
        "023a53557ea0e987b002e9a844242ef0b0aa1eb3"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:46 2007 -0700"
      },
      "message": "Storing ipcs into IDRs\n\nThis patch converts casts of struct kern_ipc_perm to\n   . struct msg_queue\n   . struct sem_array\n   . struct shmid_kernel\ninto the equivalent container_of() macro. It improves code maintenance\nbecause the code need not change if kern_ipc_perm is no longer at the\nbeginning of the containing struct.\n\nSigned-off-by: 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": "023a53557ea0e987b002e9a844242ef0b0aa1eb3",
      "tree": "7f3accdd7cb1d801607bf71e56b9b99e9c7ff7ca",
      "parents": [
        "637c36634029e4e7c81112796dafc32d56355b4a"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:44 2007 -0700"
      },
      "message": "ipc: integrate ipc_checkid() into ipc_lock()\n\nThis patch introduces a new ipc_lock_check() routine interface:\n   . each time ipc_checkid() is called, this is done after calling ipc_lock().\n     ipc_checkid() is now called from inside ipc_lock_check().\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix RCU locking]\nSigned-off-by: 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": "637c36634029e4e7c81112796dafc32d56355b4a",
      "tree": "b30106d838864fe6c8ba97c7dc68304b820e7694",
      "parents": [
        "7748dbfaa010b12d5fb9ddf80199534c565c6bce"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:44 2007 -0700"
      },
      "message": "ipc: remove the ipc_get() routine\n\nThis is a trivial patch that removes the ipc_get() routine: it is replaced\nby a call to idr_find().\n\nSigned-off-by: 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": "7748dbfaa010b12d5fb9ddf80199534c565c6bce",
      "tree": "c6756de4007c29fdcb405d54173a4322d48ff631",
      "parents": [
        "7ca7e564e049d8b350ec9d958ff25eaa24226352"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:44 2007 -0700"
      },
      "message": "ipc: unify the syscalls code\n\nThis patch introduces a change into the sys_msgget(), sys_semget() and\nsys_shmget() routines: they now share a common code, which is better for\nmaintainability.\n\nSigned-off-by: 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": "7ca7e564e049d8b350ec9d958ff25eaa24226352",
      "tree": "e3c1397dc898dbd7c685c6a052425e7346eb79d1",
      "parents": [
        "d2b20b11547cefc89d6c81937e81afaf3c62808b"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:44 2007 -0700"
      },
      "message": "ipc: store ipcs into IDRs\n\nThis patch introduces ipcs storage into IDRs. The main changes are:\n  . This ipc_ids structure is changed: the entries array is changed into a\n    root idr structure.\n  . The grow_ary() routine is removed: it is not needed anymore when adding\n    an ipc structure, since we are now using the IDR facility.\n  . The ipc_rmid() routine interface is changed:\n       . there is no need for this routine to return the pointer passed in as\n         argument: it is now declared as a void\n       . since the id is now part of the kern_ipc_perm structure, no need to\n         have it as an argument to the routine\n\nSigned-off-by: 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": "b488893a390edfe027bae7a46e9af8083e740668",
      "tree": "c469a7f99ad01005a73011c029eb5e5d15454559",
      "parents": [
        "3eb07c8c8adb6f0572baba844ba2d9e501654316"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: changes to show virtual ids to user\n\nThis is the largest patch in the set. Make all (I hope) the places where\nthe pid is shown to or get from user operate on the virtual pids.\n\nThe idea is:\n - all in-kernel data structures must store either struct pid itself\n   or the pid\u0027s global nr, obtained with pid_nr() call;\n - when seeking the task from kernel code with the stored id one\n   should use find_task_by_pid() call that works with global pids;\n - when showing pid\u0027s numerical value to the user the virtual one\n   should be used, but however when one shows task\u0027s pid outside this\n   task\u0027s namespace the global one is to be used;\n - when getting the pid from userspace one need to consider this as\n   the virtual one and use appropriate task/pid-searching functions.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: nuther build fix]\n[akpm@linux-foundation.org: yet nuther build fix]\n[akpm@linux-foundation.org: remove unneeded casts]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"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": "ce8d2cdf3d2b73e346c82e6f0a46da331df6364c",
      "tree": "bf3597f2d4f57d6e30a7703d7fce0dbf8c757962",
      "parents": [
        "348366b963e4e1462c8354827a9cb910aa865bf2"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Tue Oct 16 23:31:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:04 2007 -0700"
      },
      "message": "r/o bind mounts: filesystem helpers for custom \u0027struct file\u0027s\n\nWhy do we need r/o bind mounts?\n\nThis feature allows a read-only view into a read-write filesystem.  In the\nprocess of doing that, it also provides infrastructure for keeping track of\nthe number of writers to any given mount.\n\nThis has a number of uses.  It allows chroots to have parts of filesystems\nwritable.  It will be useful for containers in the future because users may\nhave root inside a container, but should not be allowed to write to\nsomefilesystems.  This also replaces patches that vserver has had out of the\ntree for several years.\n\nIt allows security enhancement by making sure that parts of your filesystem\nread-only (such as when you don\u0027t trust your FTP server), when you don\u0027t want\nto have entire new filesystems mounted, or when you want atime selectively\nupdated.  I\u0027ve been using the following script to test that the feature is\nworking as desired.  It takes a directory and makes a regular bind and a r/o\nbind mount of it.  It then performs some normal filesystem operations on the\nthree directories, including ones that are expected to fail, like creating a\nfile on the r/o mount.\n\nThis patch:\n\nSome filesystems forego the vfs and may_open() and create their own \u0027struct\nfile\u0027s.\n\nThis patch creates a couple of helper functions which can be used by these\nfilesystems, and will provide a unified place which the r/o bind mount code\nmay patch.\n\nAlso, rename an existing, static-scope init_file() to a less generic name.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.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": "d823e3e7541c39b4dfe9c79dbf052b4c39da2965",
      "tree": "250b90bf38f2d830d80f6d7ca99d548eaeb3f30d",
      "parents": [
        "53fa6645251727856d3554d64583fef59e6f1651"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 16 23:26:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:50 2007 -0700"
      },
      "message": "ipc/shm.c: make 2 functions static\n\nThis patch makes two needlessly global functions static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7be77e20d59fc3dd3fdde31641e0bc821114d26b",
      "tree": "558507e6fe540d1deddb2dbce9b3a7cca855a57e",
      "parents": [
        "ad0b142772eb1f88f0e77cb63c38b0005e83c2bd"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Tue Jul 31 00:38:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:40 2007 -0700"
      },
      "message": "Fix user struct leakage with locked IPC shem segment\n\nWhen user locks an ipc shmem segmant with SHM_LOCK ctl and the segment is\nalready locked the shmem_lock() function returns 0.  After this the\nsubsequent code leaks the existing user struct:\n\n\u003d\u003d ipc/shm.c: sys_shmctl() \u003d\u003d\n     ...\n     err \u003d shmem_lock(shp-\u003eshm_file, 1, user);\n     if (!err) {\n          shp-\u003eshm_perm.mode |\u003d SHM_LOCKED;\n          shp-\u003emlock_user \u003d user;\n     }\n     ...\n\u003d\u003d\n\nOther results of this are:\n1. the new shp-\u003emlock_user is not get-ed and will point to freed\n   memory when the task dies.\n2. the RLIMIT_MEMLOCK is screwed on both user structs.\n\nThe exploit looks like this:\n\n\u003d\u003d\n    id \u003d shmget(...);\n    setresuid(uid, 0, 0);\n    shmctl(id, SHM_LOCK, NULL);\n    setresuid(uid + 1, 0, 0);\n    shmctl(id, SHM_LOCK, NULL);\n\u003d\u003d\n\nMy solution is to return 0 to the userspace and do not change the\nsegment\u0027s user.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e92a3baee64112fd210a930276bad165b0bd576",
      "tree": "00e9e59fe3fe4ce84d2fb00b134a02a9137acdc7",
      "parents": [
        "6a302358d87fedaf7bda12b8e909265ebf1ce674"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jul 31 00:37:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:36 2007 -0700"
      },
      "message": "NOMMU: Fix SYSV IPC SHM\n\nFix the SYSV IPC SHM to work with the changes applied by the new fault handler\npatches when CONFIG_MMU\u003dn.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.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": "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": "7d69a1f4a72b18876c99c697692b78339d491568",
      "tree": "c09faf07f15240592919ec7e3dd722fe4f1dd370",
      "parents": [
        "522ed7767e800cff6c650ec64b0ee0677303119c"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Sun Jul 15 23:40:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "remove CONFIG_UTS_NS and CONFIG_IPC_NS\n\nCONFIG_UTS_NS and CONFIG_IPC_NS have very little value as they only\ndeactivate the unshare of the uts and ipc namespaces and do not improve\nperformance.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Pavel Emelianov \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": "9d66586f7723b73c5925c7c7819c260484627851",
      "tree": "616c3c01282e0ca82c59b1496c385cf1e2961564",
      "parents": [
        "22741925d268e8479ef66312749bd8d96ed35365"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jun 16 10:16:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "shm: fix the filename of hugetlb sysv shared memory\n\nSome user space tools need to identify SYSV shared memory when examining\n/proc/\u003cpid\u003e/maps.  To do so they look for a block device with major zero, a\ndentry named SYSV\u003csysv key\u003e, and having the minor of the internal sysv\nshared memory kernel mount.\n\nTo help these tools and to make it easier for people just browsing\n/proc/\u003cpid\u003e/maps this patch modifies hugetlb sysv shared memory to use the\nSYSV\u003ckey\u003e dentry naming convention.\n\nUser space tools will still have to be aware that hugetlb sysv shared\nmemory lives on a different internal kernel mount and so has a different\nblock device minor number from the rest of sysv shared memory.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserge@hallyn.com\u003e\nCc: Albert Cahalan \u003cacahalan@gmail.com\u003e\nCc: Badari Pulavarty \u003cpbadari@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": "22741925d268e8479ef66312749bd8d96ed35365",
      "tree": "33d6ed9143d4e65a1fa8f2bc75b2b41ea4fe3b0e",
      "parents": [
        "74584ae509befc2ed711810e7df4b075473869b2"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Sat Jun 16 10:16:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "hugetlb: fix get_policy for stacked shared memory files\n\nHere\u0027s another breakage as a result of shared memory stacked files :(\n\nThe NUMA policy for a VMA is determined by checking the following (in the\norder given):\n\n1) vma-\u003evm_ops-\u003eget_policy() (if defined)\n2) vma-\u003evm_policy (if defined)\n3) task-\u003emempolicy (if defined)\n4) Fall back to default_policy\n\nBy switching to stacked files for shared memory, get_policy() is now always\nset to shm_get_policy which is a wrapper function.  This causes us to stop\nat step 1, which yields NULL for hugetlb instead of task-\u003emempolicy which\nwas the previous (and correct) result.\n\nThis patch modifies the shm_get_policy() wrapper to maintain steps 1-3 for\nthe wrapped vm_ops.\n\n(akpm: the refcounting of mempolicies is busted and this patch does nothing to\nimprove it)\n\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: William Irwin \u003cbill.irwin@oracle.com\u003e\nCc: dean gaudet \u003cdean@arctic.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30475cc12a50816f290828fb7e3cd7036cd622df",
      "tree": "3195db2642d29568057a11a62889a9a8b67a9cfe",
      "parents": [
        "dd08c40e3e23f868eb0e49f638eb208736ec7e66"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Jun 16 10:15:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:15 2007 -0700"
      },
      "message": "Restore shmid as inode# to fix /proc/pid/maps ABI breakage\n\nshmid used to be stored as inode# for shared memory segments. Some of\nthe proc-ps tools use this from /proc/pid/maps.  Recent cleanups\nto newseg() changed it.  This patch sets inode number back to shared\nmemory id to fix breakage.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: \"Albert Cahalan\" \u003cacahalan@gmail.com\u003e\nCc: \"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": "516dffdcd8827a40532798602830dfcfc672294c",
      "tree": "c30fae64a30ca95fb896de80fe16ef90e8920410",
      "parents": [
        "7b965e0884cee430ffe5dc81cdb117b9316b0549"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Thu Mar 01 15:46:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 17:18:39 2007 -0800"
      },
      "message": "[PATCH] Fix get_unmapped_area and fsync for hugetlb shm segments\n\nThis patch provides the following hugetlb-related fixes to the recent stacked\nshm files changes:\n - Update is_file_hugepages() so it will reconize hugetlb shm segments.\n - get_unmapped_area must be called with the nested file struct to handle\n   the sfd-\u003efile-\u003ef_ops-\u003eget_unmapped_area \u003d\u003d NULL case.\n - The fsync f_op must be wrapped since it is specified in the hugetlbfs\n   f_ops.\n\nThis is based on proposed fixes from Eric Biederman that were debugged and\ntested by me.  Without it, attempting to use hugetlb shared memory segments\non powerpc (and likely ia64) will kill your box.\n\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: William Irwin \u003cbill.irwin@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de01bad2f5dec2977143aa242e7eba71d11a4363",
      "tree": "c03b32b7d19ecf6fba2d10a86830fa74c6a2655f",
      "parents": [
        "5357fc1450bda771a4a57b82f83c14ca9f5b9221"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Feb 28 20:11:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:35 2007 -0800"
      },
      "message": "[PATCH] make ipc/shm.c:shm_nopage() static\n\nshm_nopage() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "bc56bba8f31bd99f350a5ebfd43d50f411b620c7",
      "tree": "68213ce8da2f7af8e3f39b77c078d6162776a95c",
      "parents": [
        "8ef8286689c6b5bc76212437b85bdd2ba749ee44"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 20 13:57:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:13 2007 -0800"
      },
      "message": "[PATCH] shm: make sysv ipc shared memory use stacked files\n\nThe current ipc shared memory code runs into several problems because it\ndoes not quite use files like the rest of the kernel.  With the option of\nbacking ipc shared memory with either hugetlbfs or ordinary shared memory\nthe problems got worse.  With the added support for ipc namespaces things\nbehaved so unexpected that we now have several bad namespace reference\ncounting bugs when using what appears at first glance to be a reasonable\nidiom.\n\nSo to attack these problems and hopefully make the code more maintainable\nthis patch simply uses the files provided by other parts of the kernel and\nbuilds it\u0027s own files out of them.  The shm files are allocated in do_shmat\nand freed when their reference count drops to zero with their last unmap.\nThe file and vm operations that we don\u0027t want to implement or we don\u0027t\nimplement completely we just delegate to the operations of our backing\nfile.\n\nThis means that we now get an accurate shm_nattch count for we have a\nhugetlbfs inode for backing store, and the shm accounting of last attach\nand last detach time work as well.\n\nThis means that getting a reference to the ipc namespace when we create the\nfile and dropping the referenece in the release method is now safe and\ncorrect.\n\nThis means we no longer need a special case for clearing VM_MAYWRITE\nas our file descriptor now only has write permissions when we have\nrequested write access when calling shmat.  Although VM_SHARED is now\ncleared as well which I believe is harmless and is mostly likely a\nminor bug fix.\n\nBy using the same set of operations for both the hugetlb case and regular\nshared memory case shmdt is not simplified and made slightly more correct\nas now the test \"vma-\u003evm_ops \u003d\u003d \u0026shm_vm_ops\" is 100% accurate in spotting\nall shared memory regions generated from sysvipc shared memory.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Michal Piotrowski \u003cmichal.k.k.piotrowski@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": "9a32144e9d7b4e21341174b1a83b82a82353be86",
      "tree": "6f08560b341418fc9934f56f6162a95f5b5d8aec",
      "parents": [
        "00977a59b951207d38380c75f03a36829950265c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 7\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@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": "f66d45e99eb7ca91822c3e3f6d7a98843c9626cb",
      "tree": "ce796ff749980d7c3d08c0d42f63d25d42416e49",
      "parents": [
        "821836e5baa69b8bc80605f25ad963e721609bc0"
      ],
      "author": {
        "name": "Guy Streeter",
        "email": "guy.streeter@gmail.com",
        "time": "Tue Jan 23 12:20:04 2007 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 23 11:18:50 2007 -0800"
      },
      "message": "[PATCH] correct sys_shmget allocation check\n\nAs written, sys_shmget will return ENOSPC when one page is still\navailable for allocation. This patch corrects the test.\n\nSigned-off-by: Guy Streeter \u003cguy.streeter+lkml@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n--\n"
    },
    {
      "commit": "6d63079adde80bb549528371e6407f88e9d27bc3",
      "tree": "0c3c5c01ca40b685cb2d33add2cb8dfcfd054051",
      "parents": [
        "1cfd6e648b5ea21b0d48bf6f18b129e4576557d5"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:46 2006 -0800"
      },
      "message": "[PATCH] struct path: convert ipc\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": "c7e12b838989b0e432c7a1cdf1e6c6fd936007f6",
      "tree": "31a6eea1d9ace0b467ab6bb209dd6a883910d682",
      "parents": [
        "733b72c31efb0d6b29577655939ccfe835381b52"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 02 22:07:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:56 2006 -0800"
      },
      "message": "[PATCH] Fix ipc entries removal\n\nFix two issuses related to ipc_ids-\u003eentries freeing.\n\n1. When freeing ipc namespace we need to free entries allocated\n   with ipc_init_ids().\n\n2. When removing old entries in grow_ary() ipc_rcu_putref()\n   may be called on entries set to \u0026ids-\u003enullentry earlier in\n   ipc_init_ids().\n   This is almost impossible without namespaces, but with\n   them this situation becomes possible.\n\nFound during OpenVZ testing after obvious leaks in beancounters.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4e9823111bdc76127b17fc70dc57f584fd7dd34c",
      "tree": "a06e84aa4bb0f57bfe8e23e11361d651741f7aba",
      "parents": [
        "e38935341a3105471848220b5750e1ea8722d197"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Mon Oct 02 02:18:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:22 2006 -0700"
      },
      "message": "[PATCH] IPC namespace - shm\n\nIPC namespace support for IPC shm code.\n\nSigned-off-by: Pavel Emelianiov \u003cxemul@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "185606fc6a120dbebffa6d06a559c20ec2b20034",
      "tree": "6702725dd3da6371d0816dceb1a358a67ae32a99",
      "parents": [
        "70af7c5c6492ef6ad137dbff6c4568c73edbcaf0"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Fri Jun 23 02:03:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:51 2006 -0700"
      },
      "message": "[PATCH] remove unused o_flags from do_shmat\n\nRemove the unused variable o_flags from do_shmat.\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": "ac03221a4fdda9bfdabf99bcd129847f20fc1d80",
      "tree": "9b65ede238b03007bfe5e25f46efca68ec0994e0",
      "parents": [
        "5d136a010de3bc16fe595987feb9ef8868f064c2"
      ],
      "author": {
        "name": "Linda Knippers",
        "email": "linda.knippers@hp.com",
        "time": "Tue May 16 22:03:48 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:24 2006 -0400"
      },
      "message": "[PATCH] update of IPC audit record cleanup\n\nThe following patch addresses most of the issues with the IPC_SET_PERM\nrecords as described in:\nhttps://www.redhat.com/archives/linux-audit/2006-May/msg00010.html\nand addresses the comments I received on the record field names.\n\nTo summarize, I made the following changes:\n\n1. Changed sys_msgctl() and semctl_down() so that an IPC_SET_PERM\n   record is emitted in the failure case as well as the success case.\n   This matches the behavior in sys_shmctl().  I could simplify the\n   code in sys_msgctl() and semctl_down() slightly but it would mean\n   that in some error cases we could get an IPC_SET_PERM record\n   without an IPC record and that seemed odd.\n\n2. No change to the IPC record type, given no feedback on the backward\n   compatibility question.\n\n3. Removed the qbytes field from the IPC record.  It wasn\u0027t being\n   set and when audit_ipc_obj() is called from ipcperms(), the\n   information isn\u0027t available.  If we want the information in the IPC\n   record, more extensive changes will be necessary.  Since it only\n   applies to message queues and it isn\u0027t really permission related, it\n   doesn\u0027t seem worth it.\n\n4. Removed the obj field from the IPC_SET_PERM record.  This means that\n   the kern_ipc_perm argument is no longer needed.\n\n5. Removed the spaces and renamed the IPC_SET_PERM field names.  Replaced iuid and\n   igid fields with ouid and ogid in the IPC record.\n\nI tested this with the lspp.22 kernel on an x86_64 box.  I believe it\napplies cleanly on the latest kernel.\n\n-- ljk\n\nSigned-off-by: Linda Knippers \u003clinda.knippers@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "073115d6b29c7910feaa08241c6484637f5ca958",
      "tree": "5fd32da9f54b3c12b65d3c0142fb9bdf87dc01c3",
      "parents": [
        "ce29b682e228c70cdc91a1b2935c5adb2087bab8"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Sun Apr 02 17:07:33 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 01 06:10:04 2006 -0400"
      },
      "message": "[PATCH] Rework of IPC auditing\n\n1) The audit_ipc_perms() function has been split into two different\nfunctions:\n        - audit_ipc_obj()\n        - audit_ipc_set_perm()\n\nThere\u0027s a key shift here...  The audit_ipc_obj() collects the uid, gid,\nmode, and SElinux context label of the current ipc object.  This\naudit_ipc_obj() hook is now found in several places.  Most notably, it\nis hooked in ipcperms(), which is called in various places around the\nipc code permforming a MAC check.  Additionally there are several places\nwhere *checkid() is used to validate that an operation is being\nperformed on a valid object while not necessarily having a nearby\nipcperms() call.  In these locations, audit_ipc_obj() is called to\nensure that the information is captured by the audit system.\n\nThe audit_set_new_perm() function is called any time the permissions on\nthe ipc object changes.  In this case, the NEW permissions are recorded\n(and note that an audit_ipc_obj() call exists just a few lines before\neach instance).\n\n2) Support for an AUDIT_IPC_SET_PERM audit message type.  This allows\nfor separate auxiliary audit records for normal operations on an IPC\nobject and permissions changes.  Note that the same struct\naudit_aux_data_ipcctl is used and populated, however there are separate\naudit_log_format statements based on the type of the message.  Finally,\nthe AUDIT_IPC block of code in audit_free_aux() was extended to handle\naux messages of this new type.  No more mem leaks I hope ;-)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b78b6af66a5fbaf17d7e6bfc32384df5e34408c8",
      "tree": "bc5baa898697fcb6b1c0e8c1311ad4091ff98326",
      "parents": [
        "ca1e0484d9fe8a9048ac32b0f9894545f43704e8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Apr 12 14:34:27 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Apr 17 14:24:58 2006 -0700"
      },
      "message": "[PATCH] shmat: stop mprotect from giving write permission to a readonly attachment (CVE-2006-1524)\n\nI found that all of 2.4 and 2.6 have been letting mprotect give write\npermission to a readonly attachment of shared memory, whether or not IPC\nwould give the caller that permission.\n\nSUS says \"The behaviour of this function [mprotect] is unspecified if the\nmapping was not established by a call to mmap\", but I don\u0027t think we can\ninterpret that as allowing it to subvert IPC permissions.\n\nI haven\u0027t tried 2.2, but the 2.2.26 source looks like it gets it right; and\nthe patch below reproduces that behaviour - mprotect cannot be used to add\nwrite permission to a shared memory segment attached readonly.\n\nThis patch is simple, and I\u0027m sure it\u0027s what we should have done in 2.4.0:\nif you want to go on to switch write permission on and off with mprotect,\njust don\u0027t attach the segment readonly in the first place.\n\nHowever, we could have accumulated apps which attach readonly (even though\nthey would be permitted to attach read/write), and which subsequently use\nmprotect to switch write permission on and off: it\u0027s not unreasonable.\n\nI was going to add a second ipcperms check in do_shmat, to check for\nwritable when readonly, and if not writable find_vma and clear VM_MAYWRITE.\n But security_ipc_permission might do auditing, and it seems wrong to\nreport an attempt for write permission when there has been none.  Or we\ncould flag the vma as SHM, note the shmid or shp in vm_private_data, and\nthen get mprotect to check.\n\nBut the patch below is a lot simpler: I\u0027d rather stick with it, if we can\nconvince ourselves somehow that it\u0027ll be safe.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9ba025f10885758975fbbc2292a5b9e7cb8026a8",
      "tree": "2b6b88de37c42db0541ddf929d0a38b60f4a5871",
      "parents": [
        "7ec70738097af9dfd25d5f83e9b27a532f462912"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Apr 02 13:42:42 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:42:42 2006 +0200"
      },
      "message": "BUG_ON() Conversion in ipc/shm.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "5f921ae96f1529a55966f25cd5c70fab11d38be7",
      "tree": "d8b3fecae1b36a99c0dbf544b30933a727bc7178",
      "parents": [
        "14cc3e2b633bb64063698980974df4535368e98f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 26 01:37:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: ipc, id.sem\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b9a3917366028cc451a98dd22e3bcd537d4e5c1",
      "tree": "d911058720e0a9aeeaf9f407ccdc6fbf4047f47d",
      "parents": [
        "3661f00e2097676847deb01add1a0918044bd816",
        "71e1c784b24a026a490b3de01541fc5ee14ebc09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:24:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:24:53 2006 -0800"
      },
      "message": "Merge branch \u0027audit.b3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: (22 commits)\n  [PATCH] fix audit_init failure path\n  [PATCH] EXPORT_SYMBOL patch for audit_log, audit_log_start, audit_log_end and audit_format\n  [PATCH] sem2mutex: audit_netlink_sem\n  [PATCH] simplify audit_free() locking\n  [PATCH] Fix audit operators\n  [PATCH] promiscuous mode\n  [PATCH] Add tty to syscall audit records\n  [PATCH] add/remove rule update\n  [PATCH] audit string fields interface + consumer\n  [PATCH] SE Linux audit events\n  [PATCH] Minor cosmetic cleanups to the code moved into auditfilter.c\n  [PATCH] Fix audit record filtering with !CONFIG_AUDITSYSCALL\n  [PATCH] Fix IA64 success/failure indication in syscall auditing.\n  [PATCH] Miscellaneous bug and warning fixes\n  [PATCH] Capture selinux subject/object context information.\n  [PATCH] Exclude messages by message type\n  [PATCH] Collect more inode information during syscall processing.\n  [PATCH] Pass dentry, not just name, in fsnotify creation hooks.\n  [PATCH] Define new range of userspace messages.\n  [PATCH] Filter rule comparators\n  ...\n\nFixed trivial conflict in security/selinux/hooks.c\n"
    },
    {
      "commit": "df1e2fb540368d0f9640045235f81923fa63acb7",
      "tree": "aae81d11a102030772ab5a1a6bfa55820fbaf0da",
      "parents": [
        "38885bd4c2a4b59ddb22271d3e6c621859c76f02"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Fri Mar 24 03:18:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] shmdt: check address alignment\n\nSUSv3 says the shmdt() function shall fail with EINVAL if the value of\nshmaddr is not the data segment start address of a shared memory segment:\nour sys_shmdt needs to reject a shmaddr which is not page-aligned.\n\nDoes it have the potential to break existing apps?\n\nHugh says\n\n  \"sys_shmdt() just does the wrong (unexpected) thing with a misaligned\n  address: it\u0027ll fail on what you might expect it to succeed on, and only\n  succeed on what it should definitely fail on.\n\n  \"That is, I think it behaves as if shmaddr gets rounded up, when the only\n  understandable behaviour would be if it rounded it down.\n\n  \"Which does mean you\u0027d have to be devious to see anything but EINVAL from\n  a misaligned shmaddr there, so it\u0027s not terribly important.\"\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": "8c8570fb8feef2bc166bee75a85748b25cda22d9",
      "tree": "ed783d405ea9d5f3d3ccc57fb56c7b7cb2cdfb82",
      "parents": [
        "c8edc80c8b8c397c53f4f659a05b9ea6208029bf"
      ],
      "author": {
        "name": "Dustin Kirkland",
        "email": "dustin.kirkland@us.ibm.com",
        "time": "Thu Nov 03 17:15:16 2005 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 20 14:08:54 2006 -0500"
      },
      "message": "[PATCH] Capture selinux subject/object context information.\n\nThis patch extends existing audit records with subject/object context\ninformation. Audit records associated with filesystem inodes, ipc, and\ntasks now contain SELinux label information in the field \"subj\" if the\nitem is performing the action, or in \"obj\" if the item is the receiver\nof an action.\n\nThese labels are collected via hooks in SELinux and appended to the\nappropriate record in the audit code.\n\nThis additional information is required for Common Criteria Labeled\nSecurity Protection Profile (LSPP).\n\n[AV: fixed kmalloc flags use]\n[folded leak fixes]\n[folded cleanup from akpm (kfree(NULL)]\n[folded audit_inode_context() leak fix]\n[folded akpm\u0027s fix for audit_ipc_perm() definition in case of !CONFIG_AUDIT]\n\nSigned-off-by: Dustin Kirkland \u003cdustin.kirkland@us.ibm.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8e36709d8cea48a4d341294ce2b46678a2e77159",
      "tree": "bfb3f096c111e2feaab53e386e199d553df36482",
      "parents": [
        "c22db9412736204b25aeba19d18e5ea922f7d632"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Feb 10 01:51:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 10 08:13:12 2006 -0800"
      },
      "message": "[PATCH] shmdt cannot detach not-alined shm segment cleanly.\n\nsys_shmdt() can manage shm segments which are covered by multiple vmas.  (This\ncan happen when a user uses mprotect() after shmat().)\n\nThis works well if shm is aligned to PAGE_SIZE, but if not, the last\nsegment cannot be detached.  It is because a comparison in sys_shmdt()\n\n\t(vma-\u003evm_end - addr) \u003c size\n\t\taddr \u003d\u003d return address of shmat()\n\t\tsize \u003d\u003d shmsize, argments to shmget()\n\nsize should be aligned to PAGE_SIZE before being compared with vma-\u003evm_end,\nwhich is aligned.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c59ede7b78db329949d9cdcd7064e22d357560ef",
      "tree": "f9dc9d464fdad5bfd464d983e77c1af031389dda",
      "parents": [
        "e16885c5ad624a6efe1b1bf764e075d75f65a788"
      ],
      "author": {
        "name": "Randy.Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] move capable() to capability.h\n\n- Move capable() from sched.h to capability.h;\n\n- Use \u003clinux/capability.h\u003e where capable() is used\n\t(in include/, block/, ipc/, kernel/, a few drivers/,\n\tmm/, security/, \u0026 sound/;\n\tmany more drivers/ to go)\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b33291c0bcecfa44baa905964eec4b8815dcbcdf",
      "tree": "126c3f84456fd2ee80ef54667615631f7ce31cdc",
      "parents": [
        "b3f3d6141f8636f627bf19fd44eaf59a52637ac8"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:02:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:49 2006 -0800"
      },
      "message": "[PATCH] ipc: expand shm_flags\n\nUnobfsucate this struct member\n\nCc: Manfred Spraul \u003cmanfred@colorfullife.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": "bf8f972d3a1daf969cf44f64cc36d53bfd76441f",
      "tree": "c3f0ac2f789c695d13858171144aa5f4ecdc84c1",
      "parents": [
        "d8ba3b731086bcae5468f9ea509f39a921b3f9a6"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Mon Nov 07 00:59:27 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:37 2005 -0800"
      },
      "message": "[PATCH] SHM_NORESERVE flags for shmget()\n\nAdd SHM_NORESERVE functionality similar to MAP_NORESERVE for shared memory\nsegments.\n\nThis is mainly to avoid abuse of OVERCOMMIT_ALWAYS and this flag is ignored\nfor OVERCOMMIT_NEVER.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: 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": "551110a94aa15890d1709b179c4be1e66ff6db53",
      "tree": "f16ab250dcb50a7839d26b7abc2a165b705c5fb0",
      "parents": [
        "0b1533f67cc1a595457af6d05ab3510294e2ca9c"
      ],
      "author": {
        "name": "Krishnakumar R",
        "email": "rkrishnakumar@gmail.com",
        "time": "Sat Oct 29 18:16:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:43 2005 -0700"
      },
      "message": "[PATCH] hugetlb: remove repeated code\n\nClean up some repeated code related to HugeTLB.  hugetlb_zero_setup would\nhave already allocated the file-\u003ef_op.\n\nSigned-off-by: Krishnakumar. R \u003crkrishnakumar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "19b4946ca9d1e35d4c641dcebe27378de34f3ddd",
      "tree": "add66dd24e7a30441bbe26a4cc35e1124434e5b9",
      "parents": [
        "ae7817745eef3b4ed3c2e36cb403e0c50f17d4e4"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Tue Sep 06 15:17:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:26 2005 -0700"
      },
      "message": "[PATCH] ipc: convert /proc/sysvipc/* to generic seq_file interface\n\nChange the /proc/sysvipc/shm|sem|msg files to use the generic seq_file\nimplementation for struct ipc_ids.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ade43fbbcc3c12f0ddba112351d14d6c82ae476",
      "tree": "1e5651082607a90345a7f042ed4937c938e11483",
      "parents": [
        "39bbb07d7c0cf3e374831d1474e2246d9cabd931"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Aug 01 21:11:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 21:38:00 2005 -0700"
      },
      "message": "[PATCH] shm: CONFIG_SHMEM\u003dn build fix\n\nFix bug found by Grant Coady \u003clkml@dodo.com.au\u003e\u0027s autobuild setup.\n\nshmem_set_policy() and shmem_get_policy() are macros if !CONFIG_SHMEM, so this\ndoesn\u0027t work.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d87e14c236d6c4cab66d87cf0bc1e0f0375d308",
      "tree": "0c0826cdc102286b541e3e56b59c81752d34c90d",
      "parents": [
        "434498d5323445b59167fd7aa5633b74ebbce901"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun May 01 08:59:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:12 2005 -0700"
      },
      "message": "[PATCH] consolidate sys_shmat\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "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"
    }
  ]
}
