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

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

Merge tag 'v3.18.42' into linux-linaro-lsk-v3.18

 This is the 3.18.42 stable release
parents 3b5fdc0c a8e20281
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 3
PATCHLEVEL = 18
SUBLEVEL = 41
SUBLEVEL = 42
EXTRAVERSION =
NAME = Diseased Newt

+1 −1
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@
#define ___DEF (_PAGE_PRESENT | _PAGE_DEF_CACHEABLE)

/* Set of bits not changed in pte_modify */
#define _PAGE_CHG_MASK	(PAGE_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED | _PAGE_SPECIAL)
#define _PAGE_CHG_MASK	(PAGE_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED)

/* More Abbrevaited helpers */
#define PAGE_U_NONE     __pgprot(___DEF)
+37 −36
Original line number Diff line number Diff line
@@ -193,22 +193,14 @@ struct oabi_flock64 {
	pid_t	l_pid;
} __attribute__ ((packed,aligned(4)));

asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
static long do_locks(unsigned int fd, unsigned int cmd,
				 unsigned long arg)
{
	struct oabi_flock64 user;
	struct flock64 kernel;
	mm_segment_t fs = USER_DS; /* initialized to kill a warning */
	unsigned long local_arg = arg;
	int ret;
	struct oabi_flock64 user;
	mm_segment_t fs;
	long ret;

	switch (cmd) {
	case F_OFD_GETLK:
	case F_OFD_SETLK:
	case F_OFD_SETLKW:
	case F_GETLK64:
	case F_SETLK64:
	case F_SETLKW64:
	if (copy_from_user(&user, (struct oabi_flock64 __user *)arg,
			   sizeof(user)))
		return -EFAULT;
@@ -217,16 +209,13 @@ asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
	kernel.l_start	= user.l_start;
	kernel.l_len	= user.l_len;
	kernel.l_pid	= user.l_pid;
		local_arg = (unsigned long)&kernel;

	fs = get_fs();
	set_fs(KERNEL_DS);
	}

	ret = sys_fcntl64(fd, cmd, local_arg);
	ret = sys_fcntl64(fd, cmd, (unsigned long)&kernel);
	set_fs(fs);

	switch (cmd) {
	case F_GETLK64:
		if (!ret) {
	if (!ret && (cmd == F_GETLK64 || cmd == F_OFD_GETLK)) {
		user.l_type	= kernel.l_type;
		user.l_whence	= kernel.l_whence;
		user.l_start	= kernel.l_start;
@@ -236,12 +225,24 @@ asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
				 &user, sizeof(user)))
			ret = -EFAULT;
	}
	return ret;
}

asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
				 unsigned long arg)
{
	switch (cmd) {
	case F_OFD_GETLK:
	case F_OFD_SETLK:
	case F_OFD_SETLKW:
	case F_GETLK64:
	case F_SETLK64:
	case F_SETLKW64:
		set_fs(fs);
	}
		return do_locks(fd, cmd, arg);

	return ret;
	default:
		return sys_fcntl64(fd, cmd, arg);
	}
}

struct oabi_epoll_event {
+12 −0
Original line number Diff line number Diff line
@@ -603,6 +603,17 @@ static void init_amd_gh(struct cpuinfo_x86 *c)
		set_cpu_bug(c, X86_BUG_AMD_TLB_MMATCH);
}

#define MSR_AMD64_DE_CFG	0xC0011029

static void init_amd_ln(struct cpuinfo_x86 *c)
{
	/*
	 * Apply erratum 665 fix unconditionally so machines without a BIOS
	 * fix work.
	 */
	msr_set_bit(MSR_AMD64_DE_CFG, 31);
}

static void init_amd_bd(struct cpuinfo_x86 *c)
{
	u64 value;
@@ -672,6 +683,7 @@ static void init_amd(struct cpuinfo_x86 *c)
	case 6:	   init_amd_k7(c); break;
	case 0xf:  init_amd_k8(c); break;
	case 0x10: init_amd_gh(c); break;
	case 0x12: init_amd_ln(c); break;
	case 0x15: init_amd_bd(c); break;
	}

+2 −2
Original line number Diff line number Diff line
@@ -55,12 +55,12 @@ asm (".pushsection .entry.text, \"ax\"\n"
     ".popsection");

/* identity function, which can be inlined */
u32 _paravirt_ident_32(u32 x)
u32 notrace _paravirt_ident_32(u32 x)
{
	return x;
}

u64 _paravirt_ident_64(u64 x)
u64 notrace _paravirt_ident_64(u64 x)
{
	return x;
}
Loading