)]}'
{
  "commit": "dba4cdd39e698d8dcdad0656825423052ac90ccd",
  "tree": "908f984f4652a42f603aac8f2db4edd059d11256",
  "parents": [
    "1a23395672658969a4035dcc518ea6cab835c579"
  ],
  "author": {
    "name": "Manfred Spraul",
    "email": "manfred@colorfullife.com",
    "time": "Wed Jul 12 14:34:41 2017 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Jul 12 16:26:01 2017 -0700"
  },
  "message": "ipc: merge ipc_rcu and kern_ipc_perm\n\nipc has two management structures that exist for every id:\n - struct kern_ipc_perm, it contains e.g. the permissions.\n - struct ipc_rcu, it contains the rcu head for rcu handling and the\n   refcount.\n\nThe patch merges both structures.\n\nAs a bonus, we may save one cacheline, because both structures are\ncacheline aligned.  In addition, it reduces the number of casts, instead\nmost codepaths can use container_of.\n\nTo simplify code, the ipc_rcu_alloc initializes the allocation to 0.\n\n[manfred@colorfullife.com: really include the memset() into ipc_alloc_rcu()]\n  Link: http://lkml.kernel.org/r/564f8612-0601-b267-514f-a9f650ec9b32@colorfullife.com\nLink: http://lkml.kernel.org/r/20170525185107.12869-3-manfred@colorfullife.com\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Davidlohr Bueso \u003cdave@stgolabs.net\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "71fd92d81b266edf1781c542de550159bc33949a",
      "old_mode": 33188,
      "old_path": "include/linux/ipc.h",
      "new_id": "5591f055e13fd0777da082846331b6d106e3a33d",
      "new_mode": 33188,
      "new_path": "include/linux/ipc.h"
    },
    {
      "type": "modify",
      "old_id": "104926dc72be4e9ae53fbecbbd6e05ee1f81cda3",
      "old_mode": 33188,
      "old_path": "ipc/msg.c",
      "new_id": "0ed7dae7d4e8b4ba27e06a930362e898bcc94119",
      "new_mode": 33188,
      "new_path": "ipc/msg.c"
    },
    {
      "type": "modify",
      "old_id": "fff8337ebab3e33d69090502c6a1b05969ece147",
      "old_mode": 33188,
      "old_path": "ipc/sem.c",
      "new_id": "bdff6d93d2c78f10a63a4e775829ce170790218b",
      "new_mode": 33188,
      "new_path": "ipc/sem.c"
    },
    {
      "type": "modify",
      "old_id": "f45c7959b26407f6b59559e653fdb0172fddf56c",
      "old_mode": 33188,
      "old_path": "ipc/shm.c",
      "new_id": "5ef6d31a52c51075d17ea386bee68751fcd664a1",
      "new_mode": 33188,
      "new_path": "ipc/shm.c"
    },
    {
      "type": "modify",
      "old_id": "caec7b1bfaa335f3d6df017eb9b0ad24058edd9c",
      "old_mode": 33188,
      "old_path": "ipc/util.c",
      "new_id": "5d1ff1035efe308651b35162983b28ca76e45dd2",
      "new_mode": 33188,
      "new_path": "ipc/util.c"
    },
    {
      "type": "modify",
      "old_id": "60ddccca464dd2a9f54ebe50401cdd009b3084ca",
      "old_mode": 33188,
      "old_path": "ipc/util.h",
      "new_id": "09d0f918c3e234e071d349852cd0d561a12bf7a1",
      "new_mode": 33188,
      "new_path": "ipc/util.h"
    }
  ]
}
