From aab9bd8042722604df21892025dbbabd598cee10 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 19 Jun 2019 20:04:14 +0100 Subject: sys-kernel/linux-{image,sources}-redcore-lts : version bump --- .../files/4.19-uksm-linux-hardened.patch | 116 ++++++++++----------- 1 file changed, 58 insertions(+), 58 deletions(-) (limited to 'sys-kernel/linux-image-redcore-lts/files/4.19-uksm-linux-hardened.patch') diff --git a/sys-kernel/linux-image-redcore-lts/files/4.19-uksm-linux-hardened.patch b/sys-kernel/linux-image-redcore-lts/files/4.19-uksm-linux-hardened.patch index afb30db2..9237058b 100644 --- a/sys-kernel/linux-image-redcore-lts/files/4.19-uksm-linux-hardened.patch +++ b/sys-kernel/linux-image-redcore-lts/files/4.19-uksm-linux-hardened.patch @@ -1,6 +1,6 @@ diff -Nur a/Documentation/vm/00-INDEX b/Documentation/vm/00-INDEX ---- a/Documentation/vm/00-INDEX 2019-02-06 16:30:16.000000000 +0000 -+++ b/Documentation/vm/00-INDEX 2019-02-09 17:23:06.726863699 +0000 +--- a/Documentation/vm/00-INDEX 2019-06-11 11:20:57.000000000 +0100 ++++ b/Documentation/vm/00-INDEX 2019-06-19 19:34:58.729369555 +0100 @@ -18,6 +18,8 @@ - explains what hwpoison is ksm.rst @@ -12,7 +12,7 @@ diff -Nur a/Documentation/vm/00-INDEX b/Documentation/vm/00-INDEX numa.rst diff -Nur a/Documentation/vm/uksm.txt b/Documentation/vm/uksm.txt --- a/Documentation/vm/uksm.txt 1970-01-01 01:00:00.000000000 +0100 -+++ b/Documentation/vm/uksm.txt 2019-02-09 17:23:06.726863699 +0000 ++++ b/Documentation/vm/uksm.txt 2019-06-19 19:34:58.729369555 +0100 @@ -0,0 +1,61 @@ +The Ultra Kernel Samepage Merging feature +---------------------------------------------- @@ -76,8 +76,8 @@ diff -Nur a/Documentation/vm/uksm.txt b/Documentation/vm/uksm.txt +2016-09-10 UKSM 0.1.2.5 Fix a bug in dedup ratio calculation. +2017-02-26 UKSM 0.1.2.6 Fix a bug in hugetlbpage handling and a race bug with page migration. diff -Nur a/fs/exec.c b/fs/exec.c ---- a/fs/exec.c 2019-02-09 17:20:30.471820869 +0000 -+++ b/fs/exec.c 2019-02-09 17:26:11.522863979 +0000 +--- a/fs/exec.c 2019-06-19 19:33:03.485533722 +0100 ++++ b/fs/exec.c 2019-06-19 19:34:58.729369555 +0100 @@ -63,6 +63,7 @@ #include #include @@ -95,8 +95,8 @@ diff -Nur a/fs/exec.c b/fs/exec.c } EXPORT_SYMBOL(setup_new_exec); diff -Nur a/fs/proc/meminfo.c b/fs/proc/meminfo.c ---- a/fs/proc/meminfo.c 2019-02-06 16:30:16.000000000 +0000 -+++ b/fs/proc/meminfo.c 2019-02-09 17:23:06.726863699 +0000 +--- a/fs/proc/meminfo.c 2019-06-11 11:20:57.000000000 +0100 ++++ b/fs/proc/meminfo.c 2019-06-19 19:34:58.729369555 +0100 @@ -106,6 +106,10 @@ global_zone_page_state(NR_KERNEL_STACK_KB)); show_val_kb(m, "PageTables: ", @@ -109,8 +109,8 @@ diff -Nur a/fs/proc/meminfo.c b/fs/proc/meminfo.c show_val_kb(m, "Quicklists: ", quicklist_total_size()); #endif diff -Nur a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h ---- a/include/asm-generic/pgtable.h 2019-02-06 16:30:16.000000000 +0000 -+++ b/include/asm-generic/pgtable.h 2019-02-09 17:23:06.726863699 +0000 +--- a/include/asm-generic/pgtable.h 2019-06-11 11:20:57.000000000 +0100 ++++ b/include/asm-generic/pgtable.h 2019-06-19 19:34:58.739369890 +0100 @@ -817,12 +817,25 @@ extern void untrack_pfn_moved(struct vm_area_struct *vma); #endif @@ -148,8 +148,8 @@ diff -Nur a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h static inline unsigned long my_zero_pfn(unsigned long addr) diff -Nur a/include/linux/ksm.h b/include/linux/ksm.h ---- a/include/linux/ksm.h 2019-02-06 16:30:16.000000000 +0000 -+++ b/include/linux/ksm.h 2019-02-09 17:23:06.726863699 +0000 +--- a/include/linux/ksm.h 2019-06-11 11:20:57.000000000 +0100 ++++ b/include/linux/ksm.h 2019-06-19 19:34:58.739369890 +0100 @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: GPL-3.0 */ @@ -224,8 +224,8 @@ diff -Nur a/include/linux/ksm.h b/include/linux/ksm.h + #endif /* __LINUX_KSM_H */ diff -Nur a/include/linux/mm_types.h b/include/linux/mm_types.h ---- a/include/linux/mm_types.h 2019-02-06 16:30:16.000000000 +0000 -+++ b/include/linux/mm_types.h 2019-02-09 17:23:06.726863699 +0000 +--- a/include/linux/mm_types.h 2019-06-11 11:20:57.000000000 +0100 ++++ b/include/linux/mm_types.h 2019-06-19 19:34:58.739369890 +0100 @@ -323,6 +323,9 @@ struct mempolicy *vm_policy; /* NUMA policy for the VMA */ #endif @@ -237,8 +237,8 @@ diff -Nur a/include/linux/mm_types.h b/include/linux/mm_types.h struct core_thread { diff -Nur a/include/linux/mmzone.h b/include/linux/mmzone.h ---- a/include/linux/mmzone.h 2019-02-06 16:30:16.000000000 +0000 -+++ b/include/linux/mmzone.h 2019-02-09 17:23:06.726863699 +0000 +--- a/include/linux/mmzone.h 2019-06-11 11:20:57.000000000 +0100 ++++ b/include/linux/mmzone.h 2019-06-19 19:34:58.739369890 +0100 @@ -148,6 +148,9 @@ NR_ZSPAGES, /* allocated in zsmalloc */ #endif @@ -260,7 +260,7 @@ diff -Nur a/include/linux/mmzone.h b/include/linux/mmzone.h * @zone - pointer to struct zone variable diff -Nur a/include/linux/sradix-tree.h b/include/linux/sradix-tree.h --- a/include/linux/sradix-tree.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/include/linux/sradix-tree.h 2019-02-09 17:23:06.726863699 +0000 ++++ b/include/linux/sradix-tree.h 2019-06-19 19:34:58.739369890 +0100 @@ -0,0 +1,77 @@ +#ifndef _LINUX_SRADIX_TREE_H +#define _LINUX_SRADIX_TREE_H @@ -341,7 +341,7 @@ diff -Nur a/include/linux/sradix-tree.h b/include/linux/sradix-tree.h +#endif /* _LINUX_SRADIX_TREE_H */ diff -Nur a/include/linux/uksm.h b/include/linux/uksm.h --- a/include/linux/uksm.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/include/linux/uksm.h 2019-02-09 17:23:06.726863699 +0000 ++++ b/include/linux/uksm.h 2019-06-19 19:34:58.739369890 +0100 @@ -0,0 +1,149 @@ +#ifndef __LINUX_UKSM_H +#define __LINUX_UKSM_H @@ -493,8 +493,8 @@ diff -Nur a/include/linux/uksm.h b/include/linux/uksm.h +#endif /* !CONFIG_UKSM */ +#endif /* __LINUX_UKSM_H */ diff -Nur a/kernel/fork.c b/kernel/fork.c ---- a/kernel/fork.c 2019-02-09 17:20:30.481821193 +0000 -+++ b/kernel/fork.c 2019-02-09 17:23:06.736864024 +0000 +--- a/kernel/fork.c 2019-06-19 19:33:03.505534386 +0100 ++++ b/kernel/fork.c 2019-06-19 19:34:58.739369890 +0100 @@ -543,7 +543,7 @@ __vma_link_rb(mm, tmp, rb_link, rb_parent); rb_link = &tmp->vm_rb.rb_right; @@ -505,10 +505,10 @@ diff -Nur a/kernel/fork.c b/kernel/fork.c if (!(tmp->vm_flags & VM_WIPEONFORK)) retval = copy_page_range(mm, oldmm, mpnt); diff -Nur a/lib/Makefile b/lib/Makefile ---- a/lib/Makefile 2019-02-06 16:30:16.000000000 +0000 -+++ b/lib/Makefile 2019-02-09 17:23:06.736864024 +0000 -@@ -18,7 +18,7 @@ - KCOV_INSTRUMENT_dynamic_debug.o := n +--- a/lib/Makefile 2019-06-11 11:20:57.000000000 +0100 ++++ b/lib/Makefile 2019-06-19 19:34:58.739369890 +0100 +@@ -29,7 +29,7 @@ + endif lib-y := ctype.o string.o vsprintf.o cmdline.o \ - rbtree.o radix-tree.o timerqueue.o\ @@ -518,7 +518,7 @@ diff -Nur a/lib/Makefile b/lib/Makefile flex_proportions.o ratelimit.o show_mem.o \ diff -Nur a/lib/sradix-tree.c b/lib/sradix-tree.c --- a/lib/sradix-tree.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/lib/sradix-tree.c 2019-02-09 17:23:06.736864024 +0000 ++++ b/lib/sradix-tree.c 2019-06-19 19:34:58.739369890 +0100 @@ -0,0 +1,476 @@ +#include +#include @@ -997,8 +997,8 @@ diff -Nur a/lib/sradix-tree.c b/lib/sradix-tree.c + return 0; +} diff -Nur a/mm/Kconfig b/mm/Kconfig ---- a/mm/Kconfig 2019-02-09 17:20:30.491821512 +0000 -+++ b/mm/Kconfig 2019-02-09 17:23:06.736864024 +0000 +--- a/mm/Kconfig 2019-06-19 19:33:03.515534719 +0100 ++++ b/mm/Kconfig 2019-06-19 19:34:58.739369890 +0100 @@ -307,6 +307,32 @@ See Documentation/vm/ksm.rst for more information: KSM is inactive until a program has madvised that an area is MADV_MERGEABLE, and @@ -1033,8 +1033,8 @@ diff -Nur a/mm/Kconfig b/mm/Kconfig config DEFAULT_MMAP_MIN_ADDR int "Low address space to protect from user allocation" diff -Nur a/mm/ksm.c b/mm/ksm.c ---- a/mm/ksm.c 2019-02-06 16:30:16.000000000 +0000 -+++ b/mm/ksm.c 2019-02-09 17:23:06.736864024 +0000 +--- a/mm/ksm.c 2019-06-11 11:20:57.000000000 +0100 ++++ b/mm/ksm.c 2019-06-19 19:34:58.739369890 +0100 @@ -842,17 +842,6 @@ return err; } @@ -1054,8 +1054,8 @@ diff -Nur a/mm/ksm.c b/mm/ksm.c /* * Only called through the sysfs control interface: diff -Nur a/mm/Makefile b/mm/Makefile ---- a/mm/Makefile 2019-02-06 16:30:16.000000000 +0000 -+++ b/mm/Makefile 2019-02-09 17:23:06.736864024 +0000 +--- a/mm/Makefile 2019-06-11 11:20:57.000000000 +0100 ++++ b/mm/Makefile 2019-06-19 19:34:58.739369890 +0100 @@ -64,7 +64,8 @@ obj-$(CONFIG_SPARSEMEM_VMEMMAP) += sparse-vmemmap.o obj-$(CONFIG_SLOB) += slob.o @@ -1067,8 +1067,8 @@ diff -Nur a/mm/Makefile b/mm/Makefile obj-$(CONFIG_SLAB) += slab.o obj-$(CONFIG_SLUB) += slub.o diff -Nur a/mm/memory.c b/mm/memory.c ---- a/mm/memory.c 2019-02-06 16:30:16.000000000 +0000 -+++ b/mm/memory.c 2019-02-09 17:23:06.736864024 +0000 +--- a/mm/memory.c 2019-06-11 11:20:57.000000000 +0100 ++++ b/mm/memory.c 2019-06-19 19:34:58.739369890 +0100 @@ -128,6 +128,25 @@ unsigned long highest_memmap_pfn __read_mostly; @@ -1134,7 +1134,7 @@ diff -Nur a/mm/memory.c b/mm/memory.c if (!PageAnon(page)) { if (pte_dirty(ptent)) { -@@ -2353,8 +2380,10 @@ +@@ -2359,8 +2386,10 @@ clear_page(kaddr); kunmap_atomic(kaddr); flush_dcache_page(dst); @@ -1146,7 +1146,7 @@ diff -Nur a/mm/memory.c b/mm/memory.c } static gfp_t __get_fault_gfp_mask(struct vm_area_struct *vma) -@@ -2503,6 +2532,7 @@ +@@ -2509,6 +2538,7 @@ vmf->address); if (!new_page) goto oom; @@ -1154,7 +1154,7 @@ diff -Nur a/mm/memory.c b/mm/memory.c } else { new_page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, vmf->address); -@@ -2529,7 +2559,9 @@ +@@ -2535,7 +2565,9 @@ mm_counter_file(old_page)); inc_mm_counter_fast(mm, MM_ANONPAGES); } @@ -1165,17 +1165,17 @@ diff -Nur a/mm/memory.c b/mm/memory.c } flush_cache_page(vma, vmf->address, pte_pfn(vmf->orig_pte)); diff -Nur a/mm/mmap.c b/mm/mmap.c ---- a/mm/mmap.c 2019-02-09 17:20:30.491821512 +0000 -+++ b/mm/mmap.c 2019-02-09 17:23:06.736864024 +0000 +--- a/mm/mmap.c 2019-06-19 19:33:03.515534719 +0100 ++++ b/mm/mmap.c 2019-06-19 19:35:33.710535047 +0100 @@ -45,6 +45,7 @@ #include #include #include +#include + #include #include - #include -@@ -182,6 +183,7 @@ +@@ -183,6 +184,7 @@ if (vma->vm_file) fput(vma->vm_file); mpol_put(vma_policy(vma)); @@ -1183,7 +1183,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c vm_area_free(vma); return next; } -@@ -708,9 +710,16 @@ +@@ -709,9 +711,16 @@ long adjust_next = 0; int remove_next = 0; @@ -1200,7 +1200,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c if (end >= next->vm_end) { /* * vma expands, overlapping all the next, and -@@ -843,6 +852,7 @@ +@@ -844,6 +853,7 @@ end_changed = true; } vma->vm_pgoff = pgoff; @@ -1208,7 +1208,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c if (adjust_next) { next->vm_start += adjust_next << PAGE_SHIFT; next->vm_pgoff += adjust_next; -@@ -948,6 +958,7 @@ +@@ -949,6 +959,7 @@ if (remove_next == 2) { remove_next = 1; end = next->vm_end; @@ -1216,7 +1216,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c goto again; } else if (next) -@@ -974,10 +985,14 @@ +@@ -975,10 +986,14 @@ */ VM_WARN_ON(mm->highest_vm_end != vm_end_gap(vma)); } @@ -1231,7 +1231,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c validate_mm(mm); return 0; -@@ -1434,6 +1449,9 @@ +@@ -1435,6 +1450,9 @@ vm_flags |= calc_vm_prot_bits(prot, pkey) | calc_vm_flag_bits(flags) | mm->def_flags | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC; @@ -1241,7 +1241,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c if (flags & MAP_LOCKED) if (!can_do_mlock()) return -EPERM; -@@ -1798,6 +1816,7 @@ +@@ -1799,6 +1817,7 @@ allow_write_access(file); } file = vma->vm_file; @@ -1249,7 +1249,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c out: perf_event_mmap(vma); -@@ -1840,6 +1859,7 @@ +@@ -1841,6 +1860,7 @@ if (vm_flags & VM_DENYWRITE) allow_write_access(file); free_vma: @@ -1257,7 +1257,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c vm_area_free(vma); unacct_error: if (charged) -@@ -2659,6 +2679,8 @@ +@@ -2663,6 +2683,8 @@ else err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); @@ -1266,7 +1266,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c /* Success. */ if (!err) return 0; -@@ -2944,6 +2966,7 @@ +@@ -2948,6 +2970,7 @@ if ((flags & (~VM_EXEC)) != 0) return -EINVAL; flags |= VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; @@ -1274,7 +1274,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c error = get_unmapped_area(NULL, addr, len, 0, MAP_FIXED); if (offset_in_page(error)) -@@ -3000,6 +3023,7 @@ +@@ -3004,6 +3027,7 @@ vma->vm_flags = flags; vma->vm_page_prot = vm_get_page_prot(flags); vma_link(mm, vma, prev, rb_link, rb_parent); @@ -1282,7 +1282,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c out: perf_event_mmap(vma); mm->total_vm += len >> PAGE_SHIFT; -@@ -3077,6 +3101,12 @@ +@@ -3081,6 +3105,12 @@ up_write(&mm->mmap_sem); } @@ -1295,7 +1295,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c if (mm->locked_vm) { vma = mm->mmap; while (vma) { -@@ -3111,6 +3141,11 @@ +@@ -3115,6 +3145,11 @@ vma = remove_vma(vma); } vm_unacct_memory(nr_accounted); @@ -1307,7 +1307,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c } /* Insert vm structure into process list sorted by address -@@ -3218,6 +3253,7 @@ +@@ -3222,6 +3257,7 @@ new_vma->vm_ops->open(new_vma); vma_link(mm, new_vma, prev, rb_link, rb_parent); *need_rmap_locks = false; @@ -1315,7 +1315,7 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c } return new_vma; -@@ -3368,6 +3404,7 @@ +@@ -3372,6 +3408,7 @@ vm_stat_account(mm, vma->vm_flags, len >> PAGE_SHIFT); perf_event_mmap(vma); @@ -1324,8 +1324,8 @@ diff -Nur a/mm/mmap.c b/mm/mmap.c return vma; diff -Nur a/mm/rmap.c b/mm/rmap.c ---- a/mm/rmap.c 2019-02-06 16:30:16.000000000 +0000 -+++ b/mm/rmap.c 2019-02-09 17:23:06.736864024 +0000 +--- a/mm/rmap.c 2019-06-11 11:20:57.000000000 +0100 ++++ b/mm/rmap.c 2019-06-19 19:34:58.749370222 +0100 @@ -1017,9 +1017,9 @@ /** @@ -1340,7 +1340,7 @@ diff -Nur a/mm/rmap.c b/mm/rmap.c static void __page_set_anon_rmap(struct page *page, diff -Nur a/mm/uksm.c b/mm/uksm.c --- a/mm/uksm.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/mm/uksm.c 2019-02-09 17:23:06.736864024 +0000 ++++ b/mm/uksm.c 2019-06-19 19:34:58.749370222 +0100 @@ -0,0 +1,5584 @@ +/* + * Ultra KSM. Copyright (C) 2011-2012 Nai Xia @@ -6927,8 +6927,8 @@ diff -Nur a/mm/uksm.c b/mm/uksm.c +#endif + diff -Nur a/mm/vmstat.c b/mm/vmstat.c ---- a/mm/vmstat.c 2019-02-06 16:30:16.000000000 +0000 -+++ b/mm/vmstat.c 2019-02-09 17:23:06.736864024 +0000 +--- a/mm/vmstat.c 2019-06-11 11:20:57.000000000 +0100 ++++ b/mm/vmstat.c 2019-06-19 19:34:58.749370222 +0100 @@ -1163,6 +1163,9 @@ "nr_written", "", /* nr_indirectly_reclaimable */ -- cgit v1.2.3