Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d4b4b55 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 4.14.83 into android-4.14-p



Changes in 4.14.83
	flow_dissector: do not dissect l4 ports for fragments
	ibmvnic: fix accelerated VLAN handling
	ip_tunnel: don't force DF when MTU is locked
	ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF
	net-gro: reset skb->pkt_type in napi_reuse_skb()
	sctp: not allow to set asoc prsctp_enable by sockopt
	tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths
	tuntap: fix multiqueue rx
	net: systemport: Protect stop from timeout
	net: qualcomm: rmnet: Fix incorrect assignment of real_dev
	net: dsa: microchip: initialize mutex before use
	sctp: fix strchange_flags name for Stream Change Event
	net: phy: mdio-gpio: Fix working over slow can_sleep GPIOs
	sctp: not increase stream's incnt before sending addstrm_in request
	mlxsw: spectrum: Fix IP2ME CPU policer configuration
	net: smsc95xx: Fix MTU range
	usbnet: smsc95xx: disable carrier check while suspending
	inet: frags: better deal with smp races
	Revert "x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation"
	ARM: dts: r8a7791: Correct critical CPU temperature
	ARM: dts: r8a7793: Correct critical CPU temperature
	Linux 4.14.83

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 82609b3a 1d4bd2e4
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
VERSION = 4
PATCHLEVEL = 14
PATCHLEVEL = 14
SUBLEVEL = 82
SUBLEVEL = 83
EXTRAVERSION =
EXTRAVERSION =
NAME = Petit Gorille
NAME = Petit Gorille


+1 −1
Original line number Original line Diff line number Diff line
@@ -91,7 +91,7 @@


			trips {
			trips {
				cpu-crit {
				cpu-crit {
					temperature	= <115000>;
					temperature	= <95000>;
					hysteresis	= <0>;
					hysteresis	= <0>;
					type		= "critical";
					type		= "critical";
				};
				};
+1 −1
Original line number Original line Diff line number Diff line
@@ -88,7 +88,7 @@


			trips {
			trips {
				cpu-crit {
				cpu-crit {
					temperature	= <115000>;
					temperature	= <95000>;
					hysteresis	= <0>;
					hysteresis	= <0>;
					type		= "critical";
					type		= "critical";
				};
				};
+6 −51
Original line number Original line Diff line number Diff line
@@ -34,10 +34,12 @@ static void __init spectre_v2_select_mitigation(void);
static void __init ssb_select_mitigation(void);
static void __init ssb_select_mitigation(void);
static void __init l1tf_select_mitigation(void);
static void __init l1tf_select_mitigation(void);


/* The base value of the SPEC_CTRL MSR that always has to be preserved. */
/*
u64 x86_spec_ctrl_base;
 * Our boot-time value of the SPEC_CTRL MSR. We read it once so that any
 * writes to SPEC_CTRL contain whatever reserved bits have been set.
 */
u64 __ro_after_init x86_spec_ctrl_base;
EXPORT_SYMBOL_GPL(x86_spec_ctrl_base);
EXPORT_SYMBOL_GPL(x86_spec_ctrl_base);
static DEFINE_MUTEX(spec_ctrl_mutex);


/*
/*
 * The vendor and possibly platform specific bits which can be modified in
 * The vendor and possibly platform specific bits which can be modified in
@@ -321,46 +323,6 @@ static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)
	return cmd;
	return cmd;
}
}


static bool stibp_needed(void)
{
	if (spectre_v2_enabled == SPECTRE_V2_NONE)
		return false;

	if (!boot_cpu_has(X86_FEATURE_STIBP))
		return false;

	return true;
}

static void update_stibp_msr(void *info)
{
	wrmsrl(MSR_IA32_SPEC_CTRL, x86_spec_ctrl_base);
}

void arch_smt_update(void)
{
	u64 mask;

	if (!stibp_needed())
		return;

	mutex_lock(&spec_ctrl_mutex);
	mask = x86_spec_ctrl_base;
	if (cpu_smt_control == CPU_SMT_ENABLED)
		mask |= SPEC_CTRL_STIBP;
	else
		mask &= ~SPEC_CTRL_STIBP;

	if (mask != x86_spec_ctrl_base) {
		pr_info("Spectre v2 cross-process SMT mitigation: %s STIBP\n",
				cpu_smt_control == CPU_SMT_ENABLED ?
				"Enabling" : "Disabling");
		x86_spec_ctrl_base = mask;
		on_each_cpu(update_stibp_msr, NULL, 1);
	}
	mutex_unlock(&spec_ctrl_mutex);
}

static void __init spectre_v2_select_mitigation(void)
static void __init spectre_v2_select_mitigation(void)
{
{
	enum spectre_v2_mitigation_cmd cmd = spectre_v2_parse_cmdline();
	enum spectre_v2_mitigation_cmd cmd = spectre_v2_parse_cmdline();
@@ -460,9 +422,6 @@ static void __init spectre_v2_select_mitigation(void)
		setup_force_cpu_cap(X86_FEATURE_USE_IBRS_FW);
		setup_force_cpu_cap(X86_FEATURE_USE_IBRS_FW);
		pr_info("Enabling Restricted Speculation for firmware calls\n");
		pr_info("Enabling Restricted Speculation for firmware calls\n");
	}
	}

	/* Enable STIBP if appropriate */
	arch_smt_update();
}
}


#undef pr_fmt
#undef pr_fmt
@@ -855,8 +814,6 @@ static ssize_t l1tf_show_state(char *buf)
static ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr,
static ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr,
			       char *buf, unsigned int bug)
			       char *buf, unsigned int bug)
{
{
	int ret;

	if (!boot_cpu_has_bug(bug))
	if (!boot_cpu_has_bug(bug))
		return sprintf(buf, "Not affected\n");
		return sprintf(buf, "Not affected\n");


@@ -871,12 +828,10 @@ static ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr
		return sprintf(buf, "Mitigation: __user pointer sanitization\n");
		return sprintf(buf, "Mitigation: __user pointer sanitization\n");


	case X86_BUG_SPECTRE_V2:
	case X86_BUG_SPECTRE_V2:
		ret = sprintf(buf, "%s%s%s%s%s\n", spectre_v2_strings[spectre_v2_enabled],
		return sprintf(buf, "%s%s%s%s\n", spectre_v2_strings[spectre_v2_enabled],
			       boot_cpu_has(X86_FEATURE_USE_IBPB) ? ", IBPB" : "",
			       boot_cpu_has(X86_FEATURE_USE_IBPB) ? ", IBPB" : "",
			       boot_cpu_has(X86_FEATURE_USE_IBRS_FW) ? ", IBRS_FW" : "",
			       boot_cpu_has(X86_FEATURE_USE_IBRS_FW) ? ", IBRS_FW" : "",
			       (x86_spec_ctrl_base & SPEC_CTRL_STIBP) ? ", STIBP" : "",
			       spectre_v2_module_string());
			       spectre_v2_module_string());
		return ret;


	case X86_BUG_SPEC_STORE_BYPASS:
	case X86_BUG_SPEC_STORE_BYPASS:
		return sprintf(buf, "%s\n", ssb_strings[ssb_mode]);
		return sprintf(buf, "%s\n", ssb_strings[ssb_mode]);
+5 −5
Original line number Original line Diff line number Diff line
@@ -1104,11 +1104,6 @@ static int ksz_switch_init(struct ksz_device *dev)
{
{
	int i;
	int i;


	mutex_init(&dev->reg_mutex);
	mutex_init(&dev->stats_mutex);
	mutex_init(&dev->alu_mutex);
	mutex_init(&dev->vlan_mutex);

	dev->ds->ops = &ksz_switch_ops;
	dev->ds->ops = &ksz_switch_ops;


	for (i = 0; i < ARRAY_SIZE(ksz_switch_chips); i++) {
	for (i = 0; i < ARRAY_SIZE(ksz_switch_chips); i++) {
@@ -1193,6 +1188,11 @@ int ksz_switch_register(struct ksz_device *dev)
	if (dev->pdata)
	if (dev->pdata)
		dev->chip_id = dev->pdata->chip_id;
		dev->chip_id = dev->pdata->chip_id;


	mutex_init(&dev->reg_mutex);
	mutex_init(&dev->stats_mutex);
	mutex_init(&dev->alu_mutex);
	mutex_init(&dev->vlan_mutex);

	if (ksz_switch_detect(dev))
	if (ksz_switch_detect(dev))
		return -EINVAL;
		return -EINVAL;


Loading