)]}'
{
  "commit": "134fca9063ad4851de767d1768180e5dede9a881",
  "tree": "440739f740f1a7207596c4ce002fc4e385acc077",
  "parents": [
    "97500a4a54876d3d6d2d1b8419223eb4e69b32d8"
  ],
  "author": {
    "name": "Jiri Kosina",
    "email": "jkosina@suse.cz",
    "time": "Tue May 14 15:41:38 2019 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue May 14 19:52:48 2019 -0700"
  },
  "message": "mm/mincore.c: make mincore() more conservative\n\nThe semantics of what mincore() considers to be resident is not\ncompletely clear, but Linux has always (since 2.3.52, which is when\nmincore() was initially done) treated it as \"page is available in page\ncache\".\n\nThat\u0027s potentially a problem, as that [in]directly exposes\nmeta-information about pagecache / memory mapping state even about\nmemory not strictly belonging to the process executing the syscall,\nopening possibilities for sidechannel attacks.\n\nChange the semantics of mincore() so that it only reveals pagecache\ninformation for non-anonymous mappings that belog to files that the\ncalling process could (if it tried to) successfully open for writing;\notherwise we\u0027d be including shared non-exclusive mappings, which\n\n - is the sidechannel\n\n - is not the usecase for mincore(), as that\u0027s primarily used for data,\n   not (shared) text\n\n[jkosina@suse.cz: v2]\n  Link: http://lkml.kernel.org/r/20190312141708.6652-2-vbabka@suse.cz\n[mhocko@suse.com: restructure can_do_mincore() conditions]\nLink: http://lkml.kernel.org/r/nycvar.YFH.7.76.1903062342020.19912@cbobk.fhfr.pm\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nAcked-by: Josh Snyder \u003cjoshs@netflix.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nOriginally-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nOriginally-by: Dominique Martinet \u003casmadeus@codewreck.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Kevin Easton \u003ckevin@guarana.org\u003e\nCc: Matthew Wilcox \u003cwilly@infradead.org\u003e\nCc: Cyril Hrubis \u003cchrubis@suse.cz\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daniel Gruss \u003cdaniel@gruss.cc\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": "218099b5ed31d1e971d8d64b0951a31b8e310c01",
      "old_mode": 33188,
      "old_path": "mm/mincore.c",
      "new_id": "c3f058bd0faf3e90857a762dd0828b621139ea5b",
      "new_mode": 33188,
      "new_path": "mm/mincore.c"
    }
  ]
}
