diff options
author | Joakim Hernberg | 2016-11-05 14:46:43 +0100 |
---|---|---|
committer | Joakim Hernberg | 2016-11-05 14:46:43 +0100 |
commit | 034308ecee1189b34d4ecbcbd7f10e884dde922d (patch) | |
tree | f7606e0b655d5725ed3e418f7538c3441985b322 | |
parent | 0ad745889651e9481fe9a28930e2bcc9ce726de8 (diff) | |
download | aur-034308ecee1189b34d4ecbcbd7f10e884dde922d.tar.gz |
bump to 4.8.6_rt5-1
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 19 | ||||
-rw-r--r-- | fix-CVE-2016-5195.patch | 90 |
3 files changed, 14 insertions, 113 deletions
@@ -1,7 +1,7 @@ # Generated by makepkg 5.0.1 -# Mon Oct 24 12:51:52 UTC 2016 +# Sat Nov 5 13:44:43 UTC 2016 pkgbase = linux-rt - pkgver = 4.8.2_rt3 + pkgver = 4.8.6_rt5 pkgrel = 1 url = http://www.kernel.org/ arch = i686 @@ -16,16 +16,15 @@ pkgbase = linux-rt options = !strip source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.8.tar.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.8.tar.sign - source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.8.2.xz - source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.8.2.sign - source = https://www.kernel.org/pub/linux/kernel/projects/rt/4.8/older/patch-4.8.2-rt3.patch.xz - source = https://www.kernel.org/pub/linux/kernel/projects/rt/4.8/older/patch-4.8.2-rt3.patch.sign + source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.8.6.xz + source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.8.6.sign + source = https://www.kernel.org/pub/linux/kernel/projects/rt/4.8/older/patch-4.8.6-rt5.patch.xz + source = https://www.kernel.org/pub/linux/kernel/projects/rt/4.8/older/patch-4.8.6-rt5.patch.sign source = config source = config.x86_64 source = linux-rt.preset source = change-default-console-loglevel.patch source = fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch - source = fix-CVE-2016-5195.patch validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E validpgpkeys = 64254695FFF0AA4466CC19E67B96E8162A8CF5D1 @@ -33,16 +32,15 @@ pkgbase = linux-rt validpgpkeys = E644E2F1D45FA0B2EAA02F33109F098506FF0B14 sha256sums = 3e9150065f193d3d94bcf46a1fe9f033c7ef7122ab71d75a7fb5a2f0c9a7e11a sha256sums = SKIP - sha256sums = edb6e8022172df2b020b53e1cfa32bcde070f3119a6618766066098c46008a9b + sha256sums = 3ac0ea443ac8a7aa40f8d5ce8ec33b84abbad4dbfc567c7699df728c2c21df37 sha256sums = SKIP - sha256sums = 43d91458034ac44f5aa9e91296b92e421b2d46a7762db054b553c5fe6bd6de28 + sha256sums = f0e1bc55ec0288e54e84cc35a9e16a9df93be3772fda58b654ece6260f12699a sha256sums = SKIP sha256sums = 109cec8e65336ac29b51f37ff8a581f1dfde7d42e4fb024b444fa51a635266bc sha256sums = db2720d989a930022a27ca02e213f6cd3e006bfc59eb29d5e09bb925e682d9e0 sha256sums = 2abb6e506e4a687723d6a6dc21703f5d2b42a8956fbc3313e3da2b03c718c80d sha256sums = 1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99 sha256sums = 85f7612edfa129210343d6a4fe4ba2a4ac3542d98b7e28c8896738e7e6541c06 - sha256sums = 23a5b972cbb3b7e0ec6e202435113319dd9498f05b5502d6ca972932a6ad6ae8 pkgname = linux-rt pkgdesc = The Linux-rt kernel and modules @@ -8,8 +8,8 @@ #pkgbase=linux # Build stock -ARCH kernel pkgbase=linux-rt # Build kernel with a different name _srcname=linux-4.8 -_pkgver=4.8.2 -_rtpatchver=rt3 +_pkgver=4.8.6 +_rtpatchver=rt5 pkgver=${_pkgver}_${_rtpatchver} pkgrel=1 arch=('i686' 'x86_64') @@ -28,22 +28,19 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz" # standard config files for mkinitcpio ramdisk "${pkgbase}.preset" 'change-default-console-loglevel.patch' - 'fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch' - 'fix-CVE-2016-5195.patch') - + 'fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch') sha256sums=('3e9150065f193d3d94bcf46a1fe9f033c7ef7122ab71d75a7fb5a2f0c9a7e11a' 'SKIP' - 'edb6e8022172df2b020b53e1cfa32bcde070f3119a6618766066098c46008a9b' + '3ac0ea443ac8a7aa40f8d5ce8ec33b84abbad4dbfc567c7699df728c2c21df37' 'SKIP' - '43d91458034ac44f5aa9e91296b92e421b2d46a7762db054b553c5fe6bd6de28' + 'f0e1bc55ec0288e54e84cc35a9e16a9df93be3772fda58b654ece6260f12699a' 'SKIP' '109cec8e65336ac29b51f37ff8a581f1dfde7d42e4fb024b444fa51a635266bc' 'db2720d989a930022a27ca02e213f6cd3e006bfc59eb29d5e09bb925e682d9e0' '2abb6e506e4a687723d6a6dc21703f5d2b42a8956fbc3313e3da2b03c718c80d' '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' - '85f7612edfa129210343d6a4fe4ba2a4ac3542d98b7e28c8896738e7e6541c06' - '23a5b972cbb3b7e0ec6e202435113319dd9498f05b5502d6ca972932a6ad6ae8') + '85f7612edfa129210343d6a4fe4ba2a4ac3542d98b7e28c8896738e7e6541c06') validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman @@ -78,10 +75,6 @@ prepare() { msg "fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch" patch -p1 -i "${srcdir}/fix-race-in-PRT-wait-for-completion-simple-wait-code_Nvidia-RT-160319.patch" - # Fix CVE-2016-5195.patch - msg "CVE-2016-5195.patch" - patch -p1 -i "${srcdir}/fix-CVE-2016-5195.patch" - msg "All patches have successfully been applied" if [ "${CARCH}" = "x86_64" ]; then diff --git a/fix-CVE-2016-5195.patch b/fix-CVE-2016-5195.patch deleted file mode 100644 index 598af7f8d595..000000000000 --- a/fix-CVE-2016-5195.patch +++ /dev/null @@ -1,90 +0,0 @@ -author Linus Torvalds <torvalds@linux-foundation.org> 2016-10-13 20:07:36 (GMT) -committer Linus Torvalds <torvalds@linux-foundation.org> 2016-10-18 21:13:29 (GMT) -commit 19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619 (patch) -tree 9ed601a5726b067beb3e29414c469f88c499a63b -parent 6b25e21fa6f26d0f0d45f161d169029411c84286 (diff) -mm: remove gup_flags FOLL_WRITE games from __get_user_pages() -This is an ancient bug that was actually attempted to be fixed once -(badly) by me eleven years ago in commit 4ceb5db9757a ("Fix -get_user_pages() race for write access") but that was then undone due to -problems on s390 by commit f33ea7f404e5 ("fix get_user_pages bug"). - -In the meantime, the s390 situation has long been fixed, and we can now -fix it by checking the pte_dirty() bit properly (and do it better). The -s390 dirty bit was implemented in abf09bed3cce ("s390/mm: implement -software dirty bits") which made it into v3.9. Earlier kernels will -have to look at the page state itself. - -Also, the VM has become more scalable, and what used a purely -theoretical race back then has become easier to trigger. - -To fix it, we introduce a new internal FOLL_COW flag to mark the "yes, -we already did a COW" rather than play racy games with FOLL_WRITE that -is very fundamental, and then use the pte dirty flag to validate that -the FOLL_COW flag is still valid. - -Reported-and-tested-by: Phil "not Paul" Oester <kernel@linuxace.com> -Acked-by: Hugh Dickins <hughd@google.com> -Reviewed-by: Michal Hocko <mhocko@suse.com> -Cc: Andy Lutomirski <luto@kernel.org> -Cc: Kees Cook <keescook@chromium.org> -Cc: Oleg Nesterov <oleg@redhat.com> -Cc: Willy Tarreau <w@1wt.eu> -Cc: Nick Piggin <npiggin@gmail.com> -Cc: Greg Thelen <gthelen@google.com> -Cc: stable@vger.kernel.org -Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> -Diffstat --rw-r--r-- include/linux/mm.h 1 --rw-r--r-- mm/gup.c 14 -2 files changed, 13 insertions, 2 deletions -diff --git a/include/linux/mm.h b/include/linux/mm.h -index e9caec6..ed85879 100644 ---- a/include/linux/mm.h -+++ b/include/linux/mm.h -@@ -2232,6 +2232,7 @@ static inline struct page *follow_page(struct vm_area_struct *vma, - #define FOLL_TRIED 0x800 /* a retry, previous pass started an IO */ - #define FOLL_MLOCK 0x1000 /* lock present pages */ - #define FOLL_REMOTE 0x2000 /* we are working on non-current tsk/mm */ -+#define FOLL_COW 0x4000 /* internal GUP flag */ - - typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, - void *data); -diff --git a/mm/gup.c b/mm/gup.c -index 96b2b2f..22cc22e 100644 ---- a/mm/gup.c -+++ b/mm/gup.c -@@ -60,6 +60,16 @@ static int follow_pfn_pte(struct vm_area_struct *vma, unsigned long address, - return -EEXIST; - } - -+/* -+ * FOLL_FORCE can write to even unwritable pte's, but only -+ * after we've gone through a COW cycle and they are dirty. -+ */ -+static inline bool can_follow_write_pte(pte_t pte, unsigned int flags) -+{ -+ return pte_write(pte) || -+ ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte)); -+} -+ - static struct page *follow_page_pte(struct vm_area_struct *vma, - unsigned long address, pmd_t *pmd, unsigned int flags) - { -@@ -95,7 +105,7 @@ retry: - } - if ((flags & FOLL_NUMA) && pte_protnone(pte)) - goto no_page; -- if ((flags & FOLL_WRITE) && !pte_write(pte)) { -+ if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags)) { - pte_unmap_unlock(ptep, ptl); - return NULL; - } -@@ -412,7 +422,7 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma, - * reCOWed by userspace write). - */ - if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE)) -- *flags &= ~FOLL_WRITE; -+ *flags |= FOLL_COW; - return 0; - } |