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

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

Merge 3.18.29 into android-3.18



Changes in 3.18.29:
	iscsi-target: Fix rx_login_comp hang after login failure
	target: Fix race for SCF_COMPARE_AND_WRITE_POST checking
	target: fix COMPARE_AND_WRITE non zero SGL offset data corruption
	target: Fix LUN_RESET active I/O handling for ACK_KREF
	target: Fix TAS handling for multi-session se_node_acls
	target: Fix remote-port TMR ABORT + se_cmd fabric stop
	target: Fix race with SCF_SEND_DELAYED_TAS handling
	x86/entry/compat: Add missing CLAC to entry_INT80_32
	xen/scsiback: correct frontend counting
	nfs: fix nfs_size_to_loff_t
	libata: fix HDIO_GET_32BIT ioctl
	iwlwifi: mvm: don't allow sched scans without matches to be started
	xen/pciback: Save xen_pci_op commands before processing it
	xen/pciback: Return error on XEN_PCI_OP_enable_msix when device has MSI or MSI-X enabled
	xen/pciback: Don't allow MSI-X ops if PCI_COMMAND_MEMORY is not set.
	xen/pcifront: Fix mysterious crashes when NUMA locality information was extracted.
	[media] adv7604: fix tx 5v detect regression
	usb: dwc3: Fix assignment of EP transfer resources
	NFSv4: Fix a dentry leak on alias use
	USB: option: add support for SIM7100E
	USB: cp210x: add ID for ELV Marble Sound Board 1
	USB: cp210x: add IDs for GE B650V3 and B850V3 boards
	usb: cp210x support SEL C662 Vendor/Device
	USB: option: add "4G LTE usb-modem U901"
	ahci: Order SATA device IDs for codename Lewisburg
	Adding Intel Lewisburg device IDs for SATA
	hwmon: (ads1015) Handle negative conversion values correctly
	can: ems_usb: Fix possible tx overflow
	s390/compat: correct restore of high gprs on signal return
	drm/radeon/pm: adjust display configuration after powerstate
	sunrpc/cache: fix off-by-one in qword_get()
	KVM: arm/arm64: vgic: Ensure bitmaps are long enough
	KVM: async_pf: do not warn on page allocation failures
	tracing: Fix showing function event in available_events
	libceph: don't bail early from try_read() when skipping a message
	usb: chipidea: otg: change workqueue ci_otg as freezable
	ALSA: hda/realtek - Clean up mute/mic GPIO LED handling
	ALSA: hda/realtek - Supported HP mute Led for ALC286
	ALSA: hda - Enable mic mute hotkey and LEDs for an HP machine
	ALSA: hda - Enable docking station for an HP machine
	ALSA: hda/realtek - Support Dell headset mode for ALC288
	ALSA: hda/realtek - Support Dell headset mode for ALC298
	ALSA: hda/realtek - Dell XPS one ALC3260 speaker no sound after resume back
	ALSA: hda - Fix headphone noise after Dell XPS 13 resume back from S3
	ALSA: hda - Fixing speaker noise on the two latest thinkpad models
	ALSA: hda - Add mic mute hotkey quirk for Lenovo ThinkCentre AIO
	KVM: x86: MMU: fix ubsan index-out-of-range warning
	Revert "jffs2: Fix lock acquisition order bug in jffs2_write_begin"
	jffs2: Fix page lock / f->sem deadlock
	Fix directory hardlinks from deleted directories
	ALSA: hda - Fixing background noise on Dell Inspiron 3162
	ALSA: hda/realtek - Support Dell headset mode for ALC225
	ALSA: hda - Fixup speaker pass-through control for nid 0x14 on ALC225
	ALSA: hda - Fix headset support and noise on HP EliteBook 755 G2
	iommu/amd: Fix boot warning when device 00:00.0 is not iommu covered
	iommu/amd: Apply workaround for ATS write permission check
	libata: Align ata_device's id on a cacheline
	mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED
	hpfs: don't truncate the file when delete fails
	do_last(): don't let a bogus return value from ->open() et.al. to confuse us
	vfio: fix ioctl error handling
	ALSA: ctl: Fix ioctls for X32 ABI
	ALSA: rawmidi: Fix ioctls X32 ABI
	ALSA: timer: Fix broken compat timer user status ioctl
	ALSA: timer: Fix ioctls for X32 ABI
	cifs: fix out-of-bounds access in lease parsing
	CIFS: Fix SMB2+ interim response processing for read requests
	Fix cifs_uniqueid_to_ino_t() function for s390x
	arm/arm64: KVM: Fix ioctl error handling
	ALSA: hdspm: Fix wrong boolean ctl value accesses
	ALSA: hdspm: Fix zero-division
	ALSA: hdsp: Fix wrong boolean ctl value accesses
	USB: qcserial: add Dell Wireless 5809e Gobi 4G HSPA+ (rev3)
	USB: cp210x: Add ID for Parrot NMEA GPS Flight Recorder
	USB: serial: option: add support for Telit LE922 PID 0x1045
	USB: serial: option: add support for Quectel UC20
	ALSA: usb-audio: Add a quirk for Plantronics DA45
	ALSA: seq: oss: Don't drain at closing a client
	drm/ast: Fix incorrect register check for DRAM width
	USB: qcserial: add Sierra Wireless MC74xx/EM74xx
	USB: qcserial: add Sierra Wireless EM74xx device ID
	drm/radeon/pm: update current crtc info after setting the powerstate
	PM / sleep / x86: Fix crash on graph trace through x86 suspend
	ALSA: hda - Fix mic issues on Acer Aspire E1-472
	block: bio: introduce helpers to get the 1st and last bvec
	MIPS: traps: Fix SIGFPE information leak from `do_ov' and `do_trap_or_bp'
	ubi: Fix out of bounds write in volume update code
	iwlwifi: pcie: support loading FW with extended mem range
	HID: usbhid: fix recursive deadlock
	tools: Add a "make all" rule
	KVM: x86: move steal time initialization to vcpu entry time
	Correct backport for ip6_gre: release cached dst on tunnel removal
	ipv6: drop frames with attached skb->sk in forwarding
	arm64: kernel: pause/unpause function graph tracer in cpu_suspend()
	Linux 3.18.29

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents eb100577 d439e869
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
VERSION = 3
VERSION = 3
PATCHLEVEL = 18
PATCHLEVEL = 18
SUBLEVEL = 28
SUBLEVEL = 29
EXTRAVERSION =
EXTRAVERSION =
NAME = Shuffling Zombie Juror
NAME = Shuffling Zombie Juror


+1 −1
Original line number Original line Diff line number Diff line
@@ -173,7 +173,7 @@ static int get_timer_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
	u64 val;
	u64 val;


	val = kvm_arm_timer_get_reg(vcpu, reg->id);
	val = kvm_arm_timer_get_reg(vcpu, reg->id);
	return copy_to_user(uaddr, &val, KVM_REG_SIZE(reg->id));
	return copy_to_user(uaddr, &val, KVM_REG_SIZE(reg->id)) ? -EFAULT : 0;
}
}


static unsigned long num_core_regs(void)
static unsigned long num_core_regs(void)
+10 −0
Original line number Original line Diff line number Diff line
#include <linux/ftrace.h>
#include <linux/percpu.h>
#include <linux/percpu.h>
#include <linux/slab.h>
#include <linux/slab.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
@@ -91,6 +92,13 @@ int __cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
	 */
	 */
	local_dbg_save(flags);
	local_dbg_save(flags);


	/*
	 * Function graph tracer state gets incosistent when the kernel
	 * calls functions that never return (aka suspend finishers) hence
	 * disable graph tracing during their execution.
	 */
	pause_graph_tracing();

	/*
	/*
	 * mm context saved on the stack, it will be restored when
	 * mm context saved on the stack, it will be restored when
	 * the cpu comes out of reset through the identity mapped
	 * the cpu comes out of reset through the identity mapped
@@ -128,6 +136,8 @@ int __cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
			hw_breakpoint_restore(NULL);
			hw_breakpoint_restore(NULL);
	}
	}


	unpause_graph_tracing();

	/*
	/*
	 * Restore pstate flags. OS lock and mdscr have been already
	 * Restore pstate flags. OS lock and mdscr have been already
	 * restored, so from this point onwards, debugging is fully
	 * restored, so from this point onwards, debugging is fully
+1 −1
Original line number Original line Diff line number Diff line
@@ -184,7 +184,7 @@ static int get_timer_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
	u64 val;
	u64 val;


	val = kvm_arm_timer_get_reg(vcpu, reg->id);
	val = kvm_arm_timer_get_reg(vcpu, reg->id);
	return copy_to_user(uaddr, &val, KVM_REG_SIZE(reg->id));
	return copy_to_user(uaddr, &val, KVM_REG_SIZE(reg->id)) ? -EFAULT : 0;
}
}


/**
/**
+6 −7
Original line number Original line Diff line number Diff line
@@ -692,15 +692,15 @@ static int simulate_sync(struct pt_regs *regs, unsigned int opcode)
asmlinkage void do_ov(struct pt_regs *regs)
asmlinkage void do_ov(struct pt_regs *regs)
{
{
	enum ctx_state prev_state;
	enum ctx_state prev_state;
	siginfo_t info;
	siginfo_t info = {
		.si_signo = SIGFPE,
		.si_code = FPE_INTOVF,
		.si_addr = (void __user *)regs->cp0_epc,
	};


	prev_state = exception_enter();
	prev_state = exception_enter();
	die_if_kernel("Integer overflow", regs);
	die_if_kernel("Integer overflow", regs);


	info.si_code = FPE_INTOVF;
	info.si_signo = SIGFPE;
	info.si_errno = 0;
	info.si_addr = (void __user *) regs->cp0_epc;
	force_sig_info(SIGFPE, &info, current);
	force_sig_info(SIGFPE, &info, current);
	exception_exit(prev_state);
	exception_exit(prev_state);
}
}
@@ -803,7 +803,7 @@ out:
static void do_trap_or_bp(struct pt_regs *regs, unsigned int code,
static void do_trap_or_bp(struct pt_regs *regs, unsigned int code,
	const char *str)
	const char *str)
{
{
	siginfo_t info;
	siginfo_t info = { 0 };
	char b[40];
	char b[40];


#ifdef CONFIG_KGDB_LOW_LEVEL_TRAP
#ifdef CONFIG_KGDB_LOW_LEVEL_TRAP
@@ -831,7 +831,6 @@ static void do_trap_or_bp(struct pt_regs *regs, unsigned int code,
		else
		else
			info.si_code = FPE_INTOVF;
			info.si_code = FPE_INTOVF;
		info.si_signo = SIGFPE;
		info.si_signo = SIGFPE;
		info.si_errno = 0;
		info.si_addr = (void __user *) regs->cp0_epc;
		info.si_addr = (void __user *) regs->cp0_epc;
		force_sig_info(SIGFPE, &info, current);
		force_sig_info(SIGFPE, &info, current);
		break;
		break;
Loading