Linux v4.1
This commit is contained in:
parent
b83b35dd44
commit
21694f1b76
@ -43,7 +43,7 @@ Signed-off-by: Josh Stone <jistone@redhat.com>
|
||||
2 files changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 3ba504496cb2..43361e22734a 100644
|
||||
index f5c8983aeeb7..962bafd4a18e 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -704,7 +704,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer
|
||||
|
15
kernel.spec
15
kernel.spec
@ -6,7 +6,7 @@ Summary: The Linux kernel
|
||||
# For a stable, released kernel, released_kernel should be 1. For rawhide
|
||||
# and/or a kernel built from an rc or git snapshot, released_kernel should
|
||||
# be 0.
|
||||
%global released_kernel 0
|
||||
%global released_kernel 1
|
||||
|
||||
# Sign modules on x86. Make sure the config files match this setting if more
|
||||
# architectures are added.
|
||||
@ -40,13 +40,13 @@ Summary: The Linux kernel
|
||||
# For non-released -rc kernels, this will be appended after the rcX and
|
||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||
#
|
||||
%global baserelease 2
|
||||
%global baserelease 1
|
||||
%global fedora_build %{baserelease}
|
||||
|
||||
# base_sublevel is the kernel version we're starting with and patching
|
||||
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
|
||||
# which yields a base_sublevel of 0.
|
||||
%define base_sublevel 0
|
||||
%define base_sublevel 1
|
||||
|
||||
## If this is a released kernel ##
|
||||
%if 0%{?released_kernel}
|
||||
@ -65,7 +65,7 @@ Summary: The Linux kernel
|
||||
# The next upstream release sublevel (base_sublevel+1)
|
||||
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
|
||||
# The rc snapshot level
|
||||
%define rcrev 8
|
||||
%define rcrev 0
|
||||
# The git snapshot level
|
||||
%define gitrev 0
|
||||
# Set rpm version accordingly
|
||||
@ -618,8 +618,6 @@ Patch26221: drm-i915-turn-off-wc-mmaps.patch
|
||||
# CVE-2015-XXXX rhbz 1230770 1230774
|
||||
Patch26231: kvm-x86-fix-kvm_apic_has_events-to-check-for-NULL-po.patch
|
||||
|
||||
Patch26232: mm-shmem_zero_setup-skip-security-check-and-lockdep-.patch
|
||||
|
||||
# rhbz 1227891
|
||||
Patch26250: HID-rmi-Disable-populating-F30-when-the-touchpad-has.patch
|
||||
|
||||
@ -1359,8 +1357,6 @@ ApplyPatch drm-i915-turn-off-wc-mmaps.patch
|
||||
# CVE-2015-XXXX rhbz 1230770 1230774
|
||||
ApplyPatch kvm-x86-fix-kvm_apic_has_events-to-check-for-NULL-po.patch
|
||||
|
||||
ApplyPatch mm-shmem_zero_setup-skip-security-check-and-lockdep-.patch
|
||||
|
||||
#rhbz 1227891
|
||||
ApplyPatch HID-rmi-Disable-populating-F30-when-the-touchpad-has.patch
|
||||
|
||||
@ -2228,6 +2224,9 @@ fi
|
||||
#
|
||||
#
|
||||
%changelog
|
||||
* Mon Jun 22 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.1.0-1
|
||||
- Linux v4.1
|
||||
|
||||
* Thu Jun 18 2015 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Add patch to fix touchpad issues on Razer machines (rhbz 1227891)
|
||||
|
||||
|
@ -1,47 +0,0 @@
|
||||
From: Hugh Dickins <hughd@google.com>
|
||||
Date: Sun, 14 Jun 2015 09:48:09 -0700
|
||||
Subject: [PATCH] mm: shmem_zero_setup skip security check and lockdep conflict
|
||||
with XFS
|
||||
|
||||
It appears that, at some point last year, XFS made directory handling
|
||||
changes which bring it into lockdep conflict with shmem_zero_setup():
|
||||
it is surprising that mmap() can clone an inode while holding mmap_sem,
|
||||
but that has been so for many years.
|
||||
|
||||
Since those few lockdep traces that I've seen all implicated selinux,
|
||||
I'm hoping that we can use the __shmem_file_setup(,,,S_PRIVATE) which
|
||||
v3.13's commit c7277090927a ("security: shmem: implement kernel private
|
||||
shmem inodes") introduced to avoid LSM checks on kernel-internal inodes:
|
||||
the mmap("/dev/zero") cloned inode is indeed a kernel-internal detail.
|
||||
|
||||
This also covers the !CONFIG_SHMEM use of ramfs to support /dev/zero
|
||||
(and MAP_SHARED|MAP_ANONYMOUS). I thought there were also drivers
|
||||
which cloned inode in mmap(), but if so, I cannot locate them now.
|
||||
|
||||
Reported-and-tested-by: Prarit Bhargava <prarit@redhat.com>
|
||||
Reported-by: Daniel Wagner <wagi@monom.org>
|
||||
Reported-by: Morten Stevens <mstevens@fedoraproject.org>
|
||||
Signed-off-by: Hugh Dickins <hughd@google.com>
|
||||
---
|
||||
mm/shmem.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mm/shmem.c b/mm/shmem.c
|
||||
index de981370fbc5..47d536e59fc0 100644
|
||||
--- a/mm/shmem.c
|
||||
+++ b/mm/shmem.c
|
||||
@@ -3401,7 +3401,13 @@ int shmem_zero_setup(struct vm_area_struct *vma)
|
||||
struct file *file;
|
||||
loff_t size = vma->vm_end - vma->vm_start;
|
||||
|
||||
- file = shmem_file_setup("dev/zero", size, vma->vm_flags);
|
||||
+ /*
|
||||
+ * Cloning a new file under mmap_sem leads to a lock ordering conflict
|
||||
+ * between XFS directory reading and selinux: since this file is only
|
||||
+ * accessible to the user through its mapping, use S_PRIVATE flag to
|
||||
+ * bypass file security, in the same way as shmem_kernel_file_setup().
|
||||
+ */
|
||||
+ file = __shmem_file_setup("dev/zero", size, vma->vm_flags, S_PRIVATE);
|
||||
if (IS_ERR(file))
|
||||
return PTR_ERR(file);
|
||||
|
Loading…
Reference in New Issue
Block a user