)]}'
{
  "commit": "2f09719af705db56032ae480a2d9c32c2a3fcbd3",
  "tree": "20fc7dc5c6955a943e01e78cfcdf77d1ab3e6027",
  "parents": [
    "12da58b0c89e27617aaedde7dcf99a8690875e91"
  ],
  "author": {
    "name": "Stuart Swales",
    "email": "stuart.swales.croftnuisk@gmail.com",
    "time": "Tue Mar 22 16:35:04 2011 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Mar 22 17:44:17 2011 -0700"
  },
  "message": "adfs: fix E+/F+ dir size \u003e 2048 crashing kernel\n\nKernel crashes in fs/adfs module when accessing directories with a large\nnumber of objects on mounted Acorn ADFS E+/F+ format discs (or images) as\nthe existing code writes off the end of the fixed array of struct\nbuffer_head pointers.\n\nAdditionally, each directory access that didn\u0027t crash would leak a buffer\nas nr_buffers was not adjusted correctly for E+/F+ discs (was always left\nas one less than required).\n\nThe patch fixes this by allocating a dynamically-sized set of struct\nbuffer_head pointers if necessary for the E+/F+ case (many directories\nstill do in fact fit in 2048 bytes) and sets the correct nr_buffers so\nthat all buffers are released.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d26072\n\nTested by tar\u0027ing the contents of my RISC PC\u0027s E+ format 20Gb HDD which\ncontains a number of large directories that previously crashed the kernel.\n\nSigned-off-by: Stuart Swales \u003cstuart.swales.croftnuisk@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\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": "2ff622f6f547f5f01d661150e7e41939aa029cc3",
      "old_mode": 33188,
      "old_path": "fs/adfs/adfs.h",
      "new_id": "58588ddb178ce272f06f4bf328f7e1539fb279f6",
      "new_mode": 33188,
      "new_path": "fs/adfs/adfs.h"
    },
    {
      "type": "modify",
      "old_id": "1796bb352d0541843043ba1e96bbee44dc36f381",
      "old_mode": 33188,
      "old_path": "fs/adfs/dir_fplus.c",
      "new_id": "a7f41da8115b5b59cb33696af473ff4917e07f08",
      "new_mode": 33188,
      "new_path": "fs/adfs/dir_fplus.c"
    }
  ]
}
