summaryrefslogtreecommitdiffstats
path: root/freed-ora/current/f26
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2017-11-04 01:46:21 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2017-11-04 01:46:21 +0000
commitfe59c838191e1f9644cfe66f7cc1ca2303e233cd (patch)
treed02c0d3f1b2ae59e2ec95e0c70c34798cd0390af /freed-ora/current/f26
parentf1b750139168992ed4c95ffc6b5e1254ca3aa585 (diff)
downloadlinux-libre-raptor-fe59c838191e1f9644cfe66f7cc1ca2303e233cd.tar.gz
linux-libre-raptor-fe59c838191e1f9644cfe66f7cc1ca2303e233cd.zip
4.13.11-200.fc26.gnu
Diffstat (limited to 'freed-ora/current/f26')
-rw-r--r--freed-ora/current/f26/kernel.spec20
-rw-r--r--freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch79
-rw-r--r--freed-ora/current/f26/patch-4.13-gnu-4.13.10-gnu.xz.sign6
-rw-r--r--freed-ora/current/f26/patch-4.13-gnu-4.13.11-gnu.xz.sign6
-rw-r--r--freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch220
-rw-r--r--freed-ora/current/f26/sources2
6 files changed, 325 insertions, 8 deletions
diff --git a/freed-ora/current/f26/kernel.spec b/freed-ora/current/f26/kernel.spec
index d69a63891..687902679 100644
--- a/freed-ora/current/f26/kernel.spec
+++ b/freed-ora/current/f26/kernel.spec
@@ -92,7 +92,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 10
+%define stable_update 11
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -736,6 +736,12 @@ Patch630: Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch
# Headed upstream
Patch631: drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch
+# http://patchwork.ozlabs.org/patch/831938/
+Patch633: net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch
+
+# Included in 4.14, backport requested on kernel@
+Patch634: selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -2406,6 +2412,18 @@ fi
#
#
%changelog
+* Thu Nov 2 2017 Alexandre Oliva <lxoliva@fsfla.org> -libre
+- GNU Linux-libre 4.13.11-gnu.
+
+* Thu Nov 02 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.11-200
+- Linux v4.13.11
+- Fix CVE-2017-12193 (rhbz 1501215 1508717)
+- SMB3: Validate negotiate request must always be signed (rhbz 1502606)
+- Backport new SELinux NNP/nosuid patch to resolve interactions with systemd
+
+* Wed Nov 01 2017 Laura Abbott <labbott@fedoraproject.org>
+- Add fix for potential mlxsw firmware incompatibility
+
* Sat Oct 28 2017 Alexandre Oliva <lxoliva@fsfla.org> -libre
- GNU Linux-libre 4.13.10-gnu.
diff --git a/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch b/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch
new file mode 100644
index 000000000..957200e17
--- /dev/null
+++ b/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch
@@ -0,0 +1,79 @@
+From patchwork Mon Oct 30 09:51:18 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [net] mlxsw: reg: Add high and low temperature thresholds
+X-Patchwork-Submitter: Jiri Pirko <jiri@resnulli.us>
+X-Patchwork-Id: 831938
+X-Patchwork-Delegate: davem@davemloft.net
+Message-Id: <20171030095118.9098-1-jiri@resnulli.us>
+To: netdev@vger.kernel.org
+Cc: davem@davemloft.net, idosch@mellanox.com, mlxsw@mellanox.com
+Date: Mon, 30 Oct 2017 10:51:18 +0100
+From: Jiri Pirko <jiri@resnulli.us>
+List-Id: <netdev.vger.kernel.org>
+
+From: Ido Schimmel <idosch@mellanox.com>
+
+The ASIC has the ability to generate events whenever a sensor indicates
+the temperature goes above or below its high or low thresholds,
+respectively.
+
+In new firmware versions the firmware enforces a minimum of 5
+degrees Celsius difference between both thresholds. Make the driver
+conform to this requirement.
+
+Note that this is required even when the events are disabled, as in
+certain systems interrupts are generated via GPIO based on these
+thresholds.
+
+Fixes: 85926f877040 ("mlxsw: reg: Add definition of temperature management registers")
+Signed-off-by: Ido Schimmel <idosch@mellanox.com>
+Signed-off-by: Jiri Pirko <jiri@mellanox.com>
+---
+ drivers/net/ethernet/mellanox/mlxsw/reg.h | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+diff --git a/drivers/net/ethernet/mellanox/mlxsw/reg.h b/drivers/net/ethernet/mellanox/mlxsw/reg.h
+index 4afc848..5acfbe5 100644
+--- a/drivers/net/ethernet/mellanox/mlxsw/reg.h
++++ b/drivers/net/ethernet/mellanox/mlxsw/reg.h
+@@ -5827,6 +5827,29 @@ MLXSW_ITEM32(reg, mtmp, mtr, 0x08, 30, 1);
+ */
+ MLXSW_ITEM32(reg, mtmp, max_temperature, 0x08, 0, 16);
+
++/* reg_mtmp_tee
++ * Temperature Event Enable.
++ * 0 - Do not generate event
++ * 1 - Generate event
++ * 2 - Generate single event
++ * Access: RW
++ */
++MLXSW_ITEM32(reg, mtmp, tee, 0x0C, 30, 2);
++
++#define MLXSW_REG_MTMP_THRESH_HI 0x348 /* 105 Celsius */
++
++/* reg_mtmp_temperature_threshold_hi
++ * High threshold for Temperature Warning Event. In 0.125 Celsius.
++ * Access: RW
++ */
++MLXSW_ITEM32(reg, mtmp, temperature_threshold_hi, 0x0C, 0, 16);
++
++/* reg_mtmp_temperature_threshold_lo
++ * Low threshold for Temperature Warning Event. In 0.125 Celsius.
++ * Access: RW
++ */
++MLXSW_ITEM32(reg, mtmp, temperature_threshold_lo, 0x10, 0, 16);
++
+ #define MLXSW_REG_MTMP_SENSOR_NAME_SIZE 8
+
+ /* reg_mtmp_sensor_name
+@@ -5843,6 +5866,8 @@ static inline void mlxsw_reg_mtmp_pack(char *payload, u8 sensor_index,
+ mlxsw_reg_mtmp_sensor_index_set(payload, sensor_index);
+ mlxsw_reg_mtmp_mte_set(payload, max_temp_enable);
+ mlxsw_reg_mtmp_mtr_set(payload, max_temp_reset);
++ mlxsw_reg_mtmp_temperature_threshold_hi_set(payload,
++ MLXSW_REG_MTMP_THRESH_HI);
+ }
+
+ static inline void mlxsw_reg_mtmp_unpack(char *payload, unsigned int *p_temp,
diff --git a/freed-ora/current/f26/patch-4.13-gnu-4.13.10-gnu.xz.sign b/freed-ora/current/f26/patch-4.13-gnu-4.13.10-gnu.xz.sign
deleted file mode 100644
index 5a11401e2..000000000
--- a/freed-ora/current/f26/patch-4.13-gnu-4.13.10-gnu.xz.sign
+++ /dev/null
@@ -1,6 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWfSPLgAKCRC8t8+Hfn1H
-p9hrAJ9/Ka5AF4gVFmJQjchILQayPV2BfACeJQG2Ba/zXjFHan2Ud/wUEJX/sqw=
-=b/jf
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f26/patch-4.13-gnu-4.13.11-gnu.xz.sign b/freed-ora/current/f26/patch-4.13-gnu-4.13.11-gnu.xz.sign
new file mode 100644
index 000000000..34205af3f
--- /dev/null
+++ b/freed-ora/current/f26/patch-4.13-gnu-4.13.11-gnu.xz.sign
@@ -0,0 +1,6 @@
+-----BEGIN PGP SIGNATURE-----
+
+iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWfuokwAKCRC8t8+Hfn1H
+p6xLAKCeeI+jBuO5qRkM+UPnpuomm2Vn5wCfWeAVTZOSC8qv1spFcepfdu+3xkM=
+=KHsh
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch b/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch
new file mode 100644
index 000000000..797566c8d
--- /dev/null
+++ b/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch
@@ -0,0 +1,220 @@
+From af63f4193f9fbbbac50fc766417d74735afd87ef Mon Sep 17 00:00:00 2001
+From: Stephen Smalley <sds@tycho.nsa.gov>
+Date: Mon, 31 Jul 2017 10:12:46 -0400
+Subject: [PATCH] selinux: Generalize support for NNP/nosuid SELinux domain
+ transitions
+
+As systemd ramps up enabling NNP (NoNewPrivileges) for system services,
+it is increasingly breaking SELinux domain transitions for those services
+and their descendants. systemd enables NNP not only for services whose
+unit files explicitly specify NoNewPrivileges=yes but also for services
+whose unit files specify any of the following options in combination with
+running without CAP_SYS_ADMIN (e.g. specifying User= or a
+CapabilityBoundingSet= without CAP_SYS_ADMIN): SystemCallFilter=,
+SystemCallArchitectures=, RestrictAddressFamilies=, RestrictNamespaces=,
+PrivateDevices=, ProtectKernelTunables=, ProtectKernelModules=,
+MemoryDenyWriteExecute=, or RestrictRealtime= as per the systemd.exec(5)
+man page.
+
+The end result is bad for the security of both SELinux-disabled and
+SELinux-enabled systems. Packagers have to turn off these
+options in the unit files to preserve SELinux domain transitions. For
+users who choose to disable SELinux, this means that they miss out on
+at least having the systemd-supported protections. For users who keep
+SELinux enabled, they may still be missing out on some protections
+because it isn't necessarily guaranteed that the SELinux policy for
+that service provides the same protections in all cases.
+
+commit 7b0d0b40cd78 ("selinux: Permit bounded transitions under
+NO_NEW_PRIVS or NOSUID.") allowed bounded transitions under NNP in
+order to support limited usage for sandboxing programs. However,
+defining typebounds for all of the affected service domains
+is impractical to implement in policy, since typebounds requires us
+to ensure that each domain is allowed everything all of its descendant
+domains are allowed, and this has to be repeated for the entire chain
+of domain transitions. There is no way to clone all allow rules from
+descendants to their ancestors in policy currently, and doing so would
+be undesirable even if it were practical, as it requires leaking
+permissions to objects and operations into ancestor domains that could
+weaken their own security in order to allow them to the descendants
+(e.g. if a descendant requires execmem permission, then so do all of
+its ancestors; if a descendant requires execute permission to a file,
+then so do all of its ancestors; if a descendant requires read to a
+symbolic link or temporary file, then so do all of its ancestors...).
+SELinux domains are intentionally not hierarchical / bounded in this
+manner normally, and making them so would undermine their protections
+and least privilege.
+
+We have long had a similar tension with SELinux transitions and nosuid
+mounts, albeit not as severe. Users often have had to choose between
+retaining nosuid on a mount and allowing SELinux domain transitions on
+files within those mounts. This likewise leads to unfortunate tradeoffs
+in security.
+
+Decouple NNP/nosuid from SELinux transitions, so that we don't have to
+make a choice between them. Introduce a nnp_nosuid_transition policy
+capability that enables transitions under NNP/nosuid to be based on
+a permission (nnp_transition for NNP; nosuid_transition for nosuid)
+between the old and new contexts in addition to the current support
+for bounded transitions. Domain transitions can then be allowed in
+policy without requiring the parent to be a strict superset of all of
+its children.
+
+With this change, systemd unit files can be left unmodified from upstream.
+SELinux-disabled and SELinux-enabled users will benefit from retaining any
+of the systemd-provided protections. SELinux policy will only need to
+be adapted to enable the new policy capability and to allow the
+new permissions between domain pairs as appropriate.
+
+NB: Allowing nnp_transition between two contexts opens up the potential
+for the old context to subvert the new context by installing seccomp
+filters before the execve. Allowing nosuid_transition between two contexts
+opens up the potential for a context transition to occur on a file from
+an untrusted filesystem (e.g. removable media or remote filesystem). Use
+with care.
+
+Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
+Signed-off-by: Paul Moore <paul@paul-moore.com>
+---
+ security/selinux/hooks.c | 47 +++++++++++++++++++++++++------------
+ security/selinux/include/classmap.h | 2 ++
+ security/selinux/include/security.h | 2 ++
+ security/selinux/ss/services.c | 7 +++++-
+ 4 files changed, 42 insertions(+), 16 deletions(-)
+
+diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
+index 00ad46e166f6..04b8e1082c9a 100644
+--- a/security/selinux/hooks.c
++++ b/security/selinux/hooks.c
+@@ -2318,6 +2318,7 @@ static int check_nnp_nosuid(const struct linux_binprm *bprm,
+ int nnp = (bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS);
+ int nosuid = !mnt_may_suid(bprm->file->f_path.mnt);
+ int rc;
++ u32 av;
+
+ if (!nnp && !nosuid)
+ return 0; /* neither NNP nor nosuid */
+@@ -2326,24 +2327,40 @@ static int check_nnp_nosuid(const struct linux_binprm *bprm,
+ return 0; /* No change in credentials */
+
+ /*
+- * The only transitions we permit under NNP or nosuid
+- * are transitions to bounded SIDs, i.e. SIDs that are
+- * guaranteed to only be allowed a subset of the permissions
+- * of the current SID.
++ * If the policy enables the nnp_nosuid_transition policy capability,
++ * then we permit transitions under NNP or nosuid if the
++ * policy allows the corresponding permission between
++ * the old and new contexts.
+ */
+- rc = security_bounded_transition(old_tsec->sid, new_tsec->sid);
+- if (rc) {
+- /*
+- * On failure, preserve the errno values for NNP vs nosuid.
+- * NNP: Operation not permitted for caller.
+- * nosuid: Permission denied to file.
+- */
++ if (selinux_policycap_nnp_nosuid_transition) {
++ av = 0;
+ if (nnp)
+- return -EPERM;
+- else
+- return -EACCES;
++ av |= PROCESS2__NNP_TRANSITION;
++ if (nosuid)
++ av |= PROCESS2__NOSUID_TRANSITION;
++ rc = avc_has_perm(old_tsec->sid, new_tsec->sid,
++ SECCLASS_PROCESS2, av, NULL);
++ if (!rc)
++ return 0;
+ }
+- return 0;
++
++ /*
++ * We also permit NNP or nosuid transitions to bounded SIDs,
++ * i.e. SIDs that are guaranteed to only be allowed a subset
++ * of the permissions of the current SID.
++ */
++ rc = security_bounded_transition(old_tsec->sid, new_tsec->sid);
++ if (!rc)
++ return 0;
++
++ /*
++ * On failure, preserve the errno values for NNP vs nosuid.
++ * NNP: Operation not permitted for caller.
++ * nosuid: Permission denied to file.
++ */
++ if (nnp)
++ return -EPERM;
++ return -EACCES;
+ }
+
+ static int selinux_bprm_set_creds(struct linux_binprm *bprm)
+diff --git a/security/selinux/include/classmap.h b/security/selinux/include/classmap.h
+index b9fe3434b036..35ffb29a69cb 100644
+--- a/security/selinux/include/classmap.h
++++ b/security/selinux/include/classmap.h
+@@ -48,6 +48,8 @@ struct security_class_mapping secclass_map[] = {
+ "setrlimit", "rlimitinh", "dyntransition", "setcurrent",
+ "execmem", "execstack", "execheap", "setkeycreate",
+ "setsockcreate", "getrlimit", NULL } },
++ { "process2",
++ { "nnp_transition", "nosuid_transition", NULL } },
+ { "system",
+ { "ipc_info", "syslog_read", "syslog_mod",
+ "syslog_console", "module_request", "module_load", NULL } },
+diff --git a/security/selinux/include/security.h b/security/selinux/include/security.h
+index e91f08c16c0b..3e323179159a 100644
+--- a/security/selinux/include/security.h
++++ b/security/selinux/include/security.h
+@@ -73,6 +73,7 @@ enum {
+ POLICYDB_CAPABILITY_EXTSOCKCLASS,
+ POLICYDB_CAPABILITY_ALWAYSNETWORK,
+ POLICYDB_CAPABILITY_CGROUPSECLABEL,
++ POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION,
+ __POLICYDB_CAPABILITY_MAX
+ };
+ #define POLICYDB_CAPABILITY_MAX (__POLICYDB_CAPABILITY_MAX - 1)
+@@ -84,6 +85,7 @@ extern int selinux_policycap_openperm;
+ extern int selinux_policycap_extsockclass;
+ extern int selinux_policycap_alwaysnetwork;
+ extern int selinux_policycap_cgroupseclabel;
++extern int selinux_policycap_nnp_nosuid_transition;
+
+ /*
+ * type_datum properties
+diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
+index 2f02fa67ec2e..16c55de21b9f 100644
+--- a/security/selinux/ss/services.c
++++ b/security/selinux/ss/services.c
+@@ -76,7 +76,8 @@ char *selinux_policycap_names[__POLICYDB_CAPABILITY_MAX] = {
+ "open_perms",
+ "extended_socket_class",
+ "always_check_network",
+- "cgroup_seclabel"
++ "cgroup_seclabel",
++ "nnp_nosuid_transition"
+ };
+
+ int selinux_policycap_netpeer;
+@@ -84,6 +85,7 @@ int selinux_policycap_openperm;
+ int selinux_policycap_extsockclass;
+ int selinux_policycap_alwaysnetwork;
+ int selinux_policycap_cgroupseclabel;
++int selinux_policycap_nnp_nosuid_transition;
+
+ static DEFINE_RWLOCK(policy_rwlock);
+
+@@ -2009,6 +2011,9 @@ static void security_load_policycaps(void)
+ selinux_policycap_cgroupseclabel =
+ ebitmap_get_bit(&policydb.policycaps,
+ POLICYDB_CAPABILITY_CGROUPSECLABEL);
++ selinux_policycap_nnp_nosuid_transition =
++ ebitmap_get_bit(&policydb.policycaps,
++ POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION);
+
+ for (i = 0; i < ARRAY_SIZE(selinux_policycap_names); i++)
+ pr_info("SELinux: policy capability %s=%d\n",
+--
+2.14.3
+
diff --git a/freed-ora/current/f26/sources b/freed-ora/current/f26/sources
index 6820039ea..03c80ff47 100644
--- a/freed-ora/current/f26/sources
+++ b/freed-ora/current/f26/sources
@@ -1,3 +1,3 @@
SHA512 (linux-libre-4.13-gnu.tar.xz) = 9ad6866c68f29f7e4f8b53d0b857f9b3c7f6abd0054460675c76f3100db34a77c2777d7f4191831008b532cb2ab6f686d8c4f457a4d005226c73f90937963518
SHA512 (perf-man-4.13.tar.gz) = 9bcc2cd8e56ec583ed2d8e0b0c88e7a94035a1915e40b3177bb02d6c0f10ddd4df9b097b1f5af59efc624226b613e240ddba8ddc2156f3682f992d5455fc5c03
-SHA512 (patch-4.13-gnu-4.13.10-gnu.xz) = 2cb1afa8755071d8cb386403bf0f8cb81b0c6e1b77da08e6af379cd289f95c70953f25390766fe66de13ba4e4af41aebe3e4ce8277ca1fc1de512242272cb4e6
+SHA512 (patch-4.13-gnu-4.13.11-gnu.xz) = fccf85e95c1c78c68876190aef5ad047971fede93d2cee47abfdfe009e76a374e15a89cee6ac4a68ab4dd90a43c7ec977ec21064a96445e177b7bce62ef2f528
OpenPOWER on IntegriCloud