)]}'
{
  "log": [
    {
      "commit": "c61284e99191b2284fb74dae6961d4d09e4e59e8",
      "tree": "6b49a9e2e5ade9f395c66f6453ff60b952a6df38",
      "parents": [
        "19f0f0af097ba3138ae2780b471180512763a78f"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Jul 20 13:24:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 20 16:25:40 2010 -0700"
      },
      "message": "ipc/sem.c: bugfix for semop() not reporting successful operation\n\nThe last change to improve the scalability moved the actual wake-up out of\nthe section that is protected by spin_lock(sma-\u003esem_perm.lock).\n\nThis means that IN_WAKEUP can be in queue.status even when the spinlock is\nacquired by the current task.  Thus the same loop that is performed when\nqueue.status is read without the spinlock acquired must be performed when\nthe spinlock is acquired.\n\nThanks to kamezawa.hiroyu@jp.fujitsu.com for noticing lack of the memory\nbarrier.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d16255\n\n[akpm@linux-foundation.org: clean up kerneldoc, checkpatch warning and whitespace]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReported-by: Luca Tettamanti \u003ckronos.it@gmail.com\u003e\nTested-by: Luca Tettamanti \u003ckronos.it@gmail.com\u003e\nReported-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Maciej Rutecki \u003cmaciej.rutecki@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "4de85cd6d6018825e19f76f1208775f23ecc393f",
      "tree": "117e765f4e24c4a67668ea96cfcc85a88793365c",
      "parents": [
        "c5cf6359ad1d322c16e159011247341849cc0d3a"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed May 26 14:43:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:49 2010 -0700"
      },
      "message": "ipc/sem.c: use ERR_CAST\n\nUse ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)).  The former makes more\nclear what is the purpose of the operation, which otherwise looks like a\nno-op.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\ntype T;\nT x;\nidentifier f;\n@@\n\nT f (...) { \u003c+...\n- ERR_PTR(PTR_ERR(x))\n+ x\n ...+\u003e }\n\n@@\nexpression x;\n@@\n\n- ERR_PTR(PTR_ERR(x))\n+ ERR_CAST(x)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5cf6359ad1d322c16e159011247341849cc0d3a",
      "tree": "aefc0ff518c05d5fb386ab2103ec4dc25bffbe4d",
      "parents": [
        "31a7c4746e9925512afab30557dd445d677cc802"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Wed May 26 14:43:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:49 2010 -0700"
      },
      "message": "ipc/sem.c: update description of the implementation\n\nipc/sem.c begins with a 15 year old description about bugs in the initial\nimplementation in Linux-1.0.  The patch replaces that with a top level\ndescription of the current code.\n\nA TODO could be derived from this text:\n\nThe opengroup man page for semop() does not mandate FIFO.  Thus there is\nno need for a semaphore array list of pending operations.\n\nIf\n\n- this list is removed\n- the per-semaphore array spinlock is removed (possible if there is no\n  list to protect)\n- sem_otime is moved into the semaphores and calculated on demand during\n  semctl()\n\nthen the array would be read-mostly - which would significantly improve\nscaling for applications that use semaphore arrays with lots of entries.\n\nThe price would be expensive semctl() calls:\n\n\tfor(i\u003d0;i\u003csma-\u003esem_nsems;i++) spin_lock(sma-\u003esem_lock);\n\t\u003cdo stuff\u003e\n\tfor(i\u003d0;i\u003csma-\u003esem_nsems;i++) spin_unlock(sma-\u003esem_lock);\n\nI\u0027m not sure if the complexity is worth the effort, thus here is the\ndocumentation of the current behavior first.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: 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": "0a2b9d4c79671b05956806ede5d054e03ae56280",
      "tree": "28431a1dc1e21528c0075c7f4ac345bda40ce21b",
      "parents": [
        "fd5db42254518fbf241dc454e918598fbe494fa2"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Wed May 26 14:43:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:49 2010 -0700"
      },
      "message": "ipc/sem.c: move wake_up_process out of the spinlock section\n\nThe wake-up part of semtimedop() consists out of two steps:\n\n- the right tasks must be identified.\n- they must be woken up.\n\nRight now, both steps run while the array spinlock is held.  This patch\nreorders the code and moves the actual wake_up_process() behind the point\nwhere the spinlock is dropped.\n\nThe code also moves setting sem-\u003esem_otime to one place: It does not make\nsense to set the last modify time multiple times.\n\n[akpm@linux-foundation.org: repair kerneldoc]\n[akpm@linux-foundation.org: fix uninitialised retval]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: 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": "fd5db42254518fbf241dc454e918598fbe494fa2",
      "tree": "356c8098f7f706a0e0396476fb5ccb924568eea1",
      "parents": [
        "2dcb22b346be7b7b7e630a8970d69cf3f1111ec1"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Wed May 26 14:43:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:49 2010 -0700"
      },
      "message": "ipc/sem.c: optimize update_queue() for bulk wakeup calls\n\nThe following series of patches tries to fix the spinlock contention\nreported by Chris Mason - his benchmark exposes problems of the current\ncode:\n\n- In the worst case, the algorithm used by update_queue() is O(N^2).\n  Bulk wake-up calls can enter this worst case.  The patch series fix\n  that.\n\n  Note that the benchmark app doesn\u0027t expose the problem, it just should\n  be fixed: Real world apps might do the wake-ups in another order than\n  perfect FIFO.\n\n- The part of the code that runs within the semaphore array spinlock is\n  significantly larger than necessary.\n\n  The patch series fixes that.  This change is responsible for the main\n  improvement.\n\n- The cacheline with the spinlock is also used for a variable that is\n  read in the hot path (sem_base) and for a variable that is unnecessarily\n  written to multiple times (sem_otime).  The last step of the series\n  cacheline-aligns the spinlock.\n\nThis patch:\n\nThe SysV semaphore code allows to perform multiple operations on all\nsemaphores in the array as atomic operations.  After a modification,\nupdate_queue() checks which of the waiting tasks can complete.\n\nThe algorithm that is used to identify the tasks is O(N^2) in the worst\ncase.  For some cases, it is simple to avoid the O(N^2).\n\nThe patch adds a detection logic for some cases, especially for the case\nof an array where all sleeping tasks are single sembuf operations and a\nmulti-sembuf operation is used to wake up multiple tasks.\n\nA big database application uses that approach.\n\nThe patch fixes wakeup due to semctl(,,SETALL,) - the initial version of\nthe patch breaks that.\n\n[akpm@linux-foundation.org: make do_smart_update() static]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: 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": "e5cc9c7b1a3e7ae4d700d9fce168fb597bcfe9b6",
      "tree": "567e8b359132aa0a542c2d940274727003c0c9f1",
      "parents": [
        "d987f8b213f2cdcc52b2ca9ee67161516e4d256a"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Tue Dec 15 16:47:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:10 2009 -0800"
      },
      "message": "ipc: remove unreachable code in sem.c\n\nThis line is unreachable, remove it.\n\n[akpm@linux-foundation.org: remove unneeded initialisation of `err\u0027]\nSigned-off-by: WANG Cong \u003camwang@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": "d987f8b213f2cdcc52b2ca9ee67161516e4d256a",
      "tree": "12ed1a267c8fd3ea0343d6a77f1c332b775d4dfe",
      "parents": [
        "636c6be823870d829b37fc96655bb8820a6a9be9"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Dec 15 16:47:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:10 2009 -0800"
      },
      "message": "ipc/sem.c: optimize single sops when semval is zero\n\nIf multiple simple decrements on the same semaphore are pending, then the\ncurrent code scans all decrement operations, even if the semaphore value\nis already 0.\n\nThe patch optimizes that: if the semaphore value is 0, then there is no\nneed to scan the q-\u003ealter entries.\n\nNote that this is a common case: It happens if 100 decrements by one are\npending and now an increment by one increases the semaphore value from 0\nto 1.  Without this patch, all 100 entries are scanned.  With the patch,\nonly one entry is scanned, then woken up.  Then the new rule triggers and\nthe scanning is aborted, without looking at the remaining 99 tasks.\n\nWith this patch, single sop increment/decrement by 1 are now O(1).\n(same as with Nick\u0027s patch)\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\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": "636c6be823870d829b37fc96655bb8820a6a9be9",
      "tree": "dc17d73ae77e6921ca7c88e6b019fe3d72bb9790",
      "parents": [
        "b97e820ffffbf49e94ed60c9c26f1a54bccae924"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Dec 15 16:47:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:10 2009 -0800"
      },
      "message": "ipc/sem.c: optimize single semop operations\n\nsysv sem has the concept of semaphore arrays that consist out of multiple\nsemaphores.  Atomic operations that affect multiple semaphores are\nsupported.\n\nThe patch optimizes single semaphore operation calls that affect only one\nsemaphore: It\u0027s not necessary to scan all pending operations, it is\nsufficient to scan the per-semaphore list.\n\nThe idea is from Nick Piggin version of an ipc sem improvement, the\nimplementation is different: The code tries to keep as much common code as\npossible.\n\nAs the result, the patch is simpler, but optimizes fewer cases.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\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": "b97e820ffffbf49e94ed60c9c26f1a54bccae924",
      "tree": "195146c43d24051aada20a211f2bb146bfebe9d2",
      "parents": [
        "b6e90822e77cd476c18410f7003197d466e36ac6"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Dec 15 16:47:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:10 2009 -0800"
      },
      "message": "ipc/sem.c: add a per-semaphore pending list\n\nBased on Nick\u0027s findings:\n\nsysv sem has the concept of semaphore arrays that consist out of multiple\nsemaphores.  Atomic operations that affect multiple semaphores are\nsupported.\n\nThe patch is the first step for optimizing simple, single semaphore\noperations: In addition to the global list of all pending operations, a\n2nd, per-semaphore list with the simple operations is added.\n\nNote: this patch does not make sense by itself, the new list is used\nnowhere.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\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": "b6e90822e77cd476c18410f7003197d466e36ac6",
      "tree": "2ff18df8c024ae92e7e8912186c34b10b4b6f4bd",
      "parents": [
        "d4212093dca95c1f52197017d969cc66d5d962aa"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Dec 15 16:47:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:09 2009 -0800"
      },
      "message": "ipc/sem.c: optimize if semops fail\n\nReduce the amount of scanning of the list of pending semaphore operations:\nIf try_atomic_semop failed, then no changes were applied.  Thus no need to\nrestart.\n\nAdditionally, this patch correct an incorrect comment: It\u0027s possible to\nwait for arbitrary semaphore values (do a dec by \u003cx\u003e, wait-for-zero, inc\nby \u003cx\u003e in one atomic operation)\n\nBoth changes are from Nick Piggin, the patch is the result of a different\nsplit of the individual changes.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\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": "d4212093dca95c1f52197017d969cc66d5d962aa",
      "tree": "f52484ae3c7b3034715b5745ae2b7db3906ab022",
      "parents": [
        "9cad200c7686708b326520a45dd680a4147568a6"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Dec 15 16:47:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:09 2009 -0800"
      },
      "message": "ipc/sem.c: sem preempt improve\n\nThe strange sysv semaphore wakeup scheme has a kind of busy-wait lock\ninvolved, which could deadlock if preemption is enabled during the \"lock\".\n\nIt is an implementation detail (due to a spinlock being held) that this is\nactually the case.  However if \"spinlocks\" are made preemptible, or if the\nsem lock is changed to a sleeping lock for example, then the wakeup would\nbecome buggy.  So this might be a bugfix for -rt kernels.\n\nImagine waker being preempted by wakee and never clearing IN_WAKEUP -- if\nwakee has higher RT priority then there is a priority inversion deadlock.\nEven if there is not a priority inversion to cause a deadlock, then there\nis still time wasted spinning.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: 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": "9cad200c7686708b326520a45dd680a4147568a6",
      "tree": "76a3299679ef23c945e9371f330559d6bc3d0a43",
      "parents": [
        "bf17bb717759d50a2733a7a8157a7c4a25d93abc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Dec 15 16:47:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:09 2009 -0800"
      },
      "message": "ipc/sem.c: sem use list operations\n\nReplace the handcoded list operations in update_queue() with the standard\nlist_for_each_entry macros.\n\nlist_for_each_entry_safe() must be used, because list entries can\ndisappear immediately uppon the wakeup event.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: 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": "bf17bb717759d50a2733a7a8157a7c4a25d93abc",
      "tree": "22468665036b37922664529df976c890c5bed2d0",
      "parents": [
        "7d6feeb287c61aafa88f06345387b1188edf4b86"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Dec 15 16:47:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:09 2009 -0800"
      },
      "message": "ipc/sem.c: sem optimise undo list search\n\nAround a month ago, there was some discussion about an improvement of the\nsysv sem algorithm: Most (at least: some important) users only use simple\nsemaphore operations, therefore it\u0027s worthwile to optimize this use case.\n\nThis patch:\n\nMove last looked up sem_undo struct to the head of the task\u0027s undo list.\nAttempt to move common entries to the front of the list so search time is\nreduced.  This reduces lookup_undo on oprofile of problematic SAP workload\nby 30% (see patch 4 for a description of SAP workload).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: 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": "7d6feeb287c61aafa88f06345387b1188edf4b86",
      "tree": "b07d1033d8980256d596686d75c2207b1f2cce0a",
      "parents": [
        "1be53963b0519bd3681749a9bed8b83aeb005cca"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Dec 15 16:47:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:09 2009 -0800"
      },
      "message": "ipc ns: fix memory leak (idr)\n\nWe have apparently had a memory leak since\n7ca7e564e049d8b350ec9d958ff25eaa24226352 \"ipc: store ipcs into IDRs\" in\n2007.  The idr of which 3 exist for each ipc namespace is never freed.\n\nThis patch simply frees them when the ipcns is freed.  I don\u0027t believe any\nidr_remove() are done from rcu (and could therefore be delayed until after\nthis idr_destroy()), so the patch should be safe.  Some quick testing\nshowed no harm, and the memory leak fixed.\n\nCaught by kmemleak.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05725f7eb4b8acb147c5fc7b91397b1f6bcab00d",
      "tree": "1f22c6bec3429f7ec9ebb8acd25672249e39b380",
      "parents": [
        "72c6a9870f901045f2464c3dc6ee8914bfdc07aa"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Apr 14 20:17:16 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 15 12:05:25 2009 +0200"
      },
      "message": "rculist: use list_entry_rcu in places where it\u0027s appropriate\n\nUse previously introduced list_entry_rcu instead of an open-coded\nlist_entry + rcu_dereference combination.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: dipankar@in.ibm.com\nLKML-Reference: \u003c20090414181715.GA3634@psychotron.englab.brq.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "6673e0c3fbeaed2cd08e2fd4a4aa97382d6fedb0",
      "tree": "eb33a94f5e4b0e035001f7c96ef44cade0fbb489",
      "parents": [
        "ed6bb6194350dc6ae97a65dbf2d621a3dbe6bbe9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:02 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:18 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrapper special cases\n\nSystem calls with an unsigned long long argument can\u0027t be converted with\nthe standard wrappers since that would include a cast to long, which in\nturn means that we would lose the upper 32 bit on 32 bit architectures.\nAlso semctl can\u0027t use the standard wrapper since it has a \u0027union\u0027\nparameter.\n\nSo we handle them as special case and add some extra wrappers instead.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "e953ac2195659940d0d042f7ac962700a6a0f0e3",
      "tree": "68eba3fff785161166b144b1bcf57858976cc9a4",
      "parents": [
        "e8148f7588064e45080bf1120883380a2efe5c9b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 06 14:42:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:29 2009 -0800"
      },
      "message": "ipc: do not goto to the next line\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nReviewed-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "046c68842bce6b77509cf56e94a561029124b0ce",
      "tree": "1a355899ba92ce4059027264cf759986234a930c",
      "parents": [
        "5641f1fde074651ce2488e93944cf05dedd9bf74"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 05 14:06:29 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 17:44:42 2009 -0800"
      },
      "message": "mm: update my address\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d97e2345a03bcf15471fc7e93560fc71e0c11d8",
      "tree": "7e0afaf0f5cf404623a3c9c3387dc43421e65bb3",
      "parents": [
        "c9f66169f1c696f9489503d7de92daff135c1efd"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 15 22:05:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:51 2008 -0700"
      },
      "message": "ipc/sem.c: make free_un() static\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "380af1b33b3ff92df5cda96329b58f5d1b6b5a53",
      "tree": "9a47d66c18e4aae2093a708a7509c0f188ee0bd1",
      "parents": [
        "a1193f8ec091cd8fd309cc2982abe4499f6f2b4d"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: rewrite undo list locking\n\nThe attached patch:\n- reverses the locking order of ulp-\u003elock and sem_lock:\n  Previously, it was first ulp-\u003elock, then inside sem_lock.\n  Now it\u0027s the other way around.\n- converts the undo structure to rcu.\n\nBenefits:\n- With the old locking order, IPC_RMID could not kfree the undo structures.\n  The stale entries remained in the linked lists and were released later.\n- The patch fixes a a race in semtimedop(): if both IPC_RMID and a semget() that\n  recreates exactly the same id happen between find_alloc_undo() and sem_lock,\n  then semtimedop() would access already kfree\u0027d memory.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: 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": "a1193f8ec091cd8fd309cc2982abe4499f6f2b4d",
      "tree": "b12f2ed903fea86cfc1fd34ddb464ecfc59e5452",
      "parents": [
        "2c0c29d414087f3b021059673c20a7088f5f1fff"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: convert sem_array.sem_pending to struct list_head\n\nsem_array.sem_pending is a double linked list, the attached patch converts\nit to struct list_head.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: 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": "2c0c29d414087f3b021059673c20a7088f5f1fff",
      "tree": "713b226382814837840b0ed2a42b909dbb6cfaf9",
      "parents": [
        "4daa28f6d8f5cda8ea0f55048e3c8811c384cbdd"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: remove unused entries from struct sem_queue\n\nsem_queue.sma and sem_queue.id were never used, the attached patch removes\nthem.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: 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": "4daa28f6d8f5cda8ea0f55048e3c8811c384cbdd",
      "tree": "934bfbd7932a18da8295d9e21727985d1ea16311",
      "parents": [
        "00c2bf85d8febfcfddde63822043462b026134ff"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: convert undo structures to struct list_head\n\nThe undo structures contain two linked lists, the attached patch replaces\nthem with generic struct list_head lists.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\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": "9edff4ab1f8d82675277a04e359d0ed8bf14a7b7",
      "tree": "05e67ca13f78b0eff666a4424e03dd6d0fa964c7",
      "parents": [
        "44f564a4bf6ac70f2a84806203045cf515bc9367"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Apr 29 01:00:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipc: sysvsem: implement sys_unshare(CLONE_SYSVSEM)\n\nsys_unshare(CLONE_NEWIPC) doesn\u0027t handle the undo lists properly, this can\ncause a kernel memory corruption.  CLONE_NEWIPC must detach from the existing\nundo lists.\n\nFix, part 1: add support for sys_unshare(CLONE_SYSVSEM)\n\nThe original reason to not support it was the potential (inevitable?)\nconfusion due to the fact that sys_unshare(CLONE_SYSVSEM) has the\ninverse meaning of clone(CLONE_SYSVSEM).\n\nOur two most reasonable options then appear to be (1) fully support\nCLONE_SYSVSEM, or (2) continue to refuse explicit CLONE_SYSVSEM,\nbut always do it anyway on unshare(CLONE_SYSVSEM).  This patch does\n(1).\n\nChangelog:\n\tApr 16: SEH: switch to Manfred\u0027s alternative patch which\n\t\tremoves the unshare_semundo() function which\n\t\talways refused CLONE_SYSVSEM.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.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": "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": "21a4826a7c49bddebbe8d83d232f6416f1697ff0",
      "tree": "bfcad90f4b6e29910a2571c749319d1323a7756a",
      "parents": [
        "522bb2a2b420a0c1d0fcd037aa4e1bb9e2bca447"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/semaphores: remove one unused parameter from semctl_down()\n\nsemctl_down() takes one unused parameter: semnum.  This patch proposes to get\nrid of it.\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": "522bb2a2b420a0c1d0fcd037aa4e1bb9e2bca447",
      "tree": "6023efd860b807e7d50a20eebeaebe3e21d0285b",
      "parents": [
        "a0d092fc2df845a43cc4847836818f49331d0a5c"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/semaphores: move the rwmutex handling inside semctl_down\n\nsemctl_down is called with the rwmutex (the one which protects the list of\nipcs) taken in write mode.\n\nThis patch moves this rwmutex taken in write-mode inside semctl_down.\n\nThis has the advantages of reducing a little bit the window during which this\nrwmutex is taken, clarifying sys_semctl, and finally of having a coherent\nbehaviour with [shm|msg]ctl_down\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": "6ff3797218ef41c248c83184101ce1aedc227333",
      "tree": "0957a7f808b2a4f6383dab6408a2873f9a87f495",
      "parents": [
        "6546bc4279241e8fa432de1bb63a4f6f791fd669"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Tue Apr 29 01:00:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "IPC/semaphores: code factorisation\n\nTrivial patch which adds some small locking functions and makes use of them to\nfactorize some part of the code and to make it cleaner.\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": "01b8b07a5d77d22e609267dcae74d15e3e9c5f13",
      "tree": "dd53c51f75de9511da7fdf283c73080d6c2552a8",
      "parents": [
        "ed2ddbf88c0ddeeae4c78bb306a116dfd867c55c"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Fri Feb 08 04:18:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns()\n\nsem_exit_ns(), msg_exit_ns() and shm_exit_ns() are all called when an\nipc_namespace is released to free all ipcs of each type.  But in fact, they\ndo the same thing: they loop around all ipcs to free them individually by\ncalling a specific routine.\n\nThis patch proposes to consolidate this by introducing a common function,\nfree_ipcs(), that do the job.  The specific routine to call on each\nindividual ipcs is passed as parameter.  For this, these ipc-specific\n\u0027free\u0027 routines are reworked to take a generic \u0027struct ipc_perm\u0027 as\nparameter.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed2ddbf88c0ddeeae4c78bb306a116dfd867c55c",
      "tree": "de6d6828c03f98be6fc41e8acf3b3e52df28be9b",
      "parents": [
        "4b9fcb0ec60584d639ad105c42b75a3447071e47"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Fri Feb 08 04:18:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "IPC: make struct ipc_ids static in ipc_namespace\n\nEach ipc_namespace contains a table of 3 pointers to struct ipc_ids (3 for\nmsg, sem and shm, structure used to store all ipcs) These \u0027struct ipc_ids\u0027\nare dynamically allocated for each icp_namespace as the ipc_namespace\nitself (for the init namespace, they are initialized with pointers to\nstatic variables instead)\n\nIt is so for historical reason: in fact, before the use of idr to store the\nipcs, the ipcs were stored in tables of variable length, depending of the\nmaximum number of ipc allowed.  Now, these \u0027struct ipc_ids\u0027 have a fixed\nsize.  As they are allocated in any cases for each new ipc_namespace, there\nis no gain of memory in having them allocated separately of the struct\nipc_namespace.\n\nThis patch proposes to make this table static in the struct ipc_namespace.\nThus, we can allocate all in once and get rid of all the code needed to\nallocate and free these ipc_ids separately.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b9fcb0ec60584d639ad105c42b75a3447071e47",
      "tree": "b68be0c60ca985901cd20c0b8a7321e8be07d328",
      "parents": [
        "b2d75cddc83a349ef5633f609b9734b6b957f90f"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Fri Feb 08 04:18:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "IPC/semaphores: consolidate SEM_STAT and IPC_STAT commands\n\nThese commands (SEM_STAT and IPC_STAT) are rather doing the same things\n(only the meaning of the id given as input and the return value differ).\nHowever, for the semaphores, they are handled in two different places (two\ndifferent functions).\n\nThis patch consolidates this for clarification by handling these both\ncommands in the same place in semctl_nolock().  It also removes one unused\nparameter for this function.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "c530c6ac7eb1d4ae1ff6b382d9211be446ee82c6",
      "tree": "f36b7323f4c60f859107f74014ae67da6d63d49f",
      "parents": [
        "1b531f213661657d6e1c55cf5c97f649d630c227"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@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: cleanup some code and wrong comments about semundo list managment\n\nSome comments about sem_undo_list seem wrong.\nAbout the comment above unlock_semundo:\n\"... If task2 now exits before task1 releases the lock (by calling\nunlock_semundo()), then task1 will never call spin_unlock(). ...\"\n\nThis is just wrong, I see no reason for which task1 will not call\nspin_unlock... The rest of this comment is also wrong... Unless I\nmiss something (of course).\n\nFinally, (un)lock_semundo functions are useless, so remove them\nfor simplification. (this avoids an useless if statement)\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "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": "8e1c091cccd551557d24ce845715e8ceb6c49d36",
      "tree": "28f1ea20efe46dd6f62cc0cb77f65be56e7225fc",
      "parents": [
        "a6343afb6e16b65b9f0b264f94f8207212e7e3ae"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jul 17 05:40:59 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jul 17 16:23:19 2007 -0400"
      },
      "message": "arch/i386/* fs/* ipc/*: mark variables with uninitialized_var()\n\nMark variables with uninitialized_var() if such a warning appears,\nand analysis proves that the var is initialized properly on all paths\nit is used.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.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": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@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": "4668edc334ee90cf50c382c3e423cfc510b5a126",
      "tree": "ee25ca93e72031f7f333b6c251a57a55ef089c90",
      "parents": [
        "304e61e6fbadec586dfe002b535f169a04248e49"
      ],
      "author": {
        "name": "Burman Yan",
        "email": "yan_952@hotmail.com",
        "time": "Wed Dec 06 20:38:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:41 2006 -0800"
      },
      "message": "[PATCH] kernel core: replace kmalloc+memset with kzalloc\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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": "2453a3062d36f39f01302f9f1ad18e7a0c54fe38",
      "tree": "f684fbca3edfdcaeca3618a0c518bcf39418c9fc",
      "parents": [
        "5d124e99c2fee1c8f3020ecb0dff8d5617ee7991"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Oct 02 02:18:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:22 2006 -0700"
      },
      "message": "[PATCH] ipc: replace kmalloc and memset in get_undo_list with kzalloc\n\nSimplify get_undo_list() by dropping the unnecessary cast, removing the\nsize variable, and switching to kzalloc() instead of a kmalloc() followed\nby a memset().\n\nThis cleanup was split then modified from Jes Sorenson\u0027s Task Notifiers\npatches.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e38935341a3105471848220b5750e1ea8722d197",
      "tree": "feeb5e650b3391963dc1290cfde3d6ecf37e0345",
      "parents": [
        "1e78693738b71da037d0df340f38e919e8227c2b"
      ],
      "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 - sem\n\nIPC namespace support for IPC sem 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": "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": "9ae21d1bb376436285cd5346d3e4b3655d6dd1b9",
      "tree": "8f889770fae721da63bd378c1834a87e2eb1cfb5",
      "parents": [
        "f9b4192923fa6e38331e88214b1fe5fc21583fcc",
        "e9415777b1cd0eaf4d1d3d61772f0e6d5c2551ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  drivers/char/ftape/lowlevel/fdc-io.c: Correct a comment\n  Kconfig help: MTD_JEDECPROBE already supports Intel\n  Remove ugly debugging stuff\n  do_mounts.c: Minor ROOT_DEV comment cleanup\n  BUG_ON() Conversion in drivers/s390/block/dasd_devmap.c\n  BUG_ON() Conversion in mm/mempool.c\n  BUG_ON() Conversion in mm/memory.c\n  BUG_ON() Conversion in kernel/fork.c\n  BUG_ON() Conversion in ipc/sem.c\n  BUG_ON() Conversion in fs/ext2/\n  BUG_ON() Conversion in fs/hfs/\n  BUG_ON() Conversion in fs/dcache.c\n  BUG_ON() Conversion in fs/buffer.c\n  BUG_ON() Conversion in input/serio/hp_sdc_mlc.c\n  BUG_ON() Conversion in md/dm-table.c\n  BUG_ON() Conversion in md/dm-path-selector.c\n  BUG_ON() Conversion in drivers/isdn\n  BUG_ON() Conversion in drivers/char\n  BUG_ON() Conversion in drivers/mtd/\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": "27315c96a4c3d5f24a902111dae537cdc28302e4",
      "tree": "15a37bd0b596fd5eb4d026df309ee6458f6049fd",
      "parents": [
        "309be53da60dc24b73f3f0bceab8f0707c05371f"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Mar 26 18:28:38 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Mar 26 18:28:38 2006 +0200"
      },
      "message": "BUG_ON() Conversion in ipc/sem.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": "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": "624dffcbcf87b9c501b13256416a82487be962bc",
      "tree": "aa190c9532c7c6549f677f6a07f8cdf51b181815",
      "parents": [
        "92c3504e6ee0816d4ea1345a6bd276969224890d"
      ],
      "author": {
        "name": "Christian Kujau",
        "email": "evil@g-house.de",
        "time": "Sun Jan 15 02:43:54 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@r063144.stusta.swh.mhn.de",
        "time": "Sun Jan 15 02:43:54 2006 +0100"
      },
      "message": "correct email address of Manfred Spraul\n\nI  tried to send the forcedeth maintainer an email, but it came back with:\n\n\"The mail address manfreds@colorfullife.com is not read anymore.\nPlease resent your mail to manfred@ instead of manfreds@.\"\n\nThis patch fixes this.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "1224b375ed7982128602a3fa1da53eeeac1750b4",
      "tree": "239fd9150042d313361cb66dd6db72f6e6af89de",
      "parents": [
        "8e31108b9f41069d55cb9b019ac8262c55fd2616"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Dec 24 12:19:38 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Dec 24 12:19:38 2005 -0800"
      },
      "message": "Fix silly typo (\"smb\" vs \"smp\")\n\nIntroduced by commit 6003a93e7bf6c02f33c02976ff364785d4273295\n"
    },
    {
      "commit": "6003a93e7bf6c02f33c02976ff364785d4273295",
      "tree": "c81c159d6b04f9bffcf9984d5259eb0448683f7d",
      "parents": [
        "a7c2491a13cc72fc09c062e635b9a77ff6bb4a73"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Dec 23 23:57:41 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Dec 24 12:13:27 2005 -0800"
      },
      "message": "[PATCH] add missing memory barriers to ipc/sem.c\n\nTwo smp_wmb() statements are missing in the sysv sem code: This could\ncause stack corruptions.\n\nThe attached patch adds them.\n\nSigned-Off-By: Manfred Spraul \u003cmanfred@colorfullife.com\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": "00a5dfdb93f74e4d95fb0d83c890728e331f8810",
      "tree": "f1d1043d7d02ad6bde3b158807b28bcfdafa21f6",
      "parents": [
        "ba02508248e90a9d696aebd18b48a3290235b53c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 05 23:05:27 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 05 15:56:41 2005 -0700"
      },
      "message": "[PATCH] Fix semundo lock leakage\n\nsemundo-\u003elock can leak if semundo-\u003erefcount goes from 2 to 1 while\nanother thread has it locked.  This causes major problems for PREEMPT\nkernels.\n\nThe simplest fix for now is to undo the single-thread optimization.\n\nThis bug was found via relentless testing by Dominik Karall.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b78755abcdf1d7667c51580a3783e16e981ed926",
      "tree": "7627ff8c029411b304575d892d4caccefa3904bd",
      "parents": [
        "0030cbf06c669b65e124414af51b5010fc53b760"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Thu Jun 23 00:10:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:30 2005 -0700"
      },
      "message": "[PATCH] ipcsem: remove superflous decrease variable from sys_semtimedop\n\nPatrick noticed that the initial scan of the semaphore operations logs\ndecrease and increase operations seperately, but then both cases are or\u0027ed\ntogether and decrease is never used.  The attached patch removes the\ndecrease parameter - it shrinks sys_semtimedop() by 56 bytes.\n\nSigned-Of-By: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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"
    }
  ]
}
