)]}'
{
  "commit": "dcecd95a135704b56b1b6b8a0e62136a99db712c",
  "tree": "6e603c533aab082d08585b19e17b771a34c0fa79",
  "parents": [
    "4a0123bdb064e1ed58ab5e7df3cdbff840b2194a"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Fri Apr 15 06:28:56 2022 +0800"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Sun May 01 17:22:34 2022 +0200"
  },
  "message": "mm: gup: make fault_in_safe_writeable() use fixup_user_fault()\n\ncommit fe673d3f5bf1fc50cdc4b754831db91a2ec10126 upstream\n\nInstead of using GUP, make fault_in_safe_writeable() actually force a\n\u0027handle_mm_fault()\u0027 using the same fixup_user_fault() machinery that\nfutexes already use.\n\nUsing the GUP machinery meant that fault_in_safe_writeable() did not do\neverything that a real fault would do, ranging from not auto-expanding\nthe stack segment, to not updating accessed or dirty flags in the page\ntables (GUP sets those flags on the pages themselves).\n\nThe latter causes problems on architectures (like s390) that do accessed\nbit handling in software, which meant that fault_in_safe_writeable()\ndidn\u0027t actually do all the fault handling it needed to, and trying to\naccess the user address afterwards would still cause faults.\n\nReported-and-tested-by: Andreas Gruenbacher \u003cagruenba@redhat.com\u003e\nFixes: cdd591fc86e3 (\"iov_iter: Introduce fault_in_iov_iter_writeable\")\nLink: https://lore.kernel.org/all/CAHc6FU5nP+nziNGG0JAF1FUx-GV7kKFvM7aZuU_XD2_1v4vnvg@mail.gmail.com/\nAcked-by: David Hildenbrand \u003cdavid@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Anand Jain \u003canand.jain@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a4c6affe6df3b4dc0accc228e5be4efa7296d358",
      "old_mode": 33188,
      "old_path": "mm/gup.c",
      "new_id": "ba2ab7a223f8edf087833f0e03ac4b618754c180",
      "new_mode": 33188,
      "new_path": "mm/gup.c"
    }
  ]
}
