)]}'
{
  "commit": "32fd20834ef388eff2e1aa32e74077e16792ada5",
  "tree": "3ade11f768a2c41f8296d0f56fa4cfbc0471e496",
  "parents": [
    "74c9f3f8998aebf488f6ec31ebb89068af81f3f5"
  ],
  "author": {
    "name": "Lokesh Gidra",
    "email": "lokeshgidra@google.com",
    "time": "Mon Mar 10 19:17:57 2025 +0000"
  },
  "committer": {
    "name": "Viktor Martensson",
    "email": "vmartensson@google.com",
    "time": "Thu Mar 20 22:31:04 2025 -0700"
  },
  "message": "ANDROID: userfaultfd: add MOVE ioctl mode to confirm bug-fixes\n\nFollowing issues were reported in the MOVE ioctl:\n1. Panic when trying to move a source page which is in swap-cache [1]\n2. Livelock when multiple threads try to move the same source page [2]\n\nThree patches have been upstreamed to fix these issues [3, 4, 5]\n\nMOVE ioctl was backported to ACK 6.1 and 6.6 for ART GC to use it [6].\nTherefore, on these kernels in order to be able to identify in the\nuserspace if the fixes are included, this mode is added.\n\nNOTE: UFFDIO_MOVE_MODE_CONFIRM_FIXED mode is only for 6.1 and 6.6\nkernels, and will go away afterwards.\n\n[1] https://lore.kernel.org/linux-mm/20250219112519.92853-1-21cnbao@gmail.com/\n[2] https://github.com/lokeshgidra/uffd_move_ioctl_deadlock\n[3] https://web.git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?h\u003dmm-hotfixes-stable\u0026id\u003dc50f8e6053b0503375c2975bf47f182445aebb4c\n[4] https://web.git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?h\u003dmm-hotfixes-stable\u0026id\u003d37b338eed10581784e854d4262da05c8d960c748\n[5] https://web.git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?h\u003dmm-hotfixes-stable\u0026id\u003d927e926d72d9155fde3264459fe9bfd7b5e40d28\n[6] b/274911254\n\nBug: 401790618\nBug: 405066974\nChange-Id: Ibd854ec7ac9ae6a2ca416767d032b6c71f1bc688\nSigned-off-by: Lokesh Gidra \u003clokeshgidra@google.com\u003e\n(cherry picked from commit 9bcabbda673adcfd8fbbfc2cdd2f738830ae385d)\nSigned-off-by: Yinchu Chen \u003cchenyc5@motorola.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ae4b211c2716c55481f423fd09b28be8ef1d562c",
      "old_mode": 33188,
      "old_path": "fs/userfaultfd.c",
      "new_id": "f36e6e018b26f3a3820d3a69ec8d61603a6e25cd",
      "new_mode": 33188,
      "new_path": "fs/userfaultfd.c"
    },
    {
      "type": "modify",
      "old_id": "2be5c8899f1f1f5db07f5cd0232a135b12304d0f",
      "old_mode": 33188,
      "old_path": "include/uapi/linux/userfaultfd.h",
      "new_id": "ffdbefb3c5d502af318674f34a47d859d0247a65",
      "new_mode": 33188,
      "new_path": "include/uapi/linux/userfaultfd.h"
    }
  ]
}
