)]}'
{
  "commit": "b59eea554f57befa2aa3172fcb63e521bdd850dd",
  "tree": "7b68bd0bd6666dfd5e377b0999d99d74c1396736",
  "parents": [
    "6481352082e8c373a005387c4fc7258b197f0bc9"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Fri Jul 07 13:48:18 2017 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Fri Jul 07 13:48:18 2017 -0700"
  },
  "message": "vfs: fix flock compat thinko\n\nMichael Ellerman reported that commit 8c6657cb50cb (\"Switch flock\ncopyin/copyout primitives to copy_{from,to}_user()\") broke his\nnetworking on a bunch of PPC machines (64-bit kernel, 32-bit userspace).\n\nThe reason is a brown-paper bug by that commit, which had the arguments\nto \"copy_flock_fields()\" in the wrong order, breaking the compat\nhandling for file locking.  Apparently very few people run 32-bit user\nspace on x86 any more, so the PPC people got the honor of noticing this\n\"feature\".\n\nMichael also sent a minimal diff that just changed the order of the\narguments in that macro.\n\nThis is not that minimal diff.\n\nThis not only changes the order of the arguments in the macro, it also\nchanges them to be pointers (to be consistent with all the other uses of\nthose pointers), and makes the functions that do all of this also have\nthe proper \"const\" attribution on the source pointers in order to make\nissues like that (using the source as a destination) be really obvious.\n\nReported-by: Michael Ellerman \u003cmpe@ellerman.id.au\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b6bd89628025d84dc312e15613cd2e30f57b20d6",
      "old_mode": 33188,
      "old_path": "fs/fcntl.c",
      "new_id": "3b01b646e528e189b57a1876abf2d4f13364a1bb",
      "new_mode": 33188,
      "new_path": "fs/fcntl.c"
    }
  ]
}
