{"push_id":1363649027,"size":3,"distinct_size":3,"ref":"refs/heads/a3xelte-mm-restart","head":"f5e0f4419b604c3a4f82423d6c40a264493683ac","before":"c24d3e205a1ed1b5764eae1d38bd9dc4d5451d82","commits":[{"sha":"e6b391959bba39d4eeb1205b8b898811b579a912","author":{"name":"Andrea Arcangeli","email":"8f0ff3ae3e0410649e6b0c52f3097c492f04482f@redhat.com"},"message":"mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED\n\ncommit ad33bb04b2a6cee6c1f99fabb15cddbf93ff0433 upstream.\n\npmd_trans_unstable()/pmd_none_or_trans_huge_or_clear_bad() were\nintroduced to locklessy (but atomically) detect when a pmd is a regular\n(stable) pmd or when the pmd is unstable and can infinitely transition\nfrom pmd_none() and pmd_trans_huge() from under us, while only holding\nthe mmap_sem for reading (for writing not).\n\nWhile holding the mmap_sem only for reading, MADV_DONTNEED can run from\nunder us and so before we can assume the pmd to be a regular stable pmd\nwe need to compare it against pmd_none() and pmd_trans_huge() in an\natomic way, with pmd_trans_unstable().  The old pmd_trans_huge() left a\ntiny window for a race.\n\nUseful applications are unlikely to notice the difference as doing\nMADV_DONTNEED concurrently with a page fault would lead to undefined\nbehavior.\n\n[js] 3.12 backport: no pmd_devmap in 3.12 yet.\n\n[akpm@linux-foundation.org: tidy up comment grammar/layout]\nSigned-off-by: Andrea Arcangeli <aarcange@redhat.com>\nReported-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Vlastimil Babka <vbabka@suse.cz>\nSigned-off-by: Jiri Slaby <jslaby@suse.cz>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Willy Tarreau <w@1wt.eu>","distinct":true,"url":"https://api.github.com/repos/Khaon/android_kernel_samsung_a3xelte/commits/e6b391959bba39d4eeb1205b8b898811b579a912"},{"sha":"f030cd1e20125f67df39fc68fc00cfdfa146943e","author":{"name":"Jann Horn","email":"56d347afa87ea2ef19771afd2a88746144865893@thejh.net"},"message":"security: let security modules use PTRACE_MODE_* with bitmasks\n\ncommit 3dfb7d8cdbc7ea0c2970450e60818bb3eefbad69 upstream.\n\nIt looks like smack and yama weren't aware that the ptrace mode\ncan have flags ORed into it - PTRACE_MODE_NOAUDIT until now, but\nonly for /proc/$pid/stat, and with the PTRACE_MODE_*CREDS patch,\nall modes have flags ORed into them.\n\nSigned-off-by: Jann Horn <jann@thejh.net>\nAcked-by: Kees Cook <keescook@chromium.org>\nAcked-by: Casey Schaufler <casey@schaufler-ca.com>\nCc: Oleg Nesterov <oleg@redhat.com>\nCc: Ingo Molnar <mingo@redhat.com>\nCc: James Morris <james.l.morris@oracle.com>\nCc: \"Serge E. Hallyn\" <serge.hallyn@ubuntu.com>\nCc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>\nCc: Andy Lutomirski <luto@kernel.org>\nCc: Al Viro <viro@zeniv.linux.org.uk>\nCc: \"Eric W. Biederman\" <ebiederm@xmission.com>\nCc: Willy Tarreau <w@1wt.eu>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n[wt: no smk_ptrace_mode() in 3.10]\nSigned-off-by: Willy Tarreau <w@1wt.eu>","distinct":true,"url":"https://api.github.com/repos/Khaon/android_kernel_samsung_a3xelte/commits/f030cd1e20125f67df39fc68fc00cfdfa146943e"},{"sha":"f5e0f4419b604c3a4f82423d6c40a264493683ac","author":{"name":"Linus Torvalds","email":"ead7104581934751970e9decb2db5deb20a9e407@linux-foundation.org"},"message":"mm: remove gup_flags FOLL_WRITE games from __get_user_pages()\n\ncommit 19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619 upstream.\n\nThis is an ancient bug that was actually attempted to be fixed once\n(badly) by me eleven years ago in commit 4ceb5db9757a (\"Fix\nget_user_pages() race for write access\") but that was then undone due to\nproblems on s390 by commit f33ea7f404e5 (\"fix get_user_pages bug\").\n\nIn the meantime, the s390 situation has long been fixed, and we can now\nfix it by checking the pte_dirty() bit properly (and do it better).  The\ns390 dirty bit was implemented in abf09bed3cce (\"s390/mm: implement\nsoftware dirty bits\") which made it into v3.9.  Earlier kernels will\nhave to look at the page state itself.\n\nAlso, the VM has become more scalable, and what used a purely\ntheoretical race back then has become easier to trigger.\n\nTo fix it, we introduce a new internal FOLL_COW flag to mark the \"yes,\nwe already did a COW\" rather than play racy games with FOLL_WRITE that\nis very fundamental, and then use the pte dirty flag to validate that\nthe FOLL_COW flag is still valid.\n\nReported-and-tested-by: Phil \"not Paul\" Oester <kernel@linuxace.com>\nAcked-by: Hugh Dickins <hughd@google.com>\nReviewed-by: Michal Hocko <mhocko@suse.com>\nCc: Andy Lutomirski <luto@kernel.org>\nCc: Kees Cook <keescook@chromium.org>\nCc: Oleg Nesterov <oleg@redhat.com>\nCc: Willy Tarreau <w@1wt.eu>\nCc: Nick Piggin <npiggin@gmail.com>\nCc: Greg Thelen <gthelen@google.com>\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n[wt: s/gup.c/memory.c; s/follow_page_pte/follow_page_mask;\n     s/faultin_page/__get_user_page]\nSigned-off-by: Willy Tarreau <w@1wt.eu>\n\n# Conflicts:\n#\tinclude/linux/mm.h\n#\tmm/memory.c","distinct":true,"url":"https://api.github.com/repos/Khaon/android_kernel_samsung_a3xelte/commits/f5e0f4419b604c3a4f82423d6c40a264493683ac"}]}
{"actor":{"display_login":"Khaon"}}