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

Commit 4afd5971 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 4.19.30 into android-4.19



Changes in 4.19.30
	connector: fix unsafe usage of ->real_parent
	gro_cells: make sure device is up in gro_cells_receive()
	ipv4/route: fail early when inet dev is missing
	l2tp: fix infoleak in l2tp_ip6_recvmsg()
	lan743x: Fix RX Kernel Panic
	lan743x: Fix TX Stall Issue
	net: hsr: fix memory leak in hsr_dev_finalize()
	net/hsr: fix possible crash in add_timer()
	net: sit: fix UBSAN Undefined behaviour in check_6rd
	net/x25: fix use-after-free in x25_device_event()
	net/x25: reset state in x25_connect()
	pptp: dst_release sk_dst_cache in pptp_sock_destruct
	ravb: Decrease TxFIFO depth of Q3 and Q2 to one
	route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race
	rxrpc: Fix client call queueing, waiting for channel
	sctp: remove sched init from sctp_stream_init
	tcp: do not report TCP_CM_INQ of 0 for closed connections
	tcp: Don't access TCP_SKB_CB before initializing it
	tcp: handle inet_csk_reqsk_queue_add() failures
	vxlan: Fix GRO cells race condition between receive and link delete
	vxlan: test dev->flags & IFF_UP before calling gro_cells_receive()
	net/mlx4_core: Fix reset flow when in command polling mode
	net/mlx4_core: Fix locking in SRIOV mode when switching between events and polling
	net/mlx4_core: Fix qp mtt size calculation
	net/x25: fix a race in x25_bind()
	mdio_bus: Fix use-after-free on device_register fails
	net: Set rtm_table to RT_TABLE_COMPAT for ipv6 for tables > 255
	ipv6: route: purge exception on removal
	team: use operstate consistently for linkup
	ipvlan: disallow userns cap_net_admin to change global mode/flags
	ipv6: route: enforce RCU protection in rt6_update_exception_stamp_rt()
	ipv6: route: enforce RCU protection in ip6_route_check_nh_onlink()
	bonding: fix PACKET_ORIGDEV regression
	net/smc: fix smc_poll in SMC_INIT state
	missing barriers in some of unix_sock ->addr and ->path accesses
	net: sched: flower: insert new filter to idr after setting its mask
	f2fs: wait on atomic writes to count F2FS_CP_WB_DATA
	perf/x86: Fixup typo in stub functions
	ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56
	ALSA: firewire-motu: fix construction of PCM frame for capture direction
	ALSA: hda: Extend i915 component bind timeout
	ALSA: hda - add more quirks for HP Z2 G4 and HP Z240
	ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294
	ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone
	ALSA: hda/realtek: Enable headset MIC of Acer TravelMate X514-51T with ALC255
	perf/x86/intel: Fix memory corruption
	perf/x86/intel: Make dev_attr_allow_tsx_force_abort static
	It's wrong to add len to sector_nr in raid10 reshape twice
	drm: Block fb changes for async plane updates
	staging: erofs: fix race when the managed cache is enabled
	i40e: report correct statistics when XDP is enabled
	vhost/vsock: fix vhost vsock cid hashing inconsistent
	Linux 4.19.30

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 2e568c97 7794d352
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 29
SUBLEVEL = 30
EXTRAVERSION =
NAME = "People's Front"

+2 −2
Original line number Diff line number Diff line
@@ -3282,7 +3282,7 @@ tfa_get_event_constraints(struct cpu_hw_events *cpuc, int idx,
	/*
	 * Without TFA we must not use PMC3.
	 */
	if (!allow_tsx_force_abort && test_bit(3, c->idxmsk)) {
	if (!allow_tsx_force_abort && test_bit(3, c->idxmsk) && idx >= 0) {
		c = dyn_constraint(cpuc, c, idx);
		c->idxmsk64 &= ~(1ULL << 3);
		c->weight--;
@@ -3989,7 +3989,7 @@ static struct attribute *intel_pmu_caps_attrs[] = {
       NULL
};

DEVICE_BOOL_ATTR(allow_tsx_force_abort, 0644, allow_tsx_force_abort);
static DEVICE_BOOL_ATTR(allow_tsx_force_abort, 0644, allow_tsx_force_abort);

static struct attribute *intel_pmu_attrs[] = {
	&dev_attr_freeze_on_smi.attr,
+2 −2
Original line number Diff line number Diff line
@@ -1030,12 +1030,12 @@ static inline int intel_pmu_init(void)
	return 0;
}

static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu)
static inline int intel_cpuc_prepare(struct cpu_hw_events *cpuc, int cpu)
{
	return 0;
}

static inline void intel_cpuc_finish(struct cpu_hw_event *cpuc)
static inline void intel_cpuc_finish(struct cpu_hw_events *cpuc)
{
}

+18 −4
Original line number Diff line number Diff line
@@ -250,6 +250,7 @@ void proc_coredump_connector(struct task_struct *task)
{
	struct cn_msg *msg;
	struct proc_event *ev;
	struct task_struct *parent;
	__u8 buffer[CN_PROC_MSG_SIZE] __aligned(8);

	if (atomic_read(&proc_event_num_listeners) < 1)
@@ -262,8 +263,14 @@ void proc_coredump_connector(struct task_struct *task)
	ev->what = PROC_EVENT_COREDUMP;
	ev->event_data.coredump.process_pid = task->pid;
	ev->event_data.coredump.process_tgid = task->tgid;
	ev->event_data.coredump.parent_pid = task->real_parent->pid;
	ev->event_data.coredump.parent_tgid = task->real_parent->tgid;

	rcu_read_lock();
	if (pid_alive(task)) {
		parent = rcu_dereference(task->real_parent);
		ev->event_data.coredump.parent_pid = parent->pid;
		ev->event_data.coredump.parent_tgid = parent->tgid;
	}
	rcu_read_unlock();

	memcpy(&msg->id, &cn_proc_event_id, sizeof(msg->id));
	msg->ack = 0; /* not used */
@@ -276,6 +283,7 @@ void proc_exit_connector(struct task_struct *task)
{
	struct cn_msg *msg;
	struct proc_event *ev;
	struct task_struct *parent;
	__u8 buffer[CN_PROC_MSG_SIZE] __aligned(8);

	if (atomic_read(&proc_event_num_listeners) < 1)
@@ -290,8 +298,14 @@ void proc_exit_connector(struct task_struct *task)
	ev->event_data.exit.process_tgid = task->tgid;
	ev->event_data.exit.exit_code = task->exit_code;
	ev->event_data.exit.exit_signal = task->exit_signal;
	ev->event_data.exit.parent_pid = task->real_parent->pid;
	ev->event_data.exit.parent_tgid = task->real_parent->tgid;

	rcu_read_lock();
	if (pid_alive(task)) {
		parent = rcu_dereference(task->real_parent);
		ev->event_data.exit.parent_pid = parent->pid;
		ev->event_data.exit.parent_tgid = parent->tgid;
	}
	rcu_read_unlock();

	memcpy(&msg->id, &cn_proc_event_id, sizeof(msg->id));
	msg->ack = 0; /* not used */
+9 −0
Original line number Diff line number Diff line
@@ -1573,6 +1573,15 @@ int drm_atomic_helper_async_check(struct drm_device *dev,
	if (old_plane_state->fb != new_plane_state->fb)
		return -EINVAL;

	/*
	 * FIXME: Since prepare_fb and cleanup_fb are always called on
	 * the new_plane_state for async updates we need to block framebuffer
	 * changes. This prevents use of a fb that's been cleaned up and
	 * double cleanups from occuring.
	 */
	if (old_plane_state->fb != new_plane_state->fb)
		return -EINVAL;

	funcs = plane->helper_private;
	if (!funcs->atomic_async_update)
		return -EINVAL;
Loading