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

Commit 6cff87be authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 4.14.73 into android-4.14-p



Changes in 4.14.73
	gso_segment: Reset skb->mac_len after modifying network header
	ipv6: fix possible use-after-free in ip6_xmit()
	net/appletalk: fix minor pointer leak to userspace in SIOCFINDIPDDPRT
	net: hp100: fix always-true check for link up state
	pppoe: fix reception of frames with no mac header
	qmi_wwan: set DTR for modems in forced USB2 mode
	udp4: fix IP_CMSG_CHECKSUM for connected sockets
	neighbour: confirm neigh entries when ARP packet is received
	udp6: add missing checks on edumux packet processing
	net/sched: act_sample: fix NULL dereference in the data path
	tls: don't copy the key out of tls12_crypto_info_aes_gcm_128
	tls: zero the crypto information from tls_context before freeing
	tls: clear key material from kernel memory when do_tls_setsockopt_conf fails
	NFC: Fix possible memory corruption when handling SHDLC I-Frame commands
	NFC: Fix the number of pipes
	ASoC: cs4265: fix MMTLR Data switch control
	ASoC: rsnd: fixup not to call clk_get/set under non-atomic
	ALSA: bebob: fix memory leak for M-Audio FW1814 and ProjectMix I/O at error path
	ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping
	ALSA: emu10k1: fix possible info leak to userspace on SNDRV_EMU10K1_IOCTL_INFO
	ALSA: fireface: fix memory leak in ff400_switch_fetching_mode()
	ALSA: firewire-digi00x: fix memory leak of private data
	ALSA: firewire-tascam: fix memory leak of private data
	ALSA: fireworks: fix memory leak of response buffer at error path
	ALSA: oxfw: fix memory leak for model-dependent data at error path
	ALSA: oxfw: fix memory leak of discovered stream formats at error path
	ALSA: oxfw: fix memory leak of private data
	platform/x86: alienware-wmi: Correct a memory leak
	xen/netfront: don't bug in case of too many frags
	xen/x86/vpmu: Zero struct pt_regs before calling into sample handling code
	spi: fix IDR collision on systems with both fixed and dynamic SPI bus numbers
	Revert "PCI: Add ACS quirk for Intel 300 series"
	ring-buffer: Allow for rescheduling when removing pages
	mm: shmem.c: Correctly annotate new inodes for lockdep
	Revert "rpmsg: core: add support to power domains for devices"
	Revert "uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name"
	scsi: target: iscsi: Use hex2bin instead of a re-implementation
	scsi: target: iscsi: Use bin2hex instead of a re-implementation
	Revert "ubifs: xattr: Don't operate on deleted inodes"
	ocfs2: fix ocfs2 read block panic
	drm/nouveau: Fix deadlocks in nouveau_connector_detect()
	drm/nouveau/drm/nouveau: Don't forget to cancel hpd_work on suspend/unload
	drm/nouveau/drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
	drm/nouveau/drm/nouveau: Use pm_runtime_get_noresume() in connector_detect()
	drm/nouveau/drm/nouveau: Prevent handling ACPI HPD events too early
	drm/vc4: Fix the "no scaling" case on multi-planar YUV formats
	drm: udl: Destroy framebuffer only if it was initialized
	drm/amdgpu: add new polaris pci id
	tty: vt_ioctl: fix potential Spectre v1
	ext4: check to make sure the rename(2)'s destination is not freed
	ext4: avoid divide by zero fault when deleting corrupted inline directories
	ext4: avoid arithemetic overflow that can trigger a BUG
	ext4: recalucate superblock checksum after updating free blocks/inodes
	ext4: fix online resize's handling of a too-small final block group
	ext4: fix online resizing for bigalloc file systems with a 1k block size
	ext4: don't mark mmp buffer head dirty
	ext4: show test_dummy_encryption mount option in /proc/mounts
	sched/fair: Fix vruntime_normalized() for remote non-migration wakeup
	PCI: aardvark: Size bridges before resources allocation
	vmw_balloon: include asm/io.h
	iw_cxgb4: only allow 1 flush on user qps
	tick/nohz: Prevent bogus softirq pending warning
	spi: Fix double IDR allocation with DT aliases
	Linux 4.14.73

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

+1 −1
Original line number Diff line number Diff line
@@ -478,7 +478,7 @@ static void xen_convert_regs(const struct xen_pmu_regs *xen_regs,
irqreturn_t xen_pmu_irq_handler(int irq, void *dev_id)
{
	int err, ret = IRQ_NONE;
	struct pt_regs regs;
	struct pt_regs regs = {0};
	const struct xen_pmu_data *xenpmu_data = get_xenpmu_data();
	uint8_t xenpmu_flags = get_xenpmu_flags();

+8 −6
Original line number Diff line number Diff line
@@ -715,12 +715,14 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
				break;
			case CHIP_POLARIS10:
				if (type == CGS_UCODE_ID_SMU) {
					if ((adev->pdev->device == 0x67df) &&
					if (((adev->pdev->device == 0x67df) &&
					     ((adev->pdev->revision == 0xe0) ||
					      (adev->pdev->revision == 0xe3) ||
					      (adev->pdev->revision == 0xe4) ||
					      (adev->pdev->revision == 0xe5) ||
					      (adev->pdev->revision == 0xe7) ||
					      (adev->pdev->revision == 0xef))) ||
					    ((adev->pdev->device == 0x6fdf) &&
					     (adev->pdev->revision == 0xef))) {
						info->is_kicker = true;
						strcpy(fw_name, "amdgpu/polaris10_k_smc.bin");
+1 −0
Original line number Diff line number Diff line
@@ -500,6 +500,7 @@ static const struct pci_device_id pciidlist[] = {
	{0x1002, 0x67CA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS10},
	{0x1002, 0x67CC, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS10},
	{0x1002, 0x67CF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS10},
	{0x1002, 0x6FDF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS10},
	/* Polaris12 */
	{0x1002, 0x6980, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12},
	{0x1002, 0x6981, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12},
+33 −9
Original line number Diff line number Diff line
@@ -570,12 +570,16 @@ nouveau_connector_detect(struct drm_connector *connector, bool force)
		nv_connector->edid = NULL;
	}

	/* Outputs are only polled while runtime active, so acquiring a
	 * runtime PM ref here is unnecessary (and would deadlock upon
	 * runtime suspend because it waits for polling to finish).
	/* Outputs are only polled while runtime active, so resuming the
	 * device here is unnecessary (and would deadlock upon runtime suspend
	 * because it waits for polling to finish). We do however, want to
	 * prevent the autosuspend timer from elapsing during this operation
	 * if possible.
	 */
	if (!drm_kms_helper_is_poll_worker()) {
		ret = pm_runtime_get_sync(connector->dev->dev);
	if (drm_kms_helper_is_poll_worker()) {
		pm_runtime_get_noresume(dev->dev);
	} else {
		ret = pm_runtime_get_sync(dev->dev);
		if (ret < 0 && ret != -EACCES)
			return conn_status;
	}
@@ -653,10 +657,8 @@ nouveau_connector_detect(struct drm_connector *connector, bool force)

 out:

	if (!drm_kms_helper_is_poll_worker()) {
		pm_runtime_mark_last_busy(connector->dev->dev);
		pm_runtime_put_autosuspend(connector->dev->dev);
	}
	pm_runtime_mark_last_busy(dev->dev);
	pm_runtime_put_autosuspend(dev->dev);

	return conn_status;
}
@@ -1120,6 +1122,26 @@ nouveau_connector_hotplug(struct nvif_notify *notify)
	const struct nvif_notify_conn_rep_v0 *rep = notify->data;
	const char *name = connector->name;
	struct nouveau_encoder *nv_encoder;
	int ret;

	ret = pm_runtime_get(drm->dev->dev);
	if (ret == 0) {
		/* We can't block here if there's a pending PM request
		 * running, as we'll deadlock nouveau_display_fini() when it
		 * calls nvif_put() on our nvif_notify struct. So, simply
		 * defer the hotplug event until the device finishes resuming
		 */
		NV_DEBUG(drm, "Deferring HPD on %s until runtime resume\n",
			 name);
		schedule_work(&drm->hpd_work);

		pm_runtime_put_noidle(drm->dev->dev);
		return NVIF_NOTIFY_KEEP;
	} else if (ret != 1 && ret != -EACCES) {
		NV_WARN(drm, "HPD on %s dropped due to RPM failure: %d\n",
			name, ret);
		return NVIF_NOTIFY_DROP;
	}

	if (rep->mask & NVIF_NOTIFY_CONN_V0_IRQ) {
		NV_DEBUG(drm, "service %s\n", name);
@@ -1137,6 +1159,8 @@ nouveau_connector_hotplug(struct nvif_notify *notify)
		drm_helper_hpd_irq_event(connector->dev);
	}

	pm_runtime_mark_last_busy(drm->dev->dev);
	pm_runtime_put_autosuspend(drm->dev->dev);
	return NVIF_NOTIFY_KEEP;
}

Loading