)]}'
{
  "commit": "2c27c65ed0696f0b5df2dad2cf6462d72164d547",
  "tree": "7d9036e3dea98938f7fd7074366ee73929e9b2e5",
  "parents": [
    "db78b877f7744bec4a9d9f9e7d10da3931d7cd39"
  ],
  "author": {
    "name": "Christoph Hellwig",
    "email": "hch@lst.de",
    "time": "Fri Jun 04 11:30:04 2010 +0200"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Mon Aug 09 16:47:39 2010 -0400"
  },
  "message": "check ATTR_SIZE contraints in inode_change_ok\n\nMake sure we check the truncate constraints early on in -\u003esetattr by adding\nthose checks to inode_change_ok.  Also clean up and document inode_change_ok\nto make this obvious.\n\nAs a fallout we don\u0027t have to call inode_newsize_ok from simple_setsize and\nsimplify it down to a truncate_setsize which doesn\u0027t return an error.  This\nsimplifies a lot of setattr implementations and means we use truncate_setsize\nalmost everywhere.  Get rid of fat_setsize now that it\u0027s trivial and mark\next2_setsize static to make the calling convention obvious.\n\nKeep the inode_newsize_ok in vmtruncate for now as all callers need an\naudit for its removal anyway.\n\nNote: setattr code in ecryptfs doesn\u0027t call inode_change_ok at all and\nneeds a deeper audit, but that is left for later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b3dec193036bd95f25841eec930b845e77eefdf4",
      "old_mode": 33188,
      "old_path": "fs/adfs/inode.c",
      "new_id": "65794b8fe79ebe81d760bd1da6a4e8b5dd461680",
      "new_mode": 33188,
      "new_path": "fs/adfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "ed44d8ae8bf1ac7d95da36d908a157af6cc3bf44",
      "old_mode": 33188,
      "old_path": "fs/attr.c",
      "new_id": "7ca41811afa1147ad764acbd1fe5b5957c883f5d",
      "new_mode": 33188,
      "new_path": "fs/attr.c"
    },
    {
      "type": "modify",
      "old_id": "31ef5252f0fe2f38d94d79b847285965c3ea8626",
      "old_mode": 33188,
      "old_path": "fs/ecryptfs/inode.c",
      "new_id": "82900b063b1e51fe7bf1b908b8fef6a00034ae54",
      "new_mode": 33188,
      "new_path": "fs/ecryptfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "7dee7b3f3688f44211ce6e7da920e962e207c6af",
      "old_mode": 33188,
      "old_path": "fs/ext2/inode.c",
      "new_id": "069620b30d4d87a800573abfe2b47f69bb344305",
      "new_mode": 33188,
      "new_path": "fs/ext2/inode.c"
    },
    {
      "type": "modify",
      "old_id": "27ac25725954281e8ba96ccc1f52fb3ff4dca899",
      "old_mode": 33188,
      "old_path": "fs/fat/fat.h",
      "new_id": "d75a77f85c281c7b8618b3d19b33ee86e3616f49",
      "new_mode": 33188,
      "new_path": "fs/fat/fat.h"
    },
    {
      "type": "modify",
      "old_id": "b2eedcee7516bfe4bc4df30ca2d2ab9d2b7a9e98",
      "old_mode": 33188,
      "old_path": "fs/fat/file.c",
      "new_id": "7257752b6d5d3f0c8c133597135cb2f92821f784",
      "new_mode": 33188,
      "new_path": "fs/fat/file.c"
    },
    {
      "type": "modify",
      "old_id": "43a9b3730a980ccc0b2681ea9379a45648cfd17e",
      "old_mode": 33188,
      "old_path": "fs/fuse/dir.c",
      "new_id": "3978a42d4f047dfee35875721339d9abb1e1ecea",
      "new_mode": 33188,
      "new_path": "fs/fuse/dir.c"
    },
    {
      "type": "modify",
      "old_id": "703000d6e4d2d2cb5bec274fc586ea8d0537d4e5",
      "old_mode": 33188,
      "old_path": "fs/gfs2/aops.c",
      "new_id": "54fe087bf54c8ac4e64ccea9de6666552ebae31d",
      "new_mode": 33188,
      "new_path": "fs/gfs2/aops.c"
    },
    {
      "type": "modify",
      "old_id": "d7d410a4ca421a8586d2b35c5113f2441dcd8b70",
      "old_mode": 33188,
      "old_path": "fs/gfs2/ops_inode.c",
      "new_id": "1009be2c9737687cdee8b48668a5f5d09752abeb",
      "new_mode": 33188,
      "new_path": "fs/gfs2/ops_inode.c"
    },
    {
      "type": "modify",
      "old_id": "459d39d1ea0be8ad487903321a8e77fba82d30c6",
      "old_mode": 33188,
      "old_path": "fs/jffs2/fs.c",
      "new_id": "1b2426604fe3c15bca73416fadea60a713ad2db0",
      "new_mode": 33188,
      "new_path": "fs/jffs2/fs.c"
    },
    {
      "type": "modify",
      "old_id": "40562224b71899c12377eb6b572f2bcac672f57c",
      "old_mode": 33188,
      "old_path": "fs/libfs.c",
      "new_id": "0a9da95317f76a6ffdebb9120a3e71dc0ff4cf72",
      "new_mode": 33188,
      "new_path": "fs/libfs.c"
    },
    {
      "type": "modify",
      "old_id": "584cf8ac167aabaac71d9a77cc9a622846bfe9e5",
      "old_mode": 33188,
      "old_path": "fs/ocfs2/file.c",
      "new_id": "81296b4e364632dd5936f59d8adeab9832f2d2fd",
      "new_mode": 33188,
      "new_path": "fs/ocfs2/file.c"
    },
    {
      "type": "modify",
      "old_id": "8d44f0347b27ec6c56a1cccef73c12876fed69ff",
      "old_mode": 33188,
      "old_path": "fs/ramfs/file-nommu.c",
      "new_id": "9eead2c796b7f5a77d242e0e7eda702f16ec297a",
      "new_mode": 33188,
      "new_path": "fs/ramfs/file-nommu.c"
    },
    {
      "type": "modify",
      "old_id": "9551cb6f7fe4dfd1c058405e9c88bf83938fc8ea",
      "old_mode": 33188,
      "old_path": "fs/smbfs/inode.c",
      "new_id": "e338f0a5a70d78288e298247623a130911bb385b",
      "new_mode": 33188,
      "new_path": "fs/smbfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "12f445cee9f7ba90a6b4a33eeb1dc18be5df3a0d",
      "old_mode": 33188,
      "old_path": "fs/ubifs/file.c",
      "new_id": "03ae894c45dea3a04181a20cb3c5b123bac083ce",
      "new_mode": 33188,
      "new_path": "fs/ubifs/file.c"
    },
    {
      "type": "modify",
      "old_id": "04310878f449ac44db40c89325dd0f745f2b5cdd",
      "old_mode": 33188,
      "old_path": "fs/ubifs/ubifs.h",
      "new_id": "0c9876b396dd021f43c91dc77d27a244d5b95487",
      "new_mode": 33188,
      "new_path": "fs/ubifs/ubifs.h"
    },
    {
      "type": "modify",
      "old_id": "085e11623b7b9ba3ef2e63143c64d654e39d7be4",
      "old_mode": 33188,
      "old_path": "fs/ufs/truncate.c",
      "new_id": "34d5cb1353204ea8a2a7cf348750d66f4519613d",
      "new_mode": 33188,
      "new_path": "fs/ufs/truncate.c"
    },
    {
      "type": "modify",
      "old_id": "6ecb83c00a6db2c51a8f98661dbf1f601e9868c5",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "5547b1b027db5519dc97e1b1039c77c361da9e2f",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    },
    {
      "type": "modify",
      "old_id": "a2b48041b91084865a71c74b3f13342bf02fc6be",
      "old_mode": 33188,
      "old_path": "include/linux/mm.h",
      "new_id": "980164ea10ee00d60444ad766d061535f62d1fc6",
      "new_mode": 33188,
      "new_path": "include/linux/mm.h"
    },
    {
      "type": "modify",
      "old_id": "0a43505eeaec1ecebd7615b42ad0bf818ea7c29f",
      "old_mode": 33188,
      "old_path": "mm/shmem.c",
      "new_id": "33222ba256fbd42dc91d85b7be1ee570a852a170",
      "new_mode": 33188,
      "new_path": "mm/shmem.c"
    },
    {
      "type": "modify",
      "old_id": "937571b8b23370afdcb607ae27a3a897464e46bb",
      "old_mode": 33188,
      "old_path": "mm/truncate.c",
      "new_id": "ba887bff48c5a263c315a6ef098284df4df5bb44",
      "new_mode": 33188,
      "new_path": "mm/truncate.c"
    }
  ]
}
