)]}'
{
  "commit": "951531691c4bcaa59f56a316e018bc2ff1ddf855",
  "tree": "a26a939586580ccb3c570a558a58f138c55c19af",
  "parents": [
    "fcf3a5b62f431ce9feeac73afbe128b7b6395dbc"
  ],
  "author": {
    "name": "Isaac J. Manjarres",
    "email": "isaacm@codeaurora.org",
    "time": "Tue Aug 13 15:37:37 2019 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Aug 13 16:06:52 2019 -0700"
  },
  "message": "mm/usercopy: use memory range to be accessed for wraparound check\n\nCurrently, when checking to see if accessing n bytes starting at address\n\"ptr\" will cause a wraparound in the memory addresses, the check in\ncheck_bogus_address() adds an extra byte, which is incorrect, as the\nrange of addresses that will be accessed is [ptr, ptr + (n - 1)].\n\nThis can lead to incorrectly detecting a wraparound in the memory\naddress, when trying to read 4 KB from memory that is mapped to the the\nlast possible page in the virtual address space, when in fact, accessing\nthat range of memory would not cause a wraparound to occur.\n\nUse the memory range that will actually be accessed when considering if\naccessing a certain amount of bytes will cause the memory address to\nwrap around.\n\nLink: http://lkml.kernel.org/r/1564509253-23287-1-git-send-email-isaacm@codeaurora.org\nFixes: f5509cc18daa (\"mm: Hardened usercopy\")\nSigned-off-by: Prasad Sodagudi \u003cpsodagud@codeaurora.org\u003e\nSigned-off-by: Isaac J. Manjarres \u003cisaacm@codeaurora.org\u003e\nCo-developed-by: Prasad Sodagudi \u003cpsodagud@codeaurora.org\u003e\nReviewed-by: William Kucharski \u003cwilliam.kucharski@oracle.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Trilok Soni \u003ctsoni@codeaurora.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2a09796edef8d53d257dedada5b1a40bc21b4c16",
      "old_mode": 33188,
      "old_path": "mm/usercopy.c",
      "new_id": "98e924864554c5dbbd4804f51af20639eb413694",
      "new_mode": 33188,
      "new_path": "mm/usercopy.c"
    }
  ]
}
