)]}'
{
  "commit": "09570f914914d2beb0db29c5a9c7344934f2fa8c",
  "tree": "a93900db5e607887aca3ef2cecc2426abe007d87",
  "parents": [
    "5fd00b031530cc476240f654c078c930f1dcd6ea"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Wed Jul 27 21:47:03 2011 +0300"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Jul 27 12:50:45 2011 -0700"
  },
  "message": "proc: make struct proc_dir_entry::name a terminal array rather than a pointer\n\nSince __proc_create() appends the name it is given to the end of the PDE\nstructure that it allocates, there isn\u0027t a need to store a name pointer.\nInstead we can just replace the name pointer with a terminal char array of\n_unspecified_ length.  The compiler will simply append the string to statically\ndefined variables of PDE type overlapping any hole at the end of the structure\nand, unlike specifying an explicitly _zero_ length array, won\u0027t give a warning\nif you try to statically initialise it with a string of more than zero length.\n\nAlso, whilst we\u0027re at it:\n\n (1) Move namelen to end just prior to name and reduce it to a single byte\n     (name shouldn\u0027t be longer than NAME_MAX).\n\n (2) Move pde_unload_lock two places further on so that if it\u0027s four bytes in\n     size on a 64-bit machine, it won\u0027t cause an unused hole in the PDE struct.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f1637f17c37c8b39c353c455c040d63d6e3637ed",
      "old_mode": 33188,
      "old_path": "fs/proc/generic.c",
      "new_id": "9d99131d0d65455e522f2f42fb3a6f8ef3dc2c28",
      "new_mode": 33188,
      "new_path": "fs/proc/generic.c"
    },
    {
      "type": "modify",
      "old_id": "9020ac15baaaf4d3791fb190a50654e557851e95",
      "old_mode": 33188,
      "old_path": "fs/proc/proc_net.c",
      "new_id": "f738024ccc8e5de951c58fb3822eb6383b91c7d2",
      "new_mode": 33188,
      "new_path": "fs/proc/proc_net.c"
    },
    {
      "type": "modify",
      "old_id": "d6c3b416529b9709f2db526be706dbb415902ea3",
      "old_mode": 33188,
      "old_path": "fs/proc/root.c",
      "new_id": "9a8a2b77b87479621838ee00c928a43edbe938e9",
      "new_mode": 33188,
      "new_path": "fs/proc/root.c"
    },
    {
      "type": "modify",
      "old_id": "650af6deaf8fa50e1b8e812e98346380958252e8",
      "old_mode": 33188,
      "old_path": "include/linux/proc_fs.h",
      "new_id": "643b96c7a94f3cc78d6750b878ad0a0b00c2ea58",
      "new_mode": 33188,
      "new_path": "include/linux/proc_fs.h"
    }
  ]
}
