)]}'
{
  "commit": "0b24dcb7f2f7a0ce9b762eef0362c21c88f47b32",
  "tree": "9c7dc83e169cd4a2e5fd248e4b940f82131627b6",
  "parents": [
    "47ac19ea429aee561f66e9cd05b908e8ffbc498a"
  ],
  "author": {
    "name": "Eric Paris",
    "email": "eparis@redhat.com",
    "time": "Fri Feb 25 15:39:20 2011 -0500"
  },
  "committer": {
    "name": "Eric Paris",
    "email": "eparis@redhat.com",
    "time": "Fri Feb 25 15:40:00 2011 -0500"
  },
  "message": "Revert \"selinux: simplify ioctl checking\"\n\nThis reverts commit 242631c49d4cf39642741d6627750151b058233b.\n\nConflicts:\n\n\tsecurity/selinux/hooks.c\n\nSELinux used to recognize certain individual ioctls and check\npermissions based on the knowledge of the individual ioctl.  In commit\n242631c49d4cf396 the SELinux code stopped trying to understand\nindividual ioctls and to instead looked at the ioctl access bits to\ndetermine in we should check read or write for that operation.  This\nsame suggestion was made to SMACK (and I believe copied into TOMOYO).\nBut this suggestion is total rubbish.  The ioctl access bits are\nactually the access requirements for the structure being passed into the\nioctl, and are completely unrelated to the operation of the ioctl or the\nobject the ioctl is being performed upon.\n\nTake FS_IOC_FIEMAP as an example.  FS_IOC_FIEMAP is defined as:\n\nFS_IOC_FIEMAP _IOWR(\u0027f\u0027, 11, struct fiemap)\n\nSo it has access bits R and W.  What this really means is that the\nkernel is going to both read and write to the struct fiemap.  It has\nnothing at all to do with the operations that this ioctl might perform\non the file itself!\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8ffed9f2004e297f6c518d01ee8bc8de0d70c829",
      "old_mode": 33188,
      "old_path": "security/selinux/hooks.c",
      "new_id": "8294dbfd1f168652b43206b8d89e126fc44f0075",
      "new_mode": 33188,
      "new_path": "security/selinux/hooks.c"
    }
  ]
}
