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

Commit d580248c authored by Srinivasarao P's avatar Srinivasarao P
Browse files

Merge android-4.4.155 (b3f777ef) into msm-4.4



* refs/heads/tmp-b3f777ef
  Linux 4.4.155
  drm/drivers: add support for using the arch wc mapping API.
  x86/io: add interface to reserve io memtype for a resource range. (v1.1)
  fs/quota: Fix spectre gadget in do_quotactl
  perf auxtrace: Fix queue resize
  bcache: release dc->writeback_lock properly in bch_writeback_thread()
  getxattr: use correct xattr length
  udlfb: set optimal write delay
  fb: fix lost console when the user unplugs a USB adapter
  pwm: tiehrpwm: Fix disabling of output of PWMs
  ubifs: Fix synced_i_size calculation for xattr inodes
  ubifs: Check data node size before truncate
  Revert "UBIFS: Fix potential integer overflow in allocation"
  ubifs: Fix memory leak in lprobs self-check
  userns: move user access out of the mutex
  sys: don't hold uts_sem while accessing userspace memory
  osf_getdomainname(): use copy_to_user()
  iommu/vt-d: Fix dev iotlb pfsid use
  iommu/vt-d: Add definitions for PFSID
  mm/tlb: Remove tlb_remove_table() non-concurrent condition
  ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
  pnfs/blocklayout: off by one in bl_map_stripe()
  PM / sleep: wakeup: Fix build error caused by missing SRCU support
  9p: fix multiple NULL-pointer-dereferences
  uprobes: Use synchronize_rcu() not synchronize_sched()
  kthread, tracing: Don't expose half-written comm when creating kthreads
  tracing/blktrace: Fix to allow setting same value
  tracing: Do not call start/stop() functions when tracing_on does not change
  vmw_balloon: fix VMCI use when balloon built into kernel
  vmw_balloon: VMCI_DOORBELL_SET does not check status
  vmw_balloon: do not use 2MB without batching
  vmw_balloon: fix inflation of 64-bit GFNs
  iio: ad9523: Fix return value for ad952x_store()
  iio: ad9523: Fix displayed phase
  dm cache metadata: save in-core policy_hint_size to on-disk superblock
  x86/mm/pat: Fix L1TF stable backport for CPA, 2nd call
  net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
  net/9p/client.c: version pointer uninitialized
  9p/virtio: fix off-by-one error in sg list bounds check
  fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed
  powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
  powerpc/fadump: handle crash memory ranges array index overflow
  drm/i915/userptr: reject zero user_size
  spi: davinci: fix a NULL pointer dereference
  net: lan78xx: Fix misplaced tasklet_schedule() call
  9p/net: Fix zero-copy path in the 9p virtio transport
  net: mac802154: tx: expand tailroom if necessary
  net: 6lowpan: fix reserved space for single frames
  BACKPORT: arm64/vdso: Fix nsec handling for CLOCK_MONOTONIC_RAW
  ANDROID: arm64: mm: fix 4.4.154 merge

Change-Id: Id5969245c97b88f9618cb6123e992ea4540ca434
Signed-off-by: default avatarSrinivasarao P <spathi@codeaurora.org>
parents 727a8ba0 b3f777ef
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 154
SUBLEVEL = 155
EXTRAVERSION =
NAME = Blurry Fish Butt

+28 −36
Original line number Diff line number Diff line
@@ -526,24 +526,19 @@ SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path,
SYSCALL_DEFINE1(osf_utsname, char __user *, name)
{
	int error;
	char tmp[5 * 32];

	down_read(&uts_sem);
	error = -EFAULT;
	if (copy_to_user(name + 0, utsname()->sysname, 32))
		goto out;
	if (copy_to_user(name + 32, utsname()->nodename, 32))
		goto out;
	if (copy_to_user(name + 64, utsname()->release, 32))
		goto out;
	if (copy_to_user(name + 96, utsname()->version, 32))
		goto out;
	if (copy_to_user(name + 128, utsname()->machine, 32))
		goto out;

	error = 0;
 out:
	memcpy(tmp + 0 * 32, utsname()->sysname, 32);
	memcpy(tmp + 1 * 32, utsname()->nodename, 32);
	memcpy(tmp + 2 * 32, utsname()->release, 32);
	memcpy(tmp + 3 * 32, utsname()->version, 32);
	memcpy(tmp + 4 * 32, utsname()->machine, 32);
	up_read(&uts_sem);
	return error;

	if (copy_to_user(name, tmp, sizeof(tmp)))
		return -EFAULT;
	return 0;
}

SYSCALL_DEFINE0(getpagesize)
@@ -561,24 +556,22 @@ SYSCALL_DEFINE0(getdtablesize)
 */
SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
{
	unsigned len;
	int i;

	if (!access_ok(VERIFY_WRITE, name, namelen))
		return -EFAULT;
	int len, err = 0;
	char *kname;
	char tmp[32];

	len = namelen;
	if (len > 32)
		len = 32;
	if (namelen < 0 || namelen > 32)
		namelen = 32;

	down_read(&uts_sem);
	for (i = 0; i < len; ++i) {
		__put_user(utsname()->domainname[i], name + i);
		if (utsname()->domainname[i] == '\0')
			break;
	}
	kname = utsname()->domainname;
	len = strnlen(kname, namelen);
	len = min(len + 1, namelen);
	memcpy(tmp, kname, len);
	up_read(&uts_sem);

	if (copy_to_user(name, tmp, len))
		return -EFAULT;
	return 0;
}

@@ -741,13 +734,14 @@ SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count)
	};
	unsigned long offset;
	const char *res;
	long len, err = -EINVAL;
	long len;
	char tmp[__NEW_UTS_LEN + 1];

	offset = command-1;
	if (offset >= ARRAY_SIZE(sysinfo_table)) {
		/* Digital UNIX has a few unpublished interfaces here */
		printk("sysinfo(%d)", command);
		goto out;
		return -EINVAL;
	}

	down_read(&uts_sem);
@@ -755,13 +749,11 @@ SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count)
	len = strlen(res)+1;
	if ((unsigned long)len > (unsigned long)count)
		len = count;
	if (copy_to_user(buf, res, len))
		err = -EFAULT;
	else
		err = 0;
	memcpy(tmp, res, len);
	up_read(&uts_sem);
 out:
	return err;
	if (copy_to_user(buf, tmp, len))
		return -EFAULT;
	return 0;
}

SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer,
+1 −0
Original line number Diff line number Diff line
@@ -201,6 +201,7 @@
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x70>;
			reset-gpio = <&gpio TEGRA_GPIO(BB, 0) GPIO_ACTIVE_LOW>;
		};
	};

+0 −1
Original line number Diff line number Diff line
@@ -222,7 +222,6 @@ void update_vsyscall(struct timekeeper *tk)
		vdso_data->raw_time_nsec        = tk->tkr_raw.xtime_nsec;
		vdso_data->xtime_clock_sec	= tk->xtime_sec;
		vdso_data->xtime_clock_nsec	= tk->tkr_mono.xtime_nsec;
		/* tkr_raw.xtime_nsec == 0 */
		vdso_data->cs_mono_mult		= tk->tkr_mono.mult;
		vdso_data->cs_raw_mult		= tk->tkr_raw.mult;
		/* tkr_mono.shift == tkr_raw.shift */
+1 −1
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ int pfn_valid(unsigned long pfn)

	if ((addr >> PAGE_SHIFT) != pfn)
		return 0;
	return memblock_is_memory(addr);
	return memblock_is_map_memory(addr);
}
EXPORT_SYMBOL(pfn_valid);
#endif
Loading