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

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

Merge 5.4.159 into android11-5.4-lts



Changes in 5.4.159
	Revert "x86/kvm: fix vcpu-id indexed array sizes"
	usb: ehci: handshake CMD_RUN instead of STS_HALT
	usb: gadget: Mark USB_FSL_QE broken on 64-bit
	usb: musb: Balance list entry in musb_gadget_queue
	usb-storage: Add compatibility quirk flags for iODD 2531/2541
	binder: don't detect sender/target during buffer cleanup
	printk/console: Allow to disable console output by using console="" or console=null
	isofs: Fix out of bound access for corrupted isofs image
	comedi: dt9812: fix DMA buffers on stack
	comedi: ni_usb6501: fix NULL-deref in command paths
	comedi: vmk80xx: fix transfer-buffer overflows
	comedi: vmk80xx: fix bulk-buffer overflow
	comedi: vmk80xx: fix bulk and interrupt message timeouts
	staging: r8712u: fix control-message timeout
	staging: rtl8192u: fix control-message timeouts
	media: staging/intel-ipu3: css: Fix wrong size comparison imgu_css_fw_init
	rsi: fix control-message timeout
	Linux 5.4.159

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: Ibb41eb745cd6a3a63b7194dd0773689f35817090
parents 31973612 5915b0ea
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 158
SUBLEVEL = 159
EXTRAVERSION =
NAME = Kleptomaniac Octopus

+1 −1
Original line number Diff line number Diff line
@@ -91,7 +91,7 @@ static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic,
static void rtc_irq_eoi_tracking_reset(struct kvm_ioapic *ioapic)
{
	ioapic->rtc_status.pending_eoi = 0;
	bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID + 1);
	bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID);
}

static void kvm_rtc_eoi_tracking_restore_all(struct kvm_ioapic *ioapic);
+2 −2
Original line number Diff line number Diff line
@@ -43,13 +43,13 @@ struct kvm_vcpu;

struct dest_map {
	/* vcpu bitmap where IRQ has been sent */
	DECLARE_BITMAP(map, KVM_MAX_VCPU_ID + 1);
	DECLARE_BITMAP(map, KVM_MAX_VCPU_ID);

	/*
	 * Vector sent to a given vcpu, only valid when
	 * the vcpu's bit in map is set
	 */
	u8 vectors[KVM_MAX_VCPU_ID + 1];
	u8 vectors[KVM_MAX_VCPU_ID];
};


+7 −7
Original line number Diff line number Diff line
@@ -1983,7 +1983,7 @@ static void binder_transaction_buffer_release(struct binder_proc *proc,
		binder_dec_node(buffer->target_node, 1, 0);

	off_start_offset = ALIGN(buffer->data_size, sizeof(void *));
	off_end_offset = is_failure ? failed_at :
	off_end_offset = is_failure && failed_at ? failed_at :
				off_start_offset + buffer->offsets_size;
	for (buffer_offset = off_start_offset; buffer_offset < off_end_offset;
	     buffer_offset += sizeof(binder_size_t)) {
@@ -2069,9 +2069,8 @@ static void binder_transaction_buffer_release(struct binder_proc *proc,
			binder_size_t fd_buf_size;
			binder_size_t num_valid;

			if (proc->tsk != current->group_leader) {
			if (is_failure) {
				/*
				 * Nothing to do if running in sender context
				 * The fd fixups have not been applied so no
				 * fds need to be closed.
				 */
@@ -3287,6 +3286,7 @@ static void binder_transaction(struct binder_proc *proc,
 * binder_free_buf() - free the specified buffer
 * @proc:	binder proc that owns buffer
 * @buffer:	buffer to be freed
 * @is_failure:	failed to send transaction
 *
 * If buffer for an async transaction, enqueue the next async
 * transaction from the node.
@@ -3296,7 +3296,7 @@ static void binder_transaction(struct binder_proc *proc,
static void
binder_free_buf(struct binder_proc *proc,
		struct binder_thread *thread,
		struct binder_buffer *buffer)
		struct binder_buffer *buffer, bool is_failure)
{
	binder_inner_proc_lock(proc);
	if (buffer->transaction) {
@@ -3324,7 +3324,7 @@ binder_free_buf(struct binder_proc *proc,
		binder_node_inner_unlock(buf_node);
	}
	trace_binder_transaction_buffer_release(buffer);
	binder_transaction_buffer_release(proc, thread, buffer, 0, false);
	binder_transaction_buffer_release(proc, thread, buffer, 0, is_failure);
	binder_alloc_free_buf(&proc->alloc, buffer);
}

@@ -3518,7 +3518,7 @@ static int binder_thread_write(struct binder_proc *proc,
				     proc->pid, thread->pid, (u64)data_ptr,
				     buffer->debug_id,
				     buffer->transaction ? "active" : "finished");
			binder_free_buf(proc, thread, buffer);
			binder_free_buf(proc, thread, buffer, false);
			break;
		}

@@ -4205,7 +4205,7 @@ static int binder_thread_read(struct binder_proc *proc,
			buffer->transaction = NULL;
			binder_cleanup_transaction(t, "fd fixups failed",
						   BR_FAILED_REPLY);
			binder_free_buf(proc, thread, buffer);
			binder_free_buf(proc, thread, buffer, true);
			binder_debug(BINDER_DEBUG_FAILED_TRANSACTION,
				     "%d:%d %stransaction %d fd fixups failed %d/%d, line %d\n",
				     proc->pid, thread->pid,
+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ static int rsi_usb_card_write(struct rsi_hw *adapter,
			      (void *)seg,
			      (int)len,
			      &transfer,
			      HZ * 5);
			      USB_CTRL_SET_TIMEOUT);

	if (status < 0) {
		rsi_dbg(ERR_ZONE,
Loading