summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Hernberg2016-11-05 14:46:43 +0100
committerJoakim Hernberg2016-11-05 14:46:43 +0100
commit034308ecee1189b34d4ecbcbd7f10e884dde922d (patch)
treef7606e0b655d5725ed3e418f7538c3441985b322
parent0ad745889651e9481fe9a28930e2bcc9ce726de8 (diff)
downloadaur-034308ecee1189b34d4ecbcbd7f10e884dde922d.tar.gz
bump to 4.8.6_rt5-1
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD19
-rw-r--r--fix-CVE-2016-5195.patch90
3 files changed, 14 insertions, 113 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3836ba2a60e7..e2f54b2ab0bc 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 9ab57b4dd56d..3d54c06c6391 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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;
- }