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

Commit ffc4aa8f authored by Alex Shi's avatar Alex Shi
Browse files

Merge tag 'v4.4.14' into linux-linaro-lsk-v4.4

 This is the 4.4.14 stable release
parents 46b4dd0c 9ca1d50f
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
VERSION = 4
VERSION = 4
PATCHLEVEL = 4
PATCHLEVEL = 4
SUBLEVEL = 13
SUBLEVEL = 14
EXTRAVERSION =
EXTRAVERSION =
NAME = Blurry Fish Butt
NAME = Blurry Fish Butt


+1 −1
Original line number Original line Diff line number Diff line
@@ -733,8 +733,8 @@ static int vfp_set(struct task_struct *target,
	if (ret)
	if (ret)
		return ret;
		return ret;


	vfp_flush_hwstate(thread);
	thread->vfpstate.hard = new_vfp;
	thread->vfpstate.hard = new_vfp;
	vfp_flush_hwstate(thread);


	return 0;
	return 0;
}
}
+2 −2
Original line number Original line Diff line number Diff line
@@ -160,14 +160,14 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm,
#define STACK_RND_MASK			(0x3ffff >> (PAGE_SHIFT - 12))
#define STACK_RND_MASK			(0x3ffff >> (PAGE_SHIFT - 12))
#endif
#endif


#ifdef CONFIG_COMPAT

#ifdef __AARCH64EB__
#ifdef __AARCH64EB__
#define COMPAT_ELF_PLATFORM		("v8b")
#define COMPAT_ELF_PLATFORM		("v8b")
#else
#else
#define COMPAT_ELF_PLATFORM		("v8l")
#define COMPAT_ELF_PLATFORM		("v8l")
#endif
#endif


#ifdef CONFIG_COMPAT

#define COMPAT_ELF_ET_DYN_BASE		(2 * TASK_SIZE_32 / 3)
#define COMPAT_ELF_ET_DYN_BASE		(2 * TASK_SIZE_32 / 3)


/* AArch32 registers. */
/* AArch32 registers. */
+7 −1
Original line number Original line Diff line number Diff line
@@ -22,6 +22,8 @@


#include <linux/bitops.h>
#include <linux/bitops.h>
#include <linux/bug.h>
#include <linux/bug.h>
#include <linux/compat.h>
#include <linux/elf.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/personality.h>
#include <linux/personality.h>
@@ -102,6 +104,7 @@ static const char *const compat_hwcap2_str[] = {
static int c_show(struct seq_file *m, void *v)
static int c_show(struct seq_file *m, void *v)
{
{
	int i, j;
	int i, j;
	bool compat = personality(current->personality) == PER_LINUX32;


	for_each_online_cpu(i) {
	for_each_online_cpu(i) {
		struct cpuinfo_arm64 *cpuinfo = &per_cpu(cpu_data, i);
		struct cpuinfo_arm64 *cpuinfo = &per_cpu(cpu_data, i);
@@ -113,6 +116,9 @@ static int c_show(struct seq_file *m, void *v)
		 * "processor".  Give glibc what it expects.
		 * "processor".  Give glibc what it expects.
		 */
		 */
		seq_printf(m, "processor\t: %d\n", i);
		seq_printf(m, "processor\t: %d\n", i);
		if (compat)
			seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n",
				   MIDR_REVISION(midr), COMPAT_ELF_PLATFORM);


		seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
		seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
			   loops_per_jiffy / (500000UL/HZ),
			   loops_per_jiffy / (500000UL/HZ),
@@ -125,7 +131,7 @@ static int c_show(struct seq_file *m, void *v)
		 * software which does already (at least for 32-bit).
		 * software which does already (at least for 32-bit).
		 */
		 */
		seq_puts(m, "Features\t:");
		seq_puts(m, "Features\t:");
		if (personality(current->personality) == PER_LINUX32) {
		if (compat) {
#ifdef CONFIG_COMPAT
#ifdef CONFIG_COMPAT
			for (j = 0; compat_hwcap_str[j]; j++)
			for (j = 0; compat_hwcap_str[j]; j++)
				if (compat_elf_hwcap & (1 << j))
				if (compat_elf_hwcap & (1 << j))
+1 −1
Original line number Original line Diff line number Diff line
@@ -109,7 +109,7 @@ int ptep_set_access_flags(struct vm_area_struct *vma,
	 * PTE_RDONLY is cleared by default in the asm below, so set it in
	 * PTE_RDONLY is cleared by default in the asm below, so set it in
	 * back if necessary (read-only or clean PTE).
	 * back if necessary (read-only or clean PTE).
	 */
	 */
	if (!pte_write(entry) || !dirty)
	if (!pte_write(entry) || !pte_sw_dirty(entry))
		pte_val(entry) |= PTE_RDONLY;
		pte_val(entry) |= PTE_RDONLY;


	/*
	/*
Loading