)]}'
{
  "commit": "ca05a99a54db1db5bca72eccb5866d2a86f8517f",
  "tree": "b39fba6604da4b4f77103d2769bb783118b9b508",
  "parents": [
    "cc94bc37d5e02aaf8a6409a28e3c62bbd479b9a8"
  ],
  "author": {
    "name": "Andrew G. Morgan",
    "email": "morgan@kernel.org",
    "time": "Tue May 27 22:05:17 2008 -0700"
  },
  "committer": {
    "name": "Chris Wright",
    "email": "chrisw@sous-sol.org",
    "time": "Sat May 31 16:36:16 2008 -0700"
  },
  "message": "capabilities: remain source compatible with 32-bit raw legacy capability support.\n\nSource code out there hard-codes a notion of what the\n_LINUX_CAPABILITY_VERSION #define means in terms of the semantics of the\nraw capability system calls capget() and capset().  Its unfortunate, but\ntrue.\n\nSince the confusing header file has been in a released kernel, there is\nsoftware that is erroneously using 64-bit capabilities with the semantics\nof 32-bit compatibilities.  These recently compiled programs may suffer\ncorruption of their memory when sys_getcap() overwrites more memory than\nthey are coded to expect, and the raising of added capabilities when using\nsys_capset().\n\nAs such, this patch does a number of things to clean up the situation\nfor all. It\n\n  1. forces the _LINUX_CAPABILITY_VERSION define to always retain its\n     legacy value.\n\n  2. adopts a new #define strategy for the kernel\u0027s internal\n     implementation of the preferred magic.\n\n  3. deprecates v2 capability magic in favor of a new (v3) magic\n     number. The functionality of v3 is entirely equivalent to v2,\n     the only difference being that the v2 magic causes the kernel\n     to log a \"deprecated\" warning so the admin can find applications\n     that may be using v2 inappropriately.\n\n[User space code continues to be encouraged to use the libcap API which\nprotects the application from details like this.  libcap-2.10 is the first\nto support v3 capabilities.]\n\nFixes issue reported in https://bugzilla.redhat.com/show_bug.cgi?id\u003d447518.\nThanks to Bojan Smojver for the report.\n\n[akpm@linux-foundation.org: s/depreciate/deprecate/g]\n[akpm@linux-foundation.org: be robust about put_user size]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Bojan Smojver \u003cbojan@rexursive.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e3b8c33c24b65c496f815658895dd4d2afd9c00",
      "old_mode": 33188,
      "old_path": "fs/proc/array.c",
      "new_id": "797d775e0354fca502c8ab439c4e986c8e27d237",
      "new_mode": 33188,
      "new_path": "fs/proc/array.c"
    },
    {
      "type": "modify",
      "old_id": "f4ea0dd9a618c737228cffd9fba1a52eea2fca64",
      "old_mode": 33188,
      "old_path": "include/linux/capability.h",
      "new_id": "fa830f8de0328d6cea2e73c7f66352e9ab6f8871",
      "new_mode": 33188,
      "new_path": "include/linux/capability.h"
    },
    {
      "type": "modify",
      "old_id": "39e8193b41ea658f1d67fca1d91edb38e698edea",
      "old_mode": 33188,
      "old_path": "kernel/capability.c",
      "new_id": "cfbe44299488c18187d80acbe06d9e03c5dc8a83",
      "new_mode": 33188,
      "new_path": "kernel/capability.c"
    }
  ]
}
