public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/hardened-patchset:master commit in: 4.7.9/, 4.7.8/
@ 2016-10-20 22:33 Anthony G. Basile
  0 siblings, 0 replies; only message in thread
From: Anthony G. Basile @ 2016-10-20 22:33 UTC (permalink / raw
  To: gentoo-commits

commit:     4bd23901b859a1d946edaf5437b03cf4765292c1
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 20 22:32:24 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Oct 20 22:32:24 2016 +0000
URL:        https://gitweb.gentoo.org/proj/hardened-patchset.git/commit/?id=4bd23901

grsecurity-3.1-4.7.9-201610200819

 {4.7.8 => 4.7.9}/0000_README                       |  6 +-
 {4.7.8 => 4.7.9}/1007_linux-4.7.8.patch            |  0
 4.7.9/1008_linux-4.7.9.patch                       | 75 ++++++++++++++++++++++
 .../4420_grsecurity-3.1-4.7.9-201610200819.patch   | 53 +++++++--------
 {4.7.8 => 4.7.9}/4425_grsec_remove_EI_PAX.patch    |  0
 {4.7.8 => 4.7.9}/4427_force_XATTR_PAX_tmpfs.patch  |  0
 .../4430_grsec-remove-localversion-grsec.patch     |  0
 {4.7.8 => 4.7.9}/4435_grsec-mute-warnings.patch    |  0
 .../4440_grsec-remove-protected-paths.patch        |  0
 .../4450_grsec-kconfig-default-gids.patch          |  0
 .../4465_selinux-avc_audit-log-curr_ip.patch       |  0
 {4.7.8 => 4.7.9}/4470_disable-compat_vdso.patch    |  0
 {4.7.8 => 4.7.9}/4475_emutramp_default_on.patch    |  0
 13 files changed, 107 insertions(+), 27 deletions(-)

diff --git a/4.7.8/0000_README b/4.7.9/0000_README
similarity index 92%
rename from 4.7.8/0000_README
rename to 4.7.9/0000_README
index de4b64f..be33a95 100644
--- a/4.7.8/0000_README
+++ b/4.7.9/0000_README
@@ -6,7 +6,11 @@ Patch:	1007_linux-4.7.8.patch
 From:	http://www.kernel.org
 Desc:	Linux 4.7.8
 
-Patch:	4420_grsecurity-3.1-4.7.8-201610161720.patch
+Patch:	1008_linux-4.7.9.patch
+From:	http://www.kernel.org
+Desc:	Linux 4.7.9
+
+Patch:	4420_grsecurity-3.1-4.7.9-201610200819.patch
 From:	http://www.grsecurity.net
 Desc:	hardened-sources base patch from upstream grsecurity
 

diff --git a/4.7.8/1007_linux-4.7.8.patch b/4.7.9/1007_linux-4.7.8.patch
similarity index 100%
rename from 4.7.8/1007_linux-4.7.8.patch
rename to 4.7.9/1007_linux-4.7.8.patch

diff --git a/4.7.9/1008_linux-4.7.9.patch b/4.7.9/1008_linux-4.7.9.patch
new file mode 100644
index 0000000..5fd99d3
--- /dev/null
+++ b/4.7.9/1008_linux-4.7.9.patch
@@ -0,0 +1,75 @@
+diff --git a/Makefile b/Makefile
+index 4e17baa..cb3f64e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 7
+-SUBLEVEL = 8
++SUBLEVEL = 9
+ EXTRAVERSION =
+ NAME = Psychotic Stoned Sheep
+ 
+diff --git a/fs/xfs/xfs_xattr.c b/fs/xfs/xfs_xattr.c
+index ea62245..6290093 100644
+--- a/fs/xfs/xfs_xattr.c
++++ b/fs/xfs/xfs_xattr.c
+@@ -147,6 +147,7 @@ __xfs_xattr_put_listent(
+ 	arraytop = context->count + prefix_len + namelen + 1;
+ 	if (arraytop > context->firstu) {
+ 		context->count = -1;	/* insufficient space */
++		context->seen_enough = 1;
+ 		return 0;
+ 	}
+ 	offset = (char *)context->alist + context->count;
+diff --git a/include/linux/mm.h b/include/linux/mm.h
+index 317564b..7c3df8d 100644
+--- a/include/linux/mm.h
++++ b/include/linux/mm.h
+@@ -2194,6 +2194,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 c057784..2c764f0 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 @@ static struct page *follow_page_pte(struct vm_area_struct *vma,
+ 	}
+ 	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;
+ 	}
+@@ -409,7 +419,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;
+ }
+ 

diff --git a/4.7.8/4420_grsecurity-3.1-4.7.8-201610161720.patch b/4.7.9/4420_grsecurity-3.1-4.7.9-201610200819.patch
similarity index 99%
rename from 4.7.8/4420_grsecurity-3.1-4.7.8-201610161720.patch
rename to 4.7.9/4420_grsecurity-3.1-4.7.9-201610200819.patch
index 8bfeed3..dd0fc99 100644
--- a/4.7.8/4420_grsecurity-3.1-4.7.8-201610161720.patch
+++ b/4.7.9/4420_grsecurity-3.1-4.7.9-201610200819.patch
@@ -425,7 +425,7 @@ index a3683ce..5ec8bf4 100644
  
  A toggle value indicating if modules are allowed to be loaded
 diff --git a/Makefile b/Makefile
-index 4e17baa..27b3224 100644
+index cb3f64e..203a122 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -302,7 +302,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -960,7 +960,7 @@ index d50430c..01cc53b 100644
  # but it is being used too early to link to meaningful stack_chk logic.
  nossp_flags := $(call cc-option, -fno-stack-protector)
 diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
-index 9e10c45..b412d02 100644
+index 9e10c45..5fbb312 100644
 --- a/arch/arm/include/asm/atomic.h
 +++ b/arch/arm/include/asm/atomic.h
 @@ -18,17 +18,41 @@
@@ -1422,24 +1422,16 @@ index 9e10c45..b412d02 100644
  static inline long long atomic64_xchg_relaxed(atomic64_t *ptr, long long new)
  {
  	long long result;
-@@ -380,26 +581,52 @@ static inline long long atomic64_xchg_relaxed(atomic64_t *ptr, long long new)
- 
- 	return result;
+@@ -382,24 +583,44 @@ static inline long long atomic64_xchg_relaxed(atomic64_t *ptr, long long new)
  }
-+
-+static inline long long atomic64_xchg_unchecked_relaxed(atomic64_unchecked_t *ptr, long long new)
-+{
-+	return atomic64_xchg_relaxed((atomic64_t *)ptr, new);
-+}
  #define atomic64_xchg_relaxed		atomic64_xchg_relaxed
-+#define atomic64_xchg_unchecked_relaxed		atomic64_xchg_unchecked_relaxed
-+
+ 
 +static inline long long atomic64_xchg_unchecked_relaxed(atomic64_unchecked_t *ptr, long long new)
 +{
 +	return atomic64_xchg_relaxed((atomic64_t *)ptr, new);
 +}
 +#define atomic64_xchg_unchecked_relaxed		atomic64_xchg_unchecked_relaxed
- 
++
  static inline long long atomic64_dec_if_positive(atomic64_t *v)
  {
  	long long result;
@@ -1481,7 +1473,7 @@ index 9e10c45..b412d02 100644
  	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
  	: "r" (&v->counter)
  	: "cc");
-@@ -423,13 +650,25 @@ static inline int atomic64_add_unless(atomic64_t *v, long long a, long long u)
+@@ -423,13 +644,25 @@ static inline int atomic64_add_unless(atomic64_t *v, long long a, long long u)
  "	teq	%0, %5\n"
  "	teqeq	%H0, %H5\n"
  "	moveq	%1, #0\n"
@@ -1510,7 +1502,7 @@ index 9e10c45..b412d02 100644
  	: "=&r" (val), "+r" (ret), "=&r" (tmp), "+Qo" (v->counter)
  	: "r" (&v->counter), "r" (u), "r" (a)
  	: "cc");
-@@ -442,10 +681,13 @@ static inline int atomic64_add_unless(atomic64_t *v, long long a, long long u)
+@@ -442,10 +675,13 @@ static inline int atomic64_add_unless(atomic64_t *v, long long a, long long u)
  
  #define atomic64_add_negative(a, v)	(atomic64_add_return((a), (v)) < 0)
  #define atomic64_inc(v)			atomic64_add(1LL, (v))
@@ -99270,7 +99262,7 @@ index 4d24d17..4f8c09e 100644
  
  /*
 diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c
-index bd01b92..f6fcace 100644
+index bd01b92..f6fcace1 100644
 --- a/fs/compat_ioctl.c
 +++ b/fs/compat_ioctl.c
 @@ -645,7 +645,7 @@ static int serial_struct_ioctl(struct file *file,
@@ -131298,7 +131290,7 @@ index 1e35588..ce9721b 100644
  	return (long) ptr;
  }
 diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
-index 9ded8c6..e11a245 100644
+index 9ded8c6..e11a2457 100644
 --- a/include/linux/ethtool.h
 +++ b/include/linux/ethtool.h
 @@ -373,4 +373,5 @@ struct ethtool_ops {
@@ -133503,7 +133495,7 @@ index 4894c68..7824e6a 100644
  {
  }
 diff --git a/include/linux/kmod.h b/include/linux/kmod.h
-index fcfd2bf..bc6316e 100644
+index fcfd2bf..e4f5edb 100644
 --- a/include/linux/kmod.h
 +++ b/include/linux/kmod.h
 @@ -34,6 +34,8 @@ extern char modprobe_path[]; /* for sysctl */
@@ -133525,6 +133517,15 @@ index fcfd2bf..bc6316e 100644
  	char **argv;
  	char **envp;
  	int wait;
+@@ -64,7 +69,7 @@ struct subprocess_info {
+ 	int (*init)(struct subprocess_info *info, struct cred *new);
+ 	void (*cleanup)(struct subprocess_info *info);
+ 	void *data;
+-};
++} __randomize_layout;
+ 
+ extern int
+ call_usermodehelper(char *path, char **argv, char **envp, int wait);
 diff --git a/include/linux/kobject.h b/include/linux/kobject.h
 index e628459..5985b6e 100644
 --- a/include/linux/kobject.h
@@ -133978,7 +133979,7 @@ index 5e5b296..629113f 100644
  static inline int
  vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst)
 diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 317564b..4ea9713 100644
+index 7c3df8d..4f68047 100644
 --- a/include/linux/mm.h
 +++ b/include/linux/mm.h
 @@ -107,6 +107,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
@@ -134224,7 +134225,7 @@ index 317564b..4ea9713 100644
  {
  	return __pgprot(0);
  }
-@@ -2323,7 +2345,7 @@ extern int get_hwpoison_page(struct page *page);
+@@ -2324,7 +2346,7 @@ extern int get_hwpoison_page(struct page *page);
  extern int sysctl_memory_failure_early_kill;
  extern int sysctl_memory_failure_recovery;
  extern void shake_page(struct page *p, int access);
@@ -134233,7 +134234,7 @@ index 317564b..4ea9713 100644
  extern int soft_offline_page(struct page *page, int flags);
  
  
-@@ -2411,5 +2433,11 @@ void __init setup_nr_node_ids(void);
+@@ -2412,5 +2434,11 @@ void __init setup_nr_node_ids(void);
  static inline void setup_nr_node_ids(void) {}
  #endif
  
@@ -148799,10 +148800,10 @@ index 20f3b1f..10fc7ab 100644
  			send_sig(SIGXFSZ, current, 0);
  			return -EFBIG;
 diff --git a/mm/gup.c b/mm/gup.c
-index c057784..aafea3a 100644
+index 2c764f0..fbed7a0 100644
 --- a/mm/gup.c
 +++ b/mm/gup.c
-@@ -357,11 +357,6 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma,
+@@ -367,11 +367,6 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma,
  	/* mlock all present pages, but do not fault in new pages */
  	if ((*flags & (FOLL_POPULATE | FOLL_MLOCK)) == FOLL_MLOCK)
  		return -ENOENT;
@@ -148814,7 +148815,7 @@ index c057784..aafea3a 100644
  	if (*flags & FOLL_WRITE)
  		fault_flags |= FAULT_FLAG_WRITE;
  	if (*flags & FOLL_REMOTE)
-@@ -535,14 +530,14 @@ long __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
+@@ -545,14 +540,14 @@ long __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
  	if (!(gup_flags & FOLL_FORCE))
  		gup_flags |= FOLL_NUMA;
  
@@ -148831,7 +148832,7 @@ index c057784..aafea3a 100644
  			if (!vma && in_gate_area(mm, start)) {
  				int ret;
  				ret = get_gate_page(mm, start & PAGE_MASK,
-@@ -554,7 +549,7 @@ long __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
+@@ -564,7 +559,7 @@ long __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
  				goto next_page;
  			}
  
@@ -148840,7 +148841,7 @@ index c057784..aafea3a 100644
  				return i ? : -EFAULT;
  			if (is_vm_hugetlb_page(vma)) {
  				i = follow_hugetlb_page(mm, vma, pages, vmas,
-@@ -615,7 +610,7 @@ next_page:
+@@ -625,7 +620,7 @@ next_page:
  		i += page_increm;
  		start += page_increm * PAGE_SIZE;
  		nr_pages -= page_increm;

diff --git a/4.7.8/4425_grsec_remove_EI_PAX.patch b/4.7.9/4425_grsec_remove_EI_PAX.patch
similarity index 100%
rename from 4.7.8/4425_grsec_remove_EI_PAX.patch
rename to 4.7.9/4425_grsec_remove_EI_PAX.patch

diff --git a/4.7.8/4427_force_XATTR_PAX_tmpfs.patch b/4.7.9/4427_force_XATTR_PAX_tmpfs.patch
similarity index 100%
rename from 4.7.8/4427_force_XATTR_PAX_tmpfs.patch
rename to 4.7.9/4427_force_XATTR_PAX_tmpfs.patch

diff --git a/4.7.8/4430_grsec-remove-localversion-grsec.patch b/4.7.9/4430_grsec-remove-localversion-grsec.patch
similarity index 100%
rename from 4.7.8/4430_grsec-remove-localversion-grsec.patch
rename to 4.7.9/4430_grsec-remove-localversion-grsec.patch

diff --git a/4.7.8/4435_grsec-mute-warnings.patch b/4.7.9/4435_grsec-mute-warnings.patch
similarity index 100%
rename from 4.7.8/4435_grsec-mute-warnings.patch
rename to 4.7.9/4435_grsec-mute-warnings.patch

diff --git a/4.7.8/4440_grsec-remove-protected-paths.patch b/4.7.9/4440_grsec-remove-protected-paths.patch
similarity index 100%
rename from 4.7.8/4440_grsec-remove-protected-paths.patch
rename to 4.7.9/4440_grsec-remove-protected-paths.patch

diff --git a/4.7.8/4450_grsec-kconfig-default-gids.patch b/4.7.9/4450_grsec-kconfig-default-gids.patch
similarity index 100%
rename from 4.7.8/4450_grsec-kconfig-default-gids.patch
rename to 4.7.9/4450_grsec-kconfig-default-gids.patch

diff --git a/4.7.8/4465_selinux-avc_audit-log-curr_ip.patch b/4.7.9/4465_selinux-avc_audit-log-curr_ip.patch
similarity index 100%
rename from 4.7.8/4465_selinux-avc_audit-log-curr_ip.patch
rename to 4.7.9/4465_selinux-avc_audit-log-curr_ip.patch

diff --git a/4.7.8/4470_disable-compat_vdso.patch b/4.7.9/4470_disable-compat_vdso.patch
similarity index 100%
rename from 4.7.8/4470_disable-compat_vdso.patch
rename to 4.7.9/4470_disable-compat_vdso.patch

diff --git a/4.7.8/4475_emutramp_default_on.patch b/4.7.9/4475_emutramp_default_on.patch
similarity index 100%
rename from 4.7.8/4475_emutramp_default_on.patch
rename to 4.7.9/4475_emutramp_default_on.patch


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-10-20 22:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-20 22:33 [gentoo-commits] proj/hardened-patchset:master commit in: 4.7.9/, 4.7.8/ Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox