)]}'
{
  "commit": "75f0b68b75dabb3ff551440163fd67b3fc62901a",
  "tree": "244a5ab2bfd5823bcfd9bbe15c3dff3c8491588c",
  "parents": [
    "b10e3e90485e32e4cea9e35d2295ee7bffaeff73"
  ],
  "author": {
    "name": "Nicolai Stange",
    "email": "nicstange@gmail.com",
    "time": "Tue May 24 13:08:54 2016 +0200"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Wed Jun 15 04:56:35 2016 -0700"
  },
  "message": "debugfs: open_proxy_open(): avoid double fops release\n\nDebugfs\u0027 open_proxy_open(), the -\u003eopen() installed at all inodes created\nthrough debugfs_create_file_unsafe(),\n- grabs a reference to the original file_operations instance passed to\n  debugfs_create_file_unsafe() via fops_get(),\n- installs it at the file\u0027s -\u003ef_op by means of replace_fops()\n- and calls fops_put() on it.\n\nSince the semantics of replace_fops() are such that the reference\u0027s\nownership is transferred, the subsequent fops_put() will result in a double\nrelease when the file is eventually closed.\n\nCurrently, this is not an issue since fops_put() basically does a\nmodule_put() on the file_operations\u0027 -\u003eowner only and there don\u0027t exist any\nmodules calling debugfs_create_file_unsafe() yet. This is expected to\nchange in the future though, c.f. commit c64688081490 (\"debugfs: add\nsupport for self-protecting attribute file fops\").\n\nRemove the call to fops_put() from open_proxy_open().\n\nFixes: 9fd4dcece43a (\"debugfs: prevent access to possibly dead\n                      file_operations at file open\")\nSigned-off-by: Nicolai Stange \u003cnicstange@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d1ec80331414840e9141ee13174599918a8f2766",
      "old_mode": 33188,
      "old_path": "fs/debugfs/file.c",
      "new_id": "592059f88e04f7757c9e3bc413ab78bec58dee09",
      "new_mode": 33188,
      "new_path": "fs/debugfs/file.c"
    }
  ]
}
