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

Commit d64b2c01 authored by jianzhou's avatar jianzhou
Browse files

Merge android-4.9.167 (e1a8babe) into msm-4.9



* refs/heads/tmp-e1a8babe:
  Linux 4.9.167
  arm64: support keyctl() system call in 32-bit mode
  Revert "USB: core: only clean up what we allocated"
  xhci: Fix port resume done detection for SS ports with LPM enabled
  USB: gadget: f_hid: fix deadlock in f_hidg_write()
  KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts
  KVM: Reject device ioctls from processes other than the VM's creator
  x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y
  cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n
  perf intel-pt: Fix TSC slip
  usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk
  usb: common: Consider only available nodes for dr_mode
  gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input
  fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links
  Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc
  USB: serial: option: add Olicard 600
  USB: serial: option: set driver_info for SIM5218 and compatibles
  USB: serial: mos7720: fix mos_parport refcount imbalance on error path
  USB: serial: ftdi_sio: add additional NovaTech products
  USB: serial: cp210x: add new device id
  serial: sh-sci: Fix setting SCSCR_TIE while transferring data
  serial: max310x: Fix to avoid potential NULL pointer dereference
  staging: vt6655: Fix interrupt race condition on device start up.
  staging: vt6655: Remove vif check from vnt_interrupt
  staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest
  tty: atmel_serial: fix a potential NULL pointer dereference
  scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices
  scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host
  scsi: sd: Quiesce warning if device does not report optimal I/O size
  scsi: sd: Fix a race between closing an sd device and sd I/O
  fs/open.c: allow opening only regular files during execve()
  ALSA: pcm: Don't suspend stream in unrecoverable PCM state
  ALSA: pcm: Fix possible OOB access in PCM oss plugins
  ALSA: seq: oss: Fix Spectre v1 vulnerability
  ALSA: rawmidi: Fix potential Spectre v1 vulnerability
  net: dsa: qca8k: remove leftover phy accessors
  NFSv4.1 don't free interrupted slot on open
  powerpc: bpf: Fix generation of load/store DW instructions
  ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time
  btrfs: raid56: properly unmap parity page in finish_parity_scrub()
  btrfs: remove WARN_ON in log_dir_items
  tun: add a missing rcu_read_unlock() in error path
  tun: properly test for IFF_UP
  mac8390: Fix mmio access size probe
  sctp: get sctphdr by offset in sctp_compute_cksum
  vxlan: Don't call gro_cells_destroy() before device is unregistered
  tcp: do not use ipv6 header for ipv4 flow
  packets: Always register packet sk in the same order
  net: rose: fix a possible stack overflow
  net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec
  mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S
  dccp: do not use ipv6 header for ipv4 flow
  stmmac: copy unicast mac address to MAC registers
  cfg80211: size various nl80211 messages correctly
  video: fbdev: Set pixclock = 0 in goldfishfb
  Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer
  Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt
  UPSTREAM: virt_wifi: Remove REGULATORY_WIPHY_SELF_MANAGED

Conflicts:
	net/wireless/nl80211.c

Change-Id: I85dbbad9c803c44c5d584869a2e790e24b73db6f
Signed-off-by: default avatarjianzhou <jianzhou@codeaurora.org>
parents 19d550fc e1a8babe
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ of a virtual machine. The ioctls belong to three classes

 - VM ioctls: These query and set attributes that affect an entire virtual
   machine, for example memory layout.  In addition a VM ioctl is used to
   create virtual cpus (vcpus).
   create virtual cpus (vcpus) and devices.

   Only run VM ioctls from the same process (address space) that was used
   to create the VM.
@@ -24,6 +24,11 @@ of a virtual machine. The ioctls belong to three classes
   Only run vcpu ioctls from the same thread that was used to create the
   vcpu.

 - device ioctls: These query and set attributes that control the operation
   of a single device.

   device ioctls must be issued from the same process (address space) that
   was used to create the VM.

2. File descriptors
-------------------
@@ -32,10 +37,11 @@ The kvm API is centered around file descriptors. An initial
open("/dev/kvm") obtains a handle to the kvm subsystem; this handle
can be used to issue system ioctls.  A KVM_CREATE_VM ioctl on this
handle will create a VM file descriptor which can be used to issue VM
ioctls.  A KVM_CREATE_VCPU ioctl on a VM fd will create a virtual cpu
and return a file descriptor pointing to it.  Finally, ioctls on a vcpu
fd can be used to control the vcpu, including the important task of
actually running guest code.
ioctls.  A KVM_CREATE_VCPU or KVM_CREATE_DEVICE ioctl on a VM fd will
create a virtual cpu or device and return a file descriptor pointing to
the new resource.  Finally, ioctls on a vcpu or device fd can be used
to control the vcpu or device.  For vcpus, this includes the important
task of actually running guest code.

In general file descriptors can be migrated among processes by means
of fork() and the SCM_RIGHTS facility of unix domain socket.  These
+1 −1
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 9
SUBLEVEL = 166
SUBLEVEL = 167
EXTRAVERSION =
NAME = Roaring Lionus

+10 −17
Original line number Diff line number Diff line
@@ -16,30 +16,23 @@
#include "cpuidle.h"
#include "hardware.h"

static atomic_t master = ATOMIC_INIT(0);
static DEFINE_SPINLOCK(master_lock);
static int num_idle_cpus = 0;
static DEFINE_SPINLOCK(cpuidle_lock);

static int imx6q_enter_wait(struct cpuidle_device *dev,
			    struct cpuidle_driver *drv, int index)
{
	if (atomic_inc_return(&master) == num_online_cpus()) {
		/*
		 * With this lock, we prevent other cpu to exit and enter
		 * this function again and become the master.
		 */
		if (!spin_trylock(&master_lock))
			goto idle;
	spin_lock(&cpuidle_lock);
	if (++num_idle_cpus == num_online_cpus())
		imx6_set_lpm(WAIT_UNCLOCKED);
		cpu_do_idle();
		imx6_set_lpm(WAIT_CLOCKED);
		spin_unlock(&master_lock);
		goto done;
	}
	spin_unlock(&cpuidle_lock);

idle:
	cpu_do_idle();
done:
	atomic_dec(&master);

	spin_lock(&cpuidle_lock);
	if (num_idle_cpus-- == num_online_cpus())
		imx6_set_lpm(WAIT_CLOCKED);
	spin_unlock(&cpuidle_lock);

	return index;
}
+4 −0
Original line number Diff line number Diff line
@@ -1264,6 +1264,10 @@ config SYSVIPC_COMPAT
	def_bool y
	depends on COMPAT && SYSVIPC

config KEYS_COMPAT
	def_bool y
	depends on COMPAT && KEYS

endmenu

menu "Power management options"
+2 −0
Original line number Diff line number Diff line
@@ -225,6 +225,7 @@
/* Misc instructions for BPF compiler */
#define PPC_INST_LBZ			0x88000000
#define PPC_INST_LD			0xe8000000
#define PPC_INST_LDX			0x7c00002a
#define PPC_INST_LHZ			0xa0000000
#define PPC_INST_LWZ			0x80000000
#define PPC_INST_LHBRX			0x7c00062c
@@ -232,6 +233,7 @@
#define PPC_INST_STB			0x98000000
#define PPC_INST_STH			0xb0000000
#define PPC_INST_STD			0xf8000000
#define PPC_INST_STDX			0x7c00012a
#define PPC_INST_STDU			0xf8000001
#define PPC_INST_STW			0x90000000
#define PPC_INST_STWU			0x94000000
Loading